Programacion de PLC SLC500 MicroLogix

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 726

AllenĆBradley

Juego de
instrucciones de
  
SLC 500t y
MicroLogixt 1000


 
(Nos. de cat. 1747ĆL511,
1747ĆL514, 1747ĆL524,
1747ĆL532, 1747ĆL541,
1747ĆL542, 1747ĆL543, y
controladores de boletín 1761)
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, reglamentaciones, 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 u 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 de los contenidos de esta publicación


de propiedad exclusiva sin el permiso escrito de Allen-Bradley Company, Inc.

En este manual hacemos anotaciones para advertirle sobre consideraciones de


seguridad:

Identifica información o prácticas o circunstancias que pueden producir


lesiones personales o incluso la muerte, daños materiales o pérdidas
económicas.

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


• identificar un peligro
• evitar un peligro
• reconocer las consecuencias

Nota Identifica información crítica para una correcta aplicación y entendimiento


del productol.
SLC 500, SLC 5/01, SLC 5/02, SLC 5/03, SLC 5/04, MicroLogix, PanelView, RediPANEL, Dataliner, DH+,
Data Highway Plus son marcas comerciales de Allen-Bradley Company, Inc.
Gateway 2000 es una marca comercial de Gateway 2000, Inc.
VERSA es una marca comercial de Nippon Electric Co. Information Systems Inc.
Tabla de contenido

Tabla de contenido

Prefacio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-1
Quién debe usar este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-2
Propósito de este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-2
Contenido de este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-3
Documentación asociada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-5
Técnicas comunes usadas en este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-6

1 Instrucciones básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1


Instrucciones de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1
Instrucciones del temporizador/contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–2
Acerca de las instrucciones básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–2
Descripción general de las instrucciones de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–3
Archivos de datos de salida y entrada (archivos O:0 e I:1) . . . . . . . . . . . . . . . . . . . . . . . 1–3
Archivo de estado (archivo S2:) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–4
Archivo de datos de bit (B3:) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–5
Archivos de datos de temporizador y contador (T4: y C5:) . . . . . . . . . . . . . . . . . . . . . . 1–5
Archivo de datos de control (R6:) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–6
Archivo de datos enteros (N7:) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–7
Examine si cerrado (XIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–9
Examine si abierto (XIO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–9
Active la salida (OTE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–10
Enclavamiento de salida (OTL) y desenclavamiento de salida (OTU) . . . . . . . . . . . . . . . . 1–11
Cómo usar OTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–11
Cómo usar OTU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–11
One–Shot Rising (OSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12
Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12
Descripción general de las instrucciones de temporizador . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15
Valor del acumulador (.ACC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15
Valor preseleccionado (.PRE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15
Base de tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15
Precisión del temporizador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–16
Estructura de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–16
Ejemplos de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–17
Temporizador a la conexión (TON) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–18

i

Manual de referencia del juego de instrucción

Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–18


Temporizador a la desconexión (TOF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–19
Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–19
Temporizador retentivo (RTO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–21
Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–21
Uso de los contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–23
Elementos del archivo de datos del contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–23
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–23
Valor acumulado (.ACC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–23
Valor preseleccionado (PRE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–24
Estructura de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–24
Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–25
Cómo funcionan los contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–26
Conteo progresivo (CTU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–26
Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–27
Conteo regresivo (CTD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–28
Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–28
Contador de alta velocidad (HSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–29
Operación del contador de alta velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–29
Elementos de datos del contador de alta velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–31
Ejemplo de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–32
Ejemplo de aplicación – Archivo 2
(consulta del bit DN en el programa principal) . . . . . . . . . . . . . . . . . . . . . . 1–33
Ejemplo de aplicación – Archivo 3 (ejecución de lógica HSC) . . . . . . . . . . . . . . . 1–33
Restablecimiento (RES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–34
Instrucciones básicas del ejemplo de aplicación de la perforadora de papel . . . . . . . . . . . . 1–35
Cómo añadir archivo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–35
Cómo añadir el archivo 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–37

2 Instrucciones de comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1


Instrucciones de comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1
Acerca de las instrucciones de comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2
Descripción general de las instrucciones de comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2
Uso de direcciones de palabra indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2
Uso de direcciones de palabra indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2
Igual (EQU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3
No igual (NEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3
Menor que (LES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–4
Menor o igual que (LEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–4
Mayor que (GRT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–5
Mayor o igual que (GEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–5

ii
Tabla de contenido

Comparación con máscara para igual (MEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6


Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6
Prueba de límite (LIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7
Estado verdadero/falso de la instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7
Ejemplo de aplicación de instrucciones de comparación en la perforadora de papel . . . . . . . 2–9
Cómo iniciar una subrutina en archivo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–9

3 Instrucciones matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1


Instrucciones matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1
Acerca de las instrucciones matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3
Descripción general de las instrucciones matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3
Uso de las direcciones de palabra indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3
Uso de las direcciones de palabra indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4
Bit de interrupción por overflow, S:5/0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4
Cambios del registro matemático S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4
Uso del archivo de datos de punto (coma) flotante (F:8) . . . . . . . . . . . . . . . . . . . . . . . . 3–5
Añadir (ADD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–6
Actualizaciones de bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–6
Restar (SUB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7
Adición y sustracción de 32 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–8
Bit de selección de overflow matemático S:2/14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–8
Ejemplo de adición de 32 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–9
Multiplicar (MUL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11
Cambios del registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11
Dividir (DIV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12
Cambios del registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12
División doble (DDV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13
Cambios del registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13
Borrar (CLR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14
Raíz cuadrada (SQR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14
Cómo escalar con parámetros (SCP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–15

iii

Manual de referencia del juego de instrucción

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–15


Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–16
Ejemplos de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–16
Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–16
Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–17
Escala de datos (SCL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–18
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–18
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–18
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–19
Ejemplo de aplicación 1 – Conversión de una señal de entrada analógica de
4 mA–20 mA en una variable de proceso PID . . . . . . . . . . . . . . . . . . . . . . . 3–19
Cómo calcular la relación lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–20
Ejemplo de aplicación 2 – Cómo escalar una entrada analógica para controlar
una salida analógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–20
Cómo calcular la relación lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–21
Cómo calcular la relación lineal desplazada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–22
Absoluto (ABS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–24
Cómo introducir los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–24
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–24
Calcular (CPT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–25
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–25
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–25
Ejemplo de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–26
Intercambio (SWP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–27
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–27
Arco seno (ASN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–28
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–28
Arco coseno (ACS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–29
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–29
Arco tangente (ATN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–29
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–29
Coseno (COS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–30
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–30
Logaritmo natural (LN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–30
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–30
Logaritmo a la base 10 (LOG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–31
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–31
Seno (SIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–31
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–31
Tangente (TAN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–32
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–32

iv
Tabla de contenido

X a la potencia de Y (XPY) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–33


Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–33
Instrucciones matemáticas en el ejemplo de aplicación de la perforadora de papel . . . . . . . 3–34
Cómo añadir el archivo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–35

4 Instrucciones de manejo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1


Instrucciones de manejo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1
Acerca de las instrucciones de manejo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–2
Convertir en BCD (TOD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–3
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–3
Cambios del registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–3
Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–4
Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–4
Convertir de BCD (FRD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–6
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–6
Cambios del registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–7
Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–7
Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–8
Radianes en grados (DEG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–10
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–10
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–10
Grados en radianes (RAD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–11
Cómo introducir los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–11
Actaulizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–11
Descodificar 4 a 1 de 16 (DCD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–12
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–12
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–12
Codificar 1 de 16 a 4 (ENC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–13
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–13
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–14
Instrucciones para copiar el archivo (COP) y llenar el archivo (FLL) . . . . . . . . . . . . . . . . . 4–15
Uso de COP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–15
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–15
Uso de FLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–17
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–17
Descripción general de las instrucciones de mover y lógicas . . . . . . . . . . . . . . . . . . . . . . . . 4–19
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19
Uso de direcciones de palabra indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19
Uso de direcciones de palabra indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19
Cambios del registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19

v

Manual de referencia del juego de instrucción

Mover (MOV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–20


Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–20
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–20
Mover con máscara (MVM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–21
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–21
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–21
Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–22
Y (AND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–23
Tabla de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–23
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–23
O (OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–24
Tabla de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–24
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–24
O exclusivo (XOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–25
Tabla de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–25
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–25
No (NOT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–26
Tabla de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–26
Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–26
Negar (NEG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–27
Actualizaciones de bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–27
Descripción general de las instrucciones FIFO y LIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–28
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–28
Efectos en el registro de índice S:24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–29
Carga FIFO (FFL)
Descarga FIFO (FFU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–30
Carga LIFO (LFL)
Descarga LIFO (LFU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–32
Instrucciones de manejo de datos en el ejemplo de aplicación de la perforadora de papel . 4–34
Añadir el archivo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–34

5 Instrucciones de flujo de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1


Instrucciones de control de flujo de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1
Acerca de las instrucciones de control de flujo de programa . . . . . . . . . . . . . . . . . . . . . . . . . 5–2
Salto (JMP) y etiqueta (LBL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–3
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–3
Uso de JMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–3
Uso de LBL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–4
Saltar a subrutina (JSR), subrutina (SBR), y retornar (RET) . . . . . . . . . . . . . . . . . . . . . . . . . 5–5
Cómo anidar archivos de subrutina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–5
Uso de JSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–6

vi
Tabla de contenido

Uso de SBR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–7


Uso de RET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–7
Restablecimiento de control maestro (MCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–8
Operación del procesador SLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–9
Fin temporal (TND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–10
Suspender (SUS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–11
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–11
Entrada inmediata con máscara (IIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–12
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–12
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–12
Salida inmediata con máscara (IOM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–13
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–13
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–13
Regenerar I/S (REF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–14
Uso de un procesador SLC 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–14
Uso de procesadores SLC 5/03 y SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–14
Instrucciones de control de flujo de programa en el ejemplo de aplicación de la
perforadora de papel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–15
Cómo añadir el archivo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–15

6 Instrucciones específicas de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–1


Instrucciones específicas de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–1
Acerca de las instrucciones específicas de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–2
Descripción general de las instrucciones de desplazamiento de bit . . . . . . . . . . . . . . . . . . . . 6–3
Cómo introducir los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–3
Efectos en el registro de índice S:24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–4
Desplazamiento de bit izquierdo (BSL)
Desplazamiento de bit derecho (BSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–5
Uso de BSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–5
Uso de BSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–6
Descripción general de las instrucciones de secuenciador . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–8
Efectos en el registro de índice S:24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–8
Aplicaciones que requieren más de 16 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–8
Salida de secuenciador (SQO)
Comparación de secuenciador (SQC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–9
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–9
Uso de SQO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–11
Uso de SQC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–12
Carga de secuenciador (SQL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–14
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–14
Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–16

vii

Manual de referencia del juego de instrucción

Instrucciones específicas de aplicación en el ejemplo de aplicación de la


perforadora de papel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17

7 Cómo usar las instrucciones del contador de alta velocidad . . . . . . . . . . . . . . . . . 7–1


Instrucciones del contador de alta velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–1
Acerca de las instrucciones del contador de alta velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . 7–2
Descripción general de las instrucciones del contador de alta velocidad . . . . . . . . . . . . . . . . 7–3
Elementos del archivo de datos del contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–3
Uso de bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–3
Contador de alta velocidad (HSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–6
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–6
Uso del contador progresivo y el contador regresivo con restablecimiento
y retención . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–8
Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–8
Contador progresivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–9
Contador progresivo con restablecimiento y retención . . . . . . . . . . . . . . . . . . . . . . 7–10
Uso del contador bidireccional y el contador bidireccional con restablecimiento y
retención . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–10
Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–11
Contador bidireccional (impulso/dirección) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–12
Contador bidireccional con restablecimiento y retención (impulso/dirección) . . . . 7–13
Contador bidireccional (conteo progresivo/regresivo) . . . . . . . . . . . . . . . . . . . . . . 7–13
Contador bidireccional con restablecimiento y retención
(conteo progresivo/regresivo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–14
Uso del contador bidireccional con restablecimiento y retención con codificador
(encoder) de cuadratura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–14
Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–15
Contador bidireccional (codificador [encoder]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–17
Contador bidireccional con restablecimiento y retención
(codificador [encoder]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–17
Carga del contador de alta velocidad (HSL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–18
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–18
Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–18
Restablecimiento del contador de alta velocidad (RES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–21
Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–21
Acumulador de restablecimiento del contador de alta velocidad (RAC) . . . . . . . . . . . . . . . 7–22
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–22
Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–22
Habilitación (HSE) e inhabilitación (HSD) de interrupción del contador de alta velocidad 7–23
Uso de HSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–23
Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–23

viii
Tabla de contenido

Uso de HSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–24


Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–24
Actualización del acumulador de imagen del contador de alta velocidad (OTE) . . . . . . . . . 7–24
Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–24
Lo que ocurre con el HSC cuando pasa al modo de marcha REM . . . . . . . . . . . . . . . . . . . . 7–25
Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–26
Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–27
Ejemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–28
Instrucciones del contador de alta velocidad en el ejemplo de aplicación de la
perforadora de papel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–29

8 Instrucciones de comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–1


Instrucciones de comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–1
Acerca de las instrucciones de comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–2
Descripción general de la instrucción de mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–3
Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–3
Bits del archivo de estado relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–4
Opciones de configuración disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–5
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–5
Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–6
Diagrama de temporización para una instrucción MSG exitosa del SLC 5/02 . . . . . . . . . . . 8–7
Configuración del bloque de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–9
Ejemplos de aplicación para procesadores SLC 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–11
Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–11
Ejemplo 2 – Archivo de programa 2 del procesador SLC 5/02 . . . . . . . . . . . . . . . . . . . 8–12
Archivo de programa 2 del procesador SLC 5/01 a nodo 3 . . . . . . . . . . . . . . . . . . . 8–14
Ejemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–15
Ejemplo 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–16
Descripción general de la instrucción de mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–18
Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–18
Bits del archivo de estado relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–19
Opciones de configuración disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–20
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–21
Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–22
Configuraciones del bloque de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–24
Diagrama de temporización para una instrucción exitosa del SLC 5/03 ó SLC 5/04 . . . . . . 8–26
Códigos de error de la instrucción MSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–30

ix

Manual de referencia del juego de instrucción

Ejemplos de configuraciones usando la instrucción de mensaje . . . . . . . . . . . . . . . . . . . . . 8–32


Uso de la lógica de escalera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–33
Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–33
Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–35
Ejemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–37
Ejemplo 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–39
Uso de mensajes locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–41
Ejemplo 1 – Lectura local de un 500CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–41
Ejemplo 2 – Lectura local de un 485CIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–42
Ejemplo 3 – Lectura local de un PLC-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–43
Uso de mensajes remotos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–45
Ejemplo 1 – Comunicación con procesadores A–B usando un 1785-KA5 . . . . . . . 8–45
Procesador SLC 5/04 (A) a procesador SLC 5/03 (C) vía 1785-KA5 . . . . . . . . . . . 8–45
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–45
Procesador SLC 5/03 (C) a procesador SLC 5/04 (A) vía 1785-KA5 . . . . . . . . . . . 8–46
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–46
Procesador SLC 5/03 (C) a un PLC-5 (B) vía 1785-KA5 . . . . . . . . . . . . . . . . . . . . 8–47
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–47
Ejemplo 2 – Comunicación con procesadores A–B usando dos 1785-KA . . . . . . . 8–48
Procesador SLC 5/04 (B) a procesador PLC5 (C) vía dos 1785-KA . . . . . . . . . . . . 8–48
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–48
Procesador SLC 5/04 (B) a procesador SLC 5/04 (A) vía dos 1785-KA . . . . . . . . 8–49
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–49
Ejemplo 3 – Transferencia vía canal 0 DH-485 del procesador SLC 5/04 . . . . . . . 8–50
Procesador SLC 5/04 (A) a procesador SLC 5/03 (D) vía un procesador
SLC 5/04 (C) (transferencia usando canal 0 DH-485) . . . . . . . . . . . . . . . . . 8–50
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–50
Procesador SLC 5/03 (D) a procesador SLC 5/04 (A) vía un procesador
SLC 5/04 (C) (transferencia usando canal 0 DH-485) . . . . . . . . . . . . . . . . . 8–51
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–51
Procesador SLC 5/03 (D) a PLC-5 (B) vía un procesador SLC 5/04
(transferencia usando canal 0 DH-485) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–52
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–52
Mensajes remotos (SLC 5/03 a un SLC 500, SLC 5/01 ó SLC 5/02) . . . . . . . . . . . 8–53
Ejemplo 4 – Transferencia vía canal 0 DF1 del procesador SLC 5/04 . . . . . . . . . . 8–54
Procesador SLC 5/04 (A) a procesador SLC 5/04 (D) vía dos procesadores
SLC 5/04 (transferencia usando canal 0 DF1) . . . . . . . . . . . . . . . . . . . . . . . 8–54
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–54
Ejemplo 5 – Transferencia vía canal 0 DH+ del procesador SLC 5/04 . . . . . . . . . . 8–55
Procesador SLC 5/04 (A) a procesador SLC 5/04 (C) vía un solo procesador
SLC 5/04 (transferencia usando canal 0 DF1) . . . . . . . . . . . . . . . . . . . . . . . 8–55
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–55

x
Tabla de contenido

Procesador SLC 5/04 (C) a procesador SLC 5/04 (A) vía un solo procesador
SLC 5/04 (transferencia usando canal 0 DF1) . . . . . . . . . . . . . . . . . . . . . . . 8–56
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–56
Procesador SLC 5/04 (C) a procesador SLC 5/04 (B) cuando la transferencia
está habilitada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–56
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–56
Ejemplo 6 – Transferencia usando un integrado pirámide para encaminar
una instrucción de mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–57
Procesador SLC 5/04 (B) a procesador SLC 5/04 (A) via un integrador
de pirámide usando el encaminamiento PI . . . . . . . . . . . . . . . . . . . . . . . . . . 8–57
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–57
Ejemplo 7 – . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–58
Procesador SLC 5/03 a un procesador SLC 5/03
(transferencia usando dos 1785-KA5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–58
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–58
Comunicaciones de servicio (SVC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–60
Uso de un procesador SLC 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–60
Uso de un procesador SLC 5/03 ó SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–60
Servicio de canal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–61
Ejemplo de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–61

9 Instrucción proporcional integral derivativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–1


Descripción general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–1
El concepto PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–2
La ecuación PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–3
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–3
Indicadores de instrucción PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–9
Configuración del bloque de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–11
Errores de tiempo de ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–12
Escala PID y E/S analógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–14
Uso de la instrucción SCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–14
Uso de la instrucción SCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–15
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–15
Notas de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–18
Rangos de entrada/salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–18
Escalado a unidades de ingeniería . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–18
Banda muerta (DB) de intersección con cero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–20
Alarmas de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–20
Límite de salida con bloqueo de acción integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–21
Modo manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–21
Estado de renglón PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–22
Alimentación hacia adelante o bias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–23

xi

Manual de referencia del juego de instrucción

Salidas de tiempo proporcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–23


Ejemplo – Salidas de tiempo proporcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–24
Sintonización PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–25
Procedimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–25
Cómo verificar el escalado del sistema continuo . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–27
Cómo determinar el tiempo de actualización del lazo inicial . . . . . . . . . . . . . . . . . 9–28

10 Instrucciones ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–1


Instrucciones ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–1
Descripción general de ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–2
Descripción general del parámetro de protocolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–3
Cómo usar el tipo de archivo de datos ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–4
Cómo usar el tipo de archivo de datos de cadena (ST . . . . . . . . . . . . . . . . . . . . . . . 10–4
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–6
Prueba de búfer por línea (ABL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–7
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–7
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–7
Número de caracteres en búfer (ACB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–8
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–8
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–9
Cadena a entero (ACI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–10
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–10
Borrado del búfer ASCII de recepción y/o transmisión (ACL) . . . . . . . . . . . . . . . . . . . . . 10–11
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–11
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–11
Concatenado de cadenas (ACN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–12
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–12
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–12
Extracción de cadena (AEX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–13
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–13
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–13
Líneas de comunicación (AHL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–14
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–14
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–15
Entero a cadena (AIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–16
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–16
Lectura de caracteres ASCII (ARD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–17
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–17
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–17
Diagrama de temporización para una instrucción exitosa
ARD, ARL, AWA y AWT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–19

xii
Tabla de contenido

Lectura ASCII de línea (ARL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–20


Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–20
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–20
Búsqueda de cadena (ASC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–22
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–22
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–22
Comparación de cadena ASCII (ASR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–23
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–23
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–23
Escritura ASCII con anexo (AWA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–24
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–24
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–24
Cómo usar la indirección en línea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–26
Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–26
Escritura ASCII (AWT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–27
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–27
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–27
Códigos de error de instrucción ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–29
Tabla de conversión ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–31

11 Cómo comprender las rutinas de interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–1


Rutinas de interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–1
Descripción general de la rutina de fallo de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–2
Datos de archivo de estado guardados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–2
Cómo crear una subrutina de fallo de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–3
Operación del procesador SLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–3
Operación del procesador MicroLogix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–3
Ejemplo de aplicación de la rutina de interrupción de usuario . . . . . . . . . . . . . . . . . . . 11–4
Rutina de fallo – Archivo de subrutina 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–4
Archivo de subrutina 4 – Ejecutado para error 0020 . . . . . . . . . . . . . . . . . . . . . . . . 11–5
Archivo de subrutina 5 – Ejecutado para error 0034 . . . . . . . . . . . . . . . . . . . . . . . . 11–6
Descripción general de la interrupción temporizada seleccionable . . . . . . . . . . . . . . . . . . . 11–7
Procedimiento de programación básico para la función STI . . . . . . . . . . . . . . . . . . . . . 11–7
Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–8
Contenido de la subrutina STI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–8
Latencia de interrupción y coincidencias de interrupción . . . . . . . . . . . . . . . . . . . . . . . 11–9
Procesadores SLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–9
Microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–9
Prioridades de interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–10
Datos de archivo de estado guardados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–11
Parámetros STI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–11

xiii

Manual de referencia del juego de instrucción

Instrucciones STD y STE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–16


Inhabilitación temporizada seleccionable – STD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–16
Habilitación temporizada seleccionable – STE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–16
Ejemplo de zona STD/STE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–16
Inicio temporizado seleccionable (STS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–18
Descripción general de la interrupción de entrada discreta . . . . . . . . . . . . . . . . . . . . . . . . 11–19
Procedimiento de programación básico para la función DII . . . . . . . . . . . . . . . . . . . . 11–19
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–20
Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–21
Modo de contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–21
Modo de evento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–21
Contenido de la subrutina DII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–22
Latencia de interrupción y coincidencias de interrupción . . . . . . . . . . . . . . . . . . . . . . 11–22
Prioridades de interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–23
Datos de archivo de estado guardados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–23
Reconfigurabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–24
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–24
Parámetros DII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–25
Ejemplo de aplicación de interrupción de entrada discreta . . . . . . . . . . . . . . . . . . . . . 11–28
Diagrama de escalera para la aplicación de embotelladora . . . . . . . . . . . . . . . . . . 11–29
Descripción general de interrupción de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–30
Procedimiento de programación básico para la función de interrupción de E/S . . . . . 11–30
Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–31
Contenido de la subrutina de interrupción (ISR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–31
Latencia de interrupción y coincidencias de interrupción . . . . . . . . . . . . . . . . . . . . . . 11–31
Prioridades de interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–33
Datos de archivo de estado guardados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–34
Parámetros de interrupción de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–35
Inhabilitación de interrupción de E/S (IID) y habilitación de interrupción de E/S (IIE) . . 11–37
Inhabilitación de interrupción de E/S – IID Habilitación de interrupción
de E/S – IIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–37
Operación IID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–38
Operación IIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–38
Ejemplo de zona IID/IIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–39
Restablecimiento de interrupción pendiente (RPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–40
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–40
Subrutina de interrupción (INT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–41

xiv
Tabla de contenido

12 Cómo comprender los protocolos de comunicación . . . . . . . . . . . . . . . . . . . . . . . . 12–1


Protocolo de comunicación DH-485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–2
Protocolo de la red DH-485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–2
Rotación del testigo DH-485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–2
Inicialización de la red DH-485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–3
Consideraciones de software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–3
Número de nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–3
Establecimiento de direcciones de nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–4
Establecimiento de la velocidad en baudios del procesador . . . . . . . . . . . . . . . . . . 12–4
Establecimiento de la dirección de nodo máxima . . . . . . . . . . . . . . . . . . . . . . . . . . 12–4
Número máximo de dispositivos de comunicación . . . . . . . . . . . . . . . . . . . . . . . . . 12–4
Parámetros de configuración DH-485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–5
Protocolo de comunicación de Data Highway Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–7
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–7
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–8
Parámetros de configuración de canal 1 de DH+
(procesadores SLC 5/04 únicamente) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–9
Descripción general de la palabra de estado global . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–10
Bit de habilitación de transmisión de palabra de estado global S:34/3
(SLC 5/04 con OS401) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–11
Bit de habilitación de recepción de palabra de estado global S:34/4
(SLC 5/04 con OS401) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–12
Comunicación de PLC–5 a SLC 500 usando los comandos MSG de tipo PLC–2 . . . 12–14
Cómo los procesadores PLC-5 direccionan datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–15
Cómo usar el archivo CIF SLC 500 (emulación PLC-2) . . . . . . . . . . . . . . . . . . . . . . . 12–15
Programación para manejar las diferencias de direccionamiento de palabra/byte . . . 12–16
Cómo enviar un mensaje de tipo PLC-2 a un procesador PLC-5 usando el
direccionamiento SLC de “palabra” (S:2/8 = 0) . . . . . . . . . . . . . . . . . . . . . 12–16
Cómo enviar un mensaje de tipo PLC-2 a un procesador PLC-5 usando el
direccionamiento de “byte” (S:2/8 = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–16
Ejemplo – Cómo enviar un mensaje de tipo PLC-2 a procesadores PLC-5
usando procesadores SLC direccionados por “palabra” (S:2/8 = 0) . . . . . 12–17
Ejemplo – Cómo enviar un mensaje de tipo PLC-2 a un procesador PLC-5
usando procesadores direccionados por “byte) (S:2/8 = 1) . . . . . . . . . . . . 12–17
Procesadores SLC 5/03 y SLC 5/04 a comunicación PLC-5 usando comandos
MSG SLC 500 ó PLC-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–18
Protocolo de comunicación RS-232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–19
Protocolo de full–duplex DF1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–19
Parámetros de configuración de canal 0 de duplex total DF1 . . . . . . . . . . . . . . . . 12–20
Protocolo maestro/esclavo de half–duplex DF1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–23
Parámetros de configuración de canal 0 del esclavo de half–duplex DF1 . . . . . . . 12–24
Parámetros de configuración de canal 0 del maestro de half–duplex DF1 . . . . . . 12–25

xv

Manual de referencia del juego de instrucción

Consideraciones cuando comunica como esclavo DF1 en un vínculo de múltiples


conexiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–30
Cómo usar módems que tienen capacidad para protocolos de comunicación DF1 . . . . . . 12–31
Módems de línea telefónica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–31
Módems manuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–31
Módems de contestación automática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–31
Módems de desconexión automática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–32
Módems de discado automático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–32
Módems con líneas arrendadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–32
Módems con discado DTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–32
Módems controladores de línea (corto alcance) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–33
Módems de radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–34
Módems de vínculo por satélite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–35
Operación de línea de control de módem en los procesadores SLC 5/03 y SLC 5/04 . . . . 12–35
Full–duplex DF1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–35
Half–duplex DF1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–36
Parámetros de retardo de transmisión RTS y retardo de desactivación RTS . . . . . . . . . . . 12–37
Protocolo de comunicación ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–38
Configuración de parámetro de canal 0 ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–38
Cómo usar las características de transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–39
Transferencia DH+ a DH-485 – (Todos los procesadores SLC 5/04) . . . . . . . . . . . . . 12–39
Transferencia DF1 a DH+ – (Procesadores SLC 5/04 OS401 y posteriores) . . . . . . . 12–39
Transferencia de E/S remota (Procesadores SLC 5/03 OS302 y SLC 5/04 OS401) . . 12–39
Consideraciones cuando la transferencia DF1 a DH+ se habilita . . . . . . . . . . . . . . . . 12–40
Cómo entrar en línea con un procesador SLC 5/04 usando el full–duplex DF1 . . 12–40
Cómo transmitir un mensaje usando el full–duplex DF1 hacia un procesador
SLC 5/04 con la transferencia DF1 a DH+ habilitada . . . . . . . . . . . . . . . . 12–40
Cómo transmitir un mensaje usando el full–duplex DF1 desde un procesador
SLC 5/04 con la transferencia DF1 a DH+ habilitada . . . . . . . . . . . . . . . . 12–40
Cómo comunicar desde un procesador SLC 5/04 usando
direccionamiento PLC-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–40

13 Cómo localizar y corregir fallos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–1


Cómo borrar fallos automáticamente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–1
Procesadores SLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–1
Controladores MicroLogix 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–2
Cómo borrar fallos manualmente (procesadores SLC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–3
Cómo usar la rutina de fallo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–3
Mensajes de fallo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–4
Fallos del controlador MicroLogix 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–5
Errores de encendido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–6
Errores de ida a marcha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–7

xvi
Tabla de contenido

Errores de marcha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–8


Error de carga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–10
Fallos del procesador SLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–11
Errores de encendido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–11
Errores de ida a marcha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–12
Errores de marcha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–13
Errores de instrucción de programa de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–17
Cómo localizar y corregir fallos de los procesadores SLC 5/03 y SLC 5/04 . . . . . . . . . . . 13–23
Cómo encender la pantalla LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–23
Cómo identificar errores del procesador durante la descarga de un
sistema de operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–23

A Archivo de estado del controlador MicroLogix 1000 . . . . . . . . . . . . . . . . . . . . . . . . A–1


Descripción general del archivo de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–2
Descripciones de archivo de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–3

B Archivo de estado SLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–1


Descripción general del archivo de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–2
Convenciones usadas en las pantallas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–5

C Uso de memoria y tiempos de ejecución de instrucción . . . . . . . . . . . . . . . . . . . . . C–1


Tiempos de ejecución de instrucción y uso de memoria de instrucción . . . . . . . . . . . . . . . . . C–2
Controladores MicroLogix 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–2
Latencia de interrupción de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–5
Cómo estimar el uso de memoria para el sistema de control MicroLogix 1000 . . . . . . . C–6
Hoja de trabajo de tiempo de ejecución del controlador MicroLogix 1000 . . . . . . . . . . C–7
Descripción general del uso de memoria para los procesadores SLC . . . . . . . . . . . . . . . . . . C–8
Tiempos de ejecución de instrucción y uso de memoria de instrucción . . . . . . . . . . . . . . . . . C–9
Procesadores fijos y SLC 5/01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–9
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–11
Cómo estimar el uso de memoria total del sistema usando un procesador
compacto o SLC 5/01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–12
Continuación de procesadores fijos y SLC 5/01 . . . . . . . . . . . . . . . . . . . . . . . . . . . C–13
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–13
Continuación de procesadores fijos y SLC 5/01 . . . . . . . . . . . . . . . . . . . . . . . . . . . C–14
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–14
Procesador SLC 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–15
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–18
Continuación de procesador SLC 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–19
Cómo estimar el uso de memoria total del sistema usando un procesador
SLC 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–19
Continuación de procesador SLC 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–20

xvii

Manual de referencia del juego de instrucción

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–20
Continuación de procesador SLC 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–21
Instrucciones que tienen direcciones indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–21
Instrucciones que tienen direcciones de archivo de datos M0 y M1 . . . . . . . . . . . . . . . C–21
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–21
Procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–22
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–27
Tiempos de ejecución de punto (coma) flotante del procesador SLC 5/03 . . . . . . . C–28
Continuación de procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–30
Cálculo aproximado del uso de memoria del sistema usando un procesador
SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–30
Continuación de procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–31
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–31
Continuación de procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–32
Comparación de palabra de usuario entre el procesador SLC 5/03 ó
SLC 5/04 y el procesador SLC 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–32
Palabras de instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–32
Continuación de procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–33
Palabras de datos – Archivos 0 y 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–33
Palabras de datos – Archivo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–33
Palabras de datos – Archivo 3 a 255 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–33
Continuación de procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–34
Instrucciones con direcciones indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–34
Instrucciones con direcciones de archivo de datos M0 y M1 . . . . . . . . . . . . . . . . . . . . C–34
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–34
Procesador SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–35
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–40
Tiempos de ejecución de punto (coma) flotante del procesador SLC 5/04 . . . . . . . C–41
Continuación de procesador SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–43
Cálculo aproximado del uso de memoria del sistema usando un
procesador SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–43
SLC 5/04 Processor Continued . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–44
Instrucciones con direcciones indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–44
Instrucciones con direcciones de archivo de datos M0 y M1 . . . . . . . . . . . . . . . . . . . . C–44
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–44
Instrucciones con direcciones indirectas a nivel de palabra . . . . . . . . . . . . . . . . . . . . . C–45
Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–46
Instrucciones con direcciones a nivel de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–47
Tiempos de ejecución de instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–48
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–48

xviii
Tabla de contenido

D Tiempo de escán estimado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–1


Ciclo de operación del procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–2
Tiempos de acceso para los datos M0/M1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–3
Latencia de interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–4
Cómo calcular la latencia de interrupción para SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . D–5
Interrupción temporizada seleccionable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–5
Interrupción de entrada discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–5
Interrupción de evento de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–5
Cómo calcular la latencia de interrupción para SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . D–6
Interrupción temporizada seleccionable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–6
Interrupción de entrada discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–6
Interrupción de evento de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–6
Ejemplo – Interrupción temporizada seleccionable del procesador SLC 5/03 . . . . . . . . D–7
Ejemplo – Interrupción temporizada seleccionable del procesador SLC 5/04 . . . . . . . . D–7
Hojas de trabajo de tiempo de escán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–8
Definición de terminología de la hoja de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–8
Hoja de trabajo A – Cómo estimar el tiempo de escán del controlador fijo . . . . . . . . . . D–9
Hoja de trabajo B – Cómo estimar el tiempo de escán del procesador 1747-L511 ó
1747-l514 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–11
Hoja de trabajo C – Cómo estimar el tiempo de escán del procesador 1747-L524 . . . . D–13
Hoja de trabajo D – Cómo calcular el tiempo de escán del procesador 1747-L532 . . . D–16
Hoja de trabajo E – Cómo calcular el tiempo de escán del procesador 1747-L542 D–19
Procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–22
Procesador SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–23
Ejemplo de cálculo de tiempo de escán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–24
Ejemplo: Hoja de trabajo B – Cómo calcular el tiempo de escán de una aplicación
del procesador 1747-L511 ó 1747-L514 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–26
Continúa en la página siguiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–26

E Referencias de instrucciones de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–1


Modos de direccionamiento válidos y tipos de archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–2
Cómo comprender los modos de direccionamientos diferentes . . . . . . . . . . . . . . . . . . . E–3
Direccionamiento directo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–3
Direccionamiento indexado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–3
Direccionamiento indirecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–3
Direccionamiento indirecto indexado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–3

F Organización y direccionamento del archivo de datos . . . . . . . . . . . . . . . . . . . . . . F–1


Descripción de la organización del archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–2
Descripción general del archivo de procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–2
Archivos de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–3
Archivos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–3

xix

Manual de referencia del juego de instrucción

Acceso y almacenamiento de los archivos de procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . F–4


Descarga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–5
Operación normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–6
Apagado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–6
Encendido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–7
Cómo direccionar los archivos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–8
Cómo especificar direcciones lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–8
Direccionamiento de E/S para un controlador de E/S fijo . . . . . . . . . . . . . . . . . . . . F–10
Direccionamiento de E/S para un controlador modular . . . . . . . . . . . . . . . . . . . . . . F–12
Cómo especificar direcciones indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–13
Ejemplo de direccionamiento indexado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–13
Cómo crear datos para direcciones indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–14
Intersección de los límites de archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–14
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–15
Cómo monitorizar las direcciones indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–15
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–16
Instrucciones de archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–16
Efectos de interrupciones de programa en el registro de índice S:24 . . . . . . . . . . . F–16
Cómo especificar una dirección indirecta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–17
Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–17
Cómo crear datos para direcciones indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–18
Intersección de los límites de archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–18
Cómo monitorizar las direcciones indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–18
Instrucciones de archivo de direccionamiento – Cómo usar el indicador
de archivo (#) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–19
Instrucciones de desplazamiento de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–19
Instrucciones de secuenciador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–20
Instrucciones de copiar archivo y llenar archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . F–21
Constantes numéricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–22
Archivos de datos M0 y M1 – Módulos de E/S especiales . . . . . . . . . . . . . . . . . . . . . . . . . . F–23
Cómo direccionar los archivos M0–M1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–23
Restricciones relativas al uso de las direcciones de archvivo de datos M0-M1 . . . . . . F–23
Cómo monitorizar direcciones de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–24
Procesadores SLC 5/02, SLC 5/03 y SLC 5/04 con la monitorización de
M0 y M1 inhabilitada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–24
Procesadores SLC 5/03 y SLC 5/04 con la monitorización de
M0 y M1 habilitada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–24
Cómo transferir datos entre los archivos de procesador y archivos M0 ó M1 . . . . . . . F–25
Tiempo de acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–26
Cómo minimizar el tiempo de escán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–26
Cómo capturar los datos de archivo M0–M1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–27

xx
Tabla de contenido

Módulos de E/S especiales con memoria retentiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–28


Archivos de datos G – Módulos de E/S especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–29
Cómo editar los datos de archivo G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–30

G Sistemas numéricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–1


Números binarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–2
Valores decimales positivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–2
Valores decimales negativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–3
Números hexadecimales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–5
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–5
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–6
Máscara hexadecimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–7
Aritmética de punto (coma) flotante binario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–8

H Programas de ejemplo de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H–1


Ejemplo de aplicación de la perforadora de papel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H–2
Descripción general de la operación de la perforadora de papel . . . . . . . . . . . . . . . . . . . . . . H–3
Operación del mecanismo del taladro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H–3
Operación del transportador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H–3
Cálculo y advertencia de la broca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H–4
Programa de escalera de la perforadora de papel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H–5
Ejemplo de aplicación del secuenciador activado por tiempo . . . . . . . . . . . . . . . . . . . . . . . H–20
Programa de escalera de secuenciador activado por tiempo . . . . . . . . . . . . . . . . . . . . . . . . . H–21
Ejemplo de aplicación del secuenciador activado por evento . . . . . . . . . . . . . . . . . . . . . . . . H–23
Programa de escalera de secuenciador activado por eventos . . . . . . . . . . . . . . . . . . . . . . . . H–24
Ejemplo de aplicación de activación/desactivación del circuito . . . . . . . . . . . . . . . . . . . . . . H–26
Programa de escalera de activación/desactivación del circuito . . . . . . . . . . . . . . . . . . . . . . H–27

xxi

Manual de referencia del juego de instrucción

xxii
Prefacio

Prefacio
Lea este prefacio para familiarizarse con el resto del manual. Proporciona
información acerca de:
• quién debe usar este manual
• el propósito de este manual
• las convenciones usadas en este manual

P-1

Juego de instrucciones del manual de referencia

Quién debe usar este manual


Use este manual si es responsable del diseño, instalación, programación o
localización y corrección de fallos los sistemas de control que emplean los pequeños
controladores de lógica de Allen-Bradley.

Debe poseer un entendimiento básico de los productos SLC 500t. Si no lo tiene,


póngase en contacto con su representante local Allen-Bradley para obtener la
instrucción técnica correcta antes de usar este producto.

Propósito de este manual


Este manual constituye una guía de referencia de los procesadores SLC 500 y los
controladores MicoLogix 1000. Este manual:
• proporciona el archivo de estado
• proporciona las instrucciones usadas en sus programas de lógica de escalera
• suplementa la ayuda en línea disponible en el terminal

P-2
Prefacio

Contenido de este manual



 
 

Describe el propósito, historia y alcance de este
Prefacio manual. También define el grupo de lectores para
que ha sido creado el manual.
Describe cómo usar las instrucciones de lógica de
1 Instrucciones básicas escalera para funciones de reemplazo de relés,
contaje y temporización.
Instrucciones de Describe las instrucciones de comparación las
2
comparación cuales le permiten comparar los valores de datos.
Describe las instrucciones matemáticas que le
3 Instrucciones matemáticas permiten realizar operaciones de cálculo y
matemáticas en palabras individuales.
Describe cómo realizar las instrucciones de manejo
Instrucciones de manejo de
4 de datos, incluyendo las instrucciones de mover y
datos
lógicas e instrucciones FIFO y LIFO.
Instrucciones de flujo de Describe las instrucciones de lógica de escalera
5
programa que afectan el flujo y ejecución del programa.
Instrucciones de aplicación Describe las instrucciones asociadas con el
6
específica desplazamiento de bit, secuenciador y STI.
Cómo usar las instrucciones
Describe los cuatro modos de la instrucción de alta
7 del contador de alta
velocidad y sus instrucciones asociadas.
velocidad
Instrucciones de Describe la instrucción de comunicación de
8
comunicación mensaje, servicio y sus parámetros asociados.
Describe el concepto, ecuación, parámetros
asociados y formato del bloque de control para los
9 Instrucción PID
procesadores SLC 5/02, SLC 5/03 y SLC
5/04.
10 Instrucciones ASCII Describe las instrucciones ASCII y sus usos.
Describe las interrupciones temporizadas
Descripción de las rutinas de seleccionables, la interrupción de entrada discreta
11
interrupción e interrupciones de E/S y sus parámetros
asociados.
Explica los tipos diferentes de protocolos de
Descripción de los protocolos
12 comunicación usados con los procesdores SLC
de comunicación
500.
Localización y corrección de Explica cómo el interpretar y corregir problemas
13
fallos con el software y procesador.

P-3
 
Juego de instrucciones del manual de referencia

  


Describe los fallos mayores y menores, información
diagnóstica, modos de procesador, tiempos de
Archivo de estado del
Apéndice A escán, velocidades de baudios y direcciones de
controlador MicroLogix 1000
nodo del sistema para los controladores MicroLogix
1000.
Describe los fallos mayores y menores, información
diagnóstica, modos de procesador, tiempos de
Apéndice B Archivo de estado SLC
escán, tasas de baudio y direcciones de nodo del
sistema para los procesadores SLC 500.
Proporciona la capacidad de memoria del usuario y
Tiempos de ejecución de
tiempos de ejecución de instrucción. También
Apéndice C instrucciones y uso de
describe cómo estimar el uso total de memoria de
memoria
un sistema.
Proporciona latencia de interrupción, información
Cómo calcular el tiempo de
Apéndice D del tiempo de acceso M0/M1 y hojas de cálculo
escán
para estimar los tiempos de escán.
Referencias de instrucción de Proporciona una lista de instrucciones con sus
Apéndice E
programación parámetros y tipos de archivo válidos.
Organización y Proporciona detalles acerca de archivos de datos
Apéndice F direccionamiento del archivo abarcando los formatos de archivo y cómo crear y
de datos eliminar datos.
Describe los sistemas de numeración hexadecimal,
Apéndice G Sistemas numéricos binaria y decimal además del formato de punto
(coma) flotante.
Proporciona ejemplos de aplicaciones avanzadas
Programas de ejemplo de
Apéndice H para instrucciones del contador de alta velocidad,
aplicación
secuenciador y desplazamiento de bit.

P-4
Prefacio

Documentación asociada
Los documentos siguientes contienen información adicional acerca de los productos
SLC de Allen-Bradley. Para obtener un ejemplar, póngase en contacto con su
oficina o distribuidor local de Allen-Bradley.

 
      


Una descripción general de la familia de productos SLC


Descripción general del sistema SLC 500
500
Una presentación de APS para los usuarios
principiantes, la cual contiene conceptos básicos con un Comienzo rápido de APS para usuarios
enfoque en tareas y ejercicios sencillos, y que permite al principiantes
lector comenzar a programar casi inmediatamente.
Una manual de procedimientos y referencia para el
personal técnico que usa la utilidad de importación/ Manual de usuario de
exportación APS para convertir los archivos APS a importación/exportación APS
ASCII y, a su vez, de ASCII a archivos APS
Guía de referencia rápida del programaĆ dor
Una guía de instrucción técnica y referencia rápida de de software SLC 500, no. de publicación
APS ABTĆ1747ĆTSJ50ESĊ disponible en
PASSPORT al precio de US$50.00
Guía de procedimientos comunes del
software SLC 500, no. de publicación
Una guía de procedimientos comunes usadas en APS
ABTĆ1747ĆTSJ50ESĊdisponible en
PASSPORT al precio de $50.00
Un manual de procedimientos para el personal técnico Manual del usuario del software de
que usa APS para desarrollar aplicaciones de control programación avanzada (APS) de Rockwell
Manual de instalación y operación para
Una descripción de cómo instalar y usar su controlador
controladores programables de tipo con
programable SLC 500 
hardware fijo, no. de catálogo 1747ĆNM001
Manual de instalación y operación para
Una descripción de cómo instalar y usar su controlador controladores programables de tipo con
programable SLC 500    hardware modular, no. de publicación
1747Ć6.2ES
Una descripción de cómo instalar y usar sus controladores
Manual del usuario de controladores
MicroLogix 1000. Este manual también contiene datos de
MicroLogix 1000, no. de publicación
archivo de estado e información del juego de instrucciones
1761Ć6.3ES
para los microcontroladores
Una lista completa de documentación actual de
AllenĆBradley, incluyendo instrucciones de pedido. AllenĆBradley Publication Index, no. de
También indica la disponibilidad de los documentos en publicación SD499
CDĆROM o multilingües
Un glosario de términos y abreviaturas de la Glosario de automatización industrial
automatización industrial AllenĆBradley, no. de publicación AGĆ7.1ES

P-5

Juego de instrucciones del manual de referencia

Técnicas comunes usadas en este manual


Las convenciones siguientes se usan en todo este manual:
• Las listas con viñetas proporcionan información, no pasos de procedimento.
• Las listas numeradas proporcionan pasos secuenciales o información de
jerarquía.
• El texto que aperece en estos caracteres indica palabras o frases que
usted debe escribir.
• El texto itálico se usa para destacar.
• Los nombres de las teclas corresponden a los nombres indicados y aparecen en
letras negritas y mayúsculas dentro de corchetes (por ejemplo, [ENTER]). Un
icono de la tecla de función corresponde a el nombre de la tecla de función que
CONFIG
OFFLINE
SAVE &
debe presionar, tal como EXIT .
CONFIG
F8

La tabla siguiente resume las convenciones usadas para diferenciar entre las
posiciones del interruptor de llave SLC 5/03 y SLC 5/40, los modos del procesador
y la presentación en pantalla real en la línea de estado de APS.

Referencias de la posición Referencias al modo de Referencias a la línea de


del interruptor de llave procesador estado
Posición RUN Modo de marcha RUN
Modo de marcha REM RUN
Modo de programa REM PROG
Prueba - modo de paso único REM SRG
Posición REMote
Prueba - modo de escán único REM SSN
Prueba - modo de escán
REM CSN
continuo
Posición PROGram Modo de programa PROG

P-6
Instrucciones básicas

1 Instrucciones básicas
Este capítulo contiene información general acerca de las instrucciones generales y
explica cómo funcionan en su programa de aplicación. Cada una de estas
instrucciones básicas incluye información acerca de:
• cómo aparecen los símbolos de instrucción
• cómo usar la instrucción

Además, la última sección contiene un ejemplo de aplicación para una perforadora


de papel que muestra las instrucciones básicas en uso.

Instrucciones de bit

 #
# "

# 

        


      !   
   
    
      !    
           
 
 !         
      !     
        
            ! 
                
  
      !     

            !  
              !
  
     #          


"     

1–1
!
Manual de referencia del juego de instrucciones

Instrucciones del temporizador/contador

"#!$&
! &"# %
& !
 Temporizador Cuenta los intervalos de la base de tiempo cuando  
a la conexión la instrucción es verdadera.
 Temporizador Cuenta los intervalos de la base de tiempo cuando  
a la desconexión la instrucción es falsa.
 Temporizador reĆ Cuenta los intervalos de la base de tiempo cuando  
tentivo la instrucción es verdadera y retiene el valor acumuĆ
lador cuando la instrucción se hace falsa o cuando
ocurre un ciclo de alimentación eléctrica.
 Conteo progresivo Incrementa el valor acumulador a cada transición  
de falso a verdadero y retiene el valor acumulador
cuando la instrucción se hace falsa o cuando ocurre
un ciclo de alimentación eléctrica.
 Conteo regresivo Disminuye el valor acumulado a cada transición de  
falso a verdadero y retiene el valor acumulador
cuando la instrucción se hace falsa o cuando ocurre
un ciclo de alimentación eléctrica.
 Contador de alta Cuenta los impulsos de alta velocidad de una  
velocidad entrada de alta velocidad de controlador fijo.

 Restablecimiento Pone a cero el valor acumulado y los bits de estado  
de un temporizador o contador. No use con
temporizadores TOF.

Acerca de las instrucciones básicas


Estas instrucciones, cuando se usan en programas de escalera, representan circuitos
de lógica cableados usados para el control de una máquina o equipo.

Las instrucciones básicas se dividen en tres grupos: bit, temporizador y contador.


Antes de aprender acerca de las instrucciones en cada uno de estos grupos, le
recomendamos que lea la descripción general que precede dicho grupo:
• Descripción general de las instrucciones de bit
• Descripción general de las instrucciones de temporizador
• Descripción general de las instrucciones de contador

1–2
Instrucciones básicas

Descripción general de las instrucciones de bit


Estas instrucciones operan en un solo bit de datos. Durante la operación, el
procesador puede establecer o restablecer el bit, según la continuidad lógica de los
renglones de escalera. Puede direccionar un bit tantas veces como requiera su
programa.
Nota No se recomienda usar la misma dirección con instrucciones de salida múltiples.

Las instrucciones de bit se usan con los archivos de datos siguientes:

Archivos de datos de salida y entrada (archivos O:0 e I:1)

Estos representan salidas y entradas externas. Los bits en archivo 1 se usan para
representar las entradas externas. En la mayoría de los casos, una sola palabra de 16
bits en estos archivos corresponderá a una ubicación de ranura en su controlador con
los números de bit correspondientes a números de terminal de entrada o salida. Los
bits de la palabra no usados no están disponibles para su uso.

La tabla a continuación explica el formato de direccionamiento para salidas y


entradas. Anote que el formato especifica e como el número de ranura y s como el
número de palabra. Cuando trabaje con instrucciones de archivo, haga referencia al
elemento como e.s (ranura y palabra) tomados juntos.

Formato Explicación

O Salida

I Entrada

: Delimitador del elemento

Ranura 0, adyacente a la fuente de alimentación eléctrica en


Número de
el primer chasis, se aplica al módulo de procesador. Las
O:e.s/b e la ranura
ranuras posteriores son ranuras de E/S, numeradas desde 1
(decimal)
hasta un máximo de 30.

Delimitador de palabra. Requerido sólo si es necesario un número de palabra


I:e.s/b .
según lo indicado a continuación.

Requerido si el número de entradas o salidas exceden 16


Número de
s para la ranura. Rango: 0Ć255 (el rango acepta tarjetas
palabra
especiales" de palabras múltiples)

/ Delimitador de bit

Número de Entradas: 0Ć 15
b
terminal Salidas: 0Ć 15

1–3
#
Manual de referencia del juego de instrucciones

"!$ "$  ! %#!!# &$%#!  "(  *

  Salida 15, ranura 3


  Salida 0, ranura 5
  Salida 11, ranura 10

 Entrada 8, ranura 7
  Entrada 3, ranura 2, palabra 1

#! $  "#

 Palabra de salida 0, ranura 5


  Palabra de salida 1, ranura 5
 Palabra de entrada, ranura 8

!#$ "#%# !$ Su dispositivo de programación mostrará una dirección de una


manera más formal. Por ejemplo, cuando asigna la dirección  , el dispositivo de
programación la mostrará como   (archivo de salida, ranura 5, palabra 0, terminal 0).

Archivo de estado (archivo S2:)

No puede añadir ni eliminar elementos del archivo de estado. El archivo de estado


del controlador MicroLogix 1000 se explica en apéndice A y el archivo de estado
del procesador SLC 500 se explica en apéndice B. Puede direccionar varios bits y
palabras según lo siguiente:

!#%! '")

 Archivo de estado

Delimitador de elemento

   Número de Rangos de 0Ć15 en un controlador fijo o SLC 5/01, 0Ć32 en un


elemento procesador SLC 5/02, 0Ć83 en un SLC 5/03 OS300, 0-96 en
un SLC 5/03 OS301 y posterior y 5/04 OS400 y 0Ć164 en un
SLC 5/04. Estos son elementos de 1 palabra. 16 bits por
cada elemento

 Delimitador de bit

 Número de Ubicación del bit dentro del elemento. Rangos de 0Ć15.


bit

"!$
  Elemento 1, bit 15. Este es el bit de primer paso" que puede
usar para iniciar instrucciones en su programa.

  Elemento 3. El byte inferior de este elemento es el tiempo de


escán actual. El byte superior es el tiempo de escán de control
(watchdog).

1–4
Instrucciones básicas

Archivo de datos de bit (B3:)

El archivo 3 constituye el archivo de bit, usado principalmente para instrucciones de


bit (lógica de relé), registros de desplazamiento y secuenciadores. El tamaño
máximo del archivo es 256 elementos de 1 palabra, un total de 4096 bits. Puede
direccionar los bits especificando el número de elemento (0 a 255) y el número de
bit (0 a 15) dentro del elemento. También puede direccionar los bits numerándolos
secuencialmente, 0 a 4095.

Además, puede direccionar los elementos de este archivo.

Formato Explicación Ejemplos

B Archivo de tipo de bit


Número de archivo. Número 3 es el archivo
predeterminado. Un número de archivo entre B3:3/14
Bf:e/b f
10Ć255 se puede usar si se requiere Bit 14, elemento 3
almacenamiento adicional.
: Delimitador de elemento
Rangos de 0Ć255. Estos son
Número de B3:252/00
e elementos de 1 palabra. 16 bits
elemento Bit 0, elemento 252
por cada elemento.
/ Delimitador de bit
Número de Ubicación del bit dentro del B3:9
b
bit elemento. Rangos de 0Ć15. Bits 0Ć15, elemento 9

Formato Explicación Ejemplos

B Idéntico a lo anterior.
B3/62
Bf/b f Idéntico a lo anterior.
Bit 62
/ Idéntico a lo anterior.
Número de Ubicación numérica del bit dentro B3/4032
b
bit del archivo. Rangos de 0Ć4095. Bit 4032

Archivos de datos de temporizador y contador (T4: y C5:)

Vea las páginas 1–16 y 1–24 respectivamente para obtener los formatos de
direccionamiento.

1–5
Preface
Manual de referencia del juego de instrucciones

Archivo de datos de control (R6:)

Estas instrucciones usan varios bits de control. Estos son elementos de 3 palabras
usados con desplazamiento de bit, FIFO, LIFO, instrucciones de secuenciador e
instrucciones ASCII ABL, ACB, AHL, ARD, ARL, AWA y AWT. La palabra 0 es
la palabra de estado, la palabra 1 indica la longitud de datos almacenados y la
palabra 2 indica la posición. Esto se muestra en la figura siguiente.

En el elemento de control hay ocho bits de estado y un byte de código de error. Un


controlador fijo y un elemento de control SLC 5/01 tienen seis bits. Los bits EU y
EM no son usados por el procesador.

Elemento de control
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Pal.

EN EU DN EM ER UL IN FD Código de error 0
Longitud de arreglo de bit o archivo (LEN) 1
Indicador de bit o posición (POS) 2

Bits direccionables Palabras direccionables


EN = Habilitación LEN = Longitud
EU = Habilitación de descarga POS = Posición
DN = Efectuado
EM = Pila vacía
ER = Error
UL = Descarga (desplazamiento de bit solamente)
IN = Inhibición (Este es el bit de marcha [RN bit 9] para instrucciones ASCII)
FD = Encontrado (SQC solamente)
El código de error se muestra en HEX y no
es direccionable.

Asigne direcciones de control según lo siguiente:

Formato Explicación

R Archivo de control

Número de archivo. Número 6 es el archivo predeterminado. Se puede usar


Rf:e f un número de archivo entre 10Ć255 se puede usar si se requiere
almacenamiento adicional.

: Delimitador de elemento

Número de Rangos de 0Ć255. Estos son elementos de 3 palabras. Vea


e
elemento la figura anterior.

1–6
Instrucciones básicas

    Elemento 2, archivo de control 6.


Direcione los bits y palabras usando el formato
 ! donde   se explica anteriormente y:
 es el delimitador de palabra
! indica el subelemento
 es el delimitador de bit
 indica el bit
  ó   Bit habilitación
  ó   Bit de habilitación de descarga
  ó    Bit de efectuado
  ó   Bit de pila vacía
  ó   Bit de error
  ó   Bit de descarga
  ó   Bit de inhibición
 
ó   Bit de encontrado

  ó   Valor de longitud


  ó   Valor de posición

  Bit 0 del valor de longitud


  Bit 0 del valor positivo

Archivo de datos enteros (N7:)

Use estas direcciones (al nivel de bit) según las requiera su programa. Estos son
elementos de 1 palabra direccionables al nivel de elemento y bit.

1–7
 
Manual de referencia del juego de instrucciones

Asigne las direcciones de enteros según lo siguiente:


   

Archivo de enteros

Número de archivo. Número 7 es el archivo predeterminado. Un número de



  archivo entre 10Ć255 se puede usar si se requiere almacenamiento adicional.

 Delimitador de elemento

Número de Rangos de 0Ć255. Estos son elementos de 1 palabra. 16 bits



elemento por cada elemento.
Delimitador de bit
Número de
 Ubicación del bit dentro del elemento. Rangos de 0Ć15.
bit



 Elemento 2, archivo de enteros 7


  Bit 8 en elemento 2, archivo de enteros 7
 Elemento 36, archivo de enteros 10 (archivo 10 designado como
un archivo de enteros por el usuario)

1–8
Instrucciones básicas

Examine si cerrado (XIC)

3 3 3 3 3 3

Use la instrucción XIC en su programa de escalera para determinar si un bit está


] [
activado. Cuando la instrucción se ejecuta, si la dirección de bit está activada (1),
  
   
entonces la instrucción es evaluada como verdadera. Cuando la instrucción se
ejecuta, si el bit direccionado está desactivado (0), entonces la instrucción evaluada
como falsa.



 
     
  
   

Ejemplos de dispositivos que se activan o desactivan incluyen:


• un botón pulsador cableado a una entrada (direccionado como I:0/4)
• una salida cableada a una luz piloto (direccionada como O:0/2)
• un temporizador que controla una luz (direccionado como T4:3/DN)

Examine si abierto (XIO)


3 3 3 3 3 3

Use una instrucción XIO en su programa de escalera para determinar si un bit está
]/[
desactivado. Cuando la instrucción se ejecuta, si el bit direccionado está
  
   
desactivado (0), entonces la instrucción es evaluada como verdadera. Cuando la
instrucción se ejecuta, si el bit direccionado está activado (1), entonces la
instrucción es evaluada como falsa.



 
     
   
  

Ejemplos de dispositivos que se activan o desactivan incluyen:


• sobrecarga del motor normalmente cerrada (N.C.) cableada a una entrada
(I:O/10)
• una salida cableada a una luz piloto (direccionada como O:0/4)
• un temporizador que controla una luz (direccionado como T4:3/DN)

1–9

Manual de referencia del juego de instrucciones

Active la salida (OTE)


3 3 3 3 3 3

Use una instrucción OTE en su programa de escalera para activar/desactivar un bit


( )
cuando las condiciones de renglón son evaluada como verdaderas/falsas

  

respectivamente.

Un ejemplo de un dispositivo que se activa y desactiva es una salida cableada a una


luz piloto (direccionada como O:0/4).

Las instrucciones OTE se restablecen cuando:


• Entra o regresa al modo de marcha REM o prueba REM o cuando se restaura la
alimentación eléctrica.
• El OTE se programa dentro de una zona de restablecimiento de control maestro
(MCR) inactiva o falsa.

Nota Un bit que está establecido dentro de una subrutina usando una instrucción OTE
permanece establecido hasta que la subrutina se escanee nuevamente.

1–10
Instrucciones básicas

Enclavamiento de salida (OTL) y


desenclavamiento de salida (OTU) 3 3 3 3 3 3

OTL y OTU son instrucciones de salida retentivas. OTL sólo puede activar un bit,
(L)
en cambio, OTU sólo puede desactivar un bit. Estas instrucciones se usan
generalmente en parejas, con ambas instrucciones direccionando el mismo bit.
(U)
Su programa puede examinar un bit controlador por instrucciones OTL y OTU

  
 tantas veces como sea necesariol.

Bajo las condiciones de error irrecuperable, las salidas físicas se desactivan.


Una vez corregidas las condiciones de error, el controlador reanuda la
operación usando el valor de la tabla de datos de la operación.

Cómo usar OTL

Cuando asigna una dirección a la instrucción OTL que corresponde a la dirección de


una salida física, el dispositivo de salida cableado a este terminal de tornillo está
activado cuando el bit está establecido (activado o habilitado).

Cuando las condiciones de renglón se convierten en falsas (después de ser


verdaderas), el bit permanece establecido y el dispositivo de salida correspondiente
permanece activado.

Una vez habilitada, la instrucción de enclavamiento indica al controlador que active


el bit direccionado. Desde ese momento en adelante, el bit permanece activado,
pese a la condición del renglón, hasta que el bit esté desactivado (típicamente por
una instrucción OTU en otro renglón).

Cómo usar OTU

Cuando asigna una dirección a la instrucción OTU que corresponde a la dirección de


una salida física, el dispositivo de salida cableado a este terminal de tornillo está
desactivado cuando el bit está restablecido (desactivado o inhabilitado).

La instrucción de desenclavamiento indica al controlador que desactive el bit


direccionado. Desde ese momento en adelante, el bit permanece desactivado, pese a
la condición del renglón, hasta que esté activado (típicamente por una instrucción
OTL en otro renglón).

1–11

Manual de referencia del juego de instrucciones

One–Shot Rising (OSR)


3 3 3 3 3 3

La instrucción OSR es una instrucción de entrada retentiva que ocasiona un evento


[OSR]
durante una sola vez. Use la instrucción OSR cuando un evento debe comenzar

    
 basado en el cambio de estado del renglón de falso a verdadero.

Cuando las condiciones de renglón precedentes de la instrucción OSR van de falsas


a verdaderas, la instrucción OSR será verdadera durante un escán. Después de
completarse un escán, la instrucción OSR se hace falsa, aun cuando las condiciones
de renglón precedentes permanecen verdaderas. La instrucción OSR sólo volverá a
hacerse verdadera si las condiciones de renglón precedentes efectúan una transición
de falso a verdadero.

El controlador le permite usar una instrucción OSR por cada salida en un renglón.

Cómo introducir parámetros

La dirección asignada a la instrucción OSR no es la dirección de ONE–SHOT


mencionada por su programa, ni indica el estado de la instrucción OSR. Esta
dirección permite que la instrucción OSR recuerde su estado de renglón anterior.

Use una dirección de bit desde el archivo de datos del bit o enteros. El bit
direccionado está establecido (1) durante un escán cuando las condiciones de
renglón precedentes de la instrucción OSR son verdaderas (aun cuando la
instrucción OSR se hace falsa); el bit está restablecido (0) cuando las condiciones de
renglón precedentes de la instrucción OSR se hacen falsas.
Nota La dirección de bit que usa para esta instrucción debe ser única. No la use en otros
lugares del programa.
No use una dirección de entrada o salida para programar el parámetro de dirección
de la instrucción OSR.

Ejemplos

Los renglones siguientes ilustran el uso de las instrucciones OSR. Los cuatro
primeros renglones se aplican a los procesadores SLC 500 y SLC 5/01. El quinto
renglón abarca la bifurcación de salida y se aplica a los procesadores SLC 5/02,
SLC 5/03 y SLC 5/04 y controladores MicroLogix 1000.

1–12
Instrucciones básicas

Procesadores SLC 600 y SLC 50/1


I:1.0 B3 O:3.0
] [ [OSR] ( )
0 0 0
    "          
 " 
   "        
      !          
                
     #    "     
I:1.0 B3 TOD
] [ [OSR] TO BCD
0 0 Source Tf:0.ACC

Dest O:3

            


    "         !
     "         $
      !    !    
            "   
     "     "

Uso de una instrucción OSR en una bifurcación


(Procesadores SLC 500 y SLC 5/01)

I:1.0 B3 O:3.0
] [ [OSR] ( )
0 0 0
O:3.0
( )
1
  "      " 
  
    "

I:1.0 B3 O:3.0
] [ [OSR] ( )
0 0 0
O:3.0
( )
1
     " 
 !  
 "      "  !

Los procesadores SLC 500 y SLC 5/01 le permiten usar una instrucción OSR por
cada renglón.

1–13
Manual de referencia del juego de instrucciones
Preface

Cuando use un procesador SLC 500 ó SLC 5/01, no ubique condiciones de


entrada después de la instrucción OSR en un renglón. Puede ocurrir una
operación inesperada.

Procesadores SLC 5/02, SLC 5/03 y LSC 5/04 y controladores MicroLogix 1000
I:1.0 B3 B3 O:3.0
] [ ]/[ [OSR] ( )
0 1 0 0
B3 B3 O:3.0
] [ [OSR] ( )
2 3 1

Los procesadores SLC 5/02, SLC 5/03 y SLC 5/04 y controladores MicroLogix
1000 le permiten usar una instrucción OSR por cada salida en un renglón.

1–14
Instrucciones básicas

Descripción general de las instrucciones de temporizador


Cada dirección de temporizador se compone de un elemento de 3 palabras. Palabra
0 es la palabra de control, palabra 1 almacena el valor preseleccionado y palabra 2
almacena el valor acumulado.

15 14 13
Pal. 0 EN TT DN Uso interno
Pal. 1 Valor preseleccionado
Pal. 2 Valor de acumulador

  
      
 
EN = Bit 15 Habilitación PRE = Valor preseleccionado
TT = Bit 14 Temporización del tempor. ACC = Valor acumulado
DN = Bit 13 Efectuado
Los bits etiquetados como "uso interno no son direccionables.

Cómo introducir parámetros

Valor del acumulador (.ACC)

Este es el tiempo transcurrido desde el último restablecimiento del temporizador.


Cuando está habilitado, el temporizador lo actualiza constantemente.

Valor preseleccionado (.PRE)

Especifica el valor que el temporizador debe alcanzar antes de que el controlador


establezca el bit de efectuado. Cuando el valor acumulado sea igual o mayor que el
valor preseleccionado, el bit de efectuado estará establecido. Puede usar este bit
para controlar un dispositivo de salida.

Los valores preseleccionados y acumulados para temporizadores tienen un rango


desde 0 hasta +32,767. Si el valor preseleccionado o acumulador de temporizador
es un número negativo, ocurre un error de tiempo de ejecución.

Base de tiempo

La base de tiempo determina la duración de cada intervalo de base de tiempo. Para


los procesadores fijos y SLC 5/02, la base de tiempo ha sido establecido a 0.01
segundo. Para los procesadores SLC 5/02, SLC 5/03, SLC 5/04 y los controladores
MicroLogix 1000, la base de tiempo es seleccionable como 0.01 (10 ms) segundo ó
1.0 segundo.

1–15
 
Manual de referencia del juego de instrucciones

Precisión del temporizador

La precisión del temporizador se refiere al tiempo transcurrido entre el momento en


que una instrucción de temporizador está habilitada y el momento en que el
intervalo temporizado se ha completado. La inexactitud causada por el escán de
programa puede ser mayor que la base de tiempo del temporizador. También debe
considerar el tiempo necesario para activar el dispositivo de salida.

La precisión de temporización es ± 0.01 a +0 segundos, con un escán de programa


de hasta 2.5 segundos. El temporizador de 1 segundo mantiene la precisión con un
escán de programa de hasta 1.5 segundos. Si sus programas pueden exceder 1.5 ó
2.5 segundos, repita el renglón de instrucción del temporizador para que el renglón
sea escaneado dentro de estos límites.
Nota La temporización podría resultar inexacta si las instrucciones de salto (JMP),
etiqueta (LBL), salto a subrutina (JSR) o subrutina (SBR) saltan el renglón que
contiene una instrucción de temporizador mientras que el temporizador esté
temporizando. Si la duración de salto es menor de 2.5 segundos, no se pierde
ningún tiempo; si la duración de salto excede 2.5 segundos, ocurre un error de
temporización no detectable. Cuando se usan subrutinas, es necesario que un
temporizador esté ejecutado a un mínimo de cada 2.5 segundos para evitar un error
de temporización.

Estructura de direccionamiento

Direccione bits y palabras usando el formato Tf:e.s/b

 

 Archivo de temporizador

Número de archivo. Para los procesadores SLC 500, el número predetermiĆ


nado es 4. Se puede usar un número entre 10Ć255 para almacenamiento

adicional. El único número de archivo válido es 4 para los controladores
MicroLogix 1000.

Delimitador de elemento

Estos son elementos de 3 palabras. Para los procesadores


Número de
 SLC 500 el rango es 0Ć255. Para los controladores
elemento
MicroLogix 1000 el rango es de 0Ć39.
. Elemento de palabras
s subelemento
/ delimitador de bit
b bit

1–16
Instrucciones básicas

Ejemplos de direccionamiento
• T4:0/15 ó T4:0/EN Bit de habilitación
• T4:0/14 ó T4:0/TT Bit de temporización del temporizador
• T4:0/13 ó T4:0/DN Bit de efectuado
• T4:0.1 ó T4:0.PRE Valor preseleccionado del temporizador
• T4:0.2 ó T4:0.ACC Valor acumulado del temporizador
• T4:0.1/0 ó T4:0.PRE/0 Bit 0 del valor preseleccionado
• T4:0.2/0 ó T4:0.ACC/0 Bit 0 del valor acumulado

1–17
Preface
Manual de referencia del juego de instrucciones

Temporizador a la conexión (TON)


3 3 3 3 3 3

TON
TIMER ON DELAY (EN)
Use la instrucción TON para activar o desactivar una salida después de que el
Timer
Time Base
T4:0
0.01 (DN)
temporizador haya estado activado durante un intervalo de tiempo preseleccionado.
Preset
Accum
120
0
La instrucción TON comienza a contar los intervalos de la base de tiempo cuando
las condiciones de renglón se hacen verdaderas. Con tal que las condiciones de
Instrucción de salida renglón permanezcan verdaderas, el temporizador ajusta su valor acumulado (ACC)
durante cada evaluación hasta alcanzar el vazor predeterminado (PRE). Cuando las
condiciones de renglón se hacen falsas, el valor acumulado se reinicializa sin
importar si el temporizador ha sobrepasado el límite de tiempo.
Uso de los bits de estado
Y permanece establecido
Este bit Se establece cuando hasta ocurrir uno de los
siguientes eventos
el valor acumulado es igual o
Bit de efectuado del las condiciones de renglón
mayor que el valor
temporizador DN (bit 13) se hacen falsas
preseleccionado
las condiciones de renglón las condiciones de renglón
Bit de temporización del son verdaderas y el valor se hacen falsas o cuando el
temporizador TT (bit 14) acumulado es menor que el bit de efectuado esté
valor preseleccionado establecido
Bit de habilitación del las condiciones de renglón las condiciones de renglón
temporizador EN (bit 15) son verdaderas se hacen falsas

Cuando el procesador cambia del modo de marcha REM o prueba REM al modo de
programa REM o la alimentación eléctrica del usuario se pierde durante la tempori-
zación de la instrucción, pero no ha alcanzado su valor preseleccionado, ocurre lo
siguiente:
• El bit de habilitación del temporizador (EN) permanece establecido.
• El bit de temporización del temporizador (TT) permanece establecido.
• El valor acumulado (ACC) permanece sin cambio.
Se puede ocurrir lo siguiente al regresar al modo de marcha REM o prueba REM:
Condición Resultado
El bit EN permanece establecido.
Si el renglón verdadero: El bit TT permanece establecido
El valor ACC está puesto a cero.
El bit EN está restablecido.
Si el renglón es falso: El bit TT está restablecido.
El valor ACC está puesto a cero.

1–18
Instrucciones básicas

Temporizador a la desconexión (TOF)


3 3 3 3 3 3

TOF
TIMER OFF DELAY (EN)
Use la instrucción TOF para activar o desactivar una salida después de que su
Timer T4:1
Time Base 0.01 (DN) renglón ha estado desactivado durante un intervalo de tiempo preseleccionado. La
Preset 120
Accum 0 instrucción TOF comienza a contar los intervalos de la base de tiempo cuando el
Instrucción de salida
renglón efectúa una transición de verdadero a falso. Con tal que las condiciones
permanezcan falsas, el temporizador incrementa su valor acumulado (ACC) durante
cada escán hasta alcanzar el valor preseleccionado (PRE). El valor acumulado se
restablecerá cuando las condiciones de renglón se hagan verdaderas, sin importar si
el tiempo en el temporizador se ha agotado.

Uso de los bits de estado


Y permanece establecido
Este bit Se establece cuando hasta ocurrir uno de los
siguientes eventos
Bit de efectuado del las condiciones de renglón las condiciones de renglón
temporizador DN (bit 13) son verdaderas se hacen falsas y el valor
acumulado es mayor o igual
que el valor preseleccionado
Bit de temporización del las condiciones de renglón las condiciones de renglón
temporizador TT (bit 14) son falsas y el valor se hacen verdaderas o
acumulado es menor que el cuando el bit de efectuado se
valor preseleccionado restablece
Bit de habilitación del las condiciones de renglón las condiciones de renglón
temporizador EN (bit 15) son verdaderas se hacen falsas

Cuando la operación del procesador cambia del modo de marcha REM o prueba
REM al modo de programa REM o cuando se pierde la alimentación eléctrica del
usuario durante la temporización de una instrucción de retardo con temporizador
desactivado, pero no ha alcanzado su valor preseleccionado, ocurre lo siguiente:
• El bit de habilitación del temporizador (EN) permanece establecido.
• El bit de temporización del temporizador (TT) permanece establecido.
• El bit de efectuado del temporizador (DN) permanece establecido.
• El valor acumulado (ACC) permanece sin cambio.

1–19
 
Manual de referencia del juego de instrucciones

Se puede ocurrir lo siguiente al regresar al modo de marcha REM o prueba REM:



  
   
 
   
  
  
    

    
 
 
   
 
   
 
    
 
    
     
 
 
   
  
  

  


La instrucción de restablecimiento (RES) no se puede usar con las


instrucciones TOF porque RES siempre pone a cero los bits de estado así como
el valor acumulado. (Vea la página 1-34.)

Nota El TOF temporiza dentro de una pareja MCR inactiva.

1–20
Instrucciones básicas

Temporizador retentivo (RTO)


3 3 3 3 3 3

RTO
RETENTIVE TIMER ON (EN)
Use la instrucción RTO para activar o desactivar una salida después que el
Timer T4:2
Time Base 0.01 (DN) temporizador haya estado desactivado durante un intervalo de tiempo
Preset 120
Accum 0 preseleccionado. La instrucción RTO es una instrucción retentiva que comienza a
Instrucción de salida
contar los intervalos de base de tiempo cuando las condiciones de renglón se hacen
verdaderas.

La instrucción RTO retiene su valor acumulado cuando ocurre cualquiera de los


eventos siguientes:
• Las condiciones de renglón se hacen falsas.
• Cambia la operación del procesador del modo de marcha REM o prueba REM
al modo de programa REM.
• Se corta la alimentación eléctrica del procesador (siempre que se mantenga una
batería auxiliar).
• Ocurre un fallo.

Cuando regresa el procesador al modo de marcha REM o prueba REM y/o las
condiciones de renglón se hacen verdaderas, la temporización continúa desde el
valor acumulado retenido. Los temporizadores retentivos miden el período
acumulativo durante el cual las condiciones de renglón son verdaderas mediante la
retención de su valor acumulado.
Uso de los bits de estado
Y permanece establecido
Este bit Se establece cuando hasta ocurrir uno de los
siguientes eventos
el valor acumulado es igual o
Bit de efectuado del la instrucción RES apropiada
mayor que el valor
temporizador DN (bit 13) se habilita
preseleccionado
las condiciones de renglón
las condiciones de renglón
Bit de temporización del son verdaderas y el valor
se hacen falsas o cuando se
temporizador TT (bit 14) acumulado es menor que el
establece el bit de efectuado
valor preseleccionado
Bit de habilitación del las condiciones de renglón las condiciones de renglón
temporizador EN (bit 15) son verdaderas se hacen falsas

Nota Para restablecer el valor acumulado del temporizador retentivo y los bits de estado
después de que el renglón RTO se hace falso, debe programar una instrucción de
restablecimiento (RES) con la misma dirección en otro renglón.

1–21
 
Manual de referencia del juego de instrucciones

Cuando el procesador cambia del modo de marcha REM o prueba REM al modo de
programa REM o fallo REM, o cuando se pierde la alimentación eléctrica del
usuario durante la temporización del temporizador, pero todavía sin alcanzar el valor
preseleccionado, ocurre lo siguiente:
• El bit de habilitación (EN) del temporizador permanece establecido.
• El bit de temporización (TT) del temporizador permanece establecido.
• El valor acumulado (ACC) permanece sin cambio.

Puede ocurrir lo siguiente al regresar al modo de marcha REM o prueba REM o


cuando se restaura la alimentación eléctrica:



  
  
  
  
   
  
  
    

 
  
  
  

 

   
 
   
     

    
     
 
 
  
    



1–22
Instrucciones básicas

Uso de los contadores

Elementos del archivo de datos del contador

Cada dirección de contador se compone de un elemento de archivo de datos de 3


palabras. Palabra 0 es la palabra de control y contiene los bits de estado de la
instrucción. Palabra 1 es el valor preseleccionado. Palabra 2 es el valor acumulado.

La palabra de control para las instrucciones de contador incluye seis bits de estado,
según lo indicado a continuación:

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Pal. 0 CU CD DN OV UN UA Uso interno
Pal. 1 Valor preseleccionado
Pal. 2 Valor acumulado

  
      
 
CU = Habilitación de conteo prog. PRE = Preseleccionado
CD = Habilitación de conteo reg. ACC = Acumulado
DN = Bit de efectuado
OV = Bit de overflow
UN = Bit de underflow
UA = Actualización del valor acumulado
(HSC en el controlador fijo solamente)

Los bits etiquetados como "uso interno no son direccionables.

Para obtener información acerca de la instrucción del contador de alta velocidad del
controlador MicroLogix 1000, vea el capítulo 7.

Cómo introducir parámetros

Valor acumulado (.ACC)

Este es el número de transiciones de falso a verdadero que han ocurrido desde el


último restablecimiento del contador.

1–23
 
Manual de referencia del juego de instrucciones

Valor preseleccionado (PRE)

Especifica el valor que el contador debe alcanzar antes que el controlador establezca
el bit de efectuado. Cuando el valor del acumulador se hace igual o mayor que el
valor preseleccionado, se establece el bit de estado efectuado. Puede usar este bit
para controlar un dispositivo de salida.

Los valores preseleccionados y acumulados para los contadores oscilan entre


–32,768 hasta +32,767 y se almacen como enteros con signos. Los valores
negativos se almacenan en forma de complemento de dos.

Estructura de direccionamiento

Asigne direcciones de contador usando el formato Cf:e.s/b

 

 Contador

Número de archivo. Para los procesadores SLC 500, el valor


predeterminado es 5. Un número de archivo entre 10-255 se
 puede usar para obtener almacenamiento adicional. El único
número de archivo válido es 5 para los controladores
MicroLogix 1000.

Delimitador de elemento

Estos son elementos de 3 palabras.


Número de Para los procesadores SLC 500 el

elemento rango es 0Ć255. Para los controladores
MicroLogix 1000 el rango es de 0Ć39.
. Elemento de palabra
s Subelemento
/ Delimitador de bit
b Bit

1–24
Instrucciones básicas

Ejemplos
• C5:0/15 ó C5:0/CU Bit de habilitación de conteo progresivo
• C5:0/14 ó C5:0/CD Bit de habilitación de conteo regresivo
• C5:0/13 ó C5:0/DN Bit de efectuado
• C5:0/12 ó C5:0/OV Bit de overflow
• C5:0/11 ó C5:0/UN Bit de underflow
• C5:0/10 ó C5:0/UA Bit de actualización del valor acumulado (HSC en el
controlador fijo solamente)
• C5:0.1 ó C5:0PRE Valor preseleccionado del contador
• C5:0.2 ó C5:0.ACC Valor acumulado del contador
• C5:0.1/0 ó C5:0.PRE/0 Bit del valor preseleccionado
• C5:0.2/0 ó C5:0.ACC/0 Bit 0 del valor acumulado

1–25
Manual de referencia del juego de instrucciones

 

Cómo funcionan los contadores

La figura siguiente muestra cómo funciona un contador. El valor del contador debe
permanecer dentro del rango de ±32768 a +32767. Si el valor de conteo excede
+32767 ó desciende a menos de ±32768, se establece un bit de overflow (OV) o
underflow (UN) de estado del contador.

Un contador se puede poner a cero usando la instrucción de restablecimiento (RES).


  


   

V 
  
 


   


 

Conteo progresivo (CTU)


3 3 3 3 3 3

CTU
COUNT UP (CU)
El CTU es una instrucción que cuenta las transiciones de renglón de falso a
Counter C5:0
Preset 120 (DN) verdadero. Las transiciones de renglón pueden ser provocadas por eventos
Accum 0
ocurriendo en el programa (de la lógica nterna o dispositivos de campo externos)


   tales como piezas que pasan por un detector o que activan un interruptor de límite.

Cuando las condiciones de renglón para una instrucción CTU efectúan una
transición de falso a verdadero, el valor acumulado se incrementa en uno, siempre
que el renglón que contiene la instrucción CTU se evalúe entre estas transiciones.
La capacidad del contador para detectar transiciones de falso a verdadero depende
de la velocidad (frecuencia) de la señal de entrada.
Nota La duración activada y desactivada de un señal de entrada no debe ser más rápida
que el tiempo de escán 2x (se entiende un ciclo de trabajo de 50%).

El valor acumulado se retiene cuando las condiciones de renglón vuelven a hacerse


falsas. El conteo acumulado se retiene hasta que sea puesto a cero por una
instrucción de restablecimiento (RES) que tenga la misma dirección que el contador.

1–26
Instrucciones básicas

Uso de los bits de estado


Y permanece establecido
Este bit Se establece cuando hasta ocurrir uno de los
siguientes eventos
Bit de overflow de conteo el ,"%( +#+"% #   se ejecuta una instrucción
progresivo OV -32,768 (desde +32,767) y RES con la misma dirección
 * 12) continúa contando desde ese que la instrucción CTU O
punto BIEN el conteo se reduce a
un valor menor o igual que
+32,767 con una instrucción
CTD
Bit de efectuado DN (bit 13) el valor acumulado es igual o el valor acumulado se hace
mayor que el valor menor que el valor
preseleccionado preseleccionado
Bit de habilitación de conteo las condiciones de renglón las condiciones de renglón
progresivo CU son verdaderas se hacen falsas O BIEN se
(bit 15) habilita una instrucción RES
con la misma dirección que la
instrucción CTU

El valor acumulado se retiene después que la instrucción CTU se hace falsa, o


cuando la alimentación eléctrica se corta y luego se restaura al controlador.
Además, el estado activado o desactivado de los bits de contador efectuado,
overflow y underflow es retentivo. El valor acumulado y los bits de control se
restablecen cuando se habilita la instrucción RES correcta. Los bits CU siempre se
establecen antes de introducir los modos de marcha REM o prueba REM.

1–27
Preface
Manual de referencia del juego de instrucciones

Conteo regresivo (CTD)


3 3 3 3 3 3

CTD
COUNT DOWN (CD)
El CTD es una instrucción que cuenta las transiciones de renglón de falso a
Counter
Preset
C5:1
120 (DN)
verdadero. Las transiciones de renglón pueden ser causadas por eventos que
Accum 0 ocurren en el programa, tales como piezas pasando por un detector o accionando un
final de carrera.
$)*(+ .$  )" 

Cuando las condiciones de renglón para una instrucción CTD han efectuado una
transición de falo a verdadeo, el valor acumulado se disminuye en un conteo,
siempre que el renglón que contiene la instrucción CTD se evalúe entre estas
transiciones.

Los conteos acumulados se retienen cuando las condiciones de renglón se hacen


falsas nuevamente. El conteo acumulado se retiene hasta que sea puesto a cero por
una instrucción de restablecimiento (RES) que tiene la misma dirección que el
contador restablecido.

Uso de los bits de estado


Y permanece establecido
Este bit Se establece cuando hasta ocurrir uno de los
siguientes eventos
Bit de underflow de conteo el ,"%( +#+"% #   una instrucción RES con la
regresivo UN -32,768 (desde +32,767) y misma dirección que la
 * 11) continúa contando regresivaĆ instrucción CTD se ejecuta O
mente desde ese punto BIEN el conteo es
incrementado menor o igual
que +32,767 con una
instrucción CTU
Bit de efectuado DN (bit 13) el valor acumulado es igual o el valor acumulado se hace
mayor que el valor menor que el valor
preseleccionado preseleccionado
Bit de habilitación de conteo ") %$  %$)  ($".$ ") %$  %$)  ($".$
regresivo CD )%$ ,(() ) $ "))   )
(bit    " * +$ $)*(+ .$ 
%$ " # )#  ( .$ '+ "
$)*(+ .$ 

El valor acumulado se retiene después de que la instrucción CTD se hace falsa, o


cuando la alimentación eléctrica al controlador se corta y luego se restaura.
Además, el estado activado o desactivado de los bits de contador efectuado,
overflow y underflow es retentivo. El valor acumulado y los bits de control se
restablecen cuando se habilita la instrucción RES correcta. Los bits CD siempre se
establecen antes de introducir los modos de marcha REM o prueba REM.

1–28
Instrucciones básicas

Contador de alta velocidad (HSC)


3 3

HSC
HIGH SPEED COUNTER (CU)
El contador de alta velocidad constituye una variación del contador CTU. La
Counter C5:0
Preset 120 (DN) instrucción HSC se habilita cuando la lógica de renglón es verdadera y se inhabilita
Accum 0
cuando la lógica de renglón es falsa.

  

Para obtener información acerca de la instrucción del contador de alta velocidad del
controlador MicroLogix 1000, vea el capítulo 7.

Nota La instrucción HSC cuenta transiciones que ocurren en el terminal de entrada I:0/0.
La instrucción HSC no cuenta las transiciones de renglón. Habilita o inhabilita el
renglón HSC para habilitar o inhabilitar el conteo de transiciones que ocurren en la
terminal de entrada I:0/0. Recomendamos colocar la instrucción HSC en un
renglón incondicional. No coloque la instrucción XIC con la dirección I:0/0 en
serie con la instrucción HSC ya que los conteos se perderán.

El HSC es una contador CTU especial para uso con los procesadores SLC fijos y
SLC 5/01 de 24 VCC. Los bits de estado y valores acumulados del HSC son no
retentivos.
Nota Esta instrucción proporciona el conteo de alta velocidad para los controladores de
E/S fijos con entradas de 24 VCC. Se permite una sola instrucción HSC por cada
controlador. Para usar la instrucción, debe cortar el puente según se indica a
continuación. Se recomienda un cable blindado para reducir el ruido a la entrada.

Operación del contador de alta velocidad

Para la operación del contador de alta velocidad, hay que realizar los pasos
siguientes:

1. Desconecte la alimentación eléctrica del controlador fijo.

2. Quite el envolvente del SLC 500.

3. Localice y corte el cable del puente J2. No lo quite completamente, pero


asegúrese que los extremos del cable del puente cortado no hagan contacto
entre sí.

1–29

Manual de referencia del juego de instrucciones

           

 
   
         

  

 

4. Vuelva a poner la cubierta.


Nota Ahora la entrada I:0/0 funciona en modo de alta velocidad. La dirección del bit de
habilitación del contador de alta velocidad es C5:0/CU. Cuando las condiciones de
renglón son verdaderas, se establece C5:0/CU y se cuentan las transiciones que
ocurren en la entrada I:0/0.

Para comenzar el conteo de alta velocidad, cargue un valor preseleccionado en


C5:0.PRE y habilite el renglón de contador. Para contar un valor preseleccionado,
realice uno de los pasos siguientes:
• Cambie al modo de marcha REM o prueba REM de otro modo.
• Encienda el procesador en modo de marcha REM.
• Restablezca el HSC usando la instrucción RES.

La recarga automática ocurre cuando el HSC por sí mismo establece el bit DN a la


interrupción.

Cada transición de entrada que ocurre en entrada I:0/0 causa que el HSC acumulado
se incremente. Cuando el valor acumulado es igual que el valor preseleccionado, se
establece el bit de efectuado (C5:0/DN), el valor acumulado se pone a cero y el
valor preseleccionado (C5:0.PRE) se carga en el HSC como preparación para la
próxima transición de alta velocidad en la entrada I:0/0.

Su programa de escalera debe consultar el bit de efectuado (C5:0/DN) para


determinar el estado del HSC. Una vez que el bit de efectuado haya sido detectado
como establecido, el programa de escalera debe poner a cero el bit C5:0/DN (usando
la instrucción OTU de desenclavamiento) antes de que el HSC acumulado vuelva a
alcanzar el valor preseleccionado; en caso contrario, el bit de overflow (C5:0/OV) se
establecerá.

1–30
Instrucciones básicas

El HSC es diferente que los contadores CTU y CTD. El CTU y CTD son
contadores de software. El HSC es un contador de hardware y funciona
asincrónicamente al escán del programa de escalera. El valor acumulado HSC
(C5:0.ACC) normalmente se actualiza cada vez que el renglón HSC es evaluado en
el programa de escalera. Esto significa que el valor del acumulador de hardware
HSC se transfiere al acumulador de software HSC. Use solamente la instrucción
OTE para transferir este valor. La instrucción HSC pone a cero inmediatamente el
bit C5:0/UA a continuación de la actualización acumulada.

Muchos conteos HSC pueden ocurrir entre las evaluaciones HSC, los cuales
provocarían la inexactitud del bit C5:0.ACC cuando éste sea usado en un programa
de escalera. Para permitir un valor acumulado HSC exacto, el bit de acumulado de
actualización (C5:0/UA) causa que C5:0.ACC sea actualizado inmediatamente al
estado del acumulador de harware cuando se establece.

Use la instrucción RES para restablecer el contador de alta velocidad en dirección


C5:0. La instrucción HSC pone a cero el bit de estado, el acumulador y carga el
valor preseleccionado durante:
• el encendido
• entrada en el modo de marcha REM
• un restablecimiento

Elementos de datos del contador de alta velocidad

La dirección C5:0 es el elemento de 3 palabras del contador HSC.

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Pal. 0 CU CD DN OV UN UA No usado
Pal. 1 Valor preseleccionado
Pal. 2 Valor de acumulador

CU = Bit de habilitación de conteo progresivo


CD = Bit de habilitación de conteo regresivo
DN = Bit de efectuado
OV = Bit de overflow
UN = Bit de underflow
UA = Actualización de acumulador (HSC solamente)

1–31

Manual de referencia del juego de instrucciones

• La palabra 0 contiene los bits de estado siguientes de la instrucción HSC:

– El bit 10 (UA) actualiza la palabra de acumulador del HSC para reflejar el


estado inmediato del HSC cuando es verdadero.

– El bit 12 (OV) indica la ocurrencia de un overflow de HSC.

– El bit 13 (DN) indica si el valor preseleccionado de HSC ha sido alcanzado.

– El bit 15 (CU) muestra el estado de habilitación/inhabilitación de la


instrucción HSC.

• La palabra 1 contiene el valor preseleccionado que se carga en el HSC cuando


se ejecuta la instrucción RES, o cuando se establece el bit de efectuado o
cuando se efectúa el encendido inicial.
• La palabra 2 contiene el valor del acumulador HSC. Esta palabra es actualizada
cada vez que la instrucción HSC es evaluada y cuando el bit del acumulador de
actualización es establecido usando una instrucción OTE. Este acumulador es
de sólo lectura. Cualquier valor escrito en el acumulador resulta sobrescrito por
el contador de alta velocidad durante la evaluación de instrucción,
restablecimiento o introducción del modo de marcha REM.

Ejemplo de aplicación

En las figuras siguientes, cada uno de los renglones 1, 18 y 31 del archivo de


programa principal consiste en una instrucción XIC direccionada al bit de efectuado
HSC y una instrucción JSR. Estos renglones consultan el estado del bit de
efectuado HSC. Cuando el bit de efectuado es establecido a cualquiera de estos
puntos de encuesta, la ejecución del programa se mueve al archivo de subrutina 3,
ejecutando la lógica HSC. Después de la ejecución de la lógica HSC, el bit de
efectuado es puesto a cero por una instrucción de desenclavamiento y la ejecución
de programa retorna al archivo de programa principal.

1–32
Instrucciones básicas

Ejemplo de aplicación – Archivo 2 (consulta del bit DN en el programa principal)

JSR
C5:0
Rung 1 ] [ JUMP TO SUBROUTINE 3
DN
Rung 2 ] [ ] [ ] [ ( )

Rung 17 ] [ ] [ ] [ ( )
JSR
C5:0
Rung 18 ] [ JUMP TO SUBROUTINE 3
DN
Rung 19 ] [ ] [ ] [ ( )

Rung 30 ] [ ] [ ] [ ( )
JSR
C5:0
Rung 31 ] [ JUMP TO SUBROUTINE 3
DN

Rung 32 ] [ ] [ ] [ ( )

Ejemplo de aplicación – Archivo 3 (ejecución de lógica HSC)

Rung 0 ] [ ( )

  

Rung 1 ] [ ] [ ] [ ( ) 


C5:0
Rung 20 (U)   
DN
   

RET 
Rung 21 RETURN

1–33
 
Manual de referencia del juego de instrucciones

Restablecimiento (RES)
3 3 3 3 3 3

(RES) Use una instrucción RES para restablecer un temporizador o contador. Cuando se

!" #'  ! habilita la instrucción RES, restablece la instrucción de retardo del temporizador a la
conexión (TON), temporizador retentivo (RTO), conteo progresivo (CTU) o conteo
regresivo (CTD) con la misma dirección que la instrucción RES.


         
   
$   
T & " 
  #! # !" #'     " 
" 
$   
" 
"  "
"
" 
" 
" 
$   
" 
" "
" 
" 
" 
" 
" 

%  $  (" !"

Nota Si usa esta instrucción para restablecer el acumulador HSC del controlador
MicroLogix 1000, vea la página 7-21.

Cuando restablece un contador, si la instrucción RES está habilitada y el renglón de


contador está habilitado, se pone a cero el bit CU o CD.

Si el valor preseleccionado del contador es negativo, la instrucción RES establece el


valor acumulado a cero. Esto, a su vez, causa que el bit de efectuado sea establecido
por una instrucción de conteo regresivo o conteo progresivo.

Ya que la instrucción RES restablece el valor acumulado y los bits de


efectuado, temporización y habilitados, no use la instrucción RES para
restablecer una dirección de temporizador usada en una instrucción TOF. En
caso contrario, puede ocurrir la operación inesperada de la máquina o lesiones
al personal.

1–34
Instrucciones básicas

Instrucciones básicas del ejemplo de aplicación de la


perforadora de papel
Esta sección proporciona renglones de escalera para mostrar el uso de las
instrucciones básicas. Los renglones forman parte del ejemplo de aplicación de la
perforadora de papel descrito en el apéndice H. Usted añadirá el programa principal
en el archivo 2, además de añadir una subrutina al archivo 6.

Cómo añadir archivo 2

Los renglones ilustrados en la página siguiente son definidos como la lógica de


“arranque” del programa. Determinan las condiciones necesarias para arrancar la
máquina monitorizando los botones pulsadores de arranque y paro. Cuando se
presiona el botón pulsador de arranque, habilita al transportador a moverse e inicia
la rotación de la broca. Cuando se presiona el botón pulsador de paro, inhabilita el
movimiento del transportador y detiene el motor de la perforadora.

La lógica de arranque también verifica la retracción completa de la perforadora (a la


posición original) y el desgaste excesivo de la broca (determinado en otra parte del
programa) antes de permitir el movimiento del transportador.



   
  
 
 


1–35

Manual de referencia del juego de instrucciones

Renglón 2:0
Estos renglones iniciarán el movimiento del transportador cuando se presione el
botón pulsador. No obstante, hay otras condiciones que se deben cumplir antes de
iniciar el transportador. Estas son: la broca debe estar en su posición
completamente retraída (original) y la broca no debe sobrepasar su vida útil máxima.
Estos renglones también detendrán el transportador cuando se presione el botón
pulsador o cuando la vida útil de la broca haya sido excedida.
| Botón |Pos. BOTON Enclav. |
| ARRANQUE |orig. LS detención MARCHA |
| máquina |
| I:1.0 I:1.0 I:1.0 B3:0 |
|–+––––] [––––––––] [–––––+––––]/[–––––––––––––––––––––––––––––––––––––( )–––––|
| | 6 5 | 7 0 |
| | Enclav. | |
| | MARCHA | |
| | máquina | |
| | B3:0 | |
| +––––] [––––––––––––––––+ |
| 0 |
Renglón 2:1
| Enclav. Motor |
| MARCHA perf. ACTIV. |
| máquina |
| B3:0 O:3.0 |
|––––] [––––––––––––––––––––––––––––––––––––––––––––––––+––––––––––––( )–––––+–|
| 0 | 1 | |
| | Arranque/detención| |
| | transportador | |
| | | |
| | B3:0 O:3.0 | |
| +––[OSR]–––––(L)–––––+ |
| 1 0 |
Renglón 2:2
Detenga el transportador si existen condiciones que desenclaven el bit de
desenclavamiento de MARCHA de la máquina.
| Enclav. | Conveyor |
| MARCHA | Start/Stop |
| máquina | |
| B3:0 O:3.0 |
|––––]/[–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
| 0 0 |

1–36
Instrucciones básicas

Cómo añadir el archivo 6

Esta subrutina controla el movimiento ascendente y descendente de la broca para la


perforadora.


   

   
  





1–37

Manual de referencia del juego de instrucciones

Renglón 6:0
Esta sección de la lógica de escalera controla el movimiento ascendente/descendente
de la broca para la perforadora.
Cuando el transportador posiciona el libro debajo de la broca, se establece el bit
de INICIO DE LA SECUENCIA DE PERFORACION. Este renglón usa dicho bit para iniciar
la operación de perforación. Ya que el bit es establecido para la operación de
perforación completa, se requiere que el OSR pueda desactivar la señal de avance
para que la perforadora se retraiga.
| Inicio |Subr perf.| Avance |
| sec. | OSR | perforadora|
| perfor. | |
| B3:2 B3:3 O:3.0 |
|––––] [–––––––[OSR]–––––––––––––––––––––––––––––––––––––––––––––––––––(L)–––––|
| 0 0 3 |
Renglón 6:1
Cuando la broca haya perforado el libro, el cuerpo de la broca activará el final de
carrera de la PROFUNDIDAD DE PERFORACION. Al ocurrir esto, se desactiva la señal de
AVANCE DE LA PERFORADORA y se activa la señal de RETRACCION DE LA PERFORADORA.
| Prof. Avance |
| perforadora LS perforadora |
| I:1.0 O:3.0 |
|–+––––] [––––––––––––––––+–––––––––––––––––––––––––––––––––––––+––––(U)–––––+–|
| | 4 | | 3 | |
| | Primer |Posición | | Retracc. | |
| | paso |orig. LS | | perforadora|
| | S:1 I:1.0 | | O:3.0 | |
| +––––] [––––––––]/[–––––+ +––––(L)–––––+ |
| 15 5 2 |
Renglón 6:2
Cuando la broca se retrae (después de efectuar una perforación), el cuerpo de la
broca activará el final de carrera de POSICION ORIGINAL DE LA BROCA. Al ocurrir
esto, se desactiva la señal de RETRACCION DE LA BROCA, el bit de INICIO DE LA
SECUENCIA DE PERFORACION se activa para indicar el fin del proceso de perforación y
el transportador vuelve a iniciarse.
| Posición |Retracción Retracción |
| orig. LS |perforadora perforadora |
| I:1.0 O:3.0 O:3.0 |
|––––] [––––––––] [––––––––––––––––––––––––––––––––––+–––––––––––––––(U)–––––+–|
| 5 2 | 2 | |
| | Inicio | |
| | secuencia | |
| | perforadora| |
| | B3:2 | |
| +–––––––––––––––(U)–––––+ |
| | 0 | |
| | Enclav. |Arranque/ | |
| | MARCHA |detención | |
| | máquina |transport. | |
| | B3:0 O:3.0 | |
| +––––] [––––––––(L)–––––+ |
| 0 0 |

1–38
Instrucciones de comparación

2 Instrucciones de comparación
Este capítulo contiene información general acerca de instrucciones de comparación
y explica cómo funcionan en su programa de aplicación. Cada una de las
instrucciones de comparación incluye información acerca de:
• cómo debe aparecer el símbolo de instrucción
• cómo usar la instrucción

Además, la última sección contiene un ejemplo de aplicación para una perforadora


de papel que muestra el uso de instrucciones de comparación.

Instrucciones de comparación

Instrucción
Propósito Página
Mnemónico Nombre

EQU   


          2-3
NEQ    
                2-3

LES    


               2-4
LEQ    
                2-4
    
GRT    
          2Ć4
GEQ       
                2-5
 
MEQ    
          
   2-6
         
   
      
    
           
LIM 
 
             2-7
     

2–1

Manual de referencia del juego de instrucciones

Acerca de las instrucciones de comparación


Las instrucciones de comparación se usan para probar parejas de valores para
establecer condiciones de la continuidad lógica de un renglón. Como ejemplo,
digamos que una instrucción LES se presenta con dos valores. Si el primer valor es
menor que el segundo, la instrucción de comparación es verdadera.

Para aprender más acerca de las instrucciones de comparación, le recomendamos


que lea la sección Descripción general de las instrucciones de comparación, a
continuación.

Descripción general de las instrucciones de


comparación
La información general siguiente se aplica a las instrucciones de comparación.

Uso de direcciones de palabra indexadas

Al usar las instrucciones de comparación, tiene la opción de usar direcciones de


palabra indexadas para parámetros de instrucción especificando direcciones de
palabra. El direccionamiento indexado se trata en el apéndice F de este manual.

Uso de direcciones de palabra indirectas

Tiene la opción de usar direcciones indirectas a nivel de palabra y a nivel de bit para
instrucciones especificando direcciones de palabra cuando usa los procesadores SLC
5/03 OS302 y SLC 5/04 OS401. Vea el apéndice F para obtener más información.

2–2
Instrucciones de comparación

Igual (EQU)
3 3 3 3 3 3

EQU
EQUAL Use la instrucción EQU para probar si dos valores son iguales. Si la fuente A y la
Source A
fuente B son iguales, la instrucción es lógicamente verdadera. Si estos valores no
Source B
son iguales, la instrucción es lógicamente falsa.

    

La fuente A debe ser una dirección. La fuente B puede ser una constante de
programa o una dirección. Los enteros negativos se almacenan de forma
complementaria de dos.

No igual (NEQ)
3 3 3 3 3 3

NEQ
NOT EQUAL Use la instrucción NEQ para probar si dos valores no son iguales. Si la fuente A y
Source A
la fuente B no son iguales, la instrucción es lógicamente verdadera. Si los dos
Source B
valores son iguales, la instrucción es lógicamente falsa.

    

La fuente A debe ser una dirección. La fuente B puede ser un constante de
programa o una dirección. Los enteros negativos se almacenan de forma
complementaria de dos.

2–3

Manual de referencia del juego de instrucciones

Menor que (LES)


3 3 3 3 3 3

LES
LESS THAN Use la instrucción LES para probar si un valor (fuente A) es menor que otro (fuente
Source A
B). Si la fuente A es menor que el valor en la fuente B, la instrucción es
Source B
lógicamente verdadera. Si el valor en la fuente A es mayor o igual que el valor en la
fuente B, la instrucción es lógicamente falsa.

    


La fuente A debe ser una dirección. La fuente B puede ser una constante de
programa o una dirección. Los enteros negativos se almacenan de forma
complementaria de dos.

Menor o igual que (LEQ)


3 3 3 3 3 3

LEQ
LESS THAN OR EQUAL Use la instrucción LEQ para probar si un valor (fuente A) es menor o igual que otro
Source A
(fuente B). Si la fuente A es menor o igual que el valor en la fuente B, la
Source B
instrucción es lógicamente verdadera. Si el valor en la fuente A es mayor que el
valor en la fuente B, la instrucción es lógicamente falsa.

    


La fuente A debe ser una dirección. La fuente B puede ser una constante de
programa o una dirección. Los enteros negativos se almacenan de forma
complementaria de dos.

2–4
Instrucciones de comparación

Mayor que (GRT)


3 3 3 3 3 3

GRT
GREATER THAN Use la instrucción GRT para probar si un valor (fuente A) es mayor que otro (fuente
Source A
B). Si la fuente A es mayor que el valor en la fuente B, la instrucción es
Source B
lógicamente verdadera. Si el valor en la fuente A es menor o igual que el valor en la
fuente B, la instrucción es lógicamente falsa.

    


La fuente A debe ser una dirección. La fuente B puede ser un constante de


programa o una dirección. Los enteros negativos se almacenan de forma
complementaria de dos.

Mayor o igual que (GEQ)


3 3 3 3 3 3

GEQ
GRTR THAN OR EQUAL Use la instrucción GEQ para probar si un valor (fuente A) es mayor o igual que otro
Source A
(fuente B). Si la fuente A es mayor o igual que el valor en la fuente B, la
Source B
instrucción es lógicamente verdadera. Si el valor en la fuente A es menor que el
valor en la fuente B, la instrucción es lógicamente falsa.

    


La fuente A debe ser una dirección. La fuente B puede ser un constante de


programa o una dirección. Los enteros negativos se almacenan de forma
complementaria de dos.

2–5

Manual de referencia del juego de instrucciones

Comparación con máscara


para igual (MEQ) 3 3 3 3 3 3

MEQ
MASKED EQUAL Use la instrucción MEQ para comparar datos en una dirección de fuente contra
Source
datos en una dirección de comparación. El uso de esta instrucción permite que una
Mask
palabra separada enmascare porciones de datos.
Compare


    


Cómo introducir parámetros


• Fuente es la dirección del valor que desea comparar.
• Máscara es la dirección de la máscara mediante la cual la instrucción mueve
datos. La máscara puede ser un valor hexadecimal.
• Comparación es un valor de entero or la dirección de la referencia.

Si los 16 bits de datos en la dirección de fuente son iguales a los 16 bits de datos en
la dirección de comparación (menos los bits con máscara), la instrucción es
verdadera. La instrucción se hace falsa en el momento en que detecta una
desigualdad. Los bits en la palabra de máscara enmascaran los datos al
restablecerse; transmiten datos al establecerse.

2–6
Instrucciones de comparación

Prueba de límite (LIM)


3 3 3 3 3 3

LIM
LIMIT TEST Use la instrucción LIM para probar los valores dentro o fuera de un rango
Low Lim
especificado, según cómo usted haya establecido los límites.
Test

High Lim

    

Cómo introducir parámetros

Los valores de límite bajo, prueba y límite alto pueden ser direcciones de palabra o
constantes restringidos a las combinaciones siguientes:
• Si el parámetro de prueba es una constante de programa, los parámetros de
límite bajo y límite alto deben ser direcciones de palabra.
• Si el parámetro de prueba es una dirección de palabra, los parámetros de límite
bajo y límite alto pueden ser una constante de programa o una dirección de
palabra.

Estado verdadero/falso de la instrucción

Si el límite bajo tiene un valor igual o menor que el límite alto, la instrucción es
verdadera cuando el valor de prueba se encuentra entre los límites o cuando es igual
a cualquiera de los límites. Si el valor de prueba se encuentra fuera de los límites, la
instrucción es falsa, según se indica a continuación.

Falso Verdadero Falso


–32,768 + 32,767
Límite bajo Límite alto

              
              
 
                 
5    


2–7
Preface
Manual de referencia del juego de instrucciones

Si el límite bajo tiene un valor mayor que el límite alto, la instrucción es falsa
cuando el valor de prueba se encuentra entre los límites. Si el valor de prueba es
igual a cualquiera de los límites o se encuentra fuera de los límites, la instrucción es
verdadera, según se indica a continuación.

Verdadero Falso Verdadero


–32,768 + 32,767
Límite alto Límite bajo

Ejemplo - límite bajo mayor que el límite alto:


Límite Límite La instrucción es verdadera La instrucción es falsa
bajo alto cuando el valor de prueba es cuando el valor de prueba es
   
  


2–8
Instrucciones de comparación

Ejemplo de aplicación de instrucciones de comparación


en la perforadora de papel
Esta sección proporciona renglones de escalera para demostrar el uso de
instrucciones de comparación. Los renglones son parte del ejemplo de aplicación de
la perforadora de papel descrito en el apéndice H.

Cómo iniciar una subrutina en archivo 7

Esta sección de la escalera registra las pulgadas totales de papel que ha perforado la
broca actual. A medida que vaya desgastándose la broca actual, una luz se ilumina
en el panel de operador (abajo) para advertirle al operador que debe cambiar la
broca.

 

-+-  -)* 


#(" ))& ))( #(" ))& )/
 
#.'/# & !)+
))& #("  , -
)&
#$%( ,, $(  

 )& )&

 0,/$-#
  

2–9

Manual de referencia del juego de instrucciones

Renglón 7:0
Este renglón examina el número de milésimas de 1/4 pulg. que se han acumulado
durante la vida útil de la broca actual. Si la broca ha perforado entre
100,000–101,999 incrementos de 1/4 pulg. de papel, la bombilla de “cambiar la broca”
se ilumina constantemente. Cuando el valor es entre 102,000–103,999, la bombilla de
“cambiar la broca” parpadea cada 1.28 segundos. Cuando el valor alcanza 105,000, la
bombilla de “cambiar la broca” parpadea y la bombilla de “cambiar la broca ahora” se
ilumina.
| Milésimas 100,000 |
| de 1/4 pulg. incrementos |
| de 1/4 pulg. |
| han |
| ocurrido |
| +GEQ–––––––––––––––+ B3:1 |
|–––––––+–+GRTR THAN OR EQUAL+–––––––––––––––––––––––––––––––––––––––( )–––––+–|
| | |Source A N7:11| 0 | |
| | | 0| | |
| | |Source B 100| | |
| | | | | |
| | +––––––––––––––––––+ | |
| | Milésimas 102,000 | |
| | de 1/4 pulg. incrementos | |
| | de 1/4 pulg | |
| | han | |
| | ocurrido | |
| | +GEQ–––––––––––––––+ B3:1 | |
| +–+GRTR THAN OR EQUAL+–––––––––––––––––––––––––––––––––––––––( )–––––+ |
| | |Source A N7:11| 1 | |
| | | 0| | |
| | |Source B 102| | |
| | | | | |
| | +––––––––––––––––––+ | |
| | Milésimas cambiar la | |
| | de 1/4 pulg. broca | |
| | AHORA | |
| | +GEQ–––––––––––––––+ O:3.0 | |
| +–+GRTR THAN OR EQUAL+–––––––––––––––––––––––––––––––––––––––( )–––––+ |
| | |Source A N7:11| 6 | |
| | | 0| | |
| | |Source B 105| | |
| | | | | |
| | +––––––––––––––––––+ | |
| | 100,000 |102,000 cambiar | |
| | incrementos|incrementos la broca | |
| | de 1/4 pulg|de 1/4 pulg pronto | |
| | han |han | |
| | ocurrido |ocurrido | |
| | B3:1 B3:1 O:3.0 | |
| +–+–––––––––––––––––––––––] [––––––––]/[––––––––––––––––+––––( )–––––+ |
| | 0 1 | 4 |
| | 100,000 |102,000 |1.28 | |
| | incrementos|increm. |segundo | |
| | de 1/4 pulg|de 1/4 plg|bit de | |
| | han |han |reloj de | |
| | ocurridod |ocurrido |mar. libre | |
| | B3:1 B3:1 S:4 | |
| +–––––––––––––––––––––––] [––––––––] [––––––––] [–––––+ |
| 0 1 7 |

2–10
Instrucciones matemáticas

3 Instrucciones matemáticas
Este capítulo contiene información general acerca de instrucciones matemáticas y
explica cómo funcionan en su programa de lógica. Cada una de las instrucciones
matemáticas incluye información acerca de:
• cómo aparece el símbolo de instrucción
• cómo usar la instrucción

Además, la última sección contiene un ejemplo de aplicación para una perforadora


de papel que muestra el uso de las instrucciones matemáticas.

Instrucciones matemáticas

Instrucción
Propósito Page
Mnemónico Nombre
ADD Añadir Añade la fuente A a la fuente B y almacena el 3-6
resultado en el destino.
SUB Restar Resta la fuente B de la fuente A y almacena el 3-7
resultado en el destino.
MUL Multiplicar Multiplica la fuente A por la fuente B y almacena el 3-11
resultado en el destino.
DIV Dividir Divide la fuente A por la fuente B y almacena el 3-12
resultado en el destino y el registro matemático.
DDV División doble Divide el contenido del registro matemático por la 3-13
fuente y almacena el resultado en el destino y el
registro matemático.
CLR Borrar Pone todos los bits de una palabra a cero. 3-14
SQR Raíz cuadrada Calcula la raíz cuadrada de la fuente y coloca el 3-14
resultado de entero en el destino.
SCP Escalar con Produce un valor de salida escalado que tiene una 3-15
parámetros relación lineal entre los valores de entrada y escalaĆ
dos.
continúa en la página siguiente

3–1
$
Manual de referencia del juego de instrucciones

!%&$')!
$"#)%&" (!
! )!" " $
  Datos de escala Multiplica la fuente por una tasa especificada,  
añade a un valor offset y almacena el resultado en
el destino.

 Absoluto Calcula el valor absoluto de la fuente y coloca el  
resultado en el destino.
 Calcular Evalúa una expresión y almacena el resultado en el  
destino.
 Cambiar Cambia los bytes bajos y altos de un número espeĆ *
cificado de palabras en un archivo de bit, entero,
ASCII o cadena.

 Arco seno Acepta el arco seno de un número y almacena el *
resultado (en radianes) en el destino.

 Arco coseno Acepta el arco coseno de un número y almacena el  
resultado (en radianes) en el destino.

 Arco tangente Acepta el arco tangente de un número y almacena *
el resultado (en radianes) en el destino.
 Coseno Acepta el coseno de un número y almacena el reĆ *
sultado en el destino.
 Logaritmo natural Acepta el logoritmo natural del valor en la fuente y *
lo almacena en el destino.
 Logaritmo de base Acepta el logoritmo de la base 10 del valor en la  
10 fuente y almacena el resultado en el destino.
 Seno Acepta el seno de un número y almacena el resultaĆ  
do en el destino.

 Tangente Acepta la tangente de un número y almacena el  
resultado en el destino.
 X a la potencia de Y Eleva un valor a la potencia y almacena el resultado *
en el destino.

3–2
Instrucciones matemáticas

Acerca de las instrucciones matemáticas


La mayor parte de las instrucciones toman dos valores de entrada, realizan la
función matemática y colocan el resultado en un lugar de memoria asignado.

Por ejemplo, las instrucciones ADD y SUB toman un par de valores de entrada, los
añaden o los restan y colocan el resultado en el destino especificado. Si el resultado
de la operación excede el valor permitido, un bit de overflow o underflow se
establece.

Para aprender más acerca de las instrucciones matemáticas, le recomendamos que


lea la Descripción general de las instrucciones matemáticas que sigue.

Descripción general de las instrucciones matemáticas


La información general siguiente se aplica a las instrucciones matemáticas.

Cómo introducir parámetros


• La fuente es la(s) dirección(es) del(los) valor(es) en que se realiza una
operación matemática, lógica o de movimiento. Esto puede ser direcciones de
palabra o constantes de programa. Una instrucción que tiene dos operandos de
fuente no aceptan constantes de programa en ambos operandos.
• El destino es la dirección del resultado de la operación. Los enteros con signo
se almacenan de forma complementaria de dos y se aplican a los parámetros de
fuente y destino.
Al usar un procesador SLC 5/03 OS301, OS302 ó un procesador SLC 5/04
OS400, OS401, se pueden usar los valores del punto (coma) flotante y de
cadena (especificados al nivel de palabra). Refiérase al apéndice E para obtener
tipos adicionales de direccionamiento válido.

Uso de las direcciones de palabra indexadas

Tiene la opción de usar direcciones de palabra indexadas para parámetros de


instrucción especificando direcciones de palabra (excepto los procesadores fijos y
SLC 5/01). El direccionamiento indexado se trata en el apéndice F.

3–3
Manual de referencia del juego de instrucciones



Uso de las direcciones de palabra indirectas

Tiene la opción de usar direcciones indirectas a nivel de palabra y a nivel de bit para
instrucciones especificando direcciones de palabra cuando usa procesadores SLC
5/03 OS302 y SLC 5/04 OS401. Vea el apéndice C para obtener más información.

Actualizaciones de los bits de estado aritmético

Los bits de estado aritmético se encuentran en la palabra 0, bits 0–3 en el archivo de


estado del controlador. Después de la ejecución de una instrucción, los bits de
estado aritmético en el archivo de estado son actualizados:

       
se establece si el acarreo es generado; en caso contrario, se
S:0/0 Acarreo (C)
pone a cero.
indica que el resultado real de una instrucción matemática no
S:0/1 Overflow (V)
se puede colocar en el destino designado.
indica un valor 0 después de una instrucción matemática, de
S:0/2 Cero (Z)
movimiento o lógica.
indica un valor negativo (menor que 0) después de una
S:0/3 Signo (S)
instrucción matemática, de movimiento o lógica.

Bit de interrupción por overflow, S:5/0

El bit de error menor (S:5/0) se establece a la detección de un overflow matemático


o división entre 0. Si este bit se establece a la ejecución de una instrucción END o
una instrucción de fin temporal (TND) o una regeneración de E/S (REF), se
establece el código 0020 de error mayor recuperable.

En las aplicaciones donde ocurre un overflow matemático o una división entre 0,


puede evitar un fallo CPU usando la instrucción de desenclavamiento (OTU) con la
dirección S:5/0 en su programa. El renglón se debe encontrar entre el punto de
overflow y la instrucción END, TND o REF.

Cambios del registro matemático S:13 y S:14

La palabra de estado S:13 contiene la palabra de mínimo significado de los valores


de 32 bits de las instrucciones MUL y DDV. Contiene el resto para las instrucciones
DIV y DDV. También contiene los cuatro primeros dígitos BCD para las
instrucciones de conversión desde BCD (FRD) y conversión a BCD (TOD).

3–4
Instrucciones matemáticas

La palabra S:14 contiene la palabra de máximo significado para los valores de 32


bits de las instrucciones MUL y DDV. Contiene el cociente no redondeado para las
instrucciones DIV y DDV. También contiene el dígito más significativo (dígito 5)
para las instrucciones TOD y FRD.

Uso del archivo de datos de punto (coma) flotante (F8:)

Este tipo de archivo es válido para los procesadores SLC 5/03 OS301, OS302 y SLC
5/04 OS400, OS401. Estos son elementos de 2 palabras y direccionables solamente
al nivel de elemento.

Asigne las direcciones de punto (coma) flotante de esta manera:

Formato Explicación

F %)"  #(!'" "  "'!'

+ %"  %)"  !+ %" &  %)" #%'% !" ! !+ %"


Ff:e f  %)" !'% 

& #( (&% & & %$(%  ! !'"


"!

:  '"%   !'"

+ %"  ! (! %!"  

 &'"& &"!  !'"&  


e
 !'" #%& + %"&   '& !" *'!"&

Ejemplos:
F8:2  !'"  %)"  #(!'" "  "'!'
F10:36  !'"  %)"  #(!'" "  "'!'   %)"  &
&!" " " (! %)"  #(!'" "  "'!' #"%  (&(%"

3–5
Manual de referencia del juego de instrucciones
Preface

Añadir (ADD)
3 3 3 3 3 3

ADD
ADD Use la instrucción ADD para añadir un valor (fuente A) a otro valor (fuente B) y
Source A
coloque el resultado en el destino.
Source B

Dest

Instrucción de salida

Actualizaciones de bits de estado aritmético


Con este bit: El procesador:
se establece si el acarreo es generado; si no, se restablece (entero).
 ++") (C)
Se pone a cero para el punto (coma) flotante.
se establece si overflow es detectado en el destino; en caso contrario,
se restablece. Durante overflow, el indicador de error menor también se
establece. Para el punto (coma) flotante, el valor de overflow se coloca
en el destino. Para un entero, el valor -32,768 ó 32,767 se coloca en el
Overflow (V)
destino. Excepción: si está usando un procesador SLC 5/02, SLC 5/03
ó SLC 5/04 o un controlador MicroLogix 1000 y tiene S:2/14 (bit de
selección de overflow matemático) establecido, entonces el overflowe
sin signo o y truncado permanece en el destino.
Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.
Signo (S) se establece si el resultado negativo; en caso contrario, se restablece.

3–6
Instrucciones matemáticas

Restar (SUB)
3 3 3 3 3 3

SUB
SUBTRACT Use la instrucción SUB para restar un valor (fuente B) del otro (fuente A) y coloque
Source A
el resultado en el destino.
Source B

Dest

Instnrucción de salida

Actualizaciones de los bits de estado aritmético


    
  
se establece si el acarreo es generado; en caso contrario, se restablece
Acarreo (C)
(entero). Se pone a cero para el punto (coma) flotante.
se establece si es underflow; en caso contrario, se restablece. Durante
underflow, el indicador de error menor también se establece. Para el
punto (coma) flotante, el valor de overflow se coloca en el destino. Para
un entero, el valor -32,768 ó 32,767 se coloca en el destino.
Overflow (V)
Excepción: si está usando un procesador SLC 5/02, SLC 5/03 ó SLC
5/04 o un controlador MicroLogix 1000 y tiene S:2/14 (bit de selección
de overflow matemático) establecido, entonces el overflower sin signo y
truncado permanece en el destino.
Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.
Sign (S) se establece si el resultado negativo; en caso contrario, se restablece.

3–7

Manual de referencia del juego de instrucciones

Adición y sustracción de 32 bits


3 3 3 3

Tiene la opción de realizar adición y sustracción de entero con signo de 16 ó 32 bits.


Esto es facilitado por el bit de archivo de estado S:2/14 (bit de selección de overflow
matemático).

Bit de selección de overflow matemático S:2/14

Establezca este bit cuando desee usar la adición y sustracción de 32 bits. Cuando
S:2/14 está establecido y el resultado de una instrucción ADD, SUB, MUL, DIV o
NEG no se puede representar en la dirección de destino (debido al underflow u
overflow matemático):
• El bit de overflow S:0/1 se establece.
• El bit de interrupción por overflow S:5/0 se establece.
• La dirección de destino contiene los 16 bits menos significativos truncados y sin
signo del resultado.

Nota Para las instrucciones MUL, DIV, de entero y todas las instrucciones de punto
(coma) flotante con un destino de entero, el cambio de estado se realiza
inmediatamente una vez establecido S:2/14.

Cuando S:2/14 se restablece (condición predeterminada) y el resultado de una


instrucción ADD, SUB, MUL, DIV o NEG no se puede representar en la dirección
de destino (debio al underflow u overflow matemático):
• El bit de overflow S:0/1 se establece.
• El bit de interrupción por overflow S:5/0 se establece.
• La dirección de destino contiene 32767 si el resultado es positivo o –32768 si el
resultado es negativo.

Nota Además, los procesadores SLC 5/03 y SLC 5/04 validan el estado de bit S:2/14
solamente al final de un escán para instrucciones ADD, SUB y NEG.

Anote que el estado de bit S:2/14 no afecta la instrucción DDV. Tampoco afecta el
contenido del registro matemático cuando usa las instrucciones MUL y DIV.
Nota Los procesadores SLC 5/03 y SLC 5/04 solamente interrogan este bit al pasar al
modo de marcha y final de escán. Use la función de monitorización de datos para
efectuar esta selección antes de introducir el modo de marcha.

3–8
Instrucciones matemáticas

Ejemplo de adición de 32 bits

El ejemplo siguiente muestra cómo se añade un entero signado de 16 bits a un


entero signado de 32 bits. Recuerde que S:2/14 debe estar establecido para la
adición de 32 bits.

Anote que el valor de los 16 bits más significativos (B3:3) del número de 32 bits se
incrementa en 1 si el bit de acarreo S:0/0 está estabelcido y se disminuye en 1 si el
número añadido (B3:1) es negativo.

Para evitar la ocurrencia de un error mayor al final del escán, debe desenclavar el bit
de interrupción por overflow S:5/0 según se muestra.

3–9
Preface
Manual de referencia del juego de instrucciones

Añadir el valor de 16 bits B3:1 al valor de 32 bits B3:3 B3:2


Operación de adición Binario Hex Decimal À
Addend B3:3 B3:2 0000 0000 0000 0011 0001 1001 0100 0000 0003 1940 203,072
Addend B3:1 0101 0101 1010 1000 55A8 21,928
Sum B3:3 B3:2 0000 0000 0000 0011 0110 1110 1110 1000 0003 6EE8 225,000

À
El dispositivo de programación muestra valores decimales de 16 bits solamente. El valor decimal de un entero de 32 bits se
deriva del valor binario o hex mostrado. Por ejemplo, 0003 1940 hex es 164x3 + 163x1 + 162x9 + 161x4 + 160x0 = 203,072.

B3 B3 ADD ,&' $ )& $3& * !


] [ [OSR] ADD
Source A B3:1 -))' () ,& *'$'
0 1
0101010110101000 escán, B3:1 es añadido a
Source B B3:2 B3:2. El resultado se
0001100101000000 coloca en B3:2.
Dest B3:2
0001100101000000

S:0 ADD Si un acarreo es generado


] [ ADD
Source A 1 (S:0/0 establecido), 1 es
0 añadido a B3:3.
Source B B3:3
0000000000000011
Dest B3:3
0000000000000011

B3 SUB Si B3:1 es negativo


] [ SUBTRACT
Source A B3:3 (B3/31 establecido), 1 es
31 restado de B3:3.
0000000000000011
Source B 1

Dest B3:3
0000000000000011

S:5 El bit de TRAP de overflow


(U) S:5/0 se desenclava para
0 evitar la ocurrencia de un
END error mayor al final del
escán.

Nota de aplicación: Puede usar el renglón de arriba con una instrucción DDV y un
contador para calcular el valor promedio de B3:1.

3–10
Instrucciones matemáticas

Multiplicar (MUL)
3 3 3 3 3 3

MUL
MULTIPLY Use la instrucción MUL para multiplicar un valor (fuente A) por el otro (fuente B) y
Source A
coloque el resultado en el destino.
Source B

Dest

Instrucción de salida

Actualizaciones de los bits de estado aritmético


    
  
Acarreo (C) siempre se restablece.
se establece si el overflow se detecta en el destino; en caso contrario,
se restablece. Durante el overflow, el indicador de error menor también
se establece. El valor -32,768 ó 32,767 se coloca en el destino.
Excepción: si usa un procesador SLC 5/02, SLC 5/03 ó SLC 5/04 ó un
Overflow (V)
controlador MicroLogix 1000 y tiene S:2/14 (bit de selección de overflow
matemático) establecido, el overflow sin signo y truncado permanece en
el destino. Para los destinos de punto (coma) flotante, el resultado de
overflow permanece en el destino.
Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.
se establece si el resultado es negativo; en caso contrario, se
Signo (S)
restablece.

Cambios del registro matemático, S:13 y S:14

Entero – Contiene el resultado con signo de 32 bits de la operación de


multiplicación. Este resultado es válido durante el overflow.

Punto (coma) flotante – El registro matemático no se cambia.

3–11
Manual de referencia del juego de instrucciones
Preface

Dividir (DIV)
3 3 3 3 3 3

DIV
DIVIDE Use la instrucción DI:V para dividir un valor (fuente A) entre otro (fuente B). El
Source A
cociente redondeado se coloca a su vez en el destino. Si el residuo es 0.5 ó mayor,
Source B
el redondear toma lugar en el destino. El cociente no redondeado se almacena en la
Dest
palabra más significativa del registro matemático. El resto se coloca en la palabra
menos significativa del registro matemático.
Instrucción de entrada

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
 ++") (C) siempre se restablece.
se establece si la división entre cero u overflow se detecta en el destino;
en caso contrario, se restablece. Durante el overflow, el indicador de
error menor también se establece. El valor 32,767 se coloca en el
destino. Excepción: si usa un procesador SLC 5/02, SLC 5/03 ó SLC
Overflow (V)
5/04 ó un controlador MicroLogix 1000 y tiene S:2/14 (bit de selección
de overflow matemático) establecido, el overflow sin signo y truncado
permanece en el destino. Para los destinos de punto (coma) flotante, el
resultado de overflow permanece en el destino.
se establece si el resultado es cero; si no, se restablece; no definido si
Cero (Z)
overflow está establecido.
se establece si el resultado es negativo; si no, se restablece; no definido
Signo (S)
si el overflow está establecido.

Cambios del registro matemático, S:13 y S:14

Entero – El cociente no redondeado se coloca en la palabra más significante y el


residuo se coloca en la palabra menos significativa.

Punto (coma) flotante – El registro matemático no se cambia.

Ejemplo
El residuo de 11/2 es 0.5, por lo tanto, el cociente se redondea a 6 y se almacena en
el destino. El cociente no redondeado, lo cual es 5, se almacena en S:14 y el
residuo, lo cual es 1, se almacena en S:13.
DIV
DIVIDE dónde: N7:0 = 11
Source A N7:0 N7:1 = 2
11
Source B N7:1 N7:2 = 6
2
Dest N7:2 resultado: S:14 = 5
6 S:13 = 1

3–12
Instrucciones matemáticas

División doble (DDV)


3 3 3 3 3 3
DDV
DOUBLE DIVIDE El contenido de 32 bits del registro matemático se divide entre el valor de fuente de
Source
16 bits y el cociente redondeado se coloca en el destino. Si el residuo es 0.5 ó
Dest
mayor, se redondea el destino.
Instrucción de salida
Típicamente esta instrucción sigue una instrucción MUL que crea un resultado de
32 bits.

Actualizaciones de los bits de estado aritmético


    
  
Acarreo (C) siempre se restablece.
se establece si es división en cero o si el resultado es mayor de 32,767
ó menor de -32,768; en caso contrario, se restablece. Durante el
Overflow (V)
overflow, también se establece el indicador de error menor. El valor
32,767 se coloca en el destino.
Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.
se establece si el resultado es negativo; en caso contrario, se
Signo (S)
restablece; no definido si el overflow está establecido.

Cambios del registro matemático, S:13 y S:14

Inicialmente contiene el dividendo de la operación DDV. A la ejecución de


instrucción, el cociente no redondeado se coloca en la palabra más significativa del
registro matemático. El residuo se coloca en la palabra menos significativa del
registro matemático.

3–13
Manual de referencia del juego de instrucciones
Preface

Borrar (CLR)
3 3 3 3 3 3

CLR
CLEAR Use la instrucción CLR para poner a cero el valor de destino de una palabra.
Dest

!   

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
      
      

 
    

Raíz cuadrada (SQR)


3 3 3 3
SQR
SQUARE ROOT Cuando esta instrucción es evaluada como verdadera, la raíz cuadrada del valor
Source
absoluto de la fuente es calculada y el resultado redondeado se coloca en el destino.
Dest

La instrucción calcula la raíz cuadrada de un número negativo sin overflow ni fallos.


!   
En las aplicaciones donde el valor de fuente puede ser negativo, use una instrucción
de comparación para evaluar el valor de fuente para determinar si el destino puede
ser inválido.

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
         

      
         
  
 

 
    

3–14
Instrucciones matemáticas

Cómo escalar con parámetros (SCP)


3 3

SCP
SCALE W/PARAMETERS Use la instrucción SCP para producir un valor de salida escalado que tiene una
Input relación lineal entre los valores de entrada y escalados. Esta instrucción tiene
Input Min.
Input Max. capacidad para valores de entero y punto (coma) flotante.
Scaled Min.
Scaled Max.
Scaled Output
Use la fórmula siguiente para convertir los datos de entrada analógicos en unidades
de ingeniería:

   

y = mx + b

Donde:
y = salida escalada
m = pendiente (escala máx. – escala mín.) / (entrada máx. – entrada mín.)
x = valor de entrada
b = offset (intersección y) = escala mín. – (entrada min. × inclinación)
Nota La entrada mínima, entrada máxima, escala mínima y escala máxima se usan para
determinar los valores de inclinación y offset. El valor de entrada puede salir de
los límites de entrada especificados sin requerir la puesta en orden. Por ejemplo, el
valor de salida con escala no se encontrará necesariamente fijado entre los valores
mínimos y máximos escalados.

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• El valor de entrada puede ser una dirección de palabra o una dirección de
elementos de datos de punto (coma) flotante.
• Los valores mínimos y máximos de entrada determinan el rango de datos que
aparece en el parámetro de valor de entrada. El valor puede ser una dirección
de palabra, una constante de entero, elemento de datos de punto (coma) flotante
o una constante de punto (coma) flotante.
• Los valores mínimos y máximos escalados determinan el rango de datos que
aparece en el parámetro de salida con escala. El valor puede ser una dirección
de palabra, una constante de entero, elemento de datos de punto (coma) flotante
o una constante de punto (coma) flotante.
• El valor de salida escalado puede ser una dirección de palabra o una dirección
de elementos de punto (coma) flotante.

3–15
Manual de referencia del juego de instrucciones
Preface

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
 

       
                   
               
  
 

Ejemplos de aplicación

Ejemplo 1

En el primer ejemplo, un módulo de combinación de E/S analógica (1746-NIO4I) se


encuentra en la ranura 1 del chasis. Un transductor de presión está conectado a la
entrada 0 y deseamos leer el valor en unidades de ingeniería. El transductor de
presión mide presiones de 0–1000 lbs/pul2 y proporciona una señal de 0–10 V al
módulo analógico. Para una señal de 0–10 V, el módulo analógico proporciona un
rango entre 0–32,767. El renglón de programa siguiente colocará un número entre
0–1000 en N7:20 basado en la señal de entrada proveniente del transductor de
presión en el módulo analógico.
Renglón 2:0
| +SCP––––––––––––––––––––+ |
|––––––––––––––––––––––––––––––––––––––––––––––––––––+SCALE W/PARAMETERS +–|
| |Input I:1.0| |
| | 0| |
| |Input Min. 0| |
| | | |
| |Input Max. 32767| |
| | | |
| |Scaled Min. 0| |
| | | |
| |Scaled Max. 1000| |
| | | |
| |Scaled Output N7:20| |
| | 0| |
| +–––––––––––––––––––––––+ |

3–16
Instrucciones matemáticas

Ejemplo 2

En el segundo ejemplo, un módulo de combinación de E/S analógica (1764-NIO4I)


se encuentra en ranura 1 del chasis. Deseamos controlar la válvula proporcional
conectada a la salida 0. La válvula requiere una señal de 4–20 mA para controlar el
tamaño de su abertura (0–100%). (Suponga que hay presente lógica adicional en el
programa que calcula el tamaño de abertura de la válvula en porcentaje y coloca un
número entre 0–100 en N7:21.) El módulo analógico proporciona una señal de
salida de 4–20 mA para un número entre 6242–31,208. El renglón de programa
siguiente conducirá una salida analógica para proporcionar una señal de 4–20 mA a
la válvula proporcional (N7:21) basado en un número entre 0–100.
Renglón 2:1
| +SCP––––––––––––––––––––+ |
|––––––––––––––––––––––––––––––––––––––––––––––––––––+SCALE W/PARAMETERS +–|
| |Input N7:21| |
| | 0| |
| |Input Min. 0| |
| | | |
| |Input Max. 100| |
| | | |
| |Scaled Min. 6242| |
| | | |
| |Scaled Max. 31208| |
| | | |
| |Scaled Output O:1.0| |
| | 0| |
| +–––––––––––––––––––––––+ |

3–17

Manual de referencia del juego de instrucciones

Escala de datos (SCL)


3 3 3 3

SCL
SCALE Cuando esta instrucción es verdadera, el valor en la dirección de fuente se multiplica
Source
por el valor del régimen. El resultado redondeado se añade al valor de offset y se
Rate [/10000]
coloca en el destino.
Offset

Dest

    

Ejemplo

SCL
SCALE
Source N7:0
100

    
Rate [/10000] 25000
      
Offset 127      
    
Dest N7:1
377

Nota Cuando ocurre un underflow u overflow en el archivo de destino, el bit de error


menor S:5/0 debe estar restablecido por el programa. Esto debe ocurrir antes del
final del escán actual para evitar que el código de error mayor 0020 sea instruido.
Esta instrucción puede provocar un overflow antes de la adición del offset.

Anote que a veces el término régimen significa pendiente. La función de régimen se


limita al rango –3.2768 a 3.2767. Por ejemplo, –32768/10000 a +32767/10000.

Cómo introducir parámetros

El valor para los parámetros siguientes es entre –32,768 a 32,767.


• La fuente es una dirección de palabra.
• El régimen (o pendiente) es el valor positivo o negativo que usted introduce
dividido entre 10,000. Puede ser una constante de programa o una dirección de
palabra.
• El offset puede ser una constante de programa o una dirección de palabra.

3–18
Instrucciones matemáticas

Actualizaciones de los bits de estado aritmético


  
     
))& (C) * )*)-&
* *+# *" ,% &-) #&. * ++ % *& &%+))"& * )*+#
,)%+ ,% &-) #&. # "+  ))&) $%&)   +$"2% * *+# 0
-) #&.  # -#&) 
  4
  * &#& % # *+"%&  ')*%"  ,%
&-) #&. * -)" " %+* 0 *',2*  # '#""4% # -#&) 
& *+
À
)&  * *+# ,%& # -#&)  *+"%& * )&
* *+# *" # -#&)  *+"%& * %!+"-& % *& &%+))"& *
"!%& 
)*+#

À " # )*,#+&  # ,%+ $,#+"'#"& '&) # )2!"$% "-""& %+)  * $0&) (,
  # "%*+),"4% 
')&-& ,% &-) #&. 0 ,* ,% ))&)   "+  ))&) $%&) 0 &#&
  % # *+"%& *+& &,))
"%'%"%+$%+ # & *+ +,#

Ejemplo de aplicación 1 – Conversión de una señal de entrada analógica de 4 mA–20 mA


en una variable de proceso PID

 


*# $1/

   
 


*# $3%

   

%+) $3% %+) $1/
   

3–19
 
Manual de referencia del juego de instrucciones

Cómo calcular la relación lineal

Use las ecuaciones siguientes para expresar las relaciones lineales entre el valor de
entrada y el valor con escala resultante:



  = (valor de entrada x régimen) + offset

Régimen = (escala máx. - escala mín.) / (entrada máx. - entrada mín.)

(16,383 − 0) / (16,384 - 3277) = 1.249 (ó 12,490/10000)

Offset = escala mín. - (entrada mín. x régimen)

0 - (3277 × 1.249) = -4093

Ejemplo de aplicación 2 – Cómo escalar una entrada analógica para controlar una salida
analógica

32,764 10V
(Escala máx.)



 


0 0V
(Escala mín.)
3,277 4 mA 16,384 20 mA
(Entrada mín.) (Entrada máx.)


  

3–20
Instrucciones matemáticas

Cómo calcular la relación lineal

Use las ecuaciones siguientes para calcular las unidades con escala:

    = (valor de entrada x régimen) + offset

Régimen = (escala máx. - escala mín.) / (entrada máx. - entrada mín.)

(32,764 - 0) / (16,384 - 3277) = 2.4997 (ó 24,997/10000)

Offset = escala mín. - (entrada mín. x régimen)

0 − (3277 × 2.4997) = - 8192

Los valores de offset y régimen anteriores son correctos para la instrucción SCL.
No obstante, si la entrada excede 13,107, la instrucción provoca un overflow. Por
ejemplo:

17mA = 13,926 × 2.4997 = 34,810 (overflow real))

34,810 - 8192 = 26,618

Observe que ocurrió un overflow aunque el valor final era correcto. Esto ocurrió
porque se generó una condición de overflow durante el cálculo de régimen.

Para evitar un overflow, recomendamos desplazar la relación lineal a lo largo del eje
del valor de entrada y reducir los valores.

El diagrama siguiente muestra la relación lineal desplazada. El valor de entrada


mínima de 3,277 se resta del valor de entrada máximo de 16,384, lo que resulta en el
valor de 13,107.

3–21
 
Manual de referencia del juego de instrucciones

32,764 10V
(Escala máx.)



 


0 0V
(Escala mín.)
0 4 mA 13,107 20 mA
(Entrada mín. desplazada) (Entrada máx. desplazada)

  

Cómo calcular la relación lineal desplazada

Use las ecuaciones siguientes para calcular las unidades escaladas:



  = (valor de entrada x régimen) + offset

Régimen = (escala máx. - escala mín.) / (entrada máx. - entrada mín.)

(32,764 − 0) / (13,107 − 0) = 2.4997 (ó 24,997/10000)

Offset = escala mín. - (entrada mín. x régimen)

0 - (0 × 2.4997) = 0

3–22
Instrucciones matemáticas

En este ejemplo, la instrucción SCL se introduce en el programa de lógica de


escalera tal como sigue:


   
 
SUB
SUBTRACT     

Source A I:1.0
Source B 3277
Dest N7:0

    
     
SCL
SCALE
Source N7:0
Rate [/10000] 24997
Offset 0
Dest O:2.0 
   


3–23
Manual de referencia del juego de instrucciones
Preface

Absoluto (ABS)
3 3

ABS
ABSOLUTE VALUE Use la instrucción ABS para calcular el valor absoluto de la fuente y colocar el
Source
resultado en el destino. Esta instrucción tiene capacidad para los valores de entero y
Dest
punto (coma) flotante. Use esta instrucción con procesadores SLC 5/03 OS302 y
!" #&  !
SLC 5/04 OS401.

Cómo introducir los parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• La fuente puede ser una dirección de palabra, una constante de entero,
elemento de datos de punto (coma) flotante o una constante de punto (coma)
flotante.
• El destino sólo puede ser una dirección de palabra o un elemento de datos de
punto (coma) flotante.

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
    !  ! !"
!  ! !"  # $  #"  "" !
$ % 
!" !  "  !  
$  " 
! !" #  $  !" !    ! "   !
  
!"
  !  ! !"

3–24
Instrucciones matemáticas

Calcular (CPT)
3 3

CPT
COMPUTE La instrucción CPT efectúa operaciones de copiar, aritméticas, lógicas y conversión.
Dest
Usted define la operación en la expresión y el resultado se escribe en el destino. El
Expression
CPT usa funciones para operar en uno o más valores en la expresion para efectuar
Instnrucción de salida
operaciones tales como:
• convertir de un formato de número a otro
• manejar los números
• efectuar funciones trigonométricas

Use esta instrucción con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.

Las instrucciones que se pueden usar en la expresión incluyen:


+, –, *, | (DIV), SQR, – (NEG), NOT, XOR, OR, AND, TOD, FRD, LN,
TAN, ABS, DEG, RAD, SIN, COS, ATN, ASN, ACS, LOG y ** (XPY).
Nota El tiempo de ejecución de una instrucción CPT es mayor que el de una sola
operación aritmética y usa más palabras de instrucción.

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• El destino puede ser una dirección de palabra o la dirección de un elemento de
datos de punto (coma) flotante.
• La expresión es cero o más líneas, con hasta 28 caracters por línea, hasta 255
caracteres.

Actualizaciones de los bits de estado aritmético


    
  
Acarreo (C) se establece según el resultado de la última instrucción en la expresión.
se establece cuando un overflow ocurre durante la evaluación de la
Overflow (V)
expresión.
Cero (Z) se establece según el resultado de la última instrucción en la expresión.
Signo (S) se establece según el resultado de la última instrucción en la expresión.

Los bits anteriores son puestos a cero al inicio de la instrucción CPT. Vea S:34/2
para información acerca del manejo especial de los bits de estado aritmético al usar
un punto (coma) flotante.

3–25

Manual de referencia del juego de instrucciones

Ejemplo de aplicación
Este ejemplo de aplicación usa el teorema de Pitágoras para calcular la longitud de
la hipotenusa de un triángulo cuando se conocen los dos catetos. Use la ecuación
siguiente:
c2 = a2 + b2
donde c = Ǹ (a2 + b2)
N10:0 = Ǹ (N7:1)2 + (N7:2)2
El renglón 2:0 usa instrucciones matemáticas estándar para implementar el teorema de
Pitágoras. El renglón 2:1 usa la instrucción CPT para obtener el mismo resultado.
Renglón 2:0
| +XPY–––––––––––––––+ |
|–––––––––––––––––––––––––––––––––––––––––––––––––––––+–+X TO POWER OF Y +–+–|
| | |Source A N7:1| | |
| | | 3| | |
| | |Source B 2| | |
| | | | | |
| | |Dest N7:3| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | +XPY–––––––––––––––+ | |
| +–+X TO POWER OF Y +–+ |
| | |Source A N7:2| | |
| | | 4| | |
| | |Source B 2| | |
| | | | | |
| | |Dest N7:4| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | +ADD–––––––––––––––+ | |
| +–+ADD +–+ |
| | |Source A N7:3| | |
| | | 0| | |
| | |Source B N7:4| | |
| | | 0| | |
| | |Dest N7:5| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | +SQR–––––––––––––––+ | |
| +–+SQUARE ROOT +–+ |
| |Source N7:5| |
| | 0| |
| |Dest N7:0| |
| | 0| |
| +––––––––––––––––––+ |
Renglón 2:1
| +CPT––––––––––––––––––––––––+ |
|––––––––––––––––––––––––––––––––––––––––––––––––+COMPUTE +–|
| |Dest N10:0| |
| | 0| |
| |Expression | |
| |SQR ((N7:1 ** 2) + (N7:2 **| |
| |2)) | |
| +–––––––––––––––––––––––––––+ |
Renglón2:2
| |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
| |

3–26
Instrucciones matemáticas

Intercambio (SWP)
3 3

SWP
SWAP Use esta instrucción para intercambiar los bytes bajos y altos de un número de
Source
Length palabras especificado en un archivo de bit, entero, ASCII o cadena. Use esta
instrucción con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.

  


Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• La fuente sólo puede ser una dirección de palabra indexada.
• La longitud es una referencia al número de palabras que van a intercambiarse,
pese al tipo de archivo. La dirección se limita a constantes de entero. Para los
archivos de tipo bit, entero y ASCII, el rango de longitud es de 1 a 128. Para el
archivo de tipo cadena, el rango de longitud es de 1 a 41. Anote que esta
instrucción se restringe a un solo elemento de cadena y no puede cruzar un
límite de elemento de cadena.

El ejemplo siguiente muestra cómo funciona la instrucción SWP..


SWP
SWAP

Source #ST10:1.1
Length 13

Antes:
ST10:1 = abcdefghijklmnopqrstuvwxyz

Después:
ST10:1 = badcfehgjilknmporqtsvuxwzy

3–27
Manual de referencia del juego de instrucciones
Preface

Arco seno (ASN)


3 3

ASN
ARC SINE Use la instrucción ASN para tomar el arco seno de un número (fuente en radianes) y
Source
almacenar el resultado (en radianes) en el destino. La fuente debe ser mayor o igual
Dest
que –1 y menor o igual que 1. El valor resultante en el destino siempre es mayor o
    
igual que –π/2 y menor o igual que π/2 donde π = 3.141592. Use esta instrucción
con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
  
      
                   
               

 

 

3–28
Instrucciones matemáticas

Arco coseno (ACS)


3 3

ACS
ARC COSINE Use la instrucción ACS para tomar el arco seno de un número (fuente en radianes) y
Source
almacenar el resultado (en radianes) en el destino. La fuente debe ser mayor o igual
Dest
que –1 y menor o igual que 1. El valor resultante en el destino siempre es mayor o
    
igual que 0 y menor o igual que π , donde π = 3.141592. Use esta instrucción con
los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.

Actualizaciones de los bits de estado aritmético


    
  
      
                  
  
         
                   

 
    

Arco tangente (ATN)


3 3

ATN
ARC TANGENT Use la para tomar el arco tangente de un número (fuente) y almacenar el resultado
Source
(en radianes) en el destino. El valor resultante en el destino siempre es mayor o
Dest
igual que –π /2 y menor o igual que π/2, donde π = 3.141592. Use esta instrucción
    
con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.

Actualizaciones de los bits de estado aritmético


    
  
      
                  
  
         
                   
               

 

 

3–29
Manual de referencia del juego de instrucciones
Preface

Coseno (COS)
3 3

COS
COSINE Use la instrucción COS para tomar el coseno de un número (fuente en radianes) y
Source
almacenar el resultado (en radianes) en el destino. La fuente debe ser mayor o igual
Dest
que –205887.4 y menor o igual que 205887.4. La óptima exactitud se obtiene
    
cuando la fuentes es mayor que –2 π y menor que 2 π, donde π = 3.141592. El
valor resultante en el destino siempre es mayor o igual que –1 y menor o igual que
1. Use esta instrucción con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
  
         
                   

 
    

Logaritmo natural (LN)


3 3

LN
NATURAL LOG Use la instrucción LN para tomar el logaritmo natural del valor en la fuente y
Source
almacenar el resultado en el destino. La fuente debe ser mayor que cero. El valor
Dest
resultante en el destino siempre es mayor que o igual que –87.33654 y menor o
    
igual que 88.72284. Use esta instrucción con los procesadores SLC 5/03 OS302 y
SLC 5/04 OS401.

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
  
         
                   

 
    

3–30
Instrucciones matemáticas

Logaritmo a la base 10 (LOG)


3 3

LOG
LOG BASE 10 Use la instrucción LOG para tomar el logaritmo de base 10 del valor en la fuente y
Source
almacenar el resultado en el destino. La fuente debe ser mayor que cero. El valor
Dest
resultante en el destino siempre es mayor o igual que –37.92978 y menor o igual
    
que 38.53184. Use esta instrucción con los procesadores SLC 5/03 OS302 y SLC
5/04 OS401.

Actualizaciones de los bits de estado aritmético


    
  
      
                  
  
         
                   

 
    

Seno (SIN)
3 3

SIN
SINE Use la instrucción SIN para tomar el seno de un número (fuente en radianes) y
Source
almacenar el resultado en el destino. La fuente debe ser mayor o igual que
Dest
–205887.4 y menor o igual que 205887.4. La óptima exactitud se obtiene cuando la
    
fuente es mayor que –2 π y menor que 2 π, donde π = 3.141592. El valor resultante
en el destino siempre es mayor que o igual que –1 y menor o igual que 1. Use esta
instrucción con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401..

Actualizaciones de los bits de estado aritmético


    
  
      
                  
  
         
                   

 
    

3–31
Manual de referencia del juego de instrucciones
Preface

Tangente (TAN)
3 3

TAN
TANGENT Use la instrucción TAN para tomar la tangente de un número (fuente en radianes) y
Source
almacenar el resultado en el destino. El valor de la fuente debe ser mayor o igual
Dest
que –102943.7 y menor o igual que 102943.7. La óptima exactitud se obtiene
    
cuando la fuente es mayor que –2 π y menor que 2 π, donde π = 3.141592. El valor
resultante en el destino es un número real o infinito. Use esta instrucción con los
procesadores SLC 5/03 OS302 y SLC 5/04 OS401..

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
  
         
                   

 
    

3–32
Instrucciones matemáticas

X a la potencia de Y (XPY)
3 3

XPY
X TO POWER OF Y Use la instrucción XPY para elevar un valor (fuente A) a una potencia (fuente B) y
Source A
almacenar el resultado en el destino. Si el valor en la fuente A es negativo, la
Source B
exponente (fuente B) debe ser un número entero. Si no es un número entero, el bit
Dest
de overflow se establece y el valor absoluto de la base se usa en el cálculo. Use esta
    
instrucción con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.

La instrucción XPY usa el algoritmo siguiente:


XPY = 2 ** (Y * log2 (X))

Si cualquiera de las operaciones intermedias en este algoritmo provoca un overflow,


se establece el bit de estado de overflow aritmético (S:01/).

Actualizaciones de los bits de estado aritmético


    
  
      
                  
  
         
                   

 
    

3–33

Manual de referencia del juego de instrucciones

Instrucciones matemáticas en el ejemplo de aplicación


de la perforadora de papel
Esta sección proporciona renglones de escalera para demostrar el uso de
instrucciones matemáticas. Los renglones son parte del ejemplo de aplicación de la
perforadora de papel descrito en el apéndice H. Usted va a añadir a la subrutina en
archivo 7 que se comenzó en el capítulo 2.

3–34
Instrucciones matemáticas

Cómo añadir el archivo 7


Renglón 7:1
Este renglón restablece el número de incrementos de 1/4 pulg. y las milésimas de 1/4
pulg. cuando se activa el interruptor de llave de “restablecimiento de cambio de la
broca”. Esto debe ocurrir a continuación de cada cambio de la broca.
| interruptor Milésimas |
| de llave de 1/4 pulg. |
| de restablecimiento |
| de cambio de broca |
| I:1.0 +CLR–––––––––––––––+ |
|––––] [––––––––––––––––––––––––––––––––––––––––––––––+–+CLEAR +–+–|
| 8 | |Dest N7:11| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | incrementos | |
| | de 1/4 pulg. | |
| | | |
| | +CLR–––––––––––––––+ | |
| +–+CLEAR +–+ |
| |Dest N7:10| |
| | 0| |
| +––––––––––––––––––+ |
Renglón 7:6
Mantenga un total actualizado de cuántas pulgadas de papel han sido perforadas con
la broca actual. Cada vez que se perfora un orificio, añada el espesor (en 1/4
pulg.) al total actualizado (registrado en 1/4 pulg.) El OSR es necesario porque el
ADD se ejecuta cada vez que el renglón es verdadero y el cuerpo de la perforadora
activaría el interruptor de límite de PROFUNDIDAD DE BROCA durante más de un escán
de programa. El entero N7:12 es el valor convertido por entero del interruptor
preselector rotatorio en las entradas I:3/11 – I:3/14.
| Prof. |Desgaste de herramienta Incrementos |
| de broca | OSR 1 de 1/4 pulg. |
| LS |
| I:1.0 B3:1 +ADD–––––––––––––––+ |
|––––] [–––––––[OSR]––––––––––––––––––––––––––––––––––––––+ADD +–|
| 4 8 |Source A N7:12| |
| | 1| |
| |Source B N7:10| |
| | 0| |
| |Dest N7:10| |
| | 0| |
| +––––––––––––––––––+ |

3–35

Manual de referencia del juego de instrucciones

Renglón 7:7
Cuando el número de incrementos de 1/4 pulg. sobrepasa 1000, determine cuántos
incrementos han sobrepasado 1000 y almacene N7:20, añada 1 al total de 1000
incrementos de 1/4 pulg. y reinicialice el acumulador de incrementos de 1/4 pulg. a
la cantidad de incrementos que habían sobrepasado 1000.
| Incrementos |
| de 1/4 pulg. |
| |
| +GEQ–––––––––––––––+ +SUB–––––––––––––––+ |
|–+GRTR THAN OR EQUAL+––––––––––––––––––––––––––––––––+–+SUBTRACT +–+–|
| |Source A N7:10| | |Source A N7:10| | |
| | 0| | | 0| | |
| |Source B 1000| | |Source B 1000| | |
| | | | | | | |
| +––––––––––––––––––+ | |Dest N7:20| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | Milésimas | |
| | de 1/4 pulg. | |
| | +ADD–––––––––––––––+ | |
| +–+ADD +–+ |
| | |Source A 1| | |
| | | | | |
| | |Source B N7:11| | |
| | | 0| | |
| | |Dest N7:11| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | | |
| | | |
| | | |
| | Incrementos | |
| | de 1/4 pulg. | |
| | +MOV–––––––––––––––– | |
| +–+MOVE +–+ |
| |Source N7:20| |
| | 0| |
| |Dest N7:10| |
| | 0| |
| +––––––––––––––––––+ |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|

3–36
Instrucciones de manejo de datos

4 Instrucciones de manejo de datos


Este capítulo contiene información general acerca de las instrucciones de manejo de
datos y explica cómo funcionan en su programa de aplicación. Cada una de las
instrucciones incluye información acerca de:
• cómo aparece el símbolo de instrucción
• cómo usar la instrucción

Además, la última sección contiene un ejemplo de aplicación para una perforadora


de papel que muestra el uso de las instrucciones de manejo de datos.

Instrucciones de manejo de datos

"#!$'
! '"# &
' !
D Convertir a BCD Convierte el valor de fuente de entero en el formato 
BCD y lo almacena en el destino.
 Convertir desde Convierte el valor de fuente BCD en un entero y lo 
BCD almacena en el destino.
 Convertir de Convierte radianes (fuente) en grados y almacena 
radianes a grados el resultado en el destino.
 Convertir de Convierte grados (fuente) en radianes y almacena 
grados a radianes el resultado en el destino.

Descodificar 4 a 1 Descodifica un valor de 4 bits (0 a 15) activando el 
de 16 bit correspondiente en el destino de 16 bits.

Codificar 1 de 16 a Codifica una fuente de 16 bits a un valor de 4 bits. 
4 Busca la fuente desde el bit mínimo al bit máximo y
busca el primer bit establecido. La posición de bit
correspondiente se escribe en el destino como
entero.

 %  Copiar el archivo y La instrucción COP copia datos del archivo de (
llenar el archivo fuente al archivo de destino. La instrucción FLL
carga un valor de fuente en cada posición al archivo
de destino.
continúa en la página siguiente

4–1
%
Manual de referencia del juego de instrucciones

"&'%( +"
%#$+& '# * "
"!+" # #!%
 Mover Mueve el valor de fuente al destino. 
 Mover con Mueve los datos de un lugar de fuente a una 
máscara porción seleccionada del destino.

 Y Realiza una operación Y por bit. 
 O Realiza una operación O inclusiva por bit. 
 O exclusivo Realiza una operación de O exclusivo por bit. 
 No Realiza una operación NO. 
  Negar Cambia el signo de la fuente y lo almacena en el 
destino.
 )  Carga FIFO y La instrucción FFL carga una palabra en una pila 
descarga FIFO FIFO en transiciones de falso a verdadero sucesiĆ
vas. El FFU descarga una palabra de la pila en
transiĆ ciones de falso a verdadero sucesivas. La
primera palabra cargada es la primera de ser
descargada.
  )   Carga LIFO y La instrucción LFL carga una palabra en una pila 
descarga LIFO LIFO en transiciones de falso a verdadero sucesiĆ
vas. El LFU descarga una palabra de la pila en
transiciones de falso a verdadero sucesivas. La
última palabra cargada es la primera de ser descarĆ
gada.

Acerca de las instrucciones de manejo de datos


Use estas instrucciones para convertir información, manejar datos en el controlador
y realizar operaciones de lógica.

En este capítulo se encuentra una descripción general antes de los grupos de


instrucciones. Antes de aprender las instrucciones en cada uno de estos grupos, le
recomendamos que lea la descripción general. Este capítulo contiene las
descripciones generales siguientes:
• Descripción general de las instrucciones de mover y lógicas
• Descripción general de las instrucciones FIFO y LIFO

4–2
Instrucciones de manejo de datos

Convertir en BCD (TOD)


3 3 3 3 3 3

TOD
TO BCD Use esta instrucción para convertir enteros de 16 bits en valores BCD.
Source

Dest S:13
00000000 Con los procesadores fijos y SLC 5/01, el destino sólo puede ser el registro
matemático. Con los procesadores SLC 5/02, SLC 5/03 y SLC 5/04 y controladores
Instrucción de salida
Procesadores fijos y SLC 5/01 MicroLogix 1000, el parámetro de destino puede ser una dirección de palabra en
cualquier archivo o puede ser el registro matemático, S:13 y S:14.
TOD
TO BCD
Source
Si el valor de entero que introduce es negativo, el valor absoluto del número se usa
Dest para la conversión.

Instrucción de salida
Procesadores SLC 5/02,
SLC 5/03 y SLC 5/04 y controlaĆ
dores MicroLogix 1000

Actualizaciones de los bits de estado aritmético


    
  
Acarreo (C) siempre se restablece.
se establece si el resultado BCD es mayor de 9999. El overflow resulta
Overflow (V)
en un error menor.
Cero (Z) se establece si el valor de destino es cero.
se establece si la palabra de fuente es negativa; en caso contrario, se
Signo (S)
restablece.

Cambios del registro matemático, S:13 y S:14

Contiene el resultado BCD de 5 dígitos de la conversión. Este resultado es válido


en el overflow.

4–3
Preface
Manual de referencia del juego de instrucciones

Ejemplo 1

3 3 3

El valor de entero 9760 almacenado en N7:3 se convierte en BCD y la equivalente


de BCD se almacena en N10:0. El máximo valor BCD posible es 9999.

TOD
TO BCD
Source N7:3
9760 

      

Dest N10:0    


9760

9 7 6 0 N7:3 Decimal 0010 0110 0010 0000

9 7 6 0 N10:0 BCD de 4 dígitos 1001 0111 0110 0000

Ejemplo 2

3 3 3

El valor de entero 32760 almacenado en N7:3 se convierte en BCD. El valor BCD


de 5 dígitos se almacena en el registro matemático. Los 4 dígitos inferiores del
valor BCD se mueven a la palabra de salida O:2 y el dígito restante se mueve a
través de una máscara a la palabra de salida O:3.

Cuando usa el registro matemático como el parámetro de destino en la instrucción


TOD, el máximo valor BCD posible es 32767. Sin embargo, para los valores BCD
mayores de 9999, el bit de overflow se establece lo que también resulta en el
establecimiento del bit de error menor S:5/0. Su programa de escalera puede
desenclavar S:5/0 antes del final del escán para evitar el error mayor 0020, según se
hizo en este ejemplo.

4–4
Instrucciones de manejo de datos

3 2 7 6 0 N7:3 Decimal

0 0 0 3 2 7 6 0 BCD de 5 dígitos S:13 y S:14


15 0 15 0
S:14 S:13

Este ejemplo producirá el valor absoluto (0-32767)


contenido en N7:3 como 5 dígitos BCD en las ranuras de
salida 2 y 3.
TOD
] [ TO BCD
Source N7:3
32760 S:13 y S:14 se
Dest S:13 muestran en el formato
00032760 BCD.
Bit de
overflow S:0 S:5 Bit de error
] [ (U) menor
1 0
MOV
MOVE
Source S:13
10080
Dest O:2.0 0010 0111 0110 0000
10080

MVM
MASKED MOVE
Source S:14
3
Mask 000F

Dest O:3.0 0000 0000 0000 0011


3

4–5
Manual de referencia del juego de instrucciones
Preface

Convertir de BCD (FRD)


3 3 3 3 3 3

FRD
FROM BCD Use esta instrucción para convertir los valores BCD en valores enteros. Con los
Source S:13
00000000 procesadores fijos y SLC 5/01, la fuente sólo puede ser el registro matemático. Con
Dest
los procesadores SLC 5/02, SLC 5/03 y SLC 5/04 y controladores MicroLogix
1000, el parámetro de fuente puede ser una dirección de palabra en cualquier
Instrucción de salida
Procesadores fijos y
archivo de datos o puede ser el registro matemático, S:13.
SLC 5/01

FRD
FROM BCD
Source

Dest

Instrucción de salida
Procesadores SLC 5/02, SLC 5/03
y SLC 5/04 y controladores MicroĆ
Logix 1000

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
Acarreo (C) siempre se restablece.
se establece si un valor que no sea BCD se contiene en la fuente o si el
Overflow (V) valor que va a convertir es mayor de 32,767; en caso contrario, se
restablece. El overflow resulta en un error menor.
Cero (Z) se establece si el valor de destino es cero.
Signo (S) siempre se restablece.

Nota Recomendamos que siempre proporcione filtro de lógica de escalera para todos los
dispositivos de entrada BCD antes de realizar la instrucción FRD. La mínima
diferencia en el retardo del filtro de entrada de punto a punto puede provocar un
overflow de la instrucción FRD debido a la conversión de un dígito que no sea
BCD.

4–6
Instrucciones de manejo de datos

S:1 EQU FRD


]/[ EQUAL FROM BCD
15 Source A N7:1 Source I:0.0
0 0

Source B I:0.0 Dest N7:2


0 0

MOV
MOVE
Source I:0.0
0

Dest N7:1
0

En el ejemplo de arriba, los dos renglones causan que el procesador verifique que el
valor en I:0 siga siendo el mismo durante dos escanes consecutivos antes de ejecutar
el FRD. Esto evita que el FRD convierta un valor que no sea BCD durante un
cambio del valor de entrada.
Nota Para convertir números mayores de 9999 BCD, la fuente debe ser el registro
matemático (S:13). Debe restablecer el bit de error menor (S:5.0) para evitar un
error.

Cambios del registro matemático, S:13 y S:14

Se usan como la fuente para convertir todo el rango de números de un registro.

Ejemplo 1

3 3 3

El valor BCD 9760 en la fuente N7:3 se convierte y se almacena en N10:0. El


máximo valor de fuente es 9999, BCD.

FRD
FROM BCD
Source N7:3 

     
9760  
  
Dest N10:0
9760

9 7 6 0 N7:3 BCD de 4 dígitos 1001 0111 0110 0000

9 7 6 0 N10:0 Decimal 0010 0110 0010 0000

4–7
Manual de referencia del juego de instrucciones
Preface

Ejemplo 2

3 3 3 3 3 3

El valor BCD 32760 en el registro matemático se convierte y se almacena en N7:0.


El máximo valor de fuente es 32767, BCD.

FRD
FROM BCD
Source S:13      
 
00032760 
 
Dest N7:0
32760

0000 0000 0000 0011 0010 0111 0110 0000


15  0 15  0 
  
0 0 0 3 2 7 6 0

3 2 7 6 0 
 0111 1111 1111 1000

Usted debe convertir los valores BCD en enteros antes de manejarlos en su


programa de escalera. Si no convierte los valores, el procesador los maneja como
enteros y su valor se pierde.
Nota Si el registro matemático (S:13 y S:14) se usa como la fuente para la instrucción
FRD y el valor BCD no excede 4 dígitos, asegúrese de borrar la palabra S:14 antes
de ejecutar la instrucción FRD. Si S:14 no se borra y un valor se contiene en esta
palabra procedente de otra instrucción matemática ubicada en otra parte del
programa, se colocará un valor decimal incorrecto en la palabra de destino.

4–8
Instrucciones de manejo de datos

A continuación se muestra cómo borrar S:14 antes de ejecutar la instrucción FRD:

I:1 MOV
] [ MOVE
0 Source N7:2 0001 0010 0011 0100
4660
Dest S:13
4660

CLR
CLEAR
Dest S:14
0

FRD
FROM BCD    
Source S:13  
  

00001234
Dest N7:0

1234
0000 0100 1101 0010

Cuando la condición de entrada se establece (1), un valor BCD (transferido de un


interruptor preselector rotatorio de 4 dígitos, por ejemplo) se mueve de la palabra
N7:2 al registro matemático. La palabra de estado S:14 se borra para asegurar que
los datos no deseados no estén presentes cuando se ejecute la instrucción FRD.

4–9
Manual de referencia del juego de instrucciones
Preface

Radianes en grados (DEG)


3 3

DEG
Radians to Degrees Use esta instrucción para convertir los radianes (fuente) en grados y almacenar el
Source
resultado en el destino. La fórmula siguiente se aplica:
Dest

    Fuente 180/Π


donde Π = 3.141592

Use esta instrucción con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.

Cómo introducir parámetros


• La fuente es el entero y/o los valores de punto (coma) flotante.
• El destino es la dirección de la palabra donde se almacenan los datos.

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
 

          
                   
               
  
 

4–10
Instrucciones de manejo de datos

Grados en radianes (RAD)


3 3

RAD
Degress to Radians Use esta instrucción para convertir los grados (fuente) en radianes y almacenar el
Source
resultado en el destino. La fórmula siguiente se aplica:
Dest

    Fuente Π/180


donde Π = 3.141592

Use esta instrucción con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.

Cómo introducir los parámetros


• La fuente es el entero y/o los valores de punto (coma) flotante.
• El destino es la dirección de la palabra donde se almacenan los datos.

Actaulizaciones de los bits de estado aritmético


    
  
      
                  
 

          
                   
               
  
 

4–11


Manual de referencia del juego de instrucciones

Descodificar 4 a 1 de 16 (DCD)
3 3 3 3 3 3
DCD
DECODE 4 to 1 of 16 Una vez ejecutada, esta instrucción establece un bit de la palabra de destino. El bit
Source
que se activa depende del valor de los cuatro primeros bits de la palabra de fuente.
Dest
Vea la tabla siguiente.


  
 Use esta instrucción para multiplexar los datos en aplicaciones tales como
interruptores preselectores rotatorios, teclados y conmutación de banco.

    
Bit 15–04 03 02 01 00 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
x 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
x 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
x 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
x 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
x 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
x 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
x 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
x 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
x 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
x 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
x 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
x 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
x 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
x 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
x 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Cómo introducir parámetros


• La fuente es la dirección que contiene la información de descodificación de bit.
Sólo los cuatro primeros bits (0–3) se usan en la instrucción DCD. Los bits
restantes se pueden usar para otras necesidades de aplicaciones específicas.
Cambie el valor de los cuatro primeros bits de esta palabra para seleccionar un
bit de la palabra de destino.
• El destino es la dirección de la palabra donde se almacenan los datos.

Actualizaciones de los bits de estado aritmético

Permanecen sin cambios.

4–12
Instrucciones de manejo de datos

Codificar 1 de 16 a 4 (ENC)
3

ENC
ENCODE 1 of 16 to 4 Cuando el renglón es verdadero, esta instrucción de salida busca la fuente desde el
Source
bit mínimo hasta el bit máximo y busca el primer bit establecido. La posición de bit
Dest
correspondiente es escribe al destino como entero según se muestra en la tabla

  
 siguiente:

 
Bit 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 15–04 03 02 01 00

x x x x x x x x x x x x x x x 1 x 0 0 0 0
x x x x x x x x x x x x x x 1 0 x 0 0 0 1
x x x x x x x x x x x x x 1 0 0 x 0 0 1 0
x x x x x x x x x x x x 1 0 0 0 x 0 0 1 1
x x x x x x x x x x x 1 0 0 0 0 x 0 1 0 0
x x x x x x x x x x 1 0 0 0 0 0 x 0 1 0 1
x x x x x x x x x 1 0 0 0 0 0 0 x 0 1 1 0
x x x x x x x x 1 0 0 0 0 0 0 0 x 0 1 1 1
x x x x x x x 1 0 0 0 0 0 0 0 0 x 1 0 0 0
x x x x x x 1 0 0 0 0 0 0 0 0 0 x 1 0 0 1
x x x x x 1 0 0 0 0 0 0 0 0 0 0 x 1 0 1 0
x x x x 1 0 0 0 0 0 0 0 0 0 0 0 x 1 0 1 1
x x x 1 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 0 0
x x 1 0 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 0 1
x 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 1 1

Cómo introducir parámetros


• La fuente es la dirección de la palabra que va a codificar (encode). Sólo un bit
de esta palabra se debe activar a la vez. Si hay más de un bit establecido en la
fuente, los bits de destino estarán establecidos en el bit menos significante
establecido. Si se usa una fuente de cero, todos los bits de destino estarán
restablecidos y el bit de cero se establecerá.
• El destino es la dirección que contiene la información de codificación (encode)
de bit. Los bits 4–15 del destino están restablecidos por la instrucción ENC.

4–13
Manual de referencia del juego de instrucciones



Actualizaciones de los bits de estado aritmético

Los bits de estado aritmético se encuentran en la palabra 0, bits 0–3 en el archivo de


estado del controlador. Después de la ejecución de una instrucción, los bits de
estado aritmético en el archivo de estado se actualizan:

       
S:0/0 Acarreo (C) siempre se restablece.
se establece si más de un bit se establece; en caso contrario,
S:0/1 Overflow (V) se restablece. El bit de overflow matemáitico (S:5/0)  se
establece.
S:0/2 Cero (Z) se establece si el valor de destino es cero.
S:0/3 Signo (S) siempre se restablece.

4–14
Instrucciones de manejo de datos

Instrucciones para copiar el archivo (COP)


y llenar el archivo (FLL) 3 3 3 3 3 3

COP
COPY FILE El archivo de tipo destino determina el número de palabras que una instrucción
Source
Dest
Length
transfiere. Por ejemplo, si el archivo de tipo destino es un contador y el archivo de
tipo fuente es un entero, se transfieren tres palabras de entero por cada elemento en
el archivo de tipo contador.
FLL
FILL FILE
Source
Dest
Length Después de la ejecución de una instrucción COP o FLL, el registro de índice S:24 se
pone a cero.
 
  


Uso de COP

Esta instrucción copia bloques de datos de un lugar a otro. No usa bits de estado. Si
usted necesita un bit de habilitación, programe una instrucción de salida (OTE) en
paralelo usando un bit interno como la dirección de salida. La ilustración siguiente
muestra cómo se manejan los datos de instrucción de archivo.

  


  


Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• La fuente es la dirección del archivo que desea copiar. Debe usar el indicador
de archivo (#) en la dirección. Cuando se usa un procesador SLC 5/03 OS301,
OS302 ó SLC 5/04 OS401, se soportan los valores de punto (coma) flotante y
cadena.
• El destino es la dirección inicial donde la instrucción almacena la copia. Debe
usar el indicador de archivo (#) en la dirección. Cuando usa un procesador SLC
5/03 OS301, OS302 ó SLC 5/04 OS401, se soportan los valores de punto
(coma) flotante y cadena.

4–15
Preface
Manual de referencia del juego de instrucciones

• La longitud es el número de elementos en el archivo que desea copiar.

– Para los procesadores SLC, si el archivo de tipo destino es 3 palabras


por elemento (temporizador o contador), puede especificar una longitud
máxima de 42. Si el archivo de tipo destino es 1 palabra por elemento,
puede especificar una longitud máxima de 128 palabras.

– Vea la tabla siguiente respecto a los controladores MicroLogix 1000:


Si el archivo de tipo entonces puede especificar una
destino es un/una: longitud máxima de:
Salida 1
Entrada 2
Estado 33
Bit 32
Temporizador 40
Contador 32
Control 16
Entero 105

Nota Las longitudes máximas se aplican cuando la fuente es del mismo tipo de
archivo.

Todos los elementos son copiados del archivo de fuente al archivo de destino cada
vez que se ejecuta la instrucción. Los elementos se copian en orden ascendiente.

Si su archivo de tipo destino es un archivo de temporizador, contador o control,


asegúrese que las palabras de fuente correspondientes a las palabras de estado de su
archivo de destino contengan ceros.

Asegúrese de especificar con precisión la dirección inicial y la longitud del bloque


de datos que está copiando. La instrucción no sobrescribirá un límite de archivo
(por ejemplo, entre archivos N16 y N17) en el destino. Ocurre un error si se intenta
una sobrescritura del límite de archivo.

Puede realizar desplazamientos de archivo especificando una dirección de elemento


de fuente que tiene uno o más elementos que la dirección de elemento de destino
dentro del mismo archivo. Esto desplaza los datos a direcciones de elemento
inferiores.

4–16
Instrucciones de manejo de datos

Uso de FLL

Esta instrucción carga elementos de un archivo con una constante de programa o


valor de una dirección de elemento.

La instrucción llena las palabras de un archivo con un valor de fuente. No usa bits
de estado. Si usted necesita un bit de habilitación, programe una salida en paralelo
que usa una dirección de almacenamiento. La ilustración siguiente muestra cómo se
manejan los datos de instrucción de archivo.


 


     

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• La fuente es la constante de programa o la dirección de elemento. El indicador
de archivo (#) no se requiere para una dirección de elemento. Cuando usa un
procesador SLC 5/03 OS301, OS302 ó SLC 5/04 OS401, se soportan los
valores de punto (coma) flotante y cadena.
• El destino es la dirección inicial de destino del archivo que desea llenar. Debe
usar el indicador de archivo (#) en la dirección. Cuando usa un procesador SLC
5/03 OS301, OS302 ó SLC 5/04 OS401, se soportan los valores de punto
(coma) flotante y cadena.

4–17
Preface
Manual de referencia del juego de instrucciones

• La longitud es el número de elementos en el archivo que desea copiar.

– Para los procesadores SLC, si el archivo de tipo destino es de 3 palabras


por elemento (temporizador o contador), puede especificar una longitud
máxima de 42. Si el archivo de tipo destino es de 1 palabra por
elemento, puede especificar una longitud máxima de 128 palabras.

– Vea la tabla siguiente respecto a los controladores MicroLogix 1000:


Si el archivo de tipo entonces puede especificar na
destino es un/una: longitud máxima de:
Salida 1
Entrada 2
Estado 33
Bit 32
Temporizador 40
Contador 32
Control 16
Entero 105

Todos los elementos se llenan del mismo valor de fuente (típicamente una
constante) en el archivo de destino especificado durante cada escán en que el
renglón es verdadero. Los elementos se llenan en orden ascendente.

La instrucción no sobrescribirá un límite de archivo (por ejemplo, entre archivos


N16 y N17) en el destino. Ocurre un error si se intenta sobrescribir un límite de
archivo.

4–18
Instrucciones de manejo de datos

Descripción general de las


instrucciones de mover y lógicas
La información general siguiente se aplica a las instrucciones de mover y lógicas.

Cómo introducir parámetros


• La fuente es la dirección del valor en que la operación de mover o lógica se
debe efectuar. La fuente puede ser una dirección de palabra o una constante de
programa, a menos que se describa lo contrario. Si la instrucción tiene dos
operandos de fuente, no acepta constantes de programa en ambos operandos.
Cuando usa un procesador SLC 5/03 OS301, OS302 ó SLC 5/04 OS400,
OS401, se soportan los valores de punto (coma) flotante y cadena.
• El destino es la dirección de resultado de una operación de mover o logica.
Debe ser una dirección de palabra.

Uso de direcciones de palabra indexadas

Tiene la opción de usar direcciones de palabra indexadas como parámetros de


instrucción especificando las direcciones de palabra. El direccionamiento indexado
se trata en el apéndice C.

Actualizaciones de los bits de estado aritmético

Si los bits de estado aritmético se encuentran en la palabra 0, bits 0–3 en el archivo


de estado del controlador. Después de la ejecución de una instrucción, se actualizan
los bits de estado aritmético en el archivo de estado.

Uso de direcciones de palabra indirectas

Tiene la opción de usar direcciones indirectas a nivel de palabra y a nivel de bit para
instrucciones especificando las direcciones de palabra cuando usa un procesador
SLC 5/03 OS302 y SLC 5/04 OS401. Vea el apéndice C para obtener más
información,

Cambios del registro matemático, S:13 y S:14

Las instrucciones de mover y lógicas no afectan el registro matemático.

4–19
Manual de referencia del juego de instrucciones



Mover (MOV)
3 3 3 3 3 3

MOV
MOVE Esta instrucción de salida mueve el valor de fuente al lugar de destino. Siempre que
Source
el renglón permanezca verdadero, la instrucción mueve los datos durante cada
Dest
escán.
Instrucción de salida

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• La fuente es la dirección o constante de los datos que desea mover.
• El destino es la dirección a la cual la instrucción mueve los datos.

Nota de aplicación: Si desea mover una palabra de datos sin afectar los
indicadores matemáticos, use una instrucción de copiar (COP) con una longitud de 1
palabra en vez de la instrucción MOV.

Actualizaciones de los bits de estado aritmético


       
S:0/0 Acarreo (C) siempre se restablece.
S:0/1 Overflow (V) siempre se restablece.
se establece si el resultado es cero; en caso contrario, se
S:0/2 Cero (Z)
restablece.
se establece si el resultado es negativo (el bit más significante
S:0/3 Signo (S)
establecido); en caso contrario, se restablece.

4–20
Instrucciones de manejo de datos

Mover con máscara (MVM)


3 3 3 3 3 3

MVM
MASKED MOVE La instrucción MVM es una instrucción de palabra que mueve datos de un lugar de
Source
fuente a un destino y permite que porciones de los datos de destino estén
Mask
enmascarados por una palabra separada. Siempre que el renglón permanenzca
Dest
verdadero, la instrucción mueve los datos durante cada escán.
!" #&  !

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• La fuente es la dirección de los datos que desea mover.
• La máscara es la dirección de la máscara por la cual la instrucción mueve los
datos; la máscara puede ser un valor hexadecimal (constante).
• El destino es la dirección a la cual la instrucción mueve los datos.

Actualizaciones de los bits de estado aritmético


    
 
 
S:0/0 Acarreo (C) siempre se restablece.
S:0/1 Overflow (V) siempre se restablece.
se establece si el resultado es cero; en caso contrario, se
S:0/2 Cero (Z)
restablece.
se establece si el resultado es negativo; en caso contrarior, se
S:0/3 Signo (S)
restablece.

4–21

Manual de referencia del juego de instrucciones

Operación

Cuando un renglón que contiene esta instrucción es verdadero, los datos en la


dirección de fuente pasan por la máscara a la dirección de destino. Vea la
ilustración siguiente:

MVM
MASKED MOVE
Source B3:0

Mask F0F0

Dest B3:2

B3:2 antes de mover


1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

fuente B3:0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Máscara F0F0
1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0

B3:2 después de mover


0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1

Enmascare los datos restableciendo los bits en la máscara; transfiera los datos
estableciendo los bits en la máscara a uno. Los bits de la máscara pueden ser fijos
por un valor constante o los puede variar asignándoles una dirección directa a la
máscara. Los bits en el destino que corresponden a ceros en la máscara no se
modifican.

4–22
Instrucciones de manejo de datos

Y (AND)
3 3 3 3 3 3

AND
BITWISE AND El valor en la fuente A recibe la instrucción AND bit por bit con el valor en la
Source A
fuente B y luego se almacena en el destino.
Source B

Dest

Tabla de verdad
Instrucción de salida
Destino = A y B
A B Destino
0 0 0
1 0 0
0 1 0
1 1 1

Las fuentes A y B pueden ser una dirección de palabra o una constante; sin
embargo, ambas fuentes no pueden ser una constante. El destino debe ser una
dirección de palabra.

Nota de aplicación: Cuando introduce constantes, puede usar el operador del signo
“&” para cambiar la raíz de la introducción. Por ejemplo, en lugar de introducir –1
como una constante, podría introducir &B1111111111111111 ó &HFFFF.

Actualizaciones de los bits de estado aritmético


Con este bit: El controlador:
S:0/0 Acarreo (C) siempre se restablece.
S:0/1 Overflow (V) siempre se restablece.
se establece si el resultado es cero; en caso contrarior, se
S:0/2 Cero (Z)
restablece.
se establece si el bit más significativo está establecido; en
S:0/3 Signo (S)
caso contrarior, se restablece.

4–23
Manual de referencia del juego de instrucciones
Preface

O (OR)
3 3 3 3 3 3

OR
BITWISE INCLUS OR El valor en la fuente A recibe la instrucción O bit por bit con el valor en la fuente B
Source A
y luego se almacena en el destino.
Source B

Dest

Tabla de verdad
Instrucción de salida
Destino = A o B
A B Destino
0 0 0
1 0 1
0 1 1
1 1 1

Las fuentes A y B pueden ser una dirección de palabra o una constante; sin
embargo, ambas fuentes no pueden ser una constante. El destino debe ser una
dirección de palabra.

Nota de aplicación: Cuando introduce constantes, puede usar el operador del signo
“&” para cambiar la raíz de la introducción. Por ejemplo, en lugar de introducir –1
como una constante, podría introducir &B1111111111111111 ó &HFFFF.

Actualizaciones de los bits de estado aritmético


Con este bit: El controlador:
S:0/0 Acarreo (C) siempre se restablece.
S:0/1 Overflow (V) siempre se restablece.
se establece si el resultado es cero; en caso contrario, se
S:0/2 Cero (Z)
restablece.
se establece si el resultado es negativo (el bits más
S:0/3 Signo (S) significativo está establecido); en caso contrarior, se
restablece.

4–24
Instrucciones de manejo de datos

O exclusivo (XOR)
3 3 3 3 3 3

XOR
BITWISE EXCLUS OR
El valor en la fuente A recibe la instrucción de O exclusivo bit por bit con el valor
Source A en la fuente B y luego se almacena en el destino.
Source B

Dest

Tabla de verdad
Instrucción de salida
Destino = A X o B
A B Destino
0 0 0
1 0 1
0 1 1
1 1 0

Las fuentes A y B pueden ser una dirección de palabra o una constante; sin
embargo, ambas fuentes no pueden ser una constante. El destino debe ser una
dirección de palabra.

Nota de aplicación: Cuando introduce constantes, puede usar el operador del signo
“&” para cambiar la raíz de la introducción. Por ejemplo, en lugar de introducir –1
como una constante, podría introducir &B1111111111111111 ó &HFFFF.

Actualizaciones de los bits de estado aritmético


Con este bit: El controlador:
S:0/0 Acarreo (C) siempre se restablece.
S:0/1 Overflow (V) siempre se restablece.
se establece si el resultado es cero; en caso contrarior, se
S:0/2 Cero (Z)
restablece.
se establece si el resultado es negativo (el bits más
S:0/3 Signo (S) significativo está establecido); en caso contrarior, se
restablece.

4–25
 
Manual de referencia del juego de instrucciones

No (NOT)
3 3 3 3 3 3

NOT
NOT El valor de fuente recibe la instrucción NOT bit por bit y luego se almacena en el
Source
destino (complemento de uno).
Dest

Instrucción de salida Tabla de verdad

  

 
0 1
1 0

La fuente y el destino deben ser direcciones de palabra.

Nota de aplicación: Cuando introduce constantes, puede usar el operador del signo
“&” para cambiar la raíz de la introducción. Por ejemplo, en lugar de introducir –1
como una constante, podría introducir &B1111111111111111 ó &HFFFF.

Actualizaciones de los bits de estado aritmético


     
S:0/0 Acarreo (C) siempre se restablece.
S:0/1 Overflow (V) siempre se restablece.
se establece si el resultado es cero; en caso contrarior, se
S:0/2 Cero (Z)
restablece.
se establece si el resultado es negativo (el bits más
S:0/3 Signo (S) significativo está establecido); en caso contrarior, se
restablece.

4–26
Instrucciones de manejo de datos

Negar (NEG)
3 3 3 3 3 3

NEG
NEGATE Use la instrucción NEG para cambiar el signo de la fuente y luego colóquelo en el
Source
destino. El destino contiene el complemento de dos de la fuente. Por ejemplo, si la
Dest
fuente es 5, el destino sería –5.
Instrucción de salida
La fuente y el destino deben ser direcciones de palabra.

Actualizaciones de bits de estado aritmético


    
 
 
se pone a cero si es 0 u overflow; en caso contrarior, se
S:0/0 Acarreo (C)
restablece.
se establece si es un overflow, en caso contrario, se
restablece. El overflow sólo ocurre si -32,768 es la fuente.
Durante el overflow, el indicador de error menor también se
establece. El valor 32,767 se coloca en el destino. Si S:2/14
S:0/1 Overflow (V)
está establecido, el overflow no signado y truncado
permanece en el destino.
Para los destinos de punto (coma) flotante, el resultado de
overflow permanece en el destino.
se establece si el resultado es cero; en caso contrarior, se
S:0/2 Cero (Z)
restablece.
se establece si el resultado es negativo; en caso contrarior, se
S:0/3 Signo (S)
restablece.

4–27
Preface
Manual de referencia del juego de instrucciones

Descripción general de las instrucciones FIFO y LIFO


Las instrucciones FIFO cargan palabras en un archivo y las descargan en el mismo
orden en que fueron cargadas. La primera palabra que llega es la primera palabra
que sale.

Las instrucciones LIFO cargan palabras en un archivo y las descargan en el orden


inverso en que fueron cargadas. La última palabra que llega es la primera palabra
que sale.

Cómo introducir parámetros

Introduzca los parámetros siguienes al programar estas instrucciones:


• La fuente es una dirección de palabra o constante (–32,768 a 32,767) que se
convierte en el próximo valor en la pila.
• El destino es una dirección de palabra que almacena el valor que sale de la pila.
Esta instrucción Descarga el valor a partir de la:

     

       



• FIFO/LIFO es la dirección de la pila. Debe ser una dirección de palabra


indexada en el archivo de bit, entrada, salida o entero. Use la misma dirección
FIFO para las instrucciones FFL y FFU asociadas; use la misma dirección LIFO
para las instrucciones LFL y LFU asociadas.
• La longitud especifica el máximo número de palabras en la pila. Para los
procesadores SLC se trata de 128 palabras y 105 palabras para los controladores
MicroLogix 1000.
• La posición es el próximo lugar disponible donde la instrucción carga datos en
la pila. Este valor cambia después de cada operación de carga o descarga.
Direccione el valor de posición mnemónicamente (POS).
• El control es una dirección de archivo de control. Los bits de estado, la
longitud de pila y el valor de posición se almacenan en este elemento. No use la
dirección de archivo de control para otras instrucciones.

4–28
Instrucciones de manejo de datos

Los bits de estado de la estructura de control son direccionados


mnemónicamente. Estos incluyen:

– Bit de vacío EM (bit 12) lo establece el procesador para indicar que la


pila está vacía.

– Bit de efectuado DN (bit 13) lo establece el procesador para indicar que


la pila está llena. Esto inhibe la carga en la pila.

– Bit de habilitación FFU/LFU EU (bit 14) se establece en una transición


de falso a verdadero del renglón FFU/LFU y se restablece en una transición
de verdadero a falso.

– Bit de habilitación FFL/LFL EN (bit 15) se establece en una transición


de falso a verdadero del renglón FFL/LFL y se restablece en una transición
de verdadero a falso.

Efectos en el registro de índice S:24

El valor presente en S:24 se sobrescribe con el valor de posición cuando ocurre una
transición de falso a verdadero del renglón FFL/FFU o LFL/LFU. Para el FFL/LFL,
el valor de posición determinar a la introduccción de la instrucción se coloca en
S:24. Para el FFU/LFU, el valor de posición determinado a la salida de la
instrucción se coloca en S:24.

Cuando el bit DN se establece, una transición de falso a verdadero del renglón


FFL/LFL no cambia el valor de posición ni el valor del registro de índice. Cuando
el bit EM se establece, la transición de falso a verdadero del renglón FFU/LFU no
cambia el valor de posición ni el valor del registro de índice.

4–29
!
Manual de referencia del juego de instrucciones

Carga FIFO (FFL)


Descarga FIFO (FFU) 3 3 3 3

FFL
FIFO LOAD (EN) Las instrucciones FFL y FFU se usan conjuntamente. La instrucción FFL carga
Source (DN)
FIFO (EM)
palabras en un archivo creado por el usuario que se llama una pila FIFO. La
Control
Length instrucción FFU descarga palabras de la pila FIFO en el mismo orden en que fueron
Position
cargadas.
FFU
FIFO UNLOAD (EU)
FIFO (DN)
Dest (EM)
Control
Length
Position

Instrucciones de salida

Parámetros de instrucción han sido programados en las instrucciones FFL–FFU


ilustradas abajo.

FFL
FIFO LOAD (EN) "# "&
Source N7:10 (DN) N7:11 
N7:12
FIFO #N7:12
(EM) N7:13 1
Control R6:0  instrucción FFU descarga
Length 34 datos de pila #N7:12 en N7:14 
Position 9 posición 0, N7:12. 


FFU 34 palabras han sido
asignadas para la pila
FIFO UNLOAD (EU)

FIFO a partir de N7:12
FIFO #N7:12 (DN)
$# hasta N7:45.
Dest N7:11 (EM)
Control R6:0 N7:10 9
Length 34
Position 9 La instrucción FFL carga datos
en pila #N7:12 en la próxima
posición disponible, la cual es 9 
N7:45
"#!$"  en este caso.
! % "!   


Operación de la instrucción FFL: Cuando las condiciones de renglón cambian de


falso a verdadero, el bit de habilitación FFL (EN) se establece. Esto carga el
contenido de la fuente, N7:10, en el elemento de pila indicado por el número de
posición 9. Luego el valor de posición se incrementa.

La instrucción FFL carga un elemento a cada transición de falso a verdadero del


renglón hasta que la pila se llene (34 elementos). Luego el procesador establece el
bit de efectuado (DN) inhibiendo así la continuación de la carga.

4–30
Instrucciones de manejo de datos

Operación de la instrucción FFU: Cuando las condiciones de renglón cambian de


falsas a verdaderas, el bit de habilitación FFU (EU) se establece. Esto descarga el
contenido del elemento a la posición de pila 0 en el destino, N7:11. Todos los datos
en la pila se desplazan un elemento hacia la posición 0 y el elemento numerado más
alto se pone a cero.

La instrucción FFU descarga un elemento en cada transición de falso a verdadero


del renglón hasta que la pila se vacía. Luego el procesador establece el bit vacío
(EM).

4–31
!
Manual de referencia del juego de instrucciones

Carga LIFO (LFL)


Descarga LIFO (LFU) 3 3 3 3

LFL
LIFO LOAD (EN) Las instrucciones LFL y LFU se usan conjuntamente. La instrucción LFL carga
Source (DN)
LIFO (EM)
palabras en un archivo creado por el usuario que se llama una pila LIFO. La
Control
Length instrucción LFU descarga palabras de la pila LIFO en el mismo orden en que fueron
Position
cargadas.
LFU
LIFO UNLOAD (EU)
LIFO (DN)
Dest (EM)
Control
Length
Position

Los parámetros de instrucción han sido programados en las instrucciones LFL–LFU


Instrucciones de salida
ilustradas abajo.

 instrucción LFU descarga


datos de pila #N7:12 en
LFL posición 0, N7:12.
LIFO LOAD (EN) "&
Source N7:10 (DN) N7:11 N7:12 
LIFO #N7:12 34 palabras se asignan
(EM) N7:13 1
Control R6:0 "# para la pila LIFO a partir
Length 34 N7:14  de N7:12 hasta N7:45.
Position 9 


LFU La instrucción LFL carga datos en

LIFO UNLOAD (EU) pila #N7:12 en la próxima
posición disponible, la cual es 9

LIFO #N7:12 (DN)


Dest N7:11 en este caso.
(EM)
Control R6:0 N7:10
Length 34
Position 9 $#

"#!$"  N7:45 


! % "!   


Operación de la instrucción LFL: Cuando las condiciones de renglón cambian de


falso a verdadero, el bit de habilitación LFL (EN) se establece. Esto carga el
contenido de la fuente, N7:10, en el elemento de pila indicado por el número de
posición 9. Luego el valor de posición se incrementa.

La instrucción LFL carga un elemento a cada transición de falso a verdadero del


renglón hasta que la pila se llene (34 elementos). Luego el procesador establece el
bit de efectuado (DN) inhibiendo así la continuación de la carga.

4–32
Instrucciones de manejo de datos

Operación de la instrucción LFU: Cuando las condiciones de renglón cambian de


falso a verdadero, el bit de habilitación LFU (EU) se establece. Esto descarga el
contenido del elemento a la posición de pila 0 en el destino, N7:11. Todos los datos
en la pila se desplazan un elemento hacia la posición 0 y el elemento numerado más
alto se pone a cero.

La instrucción LFU descarga un elemento a cada transición de falso a verdadero del


renglón hasta que la pila esté vacía. Luego el procesador establece el bit vacío
(EM).

4–33

Manual de referencia del juego de instrucciones

Instrucciones de manejo de datos en el ejemplo de


aplicación de la perforadora de papel
Esta sección proporciona renglones de escalera para demostrar el uso de las
instrucciones de manejo de datos. Los renglones son parte del ejemplo de
aplicación de la perforadora de papel descrito en el apéndice H. Usted los añadirá a
la subrutina en el archivo 7 que se inició en el capítulo 2.

Añadir el archivo 7
Renglón 7:3
Este renglón mueve el valor del interruptor preselector rotatorio BCD de un solo
dígito en un registro de entero interno. Esto se realiza para alinear correctamente
las cuatro señales de entrada BCD antes de ejecutar la instrucción de BCD a entero
(FRD). El interruptor preselector rotatorio se usa para permitirle al operador
introducir el espesor del papel que va a perforar. El espesor se introduce en
incrementos de 1/4 pulg. Esto proporciona un rango de 1/4 pulg. a 2.25 pulg.
| BCD bit 0 |FRD bit 0 |
| I:1.0 N7:14 |
|––––––––––––––––––––––––––––––––––––––––––––––––––––+––––] [––––––––( )–––––+–|
| | 11 0 | |
| | BCD bit 1 |FRD bit 1 | |
| | I:1.0 N7:14 | |
| +––––] [––––––––( )–––––+ |
| | 12 1 | |
| | BCD bit 2 |FRD bit 2 | |
| | I:1.0 N7:14 | |
| +––––] [––––––––( )–––––+ |
| | 13 2 | |
| | BCD bit 3 |FRD bit 3 | |
| | I:1.0 N7:14 | |
| +––––] [––––––––( )–––––+ |
| 14 3 |

4–34
Instrucciones de manejo de datos

Renglón 7:4
Este renglón convierte el valor del interruptor preselector rotatorio BCD de BCD en
entero. Esto se realiza porque el procesador opera en valores de entero. Este
renglón también neutraliza el rebote del interruptor preselector rotatorio para
asegurar que la conversión ocurra sólo en valores BCD válidos. Anote que los valores
BCD no válidos pueden ocurrir cuando el operador está cambiando el interruptor
preselector rotatorio BCD. Eso es debido a las diferencias de retardo de propagación
del filtro de entrada entre los 4 circuitos de entrada que proporcionan el valor de
entrada BCD.
| primer valor de
| bit de entrada BCD valor BCD
| transf. del escán neutralizado
| anterior
| S:1 +EQU–––––––––––––––+ +FRD–––––––––––––––+ |
|–+––––]/[–––––+EQUAL +–+–––––––––––+FROM BCD +–+––––+––––|
| | 15 |Source A N7:13| | |Source N7:14| | | |
| | | 0| | | 0000| | | |
| | |Source B N7:14| | | 0000| | | |
| | | 0| | |Dest N7:12| | | |
| | +––––––––––––––––––+ | | 1| | | |
| | | Math +––––––––––––––––––+ | | |
| | | Math Math | | |
| | | Overflow Error | | |
| | | Bit Bit | | |
| | | S:0 S:5 | | |
| | +––––] [––––––––––––––(U)––––––––+ | |
| | 1 0 | |
| | valor de | |
| | entrada BCD | |
| | de este | |
| | escán | |
| | +MOV–––––––––––––––+ | |
| +––––––––––––––––––––––––––––––––––––––––––––––––––+MOVE +–+ |
| |Source N7:14| |
| | 0| |
| |Dest N7:13| |
| | 0| |
| +––––––––––––––––––+ |
Renglón 7:5
Este renglón asegura que el operador no pueda seleccionar un espesor de papel
de 0. Si eso se permitiera, el cálculo de la vida útil de la broca podría
anularse lo que resultaría en orificios de calidad insatisfactoria causados
por una broca sin filo. Por lo tanto, el espesor de papel mínimo que será usado
para calcular el desgaste de la broca es de 1/4 pulg.
| valor valor |
| BCD BCD |
| neutralizado neutralizado |
| +EQU–––––––––––––––+ +MOV–––––––––––––––+ |
|–+EQUAL +––––––––––––––––––––––––––––––––––––+MOVE +–|
| |Source A N7:12| |Source 1| |
| | 1| | | |
| |Source B 0| |Dest N7:12| |
| | | | 1| |
| +––––––––––––––––––+ +––––––––––––––––––+ |

4–35

Manual de referencia del juego de instrucciones

4–36
Instrucciones de flujo de programa

5 Instrucciones de flujo de programa


Este capítulo contiene información general acerca de las instrucciones de flujo de
programa y explica cómo funcionan en su programa de aplicación. Cada una de las
instrucciones incluye información acerca de:
• cómo aparece el símbolo de instrucción
• cómo usar la instrucción

Además, la última sección contiene un ejemplo de aplicación para una perforadora


de papel que muestra el uso de las instrucciones de control de flujo de programa.

Instrucciones de control de flujo de programa

!%&$'*!
$"#*%&" )!
! *!" " $
 ( 
 Saltar a etiqueta y Saltar hacia adelante o hacia atrás a la instrucción +
etiqueta de etiqueta especificada.
 
 Saltar a subrutina, Saltar a una subrutina designada y retornar. +
(   subrutina, y
retornar de la
subrutina
  Restablecimiento Desactivar todas las salidas no retentivas en una 
del control maestro sección de un programa de escalera.
 Fin temporal Marcar un fin temporal que detiene la ejecución del 
programa.
 Suspender Identifica condiciones específicas para la 
depuración del programa y la localización y
corrección de fallos del sistema.
 Entrada inmediata Programar una entrada inmediata con máscara. 
con máscara
 Salida inmediata Programar una salida inmediata con máscara. 
con máscara
  Regenerar 

5–1

Manual de referencia del juego de instrucciones

Acerca de las instrucciones de control de flujo de


programa
Use estas instrucciones para controlar la secuencia en que se ejecuta su programa.

Las instrucciones de control le permiten cambiar el orden en que el procesador


realiza un escán de un programa de escalera. Estas instrucciónes típicamente se
usan para minimizar el tiempo de escán, crear un programa más eficiente y para
localizar y corregir fallos de un programa de escalera.

5–2
Instrucciones de flujo de programa

Salto (JMP) y etiqueta (LBL)


3 3 3 3 3 3

(JMP) Use estas instrucciones conjuntamente para saltar porciones del programa de
escalera.
]LBL[  
 
     


  
   
 

            
            
            
        

El saltar hacia adelante a una etiqueta ahorra el tiempo de escán del programa
eliminando un segmento de programa hasta que sea necesario. El saltar hacia atrás
le permite al controlador ejecutar segmentos de programa repetidamente.
Nota Tenga cuidado de no saltar hacia atrás excesivamente. El temporizador de control
(watchdog) podría sobrepasar el límite de tiempo y causar un fallo del controlador.
Use un contador, temporizador o el registro de “escán de programa” (registro de
estado de sistema, palabra S:3, bits 0–7) para limitar el tiempo que se pasa
realizando lazos dentro de las instrucciones JMP/LBL.

Cómo introducir parámetros

Introduzca un número de etiqueta decimal de 0 a 999. Puede colocar hasta:


• 256 etiquetas en cada archivo de subrutina para los procesadores SLC
• 1,000 etiquetas para los controladores MicroLogix 1000 en cada archivo de
subrutina.

Uso de JMP

La instrucción JMP causa que el controlador salte renglones. Puede saltar a la


misma etiqueta desde una o más instrucciones JMP.

5–3

Manual de referencia del juego de instrucciones

Uso de LBL

Esta instrucción de entrada es el blanco de las instrucciones JMP que tienen el


mismo número de etiqueta. Debe programar esta instrucción como la primera
instrucción de un renglón. Esta instrucción no tiene bits de control.

Puede programar saltos múltiples a la misma etiqueta asignando el mismo número


de etiqueta a instrucciones JMP múltiples. Sin embargo, los números de etiqueta
deben ser únicos.
Nota No salte (JMP) en una zona MCR. Las instrucciones programadas dentro de la
zona MCR a partir de la instrucción LBL hasta la instrucción ’END MCR’ siempre
serán evaluadas como si la zona MCR fuera verdadera, sin importar el estado
verdadero de la instrucción “Start MCR”.

5–4
Instrucciones de flujo de programa

Saltar a subrutina (JSR), subrutina (SBR),


y retornar (RET)
JSR
JUMP TO SUBROUTINE Las instrucciones JSR, SBR y RET se usan para indicar al controlador que ejecute
SBR file number
un archivo de subrutina separado dentro del programa de escalera y retornar a la
... instrucción siguiente a la instrucción JSR.
SBR
SUBROUTINE

RET
RETURN

Nota Si usa la instrucción SBR, ésta debe ser la primera instrucción en el primer renglón
en el archivo de programa que contiene la subrutina.

Use una subrutina para almacenar secciones repetidas de lógica de programa que se
debe ejecutar desde varios puntos dentro de su programa de aplicación. Una
subrutina ahorra memoria porque se programa sólo una vez.

Actualice E/S críticas dentro de subrutinas usando las instrucciones de entrada y/o
salida inmediata (IIM, IOM), especialmente si la aplicación requiere subrutinas
anidadas o largas. En caso contrarior, el controlador no actualizará la E/S hasta que
llegue al final del programa principal (después de ejecutar todas las subrutinas).

Las salidas controladas dentro de una subrutina permanecen en su último


estado hasta que la subrutina se vuelva a ejecutar.

Cómo anidar archivos de subrutina

El anidar subrutinas le permite dirigir el flujo de programa desde el programa


principal hasta una subrutina y luego a otra subrutina. Las reglas siguientes se
aplican al anidar subrutinas:

Puede anidar hasta ocho niveles de subrutinas. Si usa una subrutina STI, una
subrutina de interrupción HSC o una rutina de fallo del usuario, puede anidar
subrutinas hasta tres niveles desde cada subrutina.
• Con los procesadores fijos y SLC 5/01, puede anidar subrutinas hasta cuatro
niveles.

5–5
Preface
Manual de referencia del juego de instrucciones

• Con los procesadores SLC 5/02, SLC 5/03, SLC 5/04 y controladores
MicroLogix 1000, puede anidar subrutinas hasta ocho niveles. Si usa una
subrutina STI, subrutina de interrupción provocada por evento de E/S, una
rutina de fallo del usuario o una subrutina de interrupción HSC, puede anidar
subrutinas hasta tres niveles desde cada subrutina.

La ilustración siguiente muestra cómo se pueden anidar las subrutinas.


Programa Nivel 1 Nivel 2 Nivel 3
principal Archivo de subrutina 6 Archivo de subrutina 7 Archivo de subrutina 8
6 SBR SBR SBR
JSR
7 8
JSR JSR

RET RET RET

Ejemplo de cómo anidar subrutinas hasta el nivel 3

Ocurrirá un error si se llaman más niveles de subrutinas que los permitidos


(overflow de pila de subrutina) o si se ejecutan más retornos que niveles de llamada
existentes (underflow de pila de subrutina).

Uso de JSR

Cuando la instrucción JSR se ejecuta, el controlador salta a la instrucción de


subrutina (SBR) al inicio del archivo de subrutina destino y reanuda la ejecución
desde aquel punto. No puede saltar en una parte de una subrutina con excepción de
la primera instrucción en ese archivo.

Debe programar cada subrutina en su propio archivo de programa asignando un


número de archivo único:
• 3–255 para los procesadores SLC
• 4–15 para los controladores MicroLogix 1000

Fijo y específico del SLC 5/01 – La instrucción JSR no se debe programar en


bifurcaciones de salida anidadas. Un error de compilador se ocurrirá si se encuentra
un renglón que contenga salidas múltiples con lógica condicional y una instrucción
JSR.

5–6
Instrucciones de flujo de programa

Uso de SBR

La subrutina de destino se identifica por el número de archivo que usted introdujo


en la instrucción JSR. Esta instrucción sirve como etiqueta o identificador de un
archivo de programa designado como un archivo de subrutina normal.

Esta instrucción no tiene bits de control. Siempre se evalúa como verdadera. La


instrucción se debe programar como la primera instrucción en el primer renglón de
una subrutina. El uso de esta instrucción es opcional; sin embargo, recomendamos
su uso para obtener mayor claridad.

Uso de RET

Esta instrucción de salida indica el fin de ejecución de subrutina o el fin del archivo
de subrutina. Causa que el controlador reanude la ejecución en la instrucción
siguiente a la instrucción JSR. Si se involucra una secuencia de subrutinas anidadas,
la instrucción causa que el procesador retorne la ejecución de programa a la
subrutina anterior.

El renglón que contiene la instrucción RET puede ser condicional si este renglón
precede el final de la subrutina. De esta manera el controlador elimina el resto de
una subrutina sólo si su condición de renglón es verdadera.

Sin instrucción RET, la instrucción END (siempre presente en la subrutina) retorna


automáticamente la ejecución de programa a la instrucción siguiente a la instrucción
JSR en el archivo de escalera que llama.
Nota La instrucción RET termina la ejecución de la subrutina DII (procesadores SLC
5/03 y SLC 5/04), la subrutina STI, la subrutina de interrupción provocada por
evento de E/S y el indicador de error del usuario cuando se usa un procesador SLC
5/02, SLC 5/03 ó SLC 5/04.

5–7
Preface
Manual de referencia del juego de instrucciones

Restablecimiento de control maestro (MCR)


3 3 3 3 3 3

(MCR) Use las instrucciones MCR conjuntamente para crear zonas de programa que
desactivan todas las salidas no retentivas en la zona. Los renglones dentro de la
zona MCR todavía son escaneados, pero el tiempo de escán se reduce debido al
estado falso de las salidas no retentivas.

Si el renglón MCR que inicia la


El controlador:
zona es:
V
  
   

  
   




    

 


 
  
 
    

 
 


 

     





Las zonas MCR le permiten habilitar o inhabilitar segmentos de su programa; por


ejemplo, las aplicaciones de receta.

Cuando programe las instrucciones MCR, observe lo siguiente:


• Debe terminar la zona con una instrucción MCR no condicional.
• No puede anidar una zona MCR dentro de otra.
• No salte a una zona MCR. Si la zona es falsa, el saltar a ella activa la zona.
• Siempre coloque la instrucción MCR como la última instrucción en un renglón.

Nota La instrucción MCR no substituye un relé cableado de control maestro que


proporciona la capacidad de detención de emergencia. Todavía debe instalar un
relé cableado de control maestro para proporcionar la interrupción de alimentación
eléctrica de E/S en casos de emergencia.

Si inicia instrucciones tales como temporizadores o contadores en una zona


MCR, la operación de instrucción se detiene cuando la zona se inhabilita.
Vuelva a programar operaciones críticas fuera de la zona si fuese necesario.

5–8
Instrucciones de flujo de programa

Operación del procesador SLC

No salte (JMP) a una zona MCR. Las instrucciones programadas dentro de la zona
MCR, que comienzan con una instrucción LBL y terminan con la instrucción ’END
MCR’, siempre serán evaluadas como si la zona MCR fuera verdadera, sin importar
el estado verdadero de la instrucción “Start MCR”. Si la zona es falsa, el saltar a
ella activa la zona desde la LBL hasta el final de la zona.

Si inicia instrucciones tales como temporizadores o contadores en una zona


MCR, la operación de instrucción se detiene cuando la zona se inhabilita.
Vuelva a programar operaciones críticas fuera de la zona si fuese necesario.

El temporizador TOF se activará (cuando se coloque) dentro de una zona


MCR falsa.

La instrucción MCR no sustituye el relé cableado de control maestro.


Recomendamos que el sistema de controlador programable incluya un relé de
cableado de control maestro e interruptores de parada de emergencia para
proporcionar la interrupción de alimentación eléctrica de E/S. Los
interruptores de parada de emergencia se pueden monitorizar pero no deben
ser controlados por el programa de escalera. Cablee estos dispositivos según lo
descrito en el manual de instalación.
Específico de SLC 5/03 y SLC 5/04 – Cuando está en línea y existe en su
programa una instrucción MCR desigual, la instrucción END sirve como la
segunda instrucción MCR no condicional y todos los renglones siguientes a la
primera instrucción MCR se ejecutan por medio del estado de instrucción
MCR actual.

Puede guardar el programa cuando está en línea si existen instrucciones MCR


desatendidas. Sin embargo, si está fuera de línea y existen instrucciones MCR
desatendidas, ocurrirá un error.

5–9

Manual de referencia del juego de instrucciones

Fin temporal (TND)


3 3 3 3 3 3

(TND) Cuando el renglón de esta instrucción es verdadero, previene que el procesador


realice un escán del resto del archivo de programa, actualiza la E/S y reanuda el

  

escaneado a partir del renglón 0 del programa principal (archivo 2). Si la
instrucción de este renglón es falsa, el procesador sigue realizando el escán hasta la
próxima instrucción TND o el comando END. Use esta instrucción para depurar
progresivamente un programa o eliminar condicionalmente el resto de su archivo de
programa o subrutinas existentes.
Nota Si usa esta instrucción dentro de una subrutina anidada, se termina la ejecución de
todas las subrutinas anidadas.
Controladores MicroLogix 1000
No ejecute esta instrucción desde la rutina de fallo de error del usuario (archivo 3),
rutina de interrupción del contador de alta velocidad (archivo 4) ni la rutina de
interrupción temporizada seleccionable (archivo 5) ya que ocurrirá un error.

5–10
Instrucciones de flujo de programa

Suspender (SUS)
3 3 3 3 3 3

SUS
SUSPEND Cuando esta instrucción se ejecuta, causa que el procesador entre en el modo de
Suspend ID
Suspend/Idle y almacena la identificación de suspender en palabra 7 (S:7) del

  

archivo de estado. Todas las salidas se desactivan.Suspender (SUS)

Use esta instrucción para capturar e identificar condiciones específicas para la


depuración de programas y la localización y corrección de fallos de sistemas.

Cómo introducir parámetros

Introduzca un número de identificación de suspender de –32,768 a +32,767 al


programar la instrucción.

Cuando la instrucción SUS se ejecuta, la identificación programada así como la


identificación del archivo de programa desde el cual se ejecuta la instrucción SUS se
colocan en el archivo de estado del sistema.

5–11

Manual de referencia del juego de instrucciones

Entrada inmediata con máscara (IIM)


3 3 3 3 3 3

IIM
IMMEDIATE INPUT w MASK Esta instrucción le permite actualizar datos antes del escán de entrada normal.
Slot
Mask Cuando la instrucción IIM se habilita, el escán de programa se interrumpe. Los
datos de una ranura de E/S especificada se transfieren a través de una máscara al
Instrucción de entrada
Procesadores fijos y SLC 5/01 y
archivo de datos de entrada poniendo así los datos a la disposición de instrucciones
controladores MicroLogix 1000 siguientes a la instrucción IIM en el programa de escalera.
IIM
IMMEDIATE INPUT w MASK
Slot Para la máscara, 1 en la posición de un bit de entrada transfiere datos desde la fuente
Mask
Length hasta el destino. 0 inhibe que los datos se transfieran desde la fuente hasta el
Instrucción de entrada destino.
Procesadores SLC 5/03 y SLC 5/04

Cómo introducir parámetros

Ranura – Especifique el número de ranura de entrada y el número de palabra


perteneciente a la ranura. No es necesario especificar la palabra 0 de una ranura.
Los procesadores fijos y SLC 5/01 pueden tener hasta 8 palabras asociadas con la
ranura. Los procesadores SLC 5/02, SLC 5/03 y SLC 5/04 pueden tener hasta 32
palabras asociadas con la ranura (0–31).

Para todos los controladores MicroLogix 1000 especifique I1:0.0. Para los
controladores de E/S 16, I1:0/0–9 son válidos e I1:0/10–15 se consideran como
entradas no usadas. (No existen físicamente.) Para los controladores de E/S 32,
I1:0/0–15 e I1:1/0–3 son válidos. Especifique I1:1 si desea actualizar
inmediatamente los cuatro últimos bits de entrada.

Ejemplo

I:2 Entradas de ranura 2, palabra 0


I:2.1 Entradas de ranura 2, palabra 1
I:1 Entradas de ranura 1, palabra 0

Máscara – Especifique una constante hexadecimal o dirección de registro.

Longitud – Para los procesadores SLC 5/03 y SLC 5/04, este parámetro se usa para
transferir más de una palabra por ranura.

5–12
Instrucciones de flujo de programa

Salida inmediata con máscara (IOM)


3 3 3 3 3 3

IOM
IMMEDIATE OUTPUT w MASK
Esta instrucción le permite actualizar las entradas antes del escán de salida normal.
Slot
Mask Cuando la instrucción IOM se habilita, el escán de programa se interrumpe para
transferir datos a una ranura de E/S especificada a través de una máscara. Luego el
Instrucción de salida
Procesadores fijos y SLC 5/01 y escán de programa se reanuda.
controladores MicroLogix 1000
IOM Para la máscara, un 1 en la posición de bit de salida transfiere datos desde la fuente
IMMEDIATE OUTPUT w MASK
Slot
Mask
hasta el destino. 0 inhibe que los datos se transfieran desde la fuente hasta el
Length destino.
Instrucción de salida
Procesadores SLC 5/03 y SLC 5/04

Cómo introducir parámetros

Ranura – Especifique el número de ranura y el número de palabra perteneciente a


la ranura. No es necesario especificar la palabra 0 de una ranura. Los procesadores
fijos y SLC 5/01 pueden tener hasta 8 palabras asociadas con la ranura. Los
procesadores SLC 5/02, SLC 5/03 y SLC 5/04 pueden tener hasta 32 palabras
asociadas con la ranura (0–31).

Para todos los controladores MicroLogix 1000, especifique O0:0.0. Para los
controladores de E/S 16, O0:0/0–5 son válidos y O0:0/6–15 se consideran como
salidas no usadas. (No existen físicamente.) Para los controladores de E/S 32,
O0:0/1–11 son válidos y O0:0/12–15 se consideran como salidas no usadas.

Ejemplo

O:2 Salidas de ranura 2, palabra 0


O:1 Salidas de ranura 1, palabra 0
O:2.1 Salidas de ranura 2, palabra 1

Máscara – Especifique una constante hexadecimal o dirección de registro.

Longitud – Para los procesadores SLC 5/03 y SLC 5/04 este parámetro se usa para
transferir más de una palabra por ranura.

5–13

Manual de referencia del juego de instrucciones

Regenerar I/S (REF)


3 3 3

Uso de un procesador SLC 5/02

(REF) La instrucción REF no tiene parámetros de programación. Cuando se evalúa como



  

verdadero, el escán de programa se interrumpe para ejecutar el escán de E/S y
porporcionar servicio a porciones de comunicación del ciclo de operación (escritura
de salidas, servicios de comunicación, lectura de entradas). Luego el escán se
reanuda en la instrucción siguiente a la instrucción REF.

No se le permite colocar una instrucción REF en una subrutina DII, subrutina STI,
subrutina de E/S o subrutina de fallo del usuario.

Los temporizadores de control (watchdog) y de escán son restablecidos al


ejecutar la instrucción REF. Debe asegurarse que la instrucción REF no se
coloque dentro de un lazo de programa sin fin.

No coloque una instrucción REF dentro de un lazo de programa a menos que


el programa se analice detenidamente.

Uso de procesadores SLC 5/03 y SLC 5/04


REF
I/O REFRESH La operación de la instrucción REF en el procesador SLC 5/03 y SLC 5/04 es la
Channel 0
Channel 1 misma que para el procesador SLC 5/02. Sin embargo, al usar un procesador SLC
5/03 ó SLC 5/04 también puede seleccionar un canal de comunicación específico

  
 para el cual desea servicio.
• Procesador SLC 5/03

– el canal 0 esfull duplex DF1/RS-23 ó DH-485

– el canal 1 es DH-485

• El procesador SLC 5/04

– el canal 0 es DH-485, full duplex DF1 ó ASCII

– el canal 1 es DH+

5–14
Instrucciones de flujo de programa

Instrucciones de control de flujo de programa en el


ejemplo de aplicación de la perforadora de papel
Esta sección proporciona renglones de escalera para demostrar el uso de las
instrucciones de control de flujo de programa. Los renglones son parte del ejemplo
de aplicación de la perforadora de papel descrito en el apéndice H. Va a añadir al
programa principal en el archivo 2. Los nuevos renglones son necesarios para
llamar las otras subrutinas que contienen la lógica necesaria para hacer funcionar la
máquina.

Cómo añadir el archivo 2


Renglón 2:3
Este renglón llama la subrutina de secuencia de la perforadora. Esta subrutina
maneja la operación de una secuencia de perforación y vuelve a arrancar el
transportador cuando se termina la secuencia de perforación.
| +JSR–––––––––––––––+ |
|–––––––––––––––––––––––––––––––––––––––––––––––––––––––––+JUMP TO SUBROUTINE+–|
| |SBR file number 6| |
| +––––––––––––––––––+ |
Renglón 2:4
Este renglón llama la subrutina que registra la cantidad de desgaste de la broca
actual.
| +JSR–––––––––––––––+ |
|–––––––––––––––––––––––––––––––––––––––––––––––––––––––––+JUMP TO SUBROUTINE+–|
| |SBR file number 7| |
| +––––––––––––––––––+ |
Renglón 2:5
Existe una lógica de inicialización en la subrutina DII (archivo 4) que se debe
ejecutar antes de la primera interrupción DII. Así este renglón permite que el
DII esté inicializado saltando a la subrutina DII cuando el procesador entre
en el modo RUN.
| Primera |
| transferencia |
| S:1 +JSR–––––––––––––––+ |
|––––] [––––––––––––––––––––––––––––––––––––––––––––––––––+JUMP TO SUBROUTINE+–|
| 15 |SBR file number 4| |
| +––––––––––––––––––+ |

5–15

Manual de referencia del juego de instrucciones

5–16
Instrucciones específicas de aplicación

6 Instrucciones específicas de
aplicación
Este capítulo contiene información general acerca de las instrucciones específicas de
aplicación y explica cómo funcionan en su programa de aplicación. Cada una de las
instrucciones incluye información acerca de:
• cómo aparece el símbolo de instrucción
• cómo usar la instrucción

Además, la última sección contiene un ejemplo de aplicación para una perforadora


de papel que muestra el uso de las instrucciones específicas de aplicación.

Instrucciones específicas de aplicación

Instrucción
Propósito Página
Mnemónico Nombre
BSL y BSR  !                6-5
 !  !   $      
 !      %         
   !    !  
 !
    
SQO y        "   6-9
SQC           #  
  $  "     
 
SQL    &            & 6-14
    "       $

6–1

Manual de referencia del juego de instrucciones

Acerca de las instrucciones específicas de aplicación


Estas instrucciones simplifican el programa de escalera permitiéndole a usted usar
una sola instrucción o un par de instrucciones para efectuar operaciones complejas
comunes.

En este capítulo se encuentra una descripción general antes de cada grupo de


instrucciones. Antes de aprender acerca de las instrucciones en cada uno de estos
grupos, le recomendamos que lea la descripción general. Este capítulo contiene las
descripciones generales siguientes:
• Descripción general de las instrucciones de desplazamiento de bit
• Descripción general de las instrucciones del secuenciador

6–2
Instrucciones específicas de aplicación

Descripción general de las instrucciones de


desplazamiento de bit
La información general siguiente se aplica a las instrucciones de desplazamiento de
bit.

Cómo introducir los parámetros

Introduzca los parámetros siguientes al programar estas instrucciones:


• El archivo es la dirección del fichero de bit que desea manejar. Debe usar el
indicador de archivo (#) en la dirección de fichero de bit.
• El control es el elemento de control que almacena el byte de estado de la
instrucción, el tamaño del fichero (en número de bits). Anote que la dirección
de control no se debe usar para otras instrucciones.

El elemento de control se muestra abajo.

15 13 11 10 00
Pal. 0 EN DN ER UL No usada
Pal. 1 Tamaño del fichero de bit (número de bits)
Reservada
Pal. 2

Los bits de estado del elemento de control se pueden direccionar


mnemónicamente. Entre éstos se incluyen:

– El bit de descarga UL (bit 10) almacena el estado del bit salido del
fichero cada vez que la instrucción se habilita.

– El bit de error ER (bit 11), cuando se establece, indica que la instrucción


ha detectado un error tal como la introducción de un número negativo para
la longitud o posición. Evite usar el bit de salida cuando este bit esté
establecido.

– El bit de efectuado DN (bit 13), cuando se establece, indica que el


fichero de bit se ha desplazado una posición.

– El bit de habilitación EN (bit 15) está establecido en una transición de


falso a verdadero del renglón e indica que la instrucción está habilitada.

6–3

Manual de referencia del juego de instrucciones

Cuando el registro se desplaza y las condiciones de entrada se hacen falsas, los


bits de habilitación, efectuado y error se restablecen.
• El bit de dirección es la dirección del bit de fuente que la instrucción inserta en
la primera (más baja) posición de bit (BSL) o en la última (más alta) posición de
bit (BSR).
• La longitud (tamaño del arreglo de bit) es el número de bits en el fichero de bit,
hasta 2048 bits. Un valor de longitud de 0 causa que el bit de entrada se
transfiera al bit UL.

– Para los procesadores SLC la longitud es 2048

– Para los controladores MicroLogix 1000 la longitud es 1680


Un valor de longitud que indica más allá del fin del archivo programado causa
la ocurrencia de un error mayor de tiempo de ejecución. Si modifica un valor de
longitud con su programa de escalera, asegúrese que el valor modificado sea
válido.

La instrucción invalida todos los bits más allá del último bit en el fichero (según se
define por la longitud) hasta el próximo límite de palabra.
Nota Si una dirección de elemento STring se usa para el parámetro del archivo, la
longitud máxima en un procesador SLC 5/03 y SLC 5/04 es 672 bits. Además, los
límites del elemento STring no se pueden cruzar.

Efectos en el registro de índice S:24

La operación de desplazamiento pone a cero el registro de índice S:24.

6–4
Instrucciones específicas de aplicación

Desplazamiento de bit izquierdo (BSL)


Desplazamiento de bit derecho (BSR) 3 3 3 3 3 3

BSL
BIT SHIFT LEFT (EN) BSL y BSR son instrucciones de salida que cargan bit por bit los datos en un fichero
File #B3:1 (DN)
Control R6:14 de bit. Los datos son desplazados a través del fichero y luego son descargados bit
Bit AddressI:22/12
Length 58 por bit.

BSR
BIT SHIFT RIGHT (EN)
File #B3:2 (DN)
Control R6:15
Bit AddressI:23/06
Length 38


   

Uso de BSL

Cuando el renglón va de falso a verdadero, el procesador establece el bit de


habilitación (EN bit 15) y el bloque de datos se desplaza a la izquierda (a un número
de bit superior) por una posición de bit. El bit especificado en la dirección de bit se
desplaza a la primera posición de bit. El último bit se desplaza fuera del fichero y se
almacena en el bit de descarga (UL bit 10). El desplazamiento se realiza
inmediatamente.

Para la operación de ajuste automático de línea, establezca la posición de la


dirección de bit en el último bit del fichero o en el bit UL, según sea aplicable.

6–5

Manual de referencia del juego de instrucciones

La ilustración siguiente muestra cómo funciona la instrucción de desplazamiento de


bit izquierdo.
BSL
BIT SHIFT LEFT (EN)
File #B3:1 (DN)
Control R6:14
Bit Address I:22/12
Length 58

%  &%

  "&  % $ $ $!' %
! # % $ %  $% % 
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 #  % 
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48  
NO VALIDO 73 72 71 70 69 68 67 66 65 64

%  $#
 


Si desea desplazar más de un bit por escán, debe crear un lazo en la aplicación
usando las instrucciones JMP, LBL y CTU.

Uso de BSR

Cuando el renglón va de falso a verdadero, el procesador establece el bit de


habilitación (EN bit 15) y el bloque de datos se desplaza a la derecha (a un número
de bit superior) por una posición de bit. El bit especificado en la dirección de bit se
desplaza a la última posición de bit. El primer bit se desplaza fuera del fichero y se
almacena en el bit de descarga (UL bit 10) en el byte de estado del elemento de
control. El desplazamiento se completa inmediatamente.

Para la operación de ajuste automático de línea, establezca la posición de la


dirección de bit en el primer bit del fichero o en el bit UL, según sea aplicable.

6–6
Instrucciones específicas de aplicación

La ilustración siguiente muestra cómo funciona la instrucción de desplazamiento de


bit derecho.
BSR
BIT SHIFT RIGHT (EN)
File #B3:2 (DN)
Control R6:15
Bit Address I:23/06
Length 38
$  #"
 


47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 "  $
INVALID 69 68 67 66 65 64  

 !%  $# # # & $


" $ # $ #$ $ 
$  %$
 

Si desea desplazar más de un bit por escán, debe crear un lazo en la aplicación
usando las instrucciones JMP, LBL y CTU.

6–7

Manual de referencia del juego de instrucciones

Descripción general de las instrucciones de


secuenciador
La información general siguiente se aplica a las instrucciones de secuenciador.

Efectos en el registro de índice S:24

El valor presente en el registro de índice S:24 se sobrescribe cuando la instrucción


de secuenciador es verdadera. El valor del registro de índice será igual al valor de
posición de la instrucción.

Aplicaciones que requieren más de 16 bits

Cuando la aplicación requiere más de 16 bits, use instrucciones de secuenciador


múltiple en paralelo.
Nota Refiérase al apéndice H para ejemplos de aplicación que usan las instrucciones de
secuenciador.
Nota Si se usa una dirección de elemento STring para el parámetro de archivo, la
longitud máxima en un procesador SLC 5/03 y SLC 5/04 es 41 palabras.
Además,no se pueden cruzar los límites del elemento STring.

6–8
Instrucciones específicas de aplicación

Salida de secuenciador (SQO)


Comparación de secuenciador (SQC) 3 3 3 3 3 3

SQO
SEQUENCER OUTPUT (EN)
Estas intstrucciones transfieren datos de 16 bits a direcciones de palabra para el
File
Mask
#B10:1
0F0F (DN) control de operaciones secuenciales de la máquina.
Dest O:14
Control R6:20
Length 4
Position 2

SQC
SEQUENCER COMPARE (EN)
File #B10:11
Mask FFF0 (DN)
Source I:03
(FD)
Control R6:21
Length 4
Position 2

 

 

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar estas instrucciones:


• El archivo es la dirección del archivo de secuenciador. Debe usar el indicador
de archivo (#) para esta dirección.
Los datos del archivo de secuenciador se usan de la manera siguiente:

Instrucción El archivo de secuenciador almacena:


      




     


 

• La máscara (SQO, SQC) es un código hexadecimal o la dirección de la palabra


o archivo de máscara a través de la cual la instrucción mueve datos. Establezca
los bits de máscara para transferir datos y restablezca los bits de máscara para
enmascarar datos. Use una palabra o archivo de máscara si desea cambiar la
máscara según los requisitos de aplicación.
Si la máscara es un archivo, su longitud será igual a la longitud del archivo de
secuenciador. Los dos archivos registran automáticamente.
• La fuente es la dirección de la palabra o archivo de entrada para un SQC de la
cual la instrucción obtiene datos para comparación con su archivo de
secuenciador.
• El destino es la dirección de la palabra o archivo de salida para un SQC a la
cual la instrucción mueve datos de su archivo de secuenciador.

6–9

Manual de referencia del juego de instrucciones

Nota Puede direccionar la máscara, fuente o destino de una instrucción de secuenciador


como palabra o archivo. Si la direcciona como archivo (usando # de indicador de
archivo), la instrucción pasa automáticamente por el archivo de fuente, máscara o
destino.
• El control (SQO, SQC) es la estructura de control que almacena el byte de
estado de la instrucción, la longitud del archivo de secuenciador y la posición
instantánea en el archivo. No debe usar la dirección de control para otras
instrucciones.

15 13 11 08 00
Pal. 0 EN DN ER FD
Pal. 1 Longitud del archivo de secuenciador
Pal. 2 Posición

Los bits de estado de la estructura de control incluyen:


– El bit de encontrado FD (bit 08) – SQC solamente. Cuando el estado de
todos los bits sin máscara en la dirección de fuente corresponden a los de la
palabra de referencia, el bit FD está establecido. Este bit se evalúa cada
vez que la instrucción SQC es evaluada mientras el renglón sea verdadero.
– El bit de error ER (bit 11) se establece cuando el procesador detecta un
valor de posición negativo, o un valor de longitud negativo o de cero. Esto
resulta en un error mayor si no se borra antes de la ejecución de la
instrucción END o TND.
– El bit de efectuado Bit DN (bit 13) lo establece la instrucción SQO o
SQC después de operar en la última palabra en el archivo de secuenciador.
Se restablece en la próxima transición de renglón de falso a verdadero
después de que el renglón se haga falso.
– El bit de habilitación EN (bit 15) lo establece una transición de renglón
de falso a verdadero e indica que la instrucción SQO o SQC se ha
habilitado.
• La longitud es el número de pasos del archivo de secuenciador a partir de la
posición 1. El número máximo que puede introducir es 255 palabras (104
palabras cuando usa los controladores MicroLogix 1000). La posición 0 es la
posición de arranque. La instrucción se restablece (se ajusta automáticamente)
a la posición 1 durante cada ciclo completado.
La dirección asignada para un archivo de secuenciador es paso cero. Las
instrucciones de secuenciador usan la longitud + 1 palabra de archivos de la
tabla de datos para cada archivo indicado en la instrucción. Esto se aplica a la
fuente, máscara y/o destino si se direccionan como archivos.

Un valor de longitud que indica más allá del fin del archivo programado causa
la coincidencia de un error mayor de tiempo de ejecución. Si modifica un valor
de longitud con su programa de escalera, asegúrese que el valor modificado sea
válido.

6–10
Instrucciones específicas de aplicación

• La posición es la ubicación o paso de palabra en el archivo de secuenciador al


cual/desde el cual la instrucción mueve datos.
Un valor de longitud que indica más allá del final del archivo programado
provoca un error mayor de tiempo de ejecución. Si modifica un valor de
longitud con su programa de escalera, asegúrese que el valor modificado sea
válido.

Nota de aplicación: Puede usar la instrucción de restablecimiento (RES) para


restablecer un secuenciador. Todos los bits de control (excepto FD) se pondrán a
cero. La posición también se pondrá a cero. Programe la dirección de su registro de
control en el RES (por ej., R6:0).

Uso de SQO

Esta instrucción de salida pasa por el archivo de secuenciador cuyos bits han sido
enviados para controlar varios dispositivos de salida.

Cuando el renglón va de falso a verdadero, la instrucción se incrementa hasta el


próximo paso (palabra) en el archivo de secuenciador. Los datos almacenados en
éste se transfieren a través de una máscara a la dirección de destino especificada en
la instrucción. Los datos actuales se escriben en la palabra de destino
correspondiente durante cada escán en que el renglón permanece verdadero.

El bit de efectuado se establece cuando la última palabra del archivo de


secuenciador se transfiere. En la próxima transición de renglón de falso a
verdadero, la instrucción restablece la posición al paso uno.

Si la posición es igual a cero al momento de arranque, cuando usted conmuta el


procesador del modo de programa al modo de marcha, la operación de la instrucción
dependerá de si el renglón es verdadero o falso en el primer escán.
• Si es verdadero, la instrucción transfiere el valor al paso cero.
• Si es falso, la instrucción espera la primera transición de renglón de falso a
verdadero y transfiere el valor al paso uno.

Los bits enmascaran datos cuando se restablecen y transfieren datos cuando se


establecen. La instrucción no cambia el valor en la palabra de destino a menos que
usted establezca los bits de máscara. La máscara puede ser fija o variable. Será
variable si introduce una dirección de elemento o una dirección de archivo para
cambiar la máscara con cada paso.

6–11

Manual de referencia del juego de instrucciones

La ilustración siguiente indica cómo funciona la instrucción SQO.

SQO
SEQUENCER OUTPUT (EN)
File #B10:1
Mask 0F0F (DN)
Dest O:14.0
Control R6:20
Length 4
Position 2

     # 


15 8 7 0    
0000 0101 0000 1010
00
01
 "
  $   02
03
 "
15 8 7 0
04
0000 1111 0000 1111 05
06
07

"    !   
08
 "
  09
  0000 0000 0000 0000  10
 "
11
 1010 0010 1111 0101  12
 1111 0101 0100 1010    ! 13
 0101 0101 0101 0101  14
 0000 1111 0000 1111  15

Uso de SQC

Cuando el estado de todos los bits sin máscara en la palabra de fuente corresponden
a los de la palabra de referencia, la instrucción establece el bit de encontrado (FD)
en la palabra de control. En caso contrarior, el bit de encontrado (FD) se pone a
cero.

Los bits enmascaran datos cuando se restablecen y transfieren datos cuando se


establecen.

La máscara puede ser fija o variable. Si introduce un código hexadecimal, la


máscara es fija. Si introduce una dirección de elemento o una dirección de archivo
para cambiar la máscara con cada paso, la máscara es variable.

Cuando el renglón va de falso a verdadero, la instrucción se incrementa al próximo


paso (palabra) en el archivo de secuenciador. Los datos almacenados en éste se
transfieren a través de una máscara y se comparan contra los datos de fuente para
determinar igualdad. Si los datos de fuente son iguales a los datos de referencia, el bit
FD se establece en el contador de control de SQC. Los datos actuales se comparan
contra la fuente durante cada escán en que el renglón es evaluado como verdadero.

6–12
Instrucciones específicas de aplicación

Las aplicaciones de la instrucción SQC incluyen diagnósticos de máquina. La


ilustración siguiente explica cómo funciona la instrucción SQC.

SQC
SEQUENCER COMPARE (EN)
File #B10:11 (DN)
Mask FFF0 (FD)
Source I:3.0
Control R6:21
Length 4
Position 2

   


0010 0100 1001 1101

  ! 
1111 1111 1111 0000


        
 
  
 
 0010 0100 1001 1010 
 
 

El bit FD SQC se establece cuando la instrucción detecta


que una palabra de entrada corresponde (máscara de
paso) a su palabra de referencia.
El bit FD R6:21/FD está establecido en este ejemplo ya que
la palabra de entrada corresponde al valor de referencia de
secuenciador que usa el valor de máscara.

6–13

Manual de referencia del juego de instrucciones

Carga de secuenciador (SQL)


3 3 3 3
SQL
SEQUENCER LOAD (EN) La instrucción SQL almacena datos de 16 bits en un archivo de carga de
File
Source
(DN)
secuenciador a cada paso de la operación del secuenciador. La fuente de estos datos
Control
Length puede ser una dirección de palabra de E/S o de almacenamiento, una dirección de
Position
archivo o una constante.

  


Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• El archivo es la dirección del archivo de secuenciador. Debe usar el indicador
de archivo (#) para esta dirección.
• La fuente puede ser una dirección de palabra, dirección de archivo o una
constante (–32768 a 32767).
Si la fuente es una dirección de archivo, la longitud de archivo es igual a la
longitud del archivo de carga de secuenciador. Los dos archivos pasarán
automáticamente según el valor de posición.
• La longitud es el número de pasos del archivo de carga de secuenciador (y
también de la fuente si la fuente es una dirección de archivo), a partir de la
posición 1. El número máximo que puede introducir es 255 palabras (104
palabras cuando usa los controladores MicroLogix 1000). La posición 0 es la
posición de arranque. La instrucción se restablece (se ajusta automáticamente)
a la posición 1 durante cada ciclo completado.
La dirección de posición asignada para un archivo de secuenciador es el paso
cero. Las instrucciones de secuenciador usan la longitud más una palabra de
datos para cada archivo con referencia en la instrucción. Esto se aplica a la
fuente si se direcciona como archivo.

Un valor de longitud que indica más allá del fin del archivo programado
provoca un error mayor de tiempo de ejecución. Si modifica un valor de
longitud con su programa de escalera, asegúrese que el valor modificado sea
válido.
• La posición es la ubicación o paso de palabra en el archivo de secuenciador a la
cual se mueven los datos.
Un valor de longitud que indica más allá del fin del archivo programado
provoca un error mayor de tiempo de ejecución. Si modifica un valor de
longitud con su programa de escalera, asegúrese que el valor modificado sea
válido.

6–14
Instrucciones específicas de aplicación

• El control es una dirección de archivo de control. Los bits de estado, valor de


longitud y valor de posición se almacenan en este elemento. No use la
dirección de archivo de control para otras instrucciones.
El elemento de control se muestra abajo:

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Pal. 0 EN DN ER
Pal. 1 Longitud
Pal. 2 Posición

Los bits de estado de la estructura de control incluyen:

– El bit de error ER (bit 11) se establece cuando el procesador detecta un


valor de posición negativo, o un valor de longitud negativo o de cero.
Para los procesadores SLC, esto resulta en un error mayor si no se pone a
cero antes de la ejecución de la instrucción END o TND.
Para los controladores MicroLogix 1000, cuando el bit ER se establece
también se establece el bit de error (S5:2). Ambos bits se deben poner a
cero.

– El bit de efectuado DN (bit 13) se establece después de que la instrucción


haya operado en la última palabra en el archivo de carga de secuenciador.
Se restablece en la próxima transición de renglón de falso a verdadero
después de que el renglón se haga falso.

– El bit de habilitación EN (bit 15) se establece en una transición de falso


a verdadero del renglón SQL y se restablece en una transición de verdadero
a falso.

6–15

Manual de referencia del juego de instrucciones

Operación

Los parámetros de instrucción han sido programados en la instrucción SQL ilustrada


abajo. La palabra de entrada I:1.0 es la fuente. Los datos en esta palabra son
cargados en el archivo de entero #N7:30 por la instrucción de carga de secuenciador.

SQL
SEQUENCER LOAD (EN)
File #N7:30
Source I:1.0 (DN)
Control R6:4
Length 4  !
Position 2   
00
01
 
  02
03
 
15 8 7 0
04
0000 0101 0000 1010 05
06
07

       
08
 
  09
  0000 0000 0000 0000  10
 
11
 1010 0010 1111 0101  12
 0000 0101 0000 1010    13
 0000 0000 0000 0000  14
 0000 0000 0000 0000  15

Cuando las condiciones de renglón cambian de falso a verdadero, el bit de


habilitación SQL (EN) se establece. El elemento de control R6:4 se incrementa a la
próxima posición en el archivo de secuenciador y carga el contenido de la fuente
I:1.0 en esta ubicación. La instrucción SQL sigue cargando los datos actuales en
esta ubicación durante cada escán en que el renglón permanece verdadero. Cuando
el renglón se vuelve falso, el bit de habilitación (EN) se pone a cero.

La instrucción carga los datos en un nuevo elemento de archivo a cada transición de


falso a verdadero del renglón. Cuando se completa el paso 4, el bit de efectuado
(DN) se establece. La operación avanza a la posición 1 en la próxima transición de
falso a verdadero del renglón después de la posición 4.

Si la fuente fuera una dirección de archivo tal como #N7:40, los archivos #N7:40 y
#N7:30 tendrían una longitud de 5 (0–4) y rastrearían conjuntamente por los pasos
según el valor de posición.

6–16
Instrucciones específicas de aplicación

Instrucciones específicas de aplicación en el ejemplo de


aplicación de la perforadora de papel
Esta sección proporciona renglones de escalera para demonstrar el uso de las
instrucciones específicas de aplicación. Los renglones son parte del ejemplo de
aplicación de la perforadora de papel descrito en el apéndice H. Usted iniciará una
rubrutina en el archivo 4.

Esta porción de la subrutina indica al transportador dónde detenerse para permitir la


perforación de un orificio. Las instrucciones de secuenciador se usan para
almacenar las posiciones de parada del transportador y cargar la “próxima” posición
de parada en la palabra preseleccionada DII. (La interrupción de entrada discreta,
DII, se usa para contar impulsos precedentes del codificador [encoder] que está
conectado al transportador.) Las posiciones de parada se usan para almacenar y
acceder cada una de las tres configuraciones de orificios.

OPERATOR PANEL

Start I:1/6 Stop I:1/7


Change Drill Soon Change Drill Now Interruptor
O:3/4 O:3/6 selector de
Thumbwheel for perforación
Drill Change Reset 5 Hole
Thickness in 1/4"

3 Hole 7 Hole

(Keyswitch)
I:1/11-I:1/14 I:1/8 I:1/9-I:1/10

Perforadora

Orificios
perforados

6–17

Manual de referencia del juego de instrucciones

Renglón 4:0
Este renglón restablece los secuenciadores de conteo de orificios cada vez que el
procesador entra en el modo RUN. Esto asegura que el primer valor preseleccionado se
cargue en la DII preseleccionada a cada entrada en el modo de marcha.
| Primer secuenciador |
| paso de 3 orificios |
| preseleccionado|
| +INT––––––––––––––––––––+ S:1 R6:4 |
|–+INTERRUPT SUBROUTINE +––––] [––––––––––––––––––––––––––––––+–––(RES)––––+–|
| +–––––––––––––––––––––––+ 15 | | |
| | secuenc. | |
| | de 5 orif. | |
| | preselecc. | |
| | R6:5 | |
| +–––(RES)––––+ |
| | | |
| | secuenc. | |
| | de 7 orif. | |
| | preselecc. | |
| | R6:6 | |
| +–––(RES)––––+ |
| |
Renglón 4:2
Este renglón registra el número de orificio que se perfora y carga la próxima DII
correcta preseleccionada basada en el conteo de orificios. Este renglón solamente
está activo cuando el “interruptor selector de orificio” está en la posición de “3
orificios”. El secuenciador usa el paso 0 como un paso nulo al restablecerse. Usa el
último paso como “continuar infinitivamente” en espera del “fin de manual”. El mover
0 a S:49 le indica a la DII que dispare una interrupción cuando el borde trasero del
libro actual se detecta.
| bit 0 |bit 1 secuenciador |
| del interr. |del interr. de 3 orificios |
| selector |selector preseleccionado |
| de orificio |de orificio |
| I:1.0 I:1.0 +SQO–––––––––––––––+ |
|––––]/[––––––––] [–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–|
| 9 10 | |File #N10:0+–(DN) | |
| | |Mask FFFF| | |
| | |Dest S:50| | |
| | |Control R6:4| | |
| | |Length 4| | |
| | |Position 0| | |
| | +––––––––––––––––––+ | |
| | | |

6–18
Instrucciones específicas de aplicación

| | | |
| | forzar que el | |
| | secuenciador | |
| | incremente en | |
| | el próximo escán | |
| | R6:4 | |
| +–––––––––––––––––––––––––(U)––––––––––––––––––––+ |
| | EN | |

Renglón 4:3
Este renglón es idéntico al renglón anterior con la excepción de que sólo está
activado cuando el “interruptor selector de orificio” está en la posición de “5
orificios”.
| bit 0 |bit 1 secuenciador |
| del interr. |del interr. de 5 orificios |
| selector de |selector de preseleccionado |
| orificio |orificio |
| I:1.0 I:1.0 +SQO–––––––––––––––+ |
|––––] [––––––––]/[–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–|
| 9 10 | |File #N10:5+–(DN) | |
| | |Mask FFFF| | |
| | |Dest S:50| | |
| | |Control R6:5| | |
| | |Length 6| | |
| | |Position 0| | |
| | +––––––––––––––––––+ | |
| | | |
| | forzar que el | |
| | secuenciador | |
| | incremente en | |
| | el próximo escán | |
| | R6:5 | |
| +–––––––––––––––––––––––––(U)––––––––––––––––––––+ |
| | EN | |

6–19

Manual de referencia del juego de instrucciones

Renglón 4:4
Este renglón is idéntico a los 2 renglones anteriores con la excepción de que sólo
está activado cuando el “interruptor selector de orificio” está en la posición de “7
orificios”.
| bit 0 |bit 1 secuenciador |
| del interr. |del interr. de 7 orificios |
| selector de |selector de preseleccionado |
| orificio |orificio |
| I:1.0 I:1.0 +SQO–––––––––––––––+ |
|––––] [––––––––] [–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–|
| 9 10 | |File #N10:12+–(DN) | |
| | |Mask FFFF| | |
| | |Dest S:50| | |
| | |Control R6:6| | |
| | |Length 8| | |
| | |Position 0| | |
| | +––––––––––––––––––+ | |
| | forzar que el | |
| | secuenciador | |
| | incremente en | |
| | el próximo escán | |
| | R6:6 | |
| +–––––––––––––––––––––––––(U)––––––––––––––––––––+ |
| | EN | |

6–20
Cómo usar las instrucciones del contador de alta velocidad

7 Cómo usar las instrucciones del


contador de alta velocidad
Este capítulo contiene información general acerca de las instrucciones del contador
de alta velocidad y explica cómo funcionan en su programa de aplicación. Cada una
de las instrucciones incluye información acerca de:
• cómo aparece el símbolo de instrucción
• cómo usar la instrucción

Además, la última sección contiene un ejemplo de aplicación para una perforadora


de papel que muestra el uso de las instrucciones del contador de alta velocidad.
Instrucciones del contador de alta velocidad

#  # ! "


   #     
        ! 
    
         $
  
   
       
    #  
   
       
      
        $
   
     "  
   
             
    $
     
  
   
                
$
             
  
     #
        #  
    
    #     

  
       !     
    #
        
    
   
  
  !              
               !   $
         

7–1

Manual de referencia del juego de instrucciones

Acerca de las instrucciones del contador de alta


velocidad
Las instrucciones del contador de alta velocidad usadas en su programa de escalera
configuran, controlan y monitorizan el contador de hardware del controlador. El
acumulador de hardware del contador incrementa o decrementa en respuesta a
señales de entrada externas. Cuando el contador de alta velocidad está habilitado, el
contador de tabla de datos C5:0 es usado por el programa de escalera para
monitorizar el acumulador y estado del contador de alta velocidad. El contador de
alta velocidad opera independientemente del escán de controlador.

Cuando use el contador de alta velocidad, asegúrese de ajustar debidamente los


filtros de entrada.

Antes de aprender estas instrucciones, lea la descripción general que sigue en la


próxima página.

7–2
Cómo usar las instrucciones del contador de alta velocidad

Descripción general de las instrucciones del contador


de alta velocidad
Use las instrucciones del contador de alta velocidad para detectar y almacenar
impulsos estrechos (rápidos) y para iniciar otras operaciones de control basadas en
los valores preseleccionados. Estas operaciones de control incluyen la ejecución
automática e inmediata de la rutina de interrupción del contador de alta velocidad
(archivo 4) y la actualización inmediata de salidas basada en una configuración de
fuente y máscara que usted ha establecido.

Elementos del archivo de datos del contador

Las instrucciones del contador de alta velocidad hacen referencia al contador C5:0. La
instrucción HSC se fija a C5:0. Se compone de tres palabras. La palabra 0 es la
palabra de estado que contiene 15 bits de estado. La palabra 1 es el valor preselec-
cionado. La palabra 2 es el valor acumulador. Una vez asignado a la instrucción HSC,
C5:0 no está disponible como dirección para otras instrucciones de contador.

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Pal. 0 CU CD DN OV UN UA HP LP IV IN IH IL PE LS IE Palabra
de estado
Pal. 1 Valor preseleccionado
Pal. 2 Valor de acumulador

CU = Bit de habilitación de conteo progresivo


CD = Bit de habilitación de conteo regresivo
DN = Bit de alto valor preseleccionado alcanzado
OV = Bit de overflow ocurrido
UN = Bit de underflow ocurrido
UA = Bit de actualización de acumulador de contador de alta velocidad
HP = Bit de alto valor preseleccionado ≥ de acumuladorÀ
LP = Bit de bajo valor preseleccionado ≤ de acumulador
IV = Bit de overflow ha causado interrupción de contador de alta velocidadÀ
IN = Bit de underflow ha causado interrupción de contador de velocidadÀ
IH = Bit de alto valor preseleccionado ha causado interrupciónÀ
IL = Bit de bajo valor preseleccionado ha causado interrupciónÀ
PE = Bit de interrupción pendiente de contador de alta velocidadÀ
LS = Bit de interrupción perdida de contador de alta velocidadÀ
IE = Bit de habilitación de interrupción de contador de alta velocidadÀ

À  

  
 
   

        

Los valores preseleccionados y acumulados del contador se almacenan como


enteros signados.
Uso de bits de estado

Los bits de estado del contador de alta velocidad son retentivos. Cuando el contador
de velocidad se configura por primera vez, los bits 3–7, 14 y 15 se restablecen y el
bit 1 (IE) se establece.

7–3

Manual de referencia del juego de instrucciones

• El bit de habilitación del contador progresivo CU (bit 15) se usa con todos
los tipos de contadores de alta velocidad. Si la instrucción HSC es verdadera, el
bit CU se pone a uno. Si la instrucción HSC es falsa, el bit CU se pone a cero.
No escriba a este bit.
• El bit de habilitación del contador regresivo CD (bit 14) se usa con los
contadores bidireccionales (modos 3–8). Si la instrucción HSC es verdadera, el
bit CD se pone a uno. Si la instrucción HSC es falsa, el bit CD se pone a cero.
No escriba a este bit.
• Bit de valor alto preseleccionado alcanzado DN (bit 13) Para los contadores
progresivos (modos 1 y 2), este bit es un bit de enclavamiento disparado por
flanco. Este bit se establece cuando el valor alto preseleccionado se alcanza.
Puede restablecer este bit con una instrucción OTU o ejecutando una
instrucción RAC o RES.
El bit DN es un bit reservado para todas las otras opciones del contador (modos
3–8).
• Bit de overflow ocurrido OV (bit 12) Para los contadores progresivos (modos
1 y 2), este bit está establecido por el controlador cuando el valor alto
preseleccionado se alcanza si el bit DN se ha establecido.
Para los contadores bidireccionales (modos 3–8), el bit OV está establecido por
el controlador después de la transición del acumulador de hardware de 32,767 a
–32,768. Puede restablecer este bit con una instrucción OTU o ejecutando una
instrucción RAC o RES para los contadores progresivos y bidireccionales.
• El bit de underflow ocurrido UN (bit 11) es un bit reservado para los
contadores progresivos (modos 1 y 2). No escriba a este bit.
Nota Para los contadores bidireccionales (modos 3–8), el bit UN está establecido por
el controlador cuando el acumulador de hardware hace una transición de
–32,768 a +32,767. Puede restablecer este bit con una instrucción o ejecutando
una instrucción RAC o RES.
• El bit de actualización del acumulador del contador de alta velocidad UA
(bit 10) se usa con una instrucción OTE para actualizar el valor del acumulador
de imagen de instrucción con el valor del acumulador de hardware. (La
instrucción HSC también realiza esta operación cada vez que el renglón con la
instrucción HSC es evaluado como verdadero.)
• El bit de acumulador  valor alto preseleccionado HP (bit 9) es un bit
reservado para todos los contadores progresivos (modos 1 y 2). No escriba a
este bit. (Excepción – puede establecer o restablecer este bit durante la
configuración inicial de la instrucción HSC. Vea la página 7–6 para obtener
más información.)
Para los contadores bidireccionales (modos 3–8), si el acumulador de hardware
se hacer mayor o igual que el valor alto preseleccionado, el bit HP se restablece.
Si el acumulador de hardware se hace menor que el valor alto preseleccionado,
el bit HP será restablecido por el controlador.

7–4
Cómo usar las instrucciones del contador de alta velocidad

• El bit de acumulador ≤ valor bajo preseleccionado LP (bit 8) es un bit


reservado para todos los contadores progresivos. No escriba a este bit.
(Excepción – puede establecer o restablecer este bit durante la configuración
inicial de la instrucción HSC. Vea la página 7–6 para obtener más información.
Para los contadores bidireccionales, si el acumulador de hardware se hace
menor o igual que el valor bajo preseleccionado, el bit LP será establecido por el
controlador. Si el acumulador de hardware se hace mayor que el valor bajo
preseleccionado, el bit LP será restablecido por el controlador.
• El bit de interrupción del contador de alta velocidad causada por overlow
IV (bit 7) se establece para identificar un overflow como la causa de una rutina
de interrupción del contador de alta velocidad. Los bits IN, IH e IL serán
restablecidos por el controlador cuando el bit IV se establezca. Examine este bit
al inicio de la rutina de interrupción del contador de alta velocidad (archivo 4)
para determinar el porqué de la interrupción ocurrida.
• El bit de interrupción del usuario causada por underflow IN (bit 6) se
establece para identificar un underflow como la causa de una ejecución de la
rutina de interrupción del contador de alta velocidad. Los bits IV, IH e IL serán
restablecidos por el controlador cuando el bit IN se establezca. Examine este bit
al inicio de la rutina de interrupción del contador de alta velocidad (archivo 4)
para determinar el porqué de la interrupción ocurrida.
• El bit de interrupción del usuario causada por el valor alto preseleccionado
alcanzado IH (bit 5) se establece para identificar un valor alto
preseleccionado alcanzado como la causa de ejecución de la rutina de
interrupción del contador de alta velocidad. Los bits IV, IN e IL serán
restablecidos por el controlador cuando el bit IH se establezca. Examine este bit
al inicio de la rutina de interrupción del contador de alta velocidad (archivo 4)
para determinar el porqué de la interrupción ocurrida.
• El bit de interrupción del contador de alta velocidad causada por valor
bajo preseleccionado alcanzado IL (bit 4) se establece para identificar un
valor bajo preseleccionado alcanzado como la causa de ejecución de la rutina de
interrupción del contador de alta velocidad. Los bits IV, IN e IH serán
restablecidos por el controlador cuando el bit IL se establezca. Examine este bit
al inicio de la rutina de interrupción del contador de alta velocidad (archivo 4)
para determinar el porqué de la interrupción ocurrida.
• Bit de interrupción pendiente del contador de alta velocidad PE (bit 3) es
establece para indicar que una interrupción del contador de alta velocidad
espera la ejecución. Este bit es puesto a cero por el controlador cuando la rutina
de interrupción del contador de alta velocidad comienza a ejecutar. Este se
restablece si una instrucción RAC o RES se ejecuta. No escriba a este bit.
• El bit de interrupción perdida del contador de alta velocidad LS (bit 2) se
establece si una interrupción del contador de alta velocidad ocurre mientras que
el bit PE esté establecido. Puede restablecer este bit con una instrucción OTU o
ejecutando una instrucción RAC o RES.
• El bit de habilitación de interrupción del contador de alta velocidad IE
(bit 1) se establece cuando la interrupción del contador de alta velocidad se
habilita para marchar cuando ocurre una condición de interrupción del contador
de alta velocidad. Se restablece cuando la interrupción se inhabilita. Este bit
también se establece cuando el contador de alta velocidad se configura por
primera vez. No escriba a este bit.

7–5

Manual de referencia del juego de instrucciones

Contador de alta velocidad (HSC)


HSC
HIGH SPEED COUNTER (CU)
Use esta instrucción para configurar el contador de alta velocidad. Solamente una
Type
Counter C5:0
(CD)
(DN)
instrucción HSC se puede usar en un programa. El contador de alta velocidad no
High Preset 0
Accum 0 opera hasta que la primera ejecución verdadera de la instrucción HSC. Cuando el
renglón HSC es falso, el contador de alta velocidad está inhabilitado para contar,
pero todas las otras características HSC funcionan.
La dirección de contador de la instrucción se fija a C5:0.
Después de la configuración del HSC, el acumulador de imagen (C5:0.ACC) se
actualiza con el valor del acumulador de hardware actual cada vez que la instrucción
HSC se evalúa como verdadera o falsa.

Cómo introducir parámetros


Introduzca los parámetros siguientes al programar esta instrucción:
• El tipo indica el contador seleccionado. Refiérase a la página 7–7 para hacer su
selección del contador de alta velocidad. Cada tipo está disponible con
funciones de restablecimiento y retención.
• El valor alto preseleccionado es el valor acumulado que dispara una acción
especificada por el usuario tal como la actualización de salidas o la generación
de una interrupción del contador de alta velocidad.
• El acumulador es el número de conteos acumulados.

La terminología siguiente se usa en la tabla siguiente para indicar el estado del


conteo:
• Progresivo↑ – aumenta en 1 cuando la entrada se activa (margen).
• Regresivo↑ – disminuye en 1 cuando la entrada se activa (margen).
• Restablecimiento↑ – pone el acumulador a cero cuando la entrada se activa
(margen).
• Retención – inhabilita que el contador de alta velocidad cuente durante la
activación de la entrada (nivel).
• Conteo – aumenta o disminuye en 1 cuando la entrada se activa (margen).
• Dirección – permite conteos progresivos cuando la entrada está desactivada y
conteos regresivos cuando la entrada está activada (nivel).
• A – impulso de entrada en un codificador (encoder) (cuadratura) incremental
(margen/nivel).
• B – impulso de entrada en un codificador (encoder) (cuadratura) incremental
(margen/nivel).
• Z – restablecimiento del impulso en un codificador (encoder) (cuadratura)
incemental (margen/nivel).
• ↑ – la señal está activa en la margen ascendente solamente (desactivado a
activado)

7–6
Cómo usar las instrucciones del contador de alta velocidad

La tabla siguiente lista la tecla de función que debe presionar para seleccionar el
tipo de contador de alta velocidad deseado.

ipo de contador de alta Terminal de entrada usada


Funcionalidad del contador
velocidad y tecla de
función de alta velocidad I/0 I/1 I/2 I/3
La operación del contador progresivo usa
Progresivo Progresivo↑ No usado No usado No usado
una entrada unipolar.
Progresivo La operación del contador progresivo usa
RestableĆ
(con restablecimiento y una sola entrada con entradas de Progresivo↑ No usado Retención
cimiento↑
retención) restablecimiento y retención externos
La operación bidireccional usa entradas
Impulso y dirección Conteo↑ Dirección No usado No usado
de impulso y dirección.
Impulso y dirección La operación bidireccional usa entradas
RestableĆ
(con restablecimiento y de impulso y dirección con entradas de Conteo↑ Dirección Retención
cimiento↑
retención externos) restablecimiento y retención externos.
La operación bidireccional usa entradas
Progresivo y regresivo Progresivo↑ Regresivo↑ No usado No usado
de dirección progresiva y regresiva.
La operación bidireccional usa entradas
Progresivo y regresivo
de impulso progresivo y regresivo con RestableĆ
(con restablecimiento y Progresivo↑ Regresivo↑ Retención
entrada de restablecimiento y retención cimiento↑
retención externos)
externos.
La operación bidireccional usa entradas
Codificador (encoder) A B No usado No usado
de codificador (encoder) de cuadratura.
Codificador (encoder) La operación bidireccional usa entradas
(con restablecimiento y de codificador (encoder) de cuadratura A B Z Retención
retención externos) con restablecimiento y retención externos.

Una diferencia entre los contadores progresivos y los contadores bidireccionales es


que los valores de acumulador y preseleccionados de los contadores bidireccionales
no son cambiados por el contador de alta velocidad cuando los valores preselec-
cionados se alcanzan. Las instrucciones RAC y HSL se deben usar para esta
función. Los contadores progresivos ponen a cero el acumulador y vuelven a cargar
los valores altos preseleccionados cuando el valor preseleccionado se alcanza.

7–7
 
Manual de referencia del juego de instrucciones

Uso del contador progresivo y el contador regresivo con restablecimiento


y retención

Los contadores progresivos se usan cuando el parámetro que se mide es


unidireccional, tal como el material que se alimenta en una máquina o un tacómetro
que registra el número de impulsos realizados durante un plazo determinado.

Ambos tipos de contadores progresivos operan de la misma manera, excepto que el


contador progresivo con restablecimiento y retención usa entradas externas 2 y 3.

Para el contador progresivo, cada cambio del estado desactivado a activado de la


entrada I:0/0 añade 1 al acumulador hasta que se alcance el valor alto
predeterminado. Luego el acumulador se pone automáticamente a cero. El
contador progresivo opera en el rango de 0 a +32,767 inclusivamente y se puede
poner a cero usando la instrucción de restablecimiento (RES).

Cuando la instrucción HSC se ejecuta como verdadera por primera vez:


• El acumulador C5:0.ACC se carga en el acumulador de hardware.
• El valor alto preseleccionado C5:0.PRE se carga en el valor alto
preseleccionado de hardware.

Operación

Si usted mueve los datos al valor alto predeterminado sin usar la instrucción HSL
(con MOV) después de la configuración del contador de alta velocidad, los datos se
cargan en la imagen de instrucción pero no se cargan en el hardware. El valor alto
preseleccionado modificado no se carga en el hardware hasta que el valor alto
preseleccionado de hardware existente se alcance o hasta que una instrucción RAC o
RES se ejecute.

El valor alto preseleccionado cargado en el hardware debe ser entre 1 y 32,767


inclusivamente o un error de INVALID PRESETs LOADED TO HIGH SPEED
COUNTER (37H) ocurre. Todo valor entre –32,768 y +32,767, ambos valores
inclusive, se puede cargar en el acumulador de hardware.
  

 

     
                
                 
              
      

                
           
    
    
      

7–8
Cómo usar las instrucciones del contador de alta velocidad

Cuando se alcanza un valor alto preseleccionado, los conteos se pierden.


• Los acumuladores de hardware e instrucción se restablecen.
• El valor alto preseleccionado de instrucción se carga en el valor alto
preseleccionado de hardware.
• El bit DN se establece.
• El archivo de interrupción del contador de alta velocidad (archivo de programa
4) se ejecuta si la interrupción se habilita. El bit IH se establece y los bits IL,
IV e IN se establecen.

Si el bit DN ya está establecido cuando se alcanza un valor alto preseleccionado, el


bit OV está establecido.

Las tablas siguientes resumen los estados de entrada necesarios para que la acción
del contador de alta velocidad se lleve a cabo:

Contador progresivo


  
 
       

       


       


 
   




 
  
    



 



7–9
Preface
Manual de referencia del juego de instrucciones

Contador progresivo con restablecimiento y retención

Estado de entrada
Acción del
Conteo de Dirección RestableciĆ Retención contador de alta
Renglón
entrada de entrada miento de de entrada velocidad
HSC
(E/S) (I/1) entrada (I/2) (I/3)
  
   
   
  
  
  
  
 
    
 

  
  
 
       

  
     
 
        

     
 
      


    

Uso del contador bidireccional y el contador bidireccional con


restablecimiento y retención

Los contadores bidireccionales se usan cuando el parámetro que se mide puede


incrementar o disminuir. Por ejemplo, un paquete que entra y sale de una tolva de
almacenamiento se cuenta para regular el flujo a través del área.

Los contadores bidireccionales operan de la misma manera, excepto la operación de


entradas 1 y 0. Para los tipos de impulso y dirección, la entrada 0 proporciona el
impulso y la entrada 1 proporciona la dirección. Para los tipos progresivos y
regresivos, la entrada 0 proporciona el conteo progresivo y la entrada 1 proporciona
el conteo regresivo. Ambos tipos están disponibles con y sin restablecimiento y
retención. Refiérase a la página 7–7 para obtener más información acerca de los
tipos de contador bidireccional.

Para los contadores bidireccionales, se usan los valores altos y bajos


preseleccionados. El valor bajo preseleccionado debe ser menor que el valor alto
preseleccionado o de lo contrario ocurrirá un error INVALID PRESETs LOADED
TO HIGH SPEED COUNTER (37H).

Los contadores bidireccionales operan en el rango de –32,768 a +32,767 inclusive y


se pueden poner a cero usando la instrucción de restablecimiento (RES).

7–10
Cómo usar las instrucciones del contador de alta velocidad

Operación

Cuando la instrucción HSC se ejecuta como verdadera por primera vez, el:
• Valor bajo preseleccionado de hardware se establece a –32,768.
• Acumulador de instrucción se carga en el acumulador de hardware.
• Valor alto preseleccionado de instrucción se carga en el valor alto
preseleccionado de hardware.

Después de la primera ejecución verdadera de instrucción HSC, los datos se pueden


transferir únicamente al acumulador de hardware vía una instrucción RES o RAC, o
a los valores alto y bajo preseleccionados de hardware vía la instrucción HSL.

Todo valor de acumulador de instrucción entre –32,768 y +32,767 inclusive se


puede cargar en el hardware. El valor alto preseleccionado debe ser mayor que el
valor bajo preseleccionado o un error INVALID PRESETs LOADED TO HIGH
SPEED COUNTER (37H) ocurre.

 
      

  


    
      



        


  
      
   


          
   
        


  
      


      
          


 

Cuando un valor alto preseleccionado se alcanza, el:


• Bit HP se establece.
• Un archivo de interrupción del contador de alta velocidad (archivo de programa
4) se ejecuta si la interrupción se ejecuta. El bit IH se establece y los bits IL, IV
e IN se restablecen.

En contra de los contadores progresivos, el valor de acumulador no se restablece y


el valor alto preseleccionado no se carga desde la imagen hacia el registro del valor
alto preseleccionado de hardware.
 
      

  


    
      



        


  
 
  
    


           
   
          


  
 

      


      
         


 

7–11
Preface
Manual de referencia del juego de instrucciones

Cuando el valor bajo preseleccionado se alcanza, el:


• Bit LP se establece.
• Archivo de interrupción del contador de alta velocidad (archivo de programa 4)
se ejecuta si la interrupción se habilita. El bit IL se establece y los bits IH, IV e
IN se restablecen.

Un overflow ocurre cuando el acumulador de hardware hace una transición de


+32,767 a –32,768. Cuando un overflow ocurre, el:
• Bit OV se establece.
• Archivo de interrupción del contador de alta velocidad (archivo de programa 4)
se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e
IN se restablecen.

Un underflow ocurre cuando el acumulador de hardware hace una transición de


–32,768 a +32,767. Cuando un underflow ocurre, el:
• Bit UN se establece.
• Archivo de interrupción del contador de alta velocidad (archivo de programa 4)
se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e
IN se restablecen.

Las tablas siguientes resumen los estados de entrada necesarios para que la acción
del contador de alta velocidad correspondiente se lleve a cabo:

Contador bidireccional (impulso/dirección)

Estado de entrada
Acción del
Conteo de Dirección RestableciĆ Retención contador de alta
Renglón
entrada de entrada miento de de entrada velocidad
HSC
(E/S) (I/1) entrada (I/2) (I/3)


 


   




 



 
   
  




  
    



 



7–12
Cómo usar las instrucciones del contador de alta velocidad

Contador bidireccional con restablecimiento y retención (impulso/dirección)

Estado de entrada
Acción del
Conteo de Dirección RestableciĆ Retención contador de alta
Renglón
entrada de entrada miento de de entrada velocidad
HSC
(E/S) (I/1) entrada (I/2) (I/3)
  
   
          
  
  
  
  
           
 
  
  

 
       

  
  

 
       

  
     

 
        

     

 
      


   

Contador bidireccional (conteo progresivo/regresivo)

Estado de entrada
Conteo Conteo Acción del
progresivo regresivo Renglón contador de alta
de entrada de entrada HSC velocidad
(E/S) (I/1)
  
   
    
  
  
  
  
      
 
  

 
   


   

7–13
Preface
Manual de referencia del juego de instrucciones

Contador bidireccional con restablecimiento y retención (conteo progresivo/regresivo)

Estado de entrada
Acción del
Conteo de Dirección RestableciĆ Retención contador de alta
Renglón
entrada de entrada miento de de entrada velocidad
HSC
(E/S) (I/1) entrada (I/2) (I/3)
     
   
          
  
     
     
  
            
 
     
  

 
       

  
  

 
       

  
        

 
          

        

 
      


   

Cuando los impulsos de entrada progresivos y regresivos ocurren simultáneamente,


el contador de alta velocidad cuenta progresivamente y luego regresivamente.

Uso del contador bidireccional con restablecimiento y retención con


codificador (encoder) de cuadratura

El codificador (encoder) de cuadratura se usa para determinar la dirección de


rotación y la posición de rotación; por ejemplo, para un torno. El contador
bidireccional cuenta la rotación del codificador (encoder) de cuadratura.

Los contadores bidireccionales operan dentro del rango de –32,768 a +32,767


inclusive y se pueden poner a cero usando la instrucción de restablecimiento (RES).
La figura siguiente muestra un condificador (encoder) de cuadratura conectado a
entradas 0, 1 y 2. La dirección de conteo es determinada por el ángulo de fase entre
A y B. Si A precede B, el contador incrementa. Si B precede A, el contador se
reduce.

El contador se puede restablecer usando la entrada Z. Las salidas Z de los


codificadores (encoders) típicamente porporcionan un impulso por revolución.

7–14
Cómo usar las instrucciones del contador de alta velocidad


  


  

  
  
   

    
          


    



Operación

Para los contadores bidireccionales, se usan los valores altos y bajos


preseleccionados. El valor bajo preseleccionado debe ser menor que el valor alto
preseleccionado o de lo contrario ocurrirá un error INVALID PRESETs LOADED TO
HIGH SPEED COUNTER (37H).

Cuando la instrucción HSC se ejecuta como verdadera por primera vez, el. . .
• Valor bajo preseleccionado de hardware se establece a –32,768.
• Acumulador de instrucción se carga en el acumulador de hardware.
• Valor alto preseleccionado de instrucción se carga en el valor alto
preseleccionado de hardware.

Todo valor de acumulador de instrucción entre –32,768 y +32,767 inclusive se


puede cargar en el hardware.

Después de la primera ejecución verdadera de la instrucción HSC, los datos sólo se


pueden transferir al acumulador de hardware vía una instrucción RES o RAC, o a
los valores alto y bajo preseleccionado de hardware vía la instrucción HSL.

7–15
 
Manual de referencia del juego de instrucciones

  

 

     
  


    
      



        


  
      
   


          
   
        


  
      


      
          


 

Cuando se alcanza un valor alto preseleccionado, el. . .


• Bit HP se establece.
• Archivo de interrupción del contador de alta velocidad (archivo de programa 4)
se ejecuta si la interrupción se ejecuta. El bit IH se establece y los bits IL, IV e
IN se restablecen.

A diferencia de los contadores progresivos, el valor de acumulador no se restablece


y el valor alto preseleccionado no se carga desde la imagen hacia el registro del
valor alto preseleccionado de hardware.
  

 

     
  


    
      



        


  
 
  
    


           
   
          


  
 

      


      
         


 

Cuando el valor bajo preseleccionado se alcanza, el:


• Bit LP se establece.
• El archivo de interrupción del contador de alta velocidad (archivo de programa
4) se ejecuta si la interrupción se habilita. El bit IL se establece y los bits IH,
IV e IN se restablecen.

Un overflow ocurre cuando el acumulador de hardware hace una transición de


+32,767 a –32,768. Cuando un overflow ocurre, el. . .
• Bit OV se establece.
• Archivo de interrupción del contador de alta velocidad (archivo de programa 4)
se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e
IN se restablecen.

7–16
Cómo usar las instrucciones del contador de alta velocidad

Un underflow ocurre cuando el acumulador de hardware hace una transición de


–32,768 a +32,767. Cuando un underflow ocurre, el. . .
• Bit UN se establece.
• Archivo de interrupción del contador de alta velocidad (archivo de programa 4)
se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e
IN se restablecen.

Las tablas siguientes resumen los estados de entrada necesarios para que la acción
del contador de alta velocidad correspondiente se lleve a cabo:

Contador bidireccional (codificador [encoder])

Estado de entrada Acción del


Entrada A Entrada B Renglón contador de alta
(E/S) (I/1) HSC velocidad
     
     
     
 
   

  

Contador bidireccional con restablecimiento y retención (codificador [encoder])

Estado de entrada
Acción del
Conteo de Dirección RestableciĆ Retención contador de alta
Renglón
entrada de entrada miento de de entrada velocidad
HSC
(E/S) (I/1) entrada (I/2) (I/3)
       
       
 " 
   
  
       
   
   
       
  À     

  
À               "   !  ! 

7–17

Manual de referencia del juego de instrucciones

Carga del contador de alta velocidad (HSL)


HSL
HSC LOAD
Esta instrucción le permite establecer los valores bajo y alto preseleccionados, las
Counter
Source
C5:0
(CU) fuentes baja y alta de salida y la máscara de salida. Cuando un valor alto o bajo
Length 5
(DN) preseleccionado se alcanza, usted puede actualizar inmediatamente las salidas
seleccionadas.

Si usa la instrucción HSL con el contador progresivo, el valor alto preseleccionado


debe ser ≥ 1 y ≤ +32,767 o de lo contrarior ocurrirá un error INVALID PRESETs
LOADED TO HIGH SPEED COUNTER (37H). Para los contadores bidireccionales,
el valor alto preseleccionado debe ser mayor que el valor bajo preseleccionado o de
lo contrarior ocurrirá un error INVALID PRESETs LOADED TO HIGH SPEED
COUNTER (37H).

El contador indincado por esta instrucción tiene la misma dirección que el contador
de instrucción HSC y se fija a C5:0.

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• La fuente es una dirección que identifica la primera de cinco palabras de datos
usadas por el HSL. La fuente puede ser un elemento de archivo de entero o
binario.
• La longitud es el número de elementos que comienzan de la fuente. Este
número siempre es 5.

Operación

La instrucción HSL le permite configurar el contador de alta velocidad para que


actualice instantánea y automáticamente las salidas externas cuando un valor alto o
bajo preseleccionado se alcanza. Las salidas físicas se actualizan automáticamente
en menos de 30 µs. (El tiempo de encendido físico de las salidas no se incluye en
este total.) Luego la imagen de salida se actualiza automáticamente a la próxima
encuesta para interrupciones del usuario o instrucción IOM, cualquiera que ocurra
primero.

Con esta instrucción, puede cambiar el valor alto preseleccionado para los
contadores progresivos o los valores alto y bajo preseleccionados para los
contadores bidireccionales durante la operación. Tambien puede modificar la
confinguración de máscara de salida durante la operación.

La dirección de fuente es un elemento de archivo de entero o binario. Por ejemplo,


si N7:5 se selecciona como la dirección de fuente, los parámetros adicionales para la
ejecución de esta instrucción aparecerían tal como se muestra en la tabla siguiente.

7–18
Cómo usar las instrucciones del contador de alta velocidad

Ubicación
Contador
de la Contadores
progresivo Descripción
imagen de bidireccionales
solamente
parámetro
'-# # *.3 !+.)(  #-, ' % +"#/( 
,%# )%+ 0) , ('-+(%(
2,+  2,+  #-, 
 
#-, 
,%# ,%#
#-,  0 
 #-, 

.'-  .'- %-  ('-( )+(!+,#/( % ,-(  #-, ' ,-


  )%+ , ,+#  -+/3,  % &2,+ '
,%# ,%# %, ,%#, +%,
('-( )+(!+,#/( .'( % .&.%(+
%(+ %-( %(+ %-( %'1 ,- /%(+ % .'-  ,%# ,
  )+,%4 )+,%4 ,+#  -+/3,  % &2,+  ,%#  %,
#('( #('( ,%#, +%, 0 .' ,2' , +%#1  %
,.+.-#'  +"#/( 

.'- $  ('-( +!+,#/( % ,-(  #-, ' ,-


  ,+/( )%+ , ,+#  -+/3,  % &2,+  %,
,%# ,%#, +%,
('-( )+(!+,#/( .'( % .&.%(+
%(+ $( %'1 ,- /%(+ % .'-  ,%# ,
  ,+/( )+,%4 ,+#  -+/3,  % &2,+  ,%#  %,
#('( ,%#, +%, 0 .' ,2' , +%#1  %
,.+.-#'  +"#/( 

Los bits en la máscara de salida corresponden directamente a las salidas físicas. Si


un bit se establece a 1, la salida correspondiente puede cambiarse por el contador de
alta velocidad. Si un bit se establece a 0, la salida correspondiente no puede ser
cambiada por el contador de alta velocidad.
Los bits en las fuentes alta y baja también corresponden directamente a las salidas
físicas. La fuente alta se aplica cuando el valor alto preseleccionado se alcanza. La
fuente baja se aplica cuando el valor bajo preseleccionado se alcanza. Los estados
de salida final se determinan aplicando la fuente de salida sobre la máscara y
actualizando solamente las salidas sin máscara (las que tienen un número 1 en la
configuración del bit de máscara).
Siempre puede cambiar el estado de las salidas por medio del programa del usuario o
el dispositivo de programación sin importar la máscara de salida. El contador de alta
velocidad sólo modifica salidas y bits de imagen de salida seleccionados según las
configuraciones de fuente y bit de máscara cuando los valores preseleccionados se
alcanzan. El último dispositivo que cambia la imagen de salida (por ej., el programa
del usuario o contador de alta velocidad) determina la configuración de salida real.
Los forzados anulan el control de salida desde el contador de alta velocidad o
desde la imagen de salida. Los forzados se pueden aplicar a las entradas del
contador de alta velocidad. Las entradas forzadas son reconocidas por el
contador de alta velocidad (por ej., una entrada de conteo forzada a
desactivado y activado incrementa el acumulador de alta velocidad).

7–19

Manual de referencia del juego de instrucciones

El hardware del contador de velocidad se actualiza inmediatemente cuando la


instrucción HSL se ejecuta sin importar el tipo de contador de alta velocidad
(contador progresivo o contador bidireccional). Para los contadores progresivos, no
se hace caso de los dos últimos registros ya que el valor bajo preseleccionado no se
aplica.

Si un fallo ocurre a causa de la instrucción HSL, los parámetros HSL no se cargan


en el hardware del contador de alta velocidad. Puede usar más de una instrucción
HSL en su programa. Las instrucciones HSL pueden tener ubicaciones de imagen
diferentes para los parámetros adicionales.

No cambie un valor preseleccionado y una fuente/máscara de salida con la


misma instrucción HSL cuando el acumulador se acerca al valor
preseleccionado anterior.

Si el contador de alta velocidad se habilita y la instrucción HSL se evalúa como


verdadera, los parámetros del contador de alta velocidad en la instrucción
HSL se aplican inmediatemente sin detener la operación del contador de alta
velocidad. Si la misma instrucción HSL se usa para cambiar la
máscara/fuente y valor preseleccionado controlados por el contador de alta
velocidad, la máscara/fuente se cambia primero y el valor preseleccionado se
cambia segundo. (El valor preseleccionado se cambia dentro de 40 µs después
de la máscara/fuente.) Si el valor preseleccionado original se alcanza después
de que la nueva máscara/fuente se aplique pero antes de que el valor
preseleccionado nuevo se aplique, las salidas nuevas se aplicarán
inmediatamente.

7–20
Cómo usar las instrucciones del contador de alta velocidad

Restablecimiento del contador de alta velocidad (RES)


C5:0 La instrucción RES le permite escribir un cero en el acumulador de hardware y en el
RES acumulador de imagen.

El contador indicado por esta instrucción tiene la misma dirección que el contador
de instrucción HSC y se introduce como C0.

Operación

La ejecución de esta instrucción inmediatamente:


• elimina las interrupciones pendientes del contador de alta velocidad
• restablece los acumuladores de hardware e instrucción
• restablece los bits de estado PE, LS, OV, UN y DN
• carga el valor alto preseleccionado de instrucción y el valor alto
preseleccionado de hardware (si el contador de alta velocidad se ha configurado
como un contador progresivo)
• restablece los bits de estado IL, IT, IN o IV

Puede tener más de una instrucción RES en su programa.

7–21

Manual de referencia del juego de instrucciones

Acumulador de restablecimiento del contador de alta


velocidad (RAC)
RAC
RESET TO ACCUM VALUE
Esta instrucción le permite escribir un valor específico al acumulador de hardware y
Counter C5:0
Source al acumulador de imagen.

El contador indicado por esta instrucción tiene la misma dirección que el contador
de instrucción HSC y se fija a C5:0.

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• La fuente representa el valor que se carga en el acumulador. La fuente puede
ser una constante o una dirección.

Operación

La ejecución del RAC:


• elimina las interrupciones pendientes del contador de alta velocidad
• restablece los bits de estado PE, LS, OV UN y DN
• carga un valor de acumulador nuevo en la imagen de hardware e instrucción
• carga el valor alto preseleccionado de instrucción en el valor alto
preseleccionado de hardware (si el contador de alta velocidad se ha configurado
como un contador progresivo)
• restablece los bits de estado IL, IT, IN o IV

La fuente puede ser una constante o cualquier elemento entero en los archivos 0–7.
Los acumuladores de hardware e instrucción se actualizan con el valor de
acumulador nuevo inmediatamente al momento de ejecución de la instrucción.

Puede tener más de una instrucción RZC por programa indicando la misma fuente o
fuentes diferentes.

7–22
Cómo usar las instrucciones del contador de alta velocidad

Habilitación (HSE) e inhabilitación (HSD) de interrupción


del contador de alta velocidad
HSE
HSC INTERRUPT ENABLE
Estas instrucciones habilitan o inhabilitan la interrupción del contador de alta
COUNTER C5:0
velocidad cuando se alcanza un valor alto preseleccionado, un valor bajo
preseleccionado, un overflow o un underflow. Use el HSD y HSE conjuntamente
para proporcionar ejecución precisa a su aplicación.
HSD
HSC INTERRUPT DISABLE
COUNTER C5:0
El contador indicado por estas instrucciones tiene la misma dirección que el
contador de instrucción y se fija a C5:0.

Uso de HSE

Operación

Cuando la interrupción del contador de alta velocidad se habilita, la subrutina del


usuario (archivo de programa 4) se ejecuta cuando:
• Se alcanza un valor alto o bajo preseleccionado.
• Ocurre un overflow o underflow.

Cuando, en el modo de un solo escán de prueba y en una condición de operación


pasiva, la interrupción del contador de alta velocidad se retarda hasta que el próximo
disparo de escán se reciba del dispositivo de programación. El acumulador del
contador de alta velocidad cuenta durante el reposo.

El estado predeterminado de la interrupción del contador de alta velocidad se


habilita (el bit IE se establece a 1).

Si la rutina de interrupción del contador de alta velocidad se ejecuta y otra


interrupción del contador de alta velocidad ocurre, la segunda interrupción del
contador de alta velocidad se guarda pero se considera como pendiente. (El bit PE
se establece.) La segunda interrupción se ejecuta inmediatamente después que la
primera finalice su ejecución. Si una interrupción del contador de alta velocidad
ocurre mientras una interrupción del contador de alta velocidad está pendiente, se
perderá la interrupción del contador de alta velocidad más reciente y se establecerá
el bit LS.

7–23

Manual de referencia del juego de instrucciones

Uso de HSD

Operación

La instrucción HSD inhabilita la interrupción del contador de alta velocidad


evitando así que la subrutina de interrupción se ejecute.

Si el HSE se ejecuta después del establecimiento del bit pendiente, la interrupción se


ejecuta inmediatamente.

Esta instrucción HSD no cancela una interrupcion, sino que resulta en el


establecimiento del bit pendiente (C5:0/3) cuando:
• Se alcanza un valor alto o bajo preseleccionado.
• Ocurre un overflow o underflow.

Actualización del acumulador de imagen del contador


de alta velocidad (OTE)
C5:0 Cuando se direcciona una instrucción del bit OTE para el contador de alta velocidad
( )
UA (C5:0), causa que el bit UA se establezca. Cuando este bit se establece, el valor en
el acumulador de hardware se escribe al valor en el acumulador de imagen
(C5:0.ACC). Esto le proporciona acceso real al valor del acumulador de hardware.
Esto es adicional a la transferencia automática desde el acumulador de hardware
hacia el acumulador de imagen que ocurre cada vez que la instrucción HSC se
evalúa.

Operación

Esta instrucción transfiere el acumulador de hardware al acumulador de instrucción.


Cuando la instrucción OTE/UA se ejecuta como verdadera, el acumulador de
hardware se carga en el acumulador de imagen de instrucción (C5:0.ACC).

7–24
Cómo usar las instrucciones del contador de alta velocidad

Lo que ocurre con el HSC cuando pasa al modo de


marcha REM
Una vez inicializada, la instrucción HSC retiene su estado anterior cuando pasa por
un cambio de modo o la desconexión y reconexión de la alimentación eléctrica.
Esto significa que se retienen el acumulador HSC (C5:0.ACC) y los valores altos
preseleccionados. Las salidas bajo el control directo del HSC también retienen su
estado anterior. Los bits del valor bajo preseleccionado alcanzado y del valor bajo
preseleccionado alcanzado (Co/LP y C0/HP) también se retienen. Son examinados
por la instrucción HSC durante la primera evaluación verdadera del contador de alta
velocidad en el modo de marcha REM para diferenciar entre un modo de marcha
REM y una modificación externa o inicial del acumulador (C5:0.ACC).

A la primera ejecución verdadera de la instrucción HSC después del paso a marcha,


el valor bajo preseleccionado se inicializa a –32,768 y la máscara de salida y las
configuraciones de salida baja se incializan a cero. Use la instrucción HSL durante
el primer paso para restaurar cualesquier valores necesarios para su aplicación.

Puede modificar el comportamiento del contador de alta velocidad a la introducción


del modo de marcha REM ajustando los parámetros HSC antes de la primera
ejecución verdadera de la instrucción HSC. El siguiente ejemplo de renglones de
escalera demuestra las varias maneras de ajustar los parámetros HSC.

7–25

Manual de referencia del juego de instrucciones

Ejemplo 1

Para introducir el modo de marcha REM y hacer que las salidas HSC, ACC y
subrutina de interrupción reanuden su estado anterior, aplique lo siguiente:
(Renglón 2:0)
No requiere acción. (Recuérdese de que todas las instrucciones
OUT se ponen a cero cuando se introduce el modo de marcha REM.
Use las instrucciones SET/RST en lugar de las instrucciones
OUT en la lógica condicional que requier retención.)
| S:1 +HSL–––––––––––––––+ |
|––][–––––––––––––––––––––––––––––––––––+HSC LOAD +–|
| 15 |Counter C5:0| |
| |Source N7:0| |
| |Length 5| |
| +––––––––––––––––––+ |
Renglón 2:1
| +HSC––––––––––––––––––––+ |
|–––––––––––––––––––––––––––––+HIGH SPEED COUNTER +–(CU)–|
| |Type Encoder(Res,Hld) +–(CD) |
| |Counter C5:0+–(DN) |
| |High Preset 1000| |
| |Accum 0| |
| +–––––––––––––––––––––––+ |

7–26
Cómo usar las instrucciones del contador de alta velocidad

Ejemplo 2

Para introducir el modo de marcha REM y retener el valor HSC ACC mientras que
hace que las salidas HSC y la subrutina de interrupción se reanuden, aplique lo
siguiente:
Renglón 2:0
Desenclave los bits C5:0/HP y C5:0/LP durante el primer escán ANTES de
la ejecución de la instrucción HSC por primera vez.

| S:1 +HSL–––––––––––––––+ |
|––][––––––––––––––––––––––––––––––––––––––––––+HSC LOAD +– |
| 15 |Counter C5:0| |
| |Source N7:0| |
| |Length 5| |
| +––––––––––––––––––+ |

Renglón 2:1
| S:1 C5:0 |
|––][–––––––––––––––––––––––––––––––––––––––––––––––––––––+–(U)––+|––|
| 15 | HP | |
| | C5:0 | |
| +––(U)––+ |
| LP |

Renglón 2:2
| +HSC––––––––––––––––––––+ |
|–––––––––––––––––––––––––––––––––––––+HIGH SPEED COUNTER +–(CU)–|
| |Type Encoder (Res,Hld)+–(CD) |
| |Counter C5:0+–(DN) |
| |High Preset 1000| |
| |Accum 0| |
| +–––––––––––––––––––––––+ |

7–27

Manual de referencia del juego de instrucciones

Ejemplo 3

Para introducir el modo de marcha REM y hacer que el HSC ACC y la subrutina de
interrupción reanuden su estado anterior a la vez que se inicializan externamente las
salidas HSC, aplique lo siguiente:
Renglón 2:0
Desenclave o enclave los bits de salida bajo el control HSC durante el
primer escán después de la ejecución por primera vez de la instrucción
HSC. (Nota: usted podría colocar este renglón antes de la instrucción
HSC; sin embargo, no se recomienda.)

| S:1 +HSL–––––––––––––––+ |
|––][–––––––––––––––––––––––––––––––––––––––––––+HSC LOAD +–|
| 15 |Counter C5:0| |
| |Source N7:0| |
| |Length 5| |
| +––––––––––––––––––+ |

Renglón 2:1
| +HSC––––––––––––––––––––+ |
|–––––––––––––––––––––––––––––––––––––+HIGH SPEED COUNTER +–(CU)–|
| |Type Encoder (Res,Hld)+–(CD) |
| |Counter C5:0+–(DN) |
| |High Preset 1000| |
| |Accum 0| |
| +–––––––––––––––––––––––+ |

Renglón 2:2
Este renglón se programa con el conocimiento de una máscara HSL de
0007 (se usan salidas 0–2) e inicializa las salidas HSC a cada
introducción del modo de marcha REM. Las salidas O/0 y O/1 están
desactivadas mientras que la salida O/2 está activada.

| S:1 O:0 |
|––][––––––––––––––––––––––––––––––––––––––––––––––––––––+––(U)––+|––|
| 15 | 0 | |
| | O:0 | |
| +––(U)–––+ |
| | 1 | |
| | O:0 | |
| +––(L)–––+ |
| 2 |

7–28
Cómo usar las instrucciones del contador de alta velocidad

Instrucciones del contador de alta velocidad en el


ejemplo de aplicación de la perforadora de papel
Los renglones de escalera en esta sección demuestran el uso de la instrucción HSC
en el ejemplo de aplicación de la perforadora de papel iniciado en el capítulo 4.
Refiérase al apéndice G para obtener el ejemplo de aplicación entero de la
perforadora de papel.

#)
" """ $&#$&  
  $")  """  
&  """  
"%
""" #$$  ##" $($"  
"# $)  $"  
""#  

" " ' "& $"


*  %"$%" $($"
   
$)  $"# "$"   #"  "&  
""!%$)  "&  $"# "$"   #"  "&  
20226

El archivo de programa principal (archivo 2) inicializa la instrucción HSC,


monitoriza los botones de arranque y parada de la máquina y llama otras subrutinas
necesarias para hacer funcionar la máquina. Refiérase a los comentarios que
preceden cada renglón para obtener información adicional.

7–29

Manual de referencia del juego de instrucciones

Renglón 2:0
Inicializa el contador de alta velocidad cada vez que el modo de marcha
REM se introduce. El área de datos del contador de alta velocidad
corresponde con la dirección de arranque (dirección de fuente) de la
instrucción HSL. La instrucción HSC se inhabilita durante cada entrada
en el modo de marcha REM hasta la primera vez que se ejecute como
verdadera. (El valor alto preseleccionado fue “enclavijado” a la
inicialización para evitar que una interrupción de valor alto
preseleccionado ocurra durante el proceso de inicialización.)
| Primer Máscara de salida |
| paso (use sólo el bit 0 |
| por ej. O:0/0) |
| S:1 +MOV–––––––––––––––+ |
|––––] [–––––––––––––––––––––––––––––––––––––+–+MOVE +–+–|
| 15 | |Source 1| | |
| | | | | |
| | |Dest N7:5| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | Conf. de salida alta| |
| | (desactiva O:0/0) | |
| | | |
| | +MOV–––––––––––––––+ | |
| +–+MOVE +–+ |
| | |Source 0| | |
| | | | | |
| | |Dest N7:6| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | Valor alto preselec.| |
| |(cuenta al próx. orif)| |
| | |
| | +MOV–––––––––––––––+ | |
| +–+MOVE +–+ |
| | |Source 32767| | |
| | | | | |
| | |Dest N7:7| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | Conf. de salida baja| |
| | (activa O:0/0 | |
| | a cada restab.) | |
| | |
| | +MOV–––––––––––––––+ | |
| +–+MOVE +–+ |
| | |Source 1| | |
| | | | | |
| | |Dest N7:8| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | Valor bajo preselec.| |
| | (causa valor bajo | |
| | preselec. inicial | |
| | a cada restab.) | |
| | |
| | +MOV–––––––––––––––+ | |
| +–+MOVE +–+ |
| | |Source 0| | |
| | | | | |
| | |Dest N7:9| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | | |

7–30
Cómo usar las instrucciones del contador de alta velocidad

| | | |
| | Contador alta veloc.| |
| | | |
| | +HSL–––––––––––––––+ | |
| + –+HSC LOAD +–+ |
| |Counter C5:0| |
| |Source N7:5| |
| |Length 5| |
| +––––––––––––––––––+ |

Los renglones 2.0 y 2.2 se requieren para escribir varios parámetros al área de archivo
de datos del contador de alta velocidad. Estos dos renglones están acondicionados
por el bit de primer paso durante un escán cuando el controlador va del programa
REM al modo de marcha REM.
Renglón 2:1
Esta instrucción HSC no se coloca en la subrutina de interrupción del
contador de alta velocidad. Si esta instrucción se colocara en la
subrutina de interrupción, el contador de alta velocidad nunca se
activaría ni se inicializaría (porque una interrupción debe ocurrir
primero para realizar un escán de la subrutina de interrupción del
contador de alta velocidad.
| Contador de alta velocidad|
| +HSC––––––––––––––––––––+ |
|––––––––––––––––––––––––––––––––––––––+HIGH SPEED COUNTER +–(CU)–|
| |Type Encoder (Res,Hld)+–(CD) |
| |Counter C5:0+–(DN) |
| |High Preset 1250| |
| |Accum 1| |
| +–––––––––––––––––––––––+ |
Renglón 2:2
Fuerza que ocurra una interrupción del valor bajo preseleccionado del
contador de alta velocidad a cada entrada al modo de marcha REM. Una
interrupción sólo puede ocurrir en la transición del acumulador del
contador de alta velocidad a un valor preseleccionado (restablecimiento
del acumulador a 1, y luego a 0). Esto se hace para permitir que los
secuenciadores de la subrutina de interrupción del contador de alta
velocidad se inicialicen. El orden de la inicialización del contador de
alta velocidad es: (1) carga de parámetros del contador de alta
velocidad (2) ejecución de la instrucción HSL (3) ejecución de la
instrucción HSC verdadera (4) (opcional) forzar que ocurra una
interrupción del contador de alta velocidad..
| Primer Contador de alta velocidad|
| paso |
| S:1 +RAC––––––––––––––––––+ |
|––––] [––––––––––––––––––––––––––––––––––+–+RESET TO ACCUM VALUE +–+–|
| 15 | |Counter C5:0| | |
| | |Source 1| | |
| | | | | |
| | +–––––––––––––––––––––+ | |
| | Contador de | |
| | alta velocidad | |
| | C5:0 | |
| +–––(RES)–––––––––––––––––+ |

7–31

Manual de referencia del juego de instrucciones

El contador de alta velocidad se usa para controlar la posición del transportador. El


contador de alta velocidad cuenta los impulsos proporcionados por el codificador
(encoder) del transportador vía las entradas I:0/0 e I:0.1 de hardware. Las entradas
I:0/2 (restablecimiento) e I:0/3 (retención) de hardware están conectadas a un
interruptor fotoeléctrico para asegurar que la instrucción HSC cuente únicamente los
impulsos de codificador (encoder) cuando haya un manual enfrente de la
perforadora y que el contador de alta velocidad se restablezca a la punta de cada
manual.

El contador de alta velocidad pone a cero el bit de salida de propulsión del


transportador cada vez que se alcanza un valor alto preseleccionado. Como
resultado, la unidad propulsora decelera y detiene el motor del transportador. El
contador de alta velocidad borra la entrada en microsegundos asegurando así
exactitud y repetibilidad.

El contador de alta velocidad establece el bit de salida de la unidad propulsora del


transportador (O:0/0) cada vez que un valor bajo preseleccionado se alcanza. Como
resultado, la unidad propulsora acelera y mantiene el motor del transportador.

Cuando el manual ha recorrido la distancia especificada establecida por el valor alto


preseleccionado del contador de alta velocidad, la subrutina de interrupción del
contador de alta velocidad indica al programa principal que realice la secuencia de
perforación. Para obtener más información respecto a la subrutina de interrupción
usada en este programa, refiérase al ejemplo de aplicación en el capítulo 9.

Este ejemplo usa el codificador (encoder) de cuadratura con la instrucción de


restablecimiento y retención. El acumulador del contador de alta velocidad
incrementa y decrementa según la relación de cuadratura de las entradas A y B
(I:0/0 e I:01) del codificador (encoder). El acumulador se pone a cero cuando el
restablecimiento está activado o cuando la instrucción RES se ejecuta. Todos los
valores preseleccionados se introducen como un offset relativo a la punta de un
manual. Los valores preseleccionados para las configuraciones de orificio se
almacenan en las instrucciones SQO. (Refiérase al capítulo 6 para obtener la
instrucción SQO.) La entrada de restablecimiento externo (I:0/2) del contador de
alta velocidad y la entrada de retención externa (I:0/3) están cableadas en paralelo
para evitar que el contador de alta velocidad cuente mientras el restablecimiento esté
activo.

Se pueden ajustar los retardos del filtro de entrada para las entradas A y B (I:0/0 e
I:0/1) del contador de alta velocidad así como las entradas de restablecimiento y
retención (I:0/2 e I:0/3) del contador de alta velocidad.

7–32
Cómo usar las instrucciones del contador de alta velocidad

Renglón 4:5
Ocurrió una interrupción debido al valor bajo preseleccionado
alcanzado.
| C5:0 +RET–––––––––––––––+–|
|––––][––––––––––––––––––––––––––––––––––––––––––+RETURN + |
| IL +––––––––––––––––––+ |
Renglón 4:6
Indica al programa principal (archivo 2) que inicialice la secuencia de
perforación. El contador de alta velocidad ya ha detenido el
transportador en la posición correcta usando sus datos de configuración
de salida del valor alto preseleccionado (borrar O:0/0). Esto ocurrió
microsegundos después de alcanzar el valor alto preseleccionado (justo
antes de introducir esta subrutina de interrupción del contador de alta
velocidad). La subrutina de secuencia de perforación restablece el bit
de inicio de secuencia de perforación y establece el bit de la unidad
propulsora del transportador (O:0/0) una vez finalizada la secuencia de
perforación.
| interrupción ocurrió | Inicio de secuencia de perforación |
| debido al valor alto | |
| preseleccionado alcanzado | |
| C5:0 B3 |
|––––] [––––––––––––––––––––––––––––––––––––––––––––––––––––––(L)–––––|
| IH 32 |
Renglón 4:7
| |
|–––––––––––––––––––––––––––––––+END+–––––––––––––––––––––––––––––––––|
| |

7–33

Manual de referencia del juego de instrucciones

7–34
Instrucciones de comunicación

8 Instrucciones de comunicación
Este capítulo contiene información general acerca de las instrucciones de
comunicación. Cada una de las instrucciones incluye información acerca de:
• cómo aparece el símbolo de instrucción
• cómo usar la instrucción
• un ejemplo de aplicación y diagramas de temporización

Además, la operación de la palabra de estado global (S:99) se proporciona.

Instrucciones de comunicación

Instrucción
Propósito Página
Mnemónico Nombre

MSG Lectura/escritura Esta instrucción transfiere datos desde un nodo 8-3


de mensaje hacia otro en la red de comunicación. Cuando la
instrucción se habilita, la transferencia de mensaje
está pendiente. La transferencia real de datos se
realiza durante el escán.
SVC Comunicaciones Cuando las condiciones que preceden la instrucción 8-60
de servicio SVC en el renglón son verdaderas, la instrucción
SVC interrumpe el escán de programa para ejecutar
la porción de comunicación de servicio del ciclo de
operación.

8–1

Manual de referencia del juego de instrucciones

Acerca de las instrucciones de comunicación


Use la instrucción de mensaje para enviar y recibir datos de otros procesadores y
dispositivos. Use la instrucción SVC para mejorar el rendimiento de comunicación
de su procesador.

En este capítulo se encuentra una descripción general antes de cada tipo de


instrucción:
• Instrucción de mensaje para el procesador SLC 5/02
• Instrucción de mensaje para los procesadores SLC 5/03 y SLC 5/04
• Instrucción de comunicación de servicio para el procesador SLC 5/02
• Instrucción de comunicación de servicio para los procesadores SLC 5/03
y SLC 5/04

8–2
Instrucciones de comunicación

Descripción general de
la instrucción de mensaje
3

MSG
READ/WRITE MESSAGE (EN) Esta es una instrucción de salida que le permite transferir datos desde un nodo hacia
Read/write (DN)
Target Device
Control Block
(ER) otro por la red DH-485. El procesador SLC 5/02 puede dar servicio a una
Control Block Length 7
instrucción de mensaje en cualquier momento, aunque el procesador puede retener
varios mensajes “habilitados y en espera”. Los mensajes en espera reciben servicio

  

uno a la vez en orden secuencial (primero que llega, primero que sale)

Operación

La instrucción se puede programar como mensaje de escritura o lectura. El


dispositivo receptor puede ser otro procesador SLC 500 en la red, o un dispositivo
que no sea SLC 500, usando el archivo común de interface (archivo 9 485CIF en los
procesadores SLC 500). El protocolo 485CIF también se usa para los mensajes de
tipo PLC-2.

Los datos asociados con una instrucción de escritura de mensaje no se envían


cuando usted habilita la instrucción. En cambio, se envían al final del escán o
cuando una instrucción de comunicación de servicio (SVC) o regeneración (REF) se
habilita en su programa de escalera. En algunos casos esto significa que debe
guardar en un búfer los datos en su aplicación.

Cuando selecciona el SLC-500 como el dispositivo receptor, la comunicación se


puede realizar entre:
• un procesador SLC 5/02 y cualquier otro procesador de la familia SLC 500
• un procesador SLC 5/03 y cualquier otro procesador de la familia SLC 500
• un procesador SLC 5/04 y cualquier otro procesador de la familia SLC 500

8–3

Manual de referencia del juego de instrucciones

Bits del archivo de estado relacionados

Hay tres bits del archivo de estado que están relacionados con la instrucción MSG:
• Bit de comando entrante pendiente (S:2/5) – Este bit se establece cuando el
procesador determina que otro nodo en la red ha solicitado información o le ha
proporcionado un comando. Este bit se puede establecer en cualquier momento.
Este bit se pone a cero cuando el procesador atiende la solicitud (o comando).
Use este bit como condición de una instrucción SVC para mejorar la capacidad
de comunicación de su procesador.
• Bit de respuesta de mensaje pendiente (S:2/6) – Este bit se establece cuando
otro nodo en la red ha proporcionado la información que solicitó en la
instrucción MSG de su procesador. Este bit se pone a cero cuando el
procesador almacena la información y actualiza su instrucción MSG.
Use este bit como condición de una instrucción SVC para mejorar la capacidad
de comunicación de su procesador.
• Bit de comando de mensaje saliente pendiente (S:2/7) – Este bit se establece
cuando uno o más mensajes en su programa se habilitan y esperan, pero no hay
un mensaje que se esté transmitiendo en este momento. Tan pronto comienza la
transmisión de un mensaje, el bit se pone a cero. Después de la transmisión, el
bit se vuelve a establecer si hay más mensajes en espera, o permanece en cero si
no hay más mensajes en espera.
Use este bit como condición de una instrucción SVC para mejorar la capacidad
de comunicación de su procesador.

Es posible que desee usar el bit S:2/15, selección de servicio de comunicaciones.


Refiérase al apéndice B en este manual para obtener más información.

8–4
Instrucciones de comunicación

Opciones de configuración disponibles

Las siguientes opciones de configuración están disponibles con el procesador


SLC 5/02:
• Lectura/escritura de dispositivos semejantes en una red local a otro procesador
SLC 500
• Lectura/escritura de dispositivos semejantes en una red local a un 485CIF
(emulación PLC2)

Refiérase al apéndice D para obtener parámetros válidos al programar la instrucción


de mensaje.

Cómo introducir parámetros

Después de colocar la instrucción MSG en un renglón, especifique si el mensaje es


de lectura o escritura. Luego especifique el dispositivo receptor y el bloque de
control para la instrucción MSG.
• Lectura/escritura – La lectura indica que el procesador local (el procesador en
que se encuentra la instrucción) está recibiendo datos; la escritura indica que el
procesador está enviando datos.
• El dispositivo receptor identifica el tipo de dispositivo que recibirá los datos.
Las opciones válidas son:

– 500CPU, si el dispositivo recpetor es otro procesador SLC

– 485CIF, si el dispositivo receptor es un procesador que no sea SLC


(emulador PLC2)
• El bloque de control es una dirección de archivo de entero que usted
selecciona. Es un archivo de 7 elementos que contiene los bits de estado, la
dirección del archivo receptor y otros datos asociados con la instrucción de
mensaje.
• La longitud del bloque de control se fija a siete elementos. Este campo no se
puede modificar.

Nota La longitud del bloque de control MSG incrementa de 7 a 14 palabras al


cambiarse de un programa de procesador SLC 5/02 a un programa de
procesador SLC 5/03 ó SLC 5/04. Asegúrese que haya un mínimo de 7
palabras no usadas siguientes cada bloque de control MSG en su programa.

8–5

Manual de referencia del juego de instrucciones

Uso de los bits de estado

Read/Write: READ ignore if timed out: 0 TO


Target Device: 500CPU to be retried: 0 NR
Control Block: N7:0 awaiting execution: 0 EW
Local Destination File Address: ***
Target Node: 0 error: 0 ER
Target File Address: *** message done: 0 DN
Message Length in elements *** message transmitting: 0 ST
message enabled: 0 EN

control bit address: N7:0/8

ERROR CODE: 0
Error Code Desc:

La columna derecha en la ilustración de arriba indica los diversos bits de estado


asociados con la instrucción MSG del SLC 5/02.
• Bit de tiempo sobrepasado TO (bit 08) Puede establecer este bit en su
aplicación para eliminar una instrucción de mensaje activo del control del
procesador. La aplicación debe proporcionar su propio valor de límite de
tiempo sobrepasado. Un ejemplo aparecen la página 8–15.
• El bit no respuesta NR (bit 09) se establece si el procesador receptor no
responde a la primera solicitud de mensaje. El bit NR se restablece cuando el
bit ER, DN o ST se establece.
• El bit habilitado y en espera EW (bit 10) se establece después de que el bit
de habilitación se ha establecido y el mensaje está en espera de ser enviado.
• El bit de error ER (bit 12) se establece cuando la transmisión de mensaje está
con fallo. El bit ER se restablece la próxima vez que el renglón asociado va de
falso a verdadero.
• El bit de efectuado DN (bit 13) se establece cuando el mensaje se ha
transmitido exitosamente. El bit DN se restablece la próxima vez que el renglón
asociado va de falso a verdadero.
• El bit de arranque ST (bit 14) se establece cuando el procesador acusa recibo
desde el dispositivo receptor. El bit ST se restablece cuando el bit DN, ER o
TO se establece.
• El bit de habilitación EN (bit 15) se establece cuando las condiciones del
renglón se hacen verdaderas y la instrucción se ejecuta. Permanece establecido
hasta que la transmisión de mensaje se finaliza y el renglón se hace falso.

8–6
Instrucciones de comunicación

Diagrama de temporización para una instrucción MSG


exitosa del SLC 5/02
La sección siguiente describe el diagrama de temporización para una instrucción
MSG del SLC 5/02.

El renglón se El nodo receptor El nodo receptor procesa el


hace verdadero. recibe el paquete. paquete exitosamente y retorĆ
na los datos (lectura) o escribe
À Á Â los datos (éxito). Ä

1
EN 0

1
EW
0
1
ST 0

1
DN 0
1
ER 0
1
NR 0
1
TO 0

1. Cuando el renglón MSG se hace verdadero y el MSG es escaneado, el bit EN se


establece y permanece establecido hasta que el bit DN, ER o TO se establezca.
El bit EW está establecido, lo que indica que la instrucción MSG ha sido
colocada en la cola MSG. (El procesador SLC 5/02 siempre tiene espacio en la
cola MSG.) La cola trabaja en base al concepto primero en llegar–primero en
salir y así permite al procesador recordar el orden en que las instrucciones MSG
se habilitaron. Anote que el programa no tiene acceso a la cola MSG del SLC
5/02.

2. En el siguiente final de escán o instrucción de comunicación de servicio (SVC),


el procesador SLC 5/02 determina si debe examinar la cola MSG en busca de
una tarea. El procesador toma una decisión según el estado de bit S:2/15, las
solicitudes de comunicación DH-485 de otros nodos y si hay otra instrucción
MSG anterior en ejecución. Si el procesador 5/02 determina que no debe
acceder a la cola, los bits EN y EW permanecen establecidos hasta el próximo
final de escán o SVC.

8–7

Manual de referencia del juego de instrucciones

Si el procesador SLC 5/02 determina que hay una tarea de hacer, usa la primera
entrada de la cola de mensaje para construir un paquete DH-485. Si un paquete
se puede construir exitosamente, se coloca en el búfer de transmisión. Si un
paquete no se puede construir con éxito, el bit ER se establece y un código se
coloca en el bloque MSG para informarle del error.

Si ésta fuera una instrucción de escritura MSG, los datos de fuente serían
transferidos al búfer de transmisión en este momento.

Luego el procesador SLC 5/02 sale del final de escán o la porción SVC del
escán. La función de comunicación de fondo del procesador envía el paquete
transmitido con búfer al nodo receptor que ha especificado en su instrucción
MSG.

3. Si el nodo receptor recibe exitosamente el paquete DH-485, envía un ACK


(acuse de recibo). El ACK causa que el procesador ponga a cero el bit EW y
establezca el bit ST. Observe que el nodo recpetor todavía no ha examinado el
paquete DH-485 para determinar si entiende su solicitud.

Una vez establecido el bit ST, el procesador espera infinitamente una respuesta
del nodo receptor. No es necesario que el nodo receptor responda dentro de un
plazo de tiempo determinado. En este momento no se dará servicio a ninguna
instrucción MSG.
Nota Si el nodo receptor está con fallo o desconecta y vuelve a conectar la
alimentación eléctrica durante el plazo de tiempo de una transacción MSG,
usted nunca recibirá una respuesta. Es por eso que se recomienda el uso de una
instrucción de temporizador conjuntamente con el bit TO. Refiérase al ejemplo
en la página 8–15.

El paso 4 no se muestra en el diagrama de temporización.

4. Si no recibe un ACK, el paso 3 no ocurre. Un NAK (ningún acuse de recibo) se


recibe en su lugar. Cuando esto ocurre, el bit ST permanece puesto a cero. Un
NAK indica que:
• el nodo receptor no existe,
• no responde,
• está demasiado ocupado o
• recibe un paquete DH-485 alterado.
Cuando un NAK ocurre, el bit EW se pone a cero y el bit NR se establece
durante un escán. La próxima vez que la instrucción MSG es escaneada, el bit
ER se establece y el bit NR se pone a cero. Esto indica que la instrucción MSG
está con fallo. Observe que si el nodo receptor está demasiado ocupado, el bit
ER no se establece. En cambio, la instrucción MSG vuelve a hacer cola para la
retransmisión.

8–8
Instrucciones de comunicación

5. Después del recibo exitoso del paquete, el nodo receptor envía un paquete de
respuesta. El paquete de respuesta contendrá una de las respuestas siguientes:
• He realizado exitosamente su solicitud de escritura.
• He realizado exitosamente su solicitud de lectura y le presento aquí los
datos.
• No he realizado su solicitud; tiene un error.
Al próximo final de escán o SVC, después de la respuesta del nodo receptor, el
procesador SLC 5/02 examina el paquete DH-485 del dispositivo receptor. Si la
respuesta contiene “He realizado exitosamente su solicitud de escritura”, el bit
DN se establece y el bit ST se pone a cero. La función de la instrucción MSG
ha sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la
próxima vez que la instrucción MSG es escaneada.

Si la respuesta contiene “He realizado exitosamente su solicitud de lectura y le


presento aquí los datos”, los datos se escriben a la tabla de datos, el bit DN se
establece y el bit ST se pone a cero. La función de la instrucción MSG ha sido
completada. Si el renglón MSG es falso, el bit EN se pone a cero la próxima
vez que la instrucción MSG es escaneada.

Si la respuesta contiene “No he realizado su solicitud; tiene un error”, el bit ER


se establece y el bit ST se pone a cero. La función de la instrucción MSG ha
sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la
próxima vez que la instrucción MSG es escaneada.

Configuración del bloque de control

La configuración del bloque de control se ilustra abajo si usted selecciona un


500CPU como el dispositivo receptor:

Configuración del bloque de control - 500CPU


15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Pal.
EN ST DN ER EW NR TO Error Code 0
Node Number 1
Reserved for length in words 2
File Number 3
File Type (S, B, T, C, R, N) 4
Element Number 5
Reserved 6

8–9
Preface
Manual de referencia del juego de instrucciones

La configuración del bloque de control se ilustra abajo si usted selecciona un 485


CIF como el dispositivo receptor:

Configuración del bloque de control - 485 CIF


15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Pal.
EN ST DN ER EW NR TO Error Code 0
Node Number 1
Reserved for length in words 2
Offset words 3
Not used 4
Not used 5
Not used 6

8–10
Instrucciones de comunicación

Ejemplos de aplicación para procesadores SLC 5/02

Ejemplo 1

El ejemplo de aplicación 1 muestra cómo puede implementar la operación continua


de una instrucción de mensaje.

B3 MSG
 ] [ READ/WRITE MESSAGE (EN)
1 Read/write WRITE
Target Device 500CPU (DN)
Control Block N7:0
Control Block Length 7 (ER)

N7:0 N7:0  #  "# 


 ] [ (U)  "#!$)
13* 15* 
N7:0  
] [  
12*  
 END

Notas de operación
 #
 #  "#!$)  $  #  #$  
"#!$)  " "# "%  #  #)  !
$  "#!$)  " #   !)& "' "# !!
!) #$
 #  !!!  #( "%!'  #  #) "#
!! !) #$ "  " !!!"

8–11

Manual de referencia del juego de instrucciones

Ejemplo 2 – Archivo de programa 2 del procesador SLC 5/02

El ejemplo de aplicación 2 involucra un procesador SLC 5/02 y un procesador SLC


5/01 comunicándose en una red DH-485. El enclavamiento se proporciona para
verificar la transferencia de datos y para detener ambos procesadores en el caso de
fallo de comunicación.

Un dispositivo de detección de temperatura, conectado como entrada al procesador


SLC 5/02, controla la operación activada/desactivada de un ventilador de
enfriamiento, conectado como salida al procesador SLC 5/01. Los programas de
escalera de SLC 5/02 y SLC 5/01 se explican en la figura en la página 8–14.

8–12
Instrucciones de comunicación

I:1.0 N7:0 Bit 1 de la palabra


0 ] [ ( ) de mensaje. Usado
Dispositivo de 5 1 para el control del
entrada de sensor de S:1 T4:0 ventilador.
temperatura 1 ] [ (RES)
15
Bit de primer paso
N7:0 Bit 0 de la palabra
(L) de mensaje. Este
0 es el bit de
B3 enclavamiento.
(U)
0
TON
TIMER ON DELAY (EN)
2
Timer T4:0
Temporizador de 4
Time Base 0.01 segundos
(DN)
Preset 400
Accum 0
Bit de primer paso
S:1 MSG
READ/WRITE MESSAGE Instrucción de escritura
3 ] [ (EN)
15 Read/write WRITE de mensaje. Las
Target Device 500CPU (DN) direcciones del archivo
S:4 Control Block N10:0
] [ Control Block Length 7 (ER) de fuente y receptor son
6 N7:0
Nodo receptor: 3
Bit de reloj de 1280 ms B3 B3
] [ Longitud del mensaje: 1
(L) palabra.
0 0
N10:0 MSG Instrucción de lectura de
4 ] [ READ/WRITE MESSAGE (EN) mensaje. Las direcciones
Read/write READ
13*
Target Device 500CPU
del archivo de destino y
Bit de efectuado de (DN)
Control Block N11:0 receptor son N7:0
escritura de mensaje Control Block Length 7 (ER) Nodo receptor: 3
Longitud del mensaje: 1
palabra.
T4:0 B3
5 ] [ (L) Enclavamiento - Esta
DN 10 instrucción de alarma
notifica a la aplicación
N11:0 N7:0 T4:0 si el bit de enclavaĆ
6 ] [ ]/[ (RES) miento N7:0/0
13* 0 permanece
N7:0
Bit de efectuado (U) establecido durante
de lectura de 0 más de 4 segundos.
mensaje
B3
(U) * Bits de estado de la
0 instrucción MSG:
N11:0 13 = DN
(U) 15 = EN
15*
N10:0
(U)
15*
7 END

Las notas de operación aparecen en la página siguiente.

8–13
Preface
Manual de referencia del juego de instrucciones

Archivo de programa 2 del procesador SLC 5/01 a nodo 3


S:1 N7:0 Bit 0 de la palabra de
0 ] [ (U) mensaje. Este es el bit
15 0 de enclavamiento.
Bit de primer paso T4:0
(RES)
TON
1 TIMER ON DELAY (EN) Temporizador de 4
Timer T4:0
Time Base 0.01
segundos
(DN)
Preset 400
Accum 0

T4:0 B3
2 ] [ (L) Instrucción de
DN 10 enclavamiento - Esta
alarma notifica a la
N7:0 B3 B3 aplicación si el bit de
3 ] [ [OSR] ( )
0 0 1
enclavamiento N7:0/0 no
se establece después de
B3 N7:0 4 segundos.
4 ] [ (U)
1 0
T4:0
Bit 1 de la palabra de (RES)
mensaje. Usado para O:1/0 activa el
N7:0 O:1.0 ventilador de
control del ventilador. 5 ] [ ( )
1 0 enfriamiento.

6 END

Notas de operación acerca de los programas SLC 5/02 y SLC 5/01


Parámetros de instrucción de mensaje: N7:0 es la palabra de Procesador SLC 5/02: N7:0/0 está enclavado; el temporizador
mensaje. Es la dirección de archivo receptor (procesador T4:0 está restablecido, B3/0 está desenclavado (renglón 1) y
SLC 5/01) y la fuente local y direcciones de destino (procesador luego enclavado (renglón 3). El procesador SLC 5/01: N7:0/0
SLC 5/02) en las instrucciones de mensaje. está desenclavado; el temporizador T4:0 está restablecido.
N7:0/0 de la palabra de mensaje es el bit de enclavamiento; se Operación de instrucción de mensaje: La instrucción de
escribe al procesador 5/01 como 1 (establecido) y se lee del escritura de mensaje en el procesador SLC 5/02 se inicia cada
procesador SLC 5/01 como 0 (restablecido). 1280 ms por el bit de reloj S:4/5. El bit de efectuado de la
instrucción de escritura de mensaje inicia la instrucción de
N7:0/1 de la palabra de mensaje controla la operación del lectura de mensaje.
ventilador de enfriamiento; se escribe al procesador SLC 5/01
como 1 (establecido) si se requiere enfriamiento o como 0 B3/0 enclava la instrucción de escritura de mensaje. B3/0 se
(restablecido) si no se requiere enfriamiento. Se lee del desenclava cuando el bit de efectuado de la instrucción de
procesador SLC 5/01 como 1 ó 0. lectura de mensaje se establece, siempre que el bit de
enclavamiento N7:0/0 esté restablecido.
Palabra N7:0 debe tener un valor de 1 ó 3 durante la ejecución
de escritura de mensaje. N7:0 debe tener un valor de 0 ó 2 Fallo de comunicación: En el procesador SLC 5/02, el bit B3/10
durante la ejecución de lectura de mensaje. se establece si el bit de enclavamiento N7:0.0 permanece
establecido (1) durante más de 4 segundos. En el procesador
Inicialización de programa: El bit de primer paso S:1/15 SLC 5/01, el bit B3/10 se establece si el bit de enclavamiento
inicializa los programas de escalera en la entrada al modo de N7:0/0 permanece establecido (1) durante más de 4 segundos.
marcha. Su aplicación puede detectar este evento, tomar la acción
apropiada y luego desenclavar el bit B3/10.

8–14
Instrucciones de comunicación

Ejemplo 3
El ejemplo de aplicación 3 le muestra cómo usar el bit de límite de tiempo
sobrepasado para inhabilitar una instrucción de mensaje activa. En este ejemplo,
una salida se activa después de cinco ensayos fallidos (duración de dos segundos)
para transmitir un mensaje.
1 B3 MSG
 [LBL] ] [ READ/WRITE MESSAGE (EN)
1 Read/write WRITE (DN)
Target Device 500CPU (ER)
B3/1 está enclavado Control Block N7:0
Control Block Length 7
(externo de este
ejemplo) para iniciar la
B3 T4:0 TON
instrucción de  ] [ ]/[ TIMER ON DELAY (EN)
mensaje. 1 DN Timer T4:0 Temporizador de 2
(DN)
Time Base 0.01 segundos. Cada ensayo
Preset 200 de transmisión tiene una
Accum 0
duración de 2 segundos.
T4:0 CTU
 ] [ COUNT UP (CU)
Counter C5:0 El contador permite 5
DN ensayos.
Preset 5 (DN)
Accum 0

N7:0 N7:0 CLR


 ] [ ] [ CLEAR Borre la palabra de
8* Dest N7:0
12 0
control y salte hacia atrás
a renglón 0 para otro
ensayo.
1
(JMP)

T4:0 N7:0 N7:0/8 es el bit de límite


4 ] [ (L) de tiempo sobrepasado
DN 8 de la instrucción de
mensaje (/TO)
C5:0 O:1.0
5 ] [ (L) El quinto ensayo enclava
DN 0 O0:1/0.

N7:0 C5:0
6 ] [ (RES) * Bits de estado de la
13* instrucción MSG:
O:1.0
(U) 8 = TO
0 13 = DN
B3
(U)
1
 END


  

El bit de límite de tiempo sobrepasado se enclava (renglón 4) Un ensayo exitoso de transmisión restablece el contador,
después de 2 segundos. Esto borra la instrucción de mensaje del desenclava O:1/0 y desenclava B3/1.
control de procesador en el próximo escán. Luego la instrucción
de mensaje vuelve a habilitarse para el segundo ensayo de
transmisión. Después de 5 ensayos, O:1/0 se enclava.

8–15

Manual de referencia del juego de instrucciones

Ejemplo 4

El ejemplo de aplicación 4 le muestra como vincular las instrucciones de mensaje


para transmitir en serie, uno tras otro. En este ejemplo una escritura MSG es
seguida por una lectura MSG, lo que provoca la transmisión en serie.

8–16
Instrucciones de comunicación

+, renglón comienza a enviar mensajes a cada entrada el modo de marcha REM o RUN poniendo a cero el bit EN de la
primera instrucción MSG. N7:0
S:1

  ] [ (U)
15 15
Este renglón establece el valor de límite de tiempo sobrepasado. (Cuando se usa un procesador SLC 5/03 ó SLC
5/04, este renglón y renglón 2:2 no son necesarios porque puede introducir el valor 6 en el campo de valor del
límite de tiempo sobrepasado en el bloque de instrucción MSG.)
N7:0 N7:0 N7:0 TON

  ] [ ]/[ ]/[ TIMER ON DELAY (EN)
15 12 13 Timer T4:0 (DN)
Time Base 0.01
Preset 600
Accum 0

T4:0 N7:0
] [ (L)
DN 8
Idéntico al renglón anterior.
N7:20 N7:20 N7:20 TON

  ] [ ]/[ ]/[ TIMER ON DELAY (EN)
15 12 13 Timer T4:1 (DN)
Time Base 0.01
Preset 600
Accum 0

T4:1 N7:20
] [ (L)
DN 8

La instrucción MSG se activa a la entrada al modo de marcha REM o RUN. No se requieren condiciones de entrada.
MSG

  READ/WRITE MESSAGE (EN)
Read/write WRITE (DN)
Target Device 500CPU (ER)
Control Block N7:0
Control Block Length 7

La instrucción MSG se activa cuando la instrucción MSG anterior se finaliza.


N7:0 MSG

  ] [ READ/WRITE MESSAGE (EN)
12 Read/write READ (DN)
Target Device 500CPU (ER)
N7:0 Control Block N7:20
] [ Control Block Length 7
13

Este renglón restablece todas las instrucciones MSG cuando la última instrucción MG se ha finalizado. La
palabra de control se borra para asegurar que los bits EN, DN, ER y TO se pongan a cero.
N7:20 CLR
] [ CLEAR

  Dest N7:0
12 0

N7:0
] [
CLR
13 CLEAR
Dest N7:20
0


  END

8–17

Manual de referencia del juego de instrucciones

Descripción general de la
instrucción de mensaje
3 3

MSG
READ/WRITE MESSAGE
Type
(EN) Los datos asociados con una instrucción de escritura de mensaje se almacena en un
Read/write
Target Device
(DN)
(ER)
búfer cuando usted habilita la instrucción. El SLC 5/03 con OS300 tiene cuatro
Local/Remote
Control Block
búferes de transmisión. El SLC 5/03 con procesadores OS301, OS302 y SLC 5/04
Control Block Length 14
con procesadores OS400, OS401 dan servicio a un máximo de cuatro instrucciones
de mensaje por canal para un máximo de ocho instrucciones de mensaje.

  


Operación
SLC 5/03 OS300 – Si una instrucción MSG ha entrado en uno de los cuatro búferes
de transmisión “independientes del canal” y está esperando ser transmitida, su
bloque de control tendrá los bits de estado EN y EW establecidos. Si más de cuatro
instrucciones MSG se habilitan a la vez, una cola de overflow “dependiente del
canal” se usa para almacenar los bloques de encabezado de instrucción MSG (no los
datos para una escritura MSG) a partir de la quinta instrucción hasta la
décimocuarta.

SLC 5/03 con OS301, OS302 y SLC 5/04 con OS400, OS401 – Si una instrucción
MSG ha entrado en uno de los cuatro búferes de transmisión “dependientes del
canal” y está esperando ser transmitida, su bloque de control tendrá los bits de
estado EN y EW establecidos. Si más de cuatro instrucciones MSG para aquel canal
se habilitan a la vez, una cola de overflow “dependiente del canal” se usa para
almacenar los bloques de encabezado de instrucción MSG (no los datos para una
escritura MSG) a partir de la quinta instrucción a la décimocuarta.

Esta instrucción, la cual hace cola en orden FIFO, tendrá el bit de estado de bloque
de control EN establecido. Si más de 14 instrucciones MSG se habilitan a la vez
para un solo canal, el bit de estado de bloque de control WQ se establece ya que es
posible que no haya espacio disponible para poner la instrucción en cola. Esta
instrucción se debe a volver a escanear hasta que haya espacio en la cola de
overflow.
Nota Si habilita sistemáticamente más instrucciones MSG que las que pueden recibir los
búferes, el orden en que las instrucciones MSG hacen en cola es determinado por el
orden en que son escaneadas. Esto significa que las instrucciones MSG más
cercanas del inicio del programa hacen cola regularmente y las instrucciones MSG
más adelantes del programa pueden no entrar en la cola.

Puede usar el control de límite de tiempo sobrepasado semejante a la instrucción


MSG del SLC 5/02 ó puede usar el control de límite de tiempo sobrepasado
incorporado. Si el valor del límite de tiempo sobrepasado se establece a 0, lo que
constituye el valor predeterminado, la funcionabilidad es semejante a la instrucción
MSG del SLC 5/02. La diferencia de ésta es que el renglón se debe volver a
escanear después del establecimiento del bit TO. Luego debe restablecer el bit TO y
volver a ejecutar la instrucción MSG. Le recomendamos que establezca el valor del
límite de tiempo sobrepasado interno a un número que no sea 0.

8–18
Instrucciones de comunicación

Cuando usa un procesador SLC 5/03 ó SLC 5/04, la instrucción de mensaje:


• inicia lecturas y escrituras a través de canal 0 del RS-232 cuando es configurado
para los protocolos siguientes:

– Punto a punto DF1

– Esclavo DF1

– DH-485, o
• inicia lecturas y escrituras a través de:

– canal 1 de DH-485 (procesadores SLC 5/03 únicamente)

– canal 1 de DH+ (procesadores SLC 5/04 únicamente)

Bits del archivo de estado relacionados


   

     
    
           

       
      
 
         
   
             

Refiérase al apéndice B en este manual para obtener más información acerca de los
bits del archivo de estado de mostrados previamente.

8–19

Manual de referencia del juego de instrucciones

Opciones de configuración disponibles

Las siguientes opciones de configuración están disponibles cuando se usa un


procesador SLC 5/03 ó SLC 5/04. Refiérase al apéndice D para obtener parámetros
válidos al programar la instrucción de mensaje.
• Lectura/escritura de dispositivos semejantes en una red local a otro procesador
SLC 500
• Lectura/escritura de dispositivos semejantes en una red local a un 485CIF
• Lectura/escritura de dispositivos semejantes en una red local a un PLC-5 À
• Lectura/escritura de dispositivos semejantes en una red remota a otro
procesador SLC 500
• Lectura/escritura de dispositivos semejantes en una red remota a un 485CIF
(emulación PLC2)
• Lectura/escritura de dispositivos semejantes en una red remota a un procesador
PLC-5 À
À     
   
  

8–20
Instrucciones de comunicación

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• Lectura/escritura – La lectura indica que el procesador local (el procesador en
que se encuentra la instrucción) está recibiendo datos; la escritura indica que
está enviando datos.
• El dispositivo receptor identifica el tipo de dispositivo que recibirá datos. Las
opciones válidas son:

– el 500CPU si el dispositivo receptor es otro procesador SLC

– el 485CIF si el dispositivo receptor es un dispositivo que no sea SLC en la


red DH-485

– el PLC-5 si el dispositivo receptor acepta comandos PLC-5

• Local o remoto identifica si el mensaje es enviado a un dispositivo en una red


local DH-485 ó DH+, o a un dispositivo remoto en otra red a través de un
puente. Las opciones válidas son:

– Local si el dispositivo receptor se encuentra en una red local

– Remoto si el dispositivo receptor se encuentra en una red remota

• El bloque de control es una dirección de archivo de entero que usted


selecciona. Es un archivo de entero de 14 palabras que contiene bits de estado,
dirección de archivo receptor y otros datos asociados con la instrucción de
mensaje.
• La longitud del bloque de control se fija a 14 elementos. Este campo no se
puede modificar.

Nota La longitud del bloque de control MSG incrementa de 7 a 14 palabras al


cambiarse de un programa de procesador SLC 5/02 a un programa de
procesador SLC 5/03 ó SLC 5/04. Asegúrese que haya un mínimo de 7
palabras no usadas después de cada bloque de control MSG en su programa.

8–21

Manual de referencia del juego de instrucciones

Uso de los bits de estado

La columna derecha en la ilustración siguiente alista los varios bits de estado


asociados con la instrucción SLC 5/03 y SLC 5/04.

Type: Peer–to–Peer
Read/Write: READ ignore if timed out: 0 TO
Target Device: 500CPU to be retried: 0 NR
Local/Remote: Local awaiting execution: 0 EW
Control Block: N10:0 continuous run: 0 CO
Channel: 1 error: 0 ER
Target Node: 2 message done: 0 DN
message transmitting: 0 ST
message enabled: 0 EN
Destination File Addr: N7:0 waiting for queue space: 0 WQ
Target Source File Address: N7:50
Message Length In Elements: 10
Message Timeout (seconds): 5

ERROR CODE: 0 control bit address: N10:0/8


Error Code Desc:

• Bit del límite de tiempo sobrepasado TO (palabra 0, bit 08) Establezca este
bit en su aplicación para eliminar una instrucción de mensaje activa del control
de procesador. Puede usar su propia rutina de control de límite de tiempo
sobrepasado semejante a la instrucción MSG del SLC 5/02 o puede usar el
control de límite de tiempo sobrepasado interno. Le recomendamos que use el
control de límite de tiempo sobrepasado incorporado porque simplifica el
programa del usuario.
Si usa su propia rutina de control de límite de tiempo sobrepasado, el valor del
límite de tiempo sobrepasado (palabra 8) se debe poner a cero. Si la instrucción
MSG no se completa dentro del plazo de tiempo especificado y el bit DN no se
establece, usted debe establecer el bit TO (bit 8 de palabra 0) y volver a realizar
un escán de la instrucción MSG, de lo contrario el mensaje llevará un búfer
activo hasta que el procesador se detenga y se vuelva a arrancar. Después de la
ejecución de la instrucción MSG, el procesador establece el bit ER (bit 12) y
retorna el código de error 37H. Vuelva a iniciar la instrucción MSG
restableciendo el bit TO y volviendo a ejecutar la instrucción MSG.

Si usa el control de límite de tiempo sobrepasado interno, establezca el valor del


límite de tiempo sobrepasado (palabra 8) entre 1 y 255 segundos. Cuando el
límite de tiempo sobrepasado ocurre, el bit TO y el bit ER (bit 12 de palabra 0)
se establecen y el procesador retorna el código de error 37H. Vuelva a iniciar la
instrucción MSG restableciendo el bit TO y volviendo a ejecutar la instrucción
MSG.
• Bit no respuesta NR (bit 09) se establece si el procesador receptor responde a
la instrucción con un acuse de recibo negativo. Esto significa que el dispositivo
receptor no puede dar servicio al paquete en ese momento y se debe volver a
intentar. El bit NR se restablece cuando el bit ER, DN o ST se establece.
Recomendamos no intentar controlar este bit. Se usa para funciones DH-485 y
se presenta a título informativo únicamente.

8–22
Instrucciones de comunicación

• El bit habilitado y en espera EW (bit 10) se establece después de que el bit


de habilitación se ha establecido y el mensaje se almacena en el búfer y espera
ser enviado en el búfer. Recomendamos no intentar controlar este bit. Se
presenta a título informativo únicamente.
• Operación continua CO (bit 11) Establezca este bit si desea enviar la
instrucción MSG de manera continua. Recomendamos que el control del límite
de tiempo sobrepasado interno se use para esta opción y que el renglón sea
incondicionalmente verdadero. Use este bit para activar y desactivar el modo.
Nota No intente establecer ni restablecer los otros bits en la palabra de control.
Este modo operará continuamente siempre que el renglón sea escaneado
continuamente. Si la instrucción tiene error, vuelve a intentar automáticamente
hasta tener éxito. Si sobrepasa el límite de tiempo y se vuelve a escanear, el
modo se detendrá. El bit ER se debe poner a cero para reanudar la operación.
• El bit de error ER (bit 12) se establece cuando la transmisión de mensaje está
con fallo. El bit ER se restablece la próxima vez que el renglón asociado vaya
de falso a verdadero.
• El bit de efectuado DN (bit 13) se establece cuando el mensaje se transmite
con éxito. El bit DN se restablece la próxima vez que el renglón asociado vaya
de falso a verdadero.
• El bit de arranque ST (bit 14) se establece cuando el procesador acusa recibo
del dispositivo receptor. El bit ST se restablece cuando el bit DN, ER o TO se
establece. Recomendamos no intentar controlar este bit. Se presenta a título
informativo únicamente.
• El bit de habilitación EN (bit 15) se establece cuando las condiciones de
renglón se hacen verdaderas y la instrucción se ejecuta. Permanece establecido
hasta que la transmisión de mensaje se haya completado y el renglón se haga
falso.
• El bit de espera de espacio en la cola WQ (Word 7, bit 0) se establece
cuando no hay espacio en la cola activa para escribir o leer datos. Este bit se
pone a cero cuando hay espacio disponible en al cola activa. Recomendamos
no intentar controlar este bit. Se presenta a título informativo únicamente.

Nota Cuando el bit WQ se establece, o cuando sólo se establece el bit EN, y usted usa
una instrucción de escritura MSG, sus datos de fuente no tienen búfer. Si su
aplicación requiere datos con búfer (o “fotografía”), espere hasta que el bit EW se
establezca antes de sobrescribir sus datos de fuente.
• EN = 1 y EW = 1 cuando MSG entra en el búfer
• EN = 1 cuando MSG entra en cola
• WQ = 1 cuando la cola (que retiene 10 MSG) está llena:
búfer – retiene 4 mensajes con los datos
cola – almacena el puntero (lista de espera)

Nota Si su programa contiene cuatro instrucciones de mensaje con el bit de operación


continua (CO) establecido, la instrucción de mensaje de la rutina de fallo no se
ejecutará.

8–23

Manual de referencia del juego de instrucciones

La cantidad de datos transferidos por una instrucción MSG es determinada por el


tamaño del tipo de datos de destino. El límite es 206 bytes de datos. Si una lectura
se usa, entonces el tipo de datos en el procesador determina el número de elementos.
Si una escritura se usa, entonces el tipo de datos en el dispositivo remoto determina
el número de elementos. Por ejemplo, si una lectura de contadores desde un
dispositivo remoto se efectúa y el destino en el procesador es un archivo de entero,
entonces el número máximo de elementos que se pueden solicitar es 103. Los datos
provienen de las 103 primeras palabras del archivo de temporizador remoto.

Configuraciones del bloque de control

La configuración del bloque de control se muestra abajo si selecciona un 500CPU o


un PLC-5 como el dispositivo receptor:

            


15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 
EN ST DN ER CO EW NR TO Error Code 
Node Number 
Reserved for length in words 
File Number 
File Type (O, I, S, B, T, C, R, N, F, St, A) 
Element Number 
Subelement Number

Reserved (Internal Messaging Bits) WQ

Message Timer Preset


Message Timer Scaled Zero
Message Timer Accumulator 
Reserved (Internal use only) 
Reserved (Internal use only) 
Reserved (Internal use only) 

8–24
Instrucciones de comunicación

La configuración del bloque de control se muestra abajo si selecciona un 485 CIF


como el dispositivo receptor:

  escritura, local o remota a un   


15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Pal.
EN ST DN ER CO EW NR TO Error Code 0
Node Number 
Reserved for length in words 
Offset in Words 
Not Used 
Not Used 
Not Used
Reserved (Internal Messaging Bits) WQ

Message Timer Preset


Message Timer Scaled Zero
Message Timer Accumulator 
Reserved (Internal use only) 
Reserved (Internal use only) 
Reserved (Internal use only) 

8–25

Manual de referencia del juego de instrucciones

Diagrama de temporización para una instrucción exitosa


del SLC 5/03 ó SLC 5/04
La sección siguiente describe el diagrama de temporización para una instrucción
MSG del SLC 5/03 ó SLC 5/04.

El renglón se El nodo receptor El nodo receptor procesador


hace verdadero recibe el paquete el paquete exitosamente y
retorna los datos (lectura) o
  escribe los datos (éxito) 

1
EN 0

1
EW
0
1
ST 0

1
DN 0
1
ER 0
1
NR 0
1
TO 0
1
WQ 0

1. Cuando el renglón MSG se hace verdadero y el MSG es escaneado, si hay


espacio en cualquiera de los cuatro búferes MSG activos, los bits EN y EW es
establecen. Si esta fuera una instrucción de escritura MSG, los datos de fuente
sería transferidos al búfer MSG en este momento. Si no hay espacio en los
cuatro búferes MSG, pero hay disponible una posición en la cola MSG de 10
posiciones, sólo el bit EN se establece. La cola MSG de 10 posiciones trata los
datos primeros en llegar y así permite al procesador SLC 5/03 ó SLC 5/04
recordar el orden en que las instrucciones MSG se habilitaron. Anote que el
programa no tiene acceso a la cola MSG de SLC 5/03 ó SLC 5/04.

Si no hay espacio en ninguno de los cuatro búferes MSG ni en la cola MSG de


10 posiciones, sólo el bit WQ se establece. Observe que cuando el bit WQ se
establece, la instrucción MSG se debe volver a escanear más adelante cuando
haya espacio en los cuatro búferes MSG o la cola MSG de 10 posiciones.

8–26
Instrucciones de comunicación

Una vez establecido el bit EN, permanece establecido hasta que el proceso
entero MSG se haya finalizado y el bit DN, ER o TO se establezca. El valor del
límite de tiempo sobrepasado MSG comienza a temporizar cuando el bit EN
se establece. Si el período del límite de tiempo sobrepasado vence antes de que
la instrucción MSG finalice su función, el bit ER se establece y un código se
coloca en el bloque MSG para informarle del error del límite de tiempo
sobrepasado.

Si decide establecer el bit CO, su instrucción MSG residirá de manera


permanente en uno de los cuatro búferes MSG activos. La instrucción MSG
continuará volviendo a transmitir sus datos cada vez que el bit DN o ER se
establece. Si esta fuera una instrucción de escritura MSG, sus datos de fuente se
actualizarían durante cada ciclo MSG.

2. Al próximo final de escán o SVC, el procesador SLC 5/03 ó SLC 5/04


determina si debe examinar la cola MSG en busca de una tarea. El procesador
toma su decisión según en el estado de los bits S:2/15, S:33/7, S:33/5, S:33/6,
solicitudes de comunicación de la red desde otros nodos y si hay instrucciones
MG anteriores que ya están en progreso. Si el procesador SLC 5/03 determina
que no debe acceder a la cola, la instrucción MSG permanece tal como era.
(Los bits EN y EW permanecen establecidos o sólo el bit EN se establece, o de
lo contrario sólo el bit WQ se establece hasta el próximo final de escán o SVC.
Si solamente el bit WQ se establece, la instrucción MSG se debe volver a
escanear.)

Si el procesador SLC 5/03 ó SLC 5/04 determina que hay una “tarea de
desempeñar”, descargar las entradas de la cola MSG en los búferes MSG hasta
que todos los cuatro búferes estén llenos. Cada búfer MSG contiene un paquete
de red válido. Si un paquete no se puede construir exitosamente de la cola
MSG, el bit ER se establece y un código se coloca en el bloque MSG para
informarle de un error. Cuando una instrucción MSG se carga en un búfer
MSG, los bits EN y EW se establecen.

Luego el procesador SLC 5/03 ó SLC 5/04 sale al final de escán o la porción
SVC del escán. La función de comunicación de fondo del procesador envía los
paquetes a los nodos receptores que especificó en su instrucción MSG. Según el
estado de los bits S:2/14, S:33/7, S:33/5 y S:33/6, puede tener hasta cuatro
instrucciones MSG activas en todo momento.

3. Si el nodo receptor recibe exitosamente el paquete, envía un ACK (un acuso de


recibo). El ACK causa que el procesador ponga a cero el bit EW y establezca el
bit ST. El nodo receptor todavía no ha examinado el paquete para determinar si
entiende su solicitud. Observe que el nodo receptor no tiene que responder
dentro de un plazo de tiempo determinado.
Nota Si el nodo receptor está con fallo o desconecta y vuelve a conectar la
alimentación eléctrica durante este plazo de tiempo de una transacción MSG,
nunca recibirá una respuesta. Es por eso que recomendamos el uso del valor
del límite de tiempo sobrepasado MSG en su instrucción MSG.

8–27

Manual de referencia del juego de instrucciones

El paso 4 no se muestra en el diagrama de temporización.

4. Si no recibe un ACK, el paso 3 no ocurre. Un NAK (ningún acuso de recibo) se


recibe en su lugar. Cuando esto ocurre, el bit ST permanece puesto a cero. Un
NAK indica que:
• el nodo receptor no existe,
• no responde,
• está demasiado ocupado o
• recibe un paquete DH-485 alterado.
Cuando un NAK ocurre, el bit EW se pone a cero y el bit NR se establece para
un escán. La próxima vez que la instrucción MSG es escaneada, el bit ER se
establece y el bit NR se pone a cero. Esto indica que la instrucción MSG está
con fallo. Anote que si el nodo receptor está demasiado ocupado, el bit ER no
se establece. En cambio, la instrucción MSG vuelve a hacer cola para la
retransmisión.

5. Después del recibo exitoso del paquete, el nodo receptor envía un paquete de
respuesta. El paquete de respuesta contendrá una de las respuestas siguientes:
• He realizado exitosamente su solicitud de escritura.
• He realizado exitosamente su solicitud de lectura y le presento aquí los
datos.
• No he realizado su solicitud; tiene un error.
Al próximo final de escán o SVC, después de la respuesta del nodo receptor, el
procesador SLC 5/02 examina el paquete DH-485 del dispositivo receptor. Si la
respuesta contiene “He realizado exitosamente su solicitud de escritura”, el bit
DN se establece y el bit ST se pone a cero. La función de la instrucción MSG
ha sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la
próxima vez que la instrucción MSG es escaneada.

Si la respuesta contiene “He realizado exitosamente su solicitud de lectura y le


presento aquí los datos”, los datos se escriben a la tabla de datos, el bit DN se
establece y el bit ST se pone a cero. La función de la instrucción MSG ha sido
completada. Si el renglón MSG es falso, el bit EN se pone a cero la próxima
vez que la instrucción MSG es escaneada.

Si la respuesta contiene “No he realizado su solicitud; tiene un error”, el bit ER


se establece y el bit ST se pone a cero. La función de la instrucción MSG ha
sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la
próxima vez que la instrucción MSG es escaneada.

8–28
Instrucciones de comunicación

Los cuatro búferes son compartidos entre el canal 0 y el canal 1 para los
procesadores SLC 5/03 OS300. Para los procesadores SLC 5/03 OS301, OS302 y
SLC 5/04 OS400, OS401, hay cuatro búferes MSG por canal. Cada canal tiene su
propia cola MSG de diez posiciones. El procesador SLC 5/03 ó SLC 5/04 descarga
las dos colas MSG en los búferes MSG equitativamente al final de escán o SVC.
Esto permite que ambos canales tengan el mismo acceso a las comunicaciones. Si
usted programa una instrucción SVC que es configurada para dar servicio solamente
a un canal, entonces dicho canal tendrá su cola MSG descargada en los búferes
MSG (hasta el próximo final de escán o SVC cuando ambos canales se volverán a
descargar equitativamente).

8–29

Manual de referencia del juego de instrucciones

Códigos de error de la instrucción MSG


Cuando una condición de error ocurre, el código de error y su descripción se indican
en la pantalla.





    

   
 
El nodo receptor está ocupado. La instrucción MSG se volverá a cargar
02H automáticamente. Si hay otros mensajes que esperan, el mensaje se coloca en la
parte inferior de la pila.
03H El nodo receptor no puede responder porque el mensaje es demasiado grande.
El nodo receptor no puede responder porque no entiende los parámetros de
04H comando O BIEN es posible que el bloque de control haya sido modificado
inadvertidamente.
05H El procesador local está fuera de línea (posible situación de nodo duplicado).
06H El nodo receptor no puede responder porque la función solicitada no está disponible.
07H El nodo receptor no responde.
08H El nodo receptor no puede responder.
09H La conexión del módem local ha sido perdida.
0AH El búfer no está disponible para recibir la respuesta SRD.
OBH El nodo receptor no acepta este tipo de instrucción MSG.
Recibió un restablecimiento del vínculo principal (una fuente posible es del maestro
0CH
DF1).
El nodo receptor no puede responder a causa de parámetros de comando
10H
incorrectos o comando sin capacidad.
11H El archivo local tiene protección de archivo constante.
12H Un error del protocolo de configuración de canal local existe.
13H Error de configuración MSG local en los parámetros MSG remotos.
14H El variador de comunicación local no es compatible con la instrucción MSG.
15H Un error del parámetro de configuración de canal local existe.
La dirección receptora o del puente local es mayor que la dirección máxima de
16H
nodo.
17H El servicio local no es compatible.
18H La difusión (dirección de nodo 255) no es compatible.
37H El mensaje sobrepasó el límite de tiempo en un procesador local.
38H El mensaje inhabilitó la respuesta del vínculo pendiente.
50H El nodo receptor agotó su memoria.
60H El nodo receptor no puede responder porque el archivo está protegido.
El nodo receptor no puede responder porque la longitud solicitada es demasiado
E7H
larga.
EBH El nodo receptor no puede responder porque el nodo receptor ha negado el acceso.

8–30
Instrucciones de comunicación

 
  
  

 

El nodo receptor no puede responder porque la función solicitada no está disponible
ECH
actualmente.
F1H El procesador local detecta un tipo ilegal de archivo receptor.
El nodo receptor no puede responder porque el otro nodo es el propietario del
FAH
archivo (tiene el único acceso al archivo).
El nodo receptor no puede responder porque el otro nodo es el propietario del
FBH
programa (tiene el único acceso a todos los archivos).
FFH El canal de comunicación local se ha desactivado.

Nota Para los usuarios del juego de protocolo y comando 177-6.5.16 DH, DH+,
DH-485:
El código de error MSG representa el campo STS de la respuesta a su instrucción
MSG. Los códigos E0 – EF representan los códigos EXT STS 0 – F. Los códigos
F0 – FC representan los códigos EXT STS 10 – 1C.

8–31

Manual de referencia del juego de instrucciones

Ejemplos de configuraciones usando la instrucción de


mensaje
La instrucción siguiente proporciona ejemplos para enviar comandos entre los
dispositivos compatibles con DH-485 y DF1 de dúplex completo y los dispositivos
compatibles con DH+.

Esta sección proporciona una variedad de ejemplos de aplicación usando la


instrucción MSG.
• Lógica de escalera usando:

– la operación continua de la instrucción de mensaje

– la instrucción de mensaje de regeneración automática

– el bit de límite de tiempo sobrepasado para inhabilitar una instrucción


de mensaje activa

– la transmisión en serie

• Mensajes locales vía:

– la lectura local de un 500CPU

– la lectura local de un 485CIF

– la lectura local de un PLC-5

• Mensajes remotos usando:

– un sólo módulo de interface de comunicación 1785-KA5

– dos módulos de comunicación 1785-KA

– los procesadores SLC con transferencia al canal 0

– un integrador de pirámide

– dos módulos de interface de comunicación 1785-KA5

– “saltos” múltiples usando dos módulos de interface de comunicación


1785-KA5

8–32
Instrucciones de comunicación

Uso de la lógica de escalera

Ejemplo 1

Hay dos métodos para configurar una instrucción de mensaje que lee o escribe datos
hacia/desde su nodo receptor de manera continua. El método más indicado y más
eficiente es establecer el bit continuo (CO) de la instrucción de mensaje. Con este
bit establecido, el mensaje reside permanentemente en uno de los cuatro búferes de
mensaje del procesador SLC 5/03 ó SLC 5/04 y solicita/envía datos al nodo receptor
continuamente. La única restricción de este método es que usted puede tener
solamente hasta cuatro instrucciones de mensajes continuamente configuradas. Si
tiene instrucciones de mensaje configuradas de esta manera, otras instrucciones de
mensaje en su programa de escalera tomarán más tiempo para completarse porque
en efecto ha reducido el número de búferes de mensaje disponibles.

El segundo método se llama una instrucción de mensaje de regeneración automática.


El efecto es semejante al establecer el bit continuo (CO) donde la instrucción de
mensaje lee o escribe datos hacia/desde su nodo receptor de manera continua. Sin
embargo, en vez de residir permanentemente en un búfer de mensaje, el mensaje de
regeneración automática se elimina de su búfer de mensaje. Este método es muy
útil si tiene más de cuatro mensajes que necesita operar continuamente o si desea
que estos mensajes configurados continuamente compartan espacio de búfer con
otras instrucciones de mensaje en su programa. Aunque este método tiene el mismo
efecto que el establecimiento del bit CO, anote que será más lento que un mensaje
continuo verdadero (con el bit CO establecido).

8–33

Manual de referencia del juego de instrucciones

El ejemplo de aplicación 1 muestra cómo puede implementar la operación continua


de una instrucción de mensaje. Este ejemplo usa un valor del límite de tiempo
sobrepasado de mensaje interno que no sea cero.
Renglón 2:0
Esta es la manera correcta de programar un mensaje continuo en un procesador
5/03 ó 5/04. Este mensaje residirá permanentemente en uno de los 4 búferes de
transmisión de mensaje. Puede activar o desactivar el mensaje continuo
estableciendo/restableciendo B3/0. Sin embargo, debe desenclavar el bit de
HABILITACION de mensaje cada vez que active el bit de MENSAJE CONTINUO – esto
permite que la instrucción se vuelva a cargar en un búfer de mensaje.
| +MSG––––––––––––––––––––+ |
|–––––––––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–|
| |Type PEER–TO–PEER+–(DN) |
| |Read/Write READ+–(ER) |
| |Target Device 500CPU| |
| |Local/Remote LOCAL| |
| |Control Block N7:0| |
| |Control Block Length 14| |
| +–––––––––––––––––––––––+ |
Renglón 2:1
| Bit |
| MSG |
| continuo |
| B3 N7:0 À N7:0 |
|––] [––––––––––––––––––––––––––––––––––––––––––––––––+––––––––––––(
––]/[––– )–––––+–|
| 0 10 | 11 | |
| | Bit MSG | |
| | continuo | |
| | B3 N7:0 | |
| |––[OSR]–––––(U)–––––+ |
| | 1 | 15 |
| | | |
| | N7:0 | |
| +––] [ –––| |
| 8 |
Renglón 2:2
| |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
| |
À
            

8–34
Instrucciones de comunicación

Ejemplo 2

Este ejemplo muestra dos instrucciones de mensaje configuradas para funcionar


continuamente por el método de regeneración automática. Este ejemplo usa un
valor del límite de tiempo sobrepasado de mensaje interno distinto de cero.
Renglón 2:0
Este es otro método para programa un mensaje que lee o escribe su destino de
manera continua. Denominamos este método un método de regeneración automática
porque en vez de usar el bit CONTINUO (CO), volvemos a iniciar el mensaje
manualmente cuando los bits de EFECTUADO o ERROR se establecen. Use este método
si tiene más de 4 mensajes que necesite operar a la vez de manera continua.
| Bit activado/ Mensaje 1 |
| desactivado de mensaje 1 |
| B3 +MSG––––––––––––––––––––+ |
|––––] [––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–|
| 0 |Type PEER–TO–PEER+–(DN) |
| |Read/Write READ+–(ER) |
| |Target Device 500CPU| |
| |Local/Remote LOCAL| |
| |Control Block N7:0| |
| |Control Block Length 14| |
| +–––––––––––––––––––––––+ |
Renglón 2:1
| Bit de EFECTUADO Bit de HABILITACION |
| de mensaje 1 de mensaje 1 |
| N7:0 N7:0 À N7:0 |
|–+––––] [–––––+–––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
––]/[–––
| | 13 | 10 15 |
| | Bit ERROR | |
| | mensaje 1 | |
| | N7:0 | |
| +––––] [–––––+ |
| 12 |
Renglón 2:2
| Bit activado/ Mensaje 2 |
| desactivado de mensaje 2 |
| B3 +MSG––––––––––––––––––––+ |
|––––] [––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–|
| 1 |Type PEER–TO–PEER+–(DN) |
| |Read/Write READ+–(ER) |
| |Target Device 500CPU| |
| |Local/Remote LOCAL| |
| |Control Block N7:40| |
| |Control Block Length 14| |
| +–––––––––––––––––––––––+ |

8–35

Manual de referencia del juego de instrucciones

Renglón 2:3
| Bit de EFECTUADO Bit de HABILITACION |
| de mensaje 2 de mensaje 2 |
| N7:40 N7:40 À N7:40 |
|–+––––] [–––––+–––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
––]/[–––
| | 13 | 10 15 |
| | Bit ERROR | |
| | mensaje 2 | |
| | N7:40 | |
| +––––] [–––––+ |
| 12 |
Renglón 2:4
| |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
| |
À
            

8–36
Instrucciones de comunicación

Ejemplo 3

El ejemplo de aplicación 3 le muestra cómo usar el bit de límite de tiempo


sobrepasado para inhabilitar una instrucción de mensaje activa. En este ejemplo,
una salida se activa después de cinco intentos sin éxito (de 2 segundos de duración)
de transmitir un mensaje. Este ejemplo usa un valor del límite de tiempo
sobrepasado de mensaje interno distinto de cero.
Renglón 2:0
En el programa, una vez establecido B3/1, la instrucción de mensaje intenta 5
veces completarse exitosamente. Si se completa en menos de 5 intentos,
desenclavará B3/1. Si, después de 5 intentos, el mensaje todavía no se ha
completado, una salida se activa y B3/1 se desenclava. Para volver a intentar
este mensaje, sólo establezca B3/1 a 1.
| Bit de |
| disparo MSG |
| del usuario |
| B3 +MSG––––––––––––––––––––+ |
|––––] [–––––––––––––––+––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–+–|
| 1 | |Type PEER–TO–PEER+–(DN) | |
| | |Read/Write READ+–(ER) | |
| | |Target Device 500CPU| | |
| | |Local/Remote LOCAL| | |
| | |Control Block N7:0| | |
| | |Control Block Length 14| | |
| | +–––––––––––––––––––––––+ | |
| | B3 C5:0 | |
| +––[OSR]––+––(RES)–––––+––––––––––––––––––––––––––––––+ |
| 0 | | |
| | El mensaje | |
| | no se | |
| | completó | |
| | O:3 | |
| +––––(U)–––––+ |
| 0 |
Renglón 2:1
| Bit de ERROR |
| de mensaje |
| N7:0 N7:0 À +CTU–––––––––––––––+ |
|––––] [–––––––––––––––––––––––––––––––––––––––+–+COUNT
––]/[––– UP +–(CU)–+–|
| 12 10 | |Counter C5:0+–(DN) | |
| | |Preset 5| | |
| | |Accum 5| | |
| | +––––––––––––––––––+ | |
| | Bit de HABILITACION | |
| | de mensaje | |
| | N7:0 | |
| +––––(U)––––––––––––––––––––+ |
| 15 |

8–37

Manual de referencia del juego de instrucciones

Renglón 2:2
| El mensaje |
| no se |
| completó |
| C5:0 O:3 |
|––] [––––––––––––––––––––––––––––––––––––––––––––––––––––––––––+––––(L)–––––+–|
| DN | 0 | |
| | Bit de | |
| | disparo MSG| |
| | del usuario| |
| | B3 | |
| +––––(U)–––––+ |
| 1 |
Renglón 2:3
| Bit de | Bit de |
| EFECTUADO | disparo MSG |
| de mensaje| del usuario |
| N7:0 B3 |
|––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
| 13 1 |
Renglón 2:4
| |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
| |
À
            

8–38
Instrucciones de comunicación

Ejemplo 4

El ejemplo de aplicación 4 le muestra cómo vincular las instrucciones de mensaje


para transmitir en serie, una tras otra. En este ejemplo, una escritura MSG es
seguida por una lectura MSG, lo que provoca la transmisión en serie. Este ejemplo
usa un valor del límite de tiempo sobrepasado de mensaje interno distinto de cero.
Renglón 2:0
Este programa demuestra cómo encadenar las instrucciones de mensaje, es decir,
habilitar un segundo mensaje una vez completado con éxito el primero. Este
ejemplo intenta continuamente escribir datos a un nodo de red y luego leer dados
de un nodo de red.
Este renglón habilita que el mensaje de ESCRITURA inicie cuando vaya de PROGRAMA
a EJECUCION.
| Bit de | Bit de HABILITACION |
| primer paso | de escritura de mens.|
| S:1 N7:0 |
|––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
| 15 15 |
Renglón 2:1
| +MSG––––––––––––––––––––+ |
|–––––––––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–|
| |Type PEER–TO–PEER+–(DN) |
| |Read/Write WRITE+–(ER) |
| |Target Device 500CPU| |
| |Local/Remote LOCAL| |
| |Control Block N7:0| |
| |Control Block Length 14| |
| +–––––––––––––––––––––––+ |
Renglón 2:2
Si el mensaje de ESCRITURA tiene error, siga ensayando el mensaje de ESCRITURA
hasta que se complete con éxito. No ensaye el mensaje de LECTURA hasta que haya
una ESCRITURA exitosa.
| Bit ERROR | Bit de HABILITACION |
| escr. mens. | de escritura de mens.|
| N7:0 N7:0 À N7:0 |
|––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
––]/[–––
| 12 10 15 |
Renglón 2:3
Una vez completado con éxito el mensaje de ESCRITURA, habilite el mensaje de
LECTURA.
| Bit de EFECTUADO |
| de escritura de mensaje |
| N7:0 +MSG––––––––––––––––––––+ |
|––––] [––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–|
| 13 |Type PEER–TO–PEER+–(DN) |
| |Read/Write READ+–(ER) |
| |Target Device 500CPU| |
| |Local/Remote LOCAL| |
| |Control Block N7:20| |
| |Control Block Length 14| |
| +–––––––––––––––––––––––+ |

8–39

Manual de referencia del juego de instrucciones

Renglón 2:4
Si el mensaje de LECTURA tiene error, siga ensayando el mensaje de LECTURA hasta
que se haya completado con éxito. No vuelva a ensayar la ESCRITURA hasta que
haya una LECTURA exitosa.
| Bit ERROR | Bit de HABILITACION |
| lec. mens.| de lectura de mensaje |
| N7:20 N7:20 À N7:20 |
|––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
––]/[–––
| 12 10 15 |
Renglón 2:5
Una vez que los mensajes de ESCRITURA y LECTURA se hayan completado
exitosamente, vuelva a iniciar la secuencia de mensaje desenclavando el bit de
habilitación del mensaje de ESCRITURA.
| Bit EFEC. |Bit EFEC. | Bit de HABILITACION |
| lec. mens.|esc. mens.| de escritura de mensaje |
| N7:20 N7:0 N7:20 À N7:0 |
|––––] [––––––––] [––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
––]/[–––
| 13 13 10 15 |
Renglón 2:6
| |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
| |
À
            

8–40
Instrucciones de comunicación

Uso de mensajes locales

Ejemplo 1 – Lectura local de un 500CPU

Type: Peer–to–Peer
Read/Write: READ ignore if timed out: 0 TO
Target Device: 500CPU to be retried: 0 NR
Local/Remote: Local awaiting execution: 0 EW
Control Block: N10:0 continuous run: 0 CO
Channel: 1 error: 0 ER
Target Node (decimal): 2 message done: 0 DN
message transmitting: 0 ST
message enabled: 0 EN
Destination File Addr: N7:0 waiting for queue space: 0 WQ
Target Source File Address: N7:50
Message Length In Elements: 10
Message Timeout (seconds): 5

ERROR CODE: 0 control bit address: N10:0/8


Error Code Desc:

En la pantalla anterior, el procesador SLC 5/03 ó SLC 5/04 lee 10 elementos del
archivo N7 del nodo receptor, a partir de la palabra N7:50. Las 10 palabras se
colocan en su archivo de entero a partir de la palabra N7:0. Si pasan cinco segundos
sin respuesta, el bit de error N10:0/12 se establece, lo que indica que la instrucción
ha sobrepasado el límite de tiempo. El dispositivo en el nodo 2 entiende el
protocolo de la familia del procesador SLC 500 (SLC 500, SLC 5/01, SLC 5/02,
SLC 5/03 y SLC 5/04).
   

   

Especifica el número de nodo del procesador que recibe el mensaje. El


* * -!!+/*-
rango válido es 0-31. (Especifica la dirección DH-485.)
Para una lectura (destino), ésta es la dirección en el procesador iniciador
que va a recibir los datos.
Dirección de archivo Para una escritura (fuente), ésta es la dirección del procesador iniciador
que va enviar los datos.
Los tipos de archivo válidos son S, B, T, C, R, N, I, O, M0, M1, F, ST y A.
Para una lectura (fuente), ésta es la dirección en el procesador receptor
que va a enviar los datos.
Dirección receptora Para una escritura (destino), ésta es la dirección del procesador receptor
que va a recibir los datos.
Los tipos de archivo válidos son S, B, T, C, R, N, I, O, M0, M1, F, ST y A.
Define la longitud del mensaje en elementos. Los elementos de una
Longitud de mensaje palabra se limitan a una longitud máxima de 1-103. Los elementos de
tres palabras se limitan a una longitud máxima de 1-37.

8–41
 
Manual de referencia del juego de instrucciones


       
Define la longitud del temporizador de mensaje en segundos. Un límite
9+(2$ #$ 2($+.-
de tiempo sobrepasado de 0 segundos significa que no hay temporizador
1-!0$. 1 #- #$*
y que el mensaje esperará indefinidamente una respuesta. El rango
+$,1 )$
válido es 0Ć255 segundos.
Identifica el canal físico usado para la comunicación de mensaje.
Canales disponibles:
Canal
SLC 5/03 - (0, RS-232) o (1, DH-485)
SLC 5/04 - (0, RS-232) o (1, DH+)

Ejemplo 2 – Lectura local de un 485CIF

Type: Peer–to–Peer
Read/Write: READ ignore if timed out: 0 TO
Target Device: 485CIF to be retried: 0 NR
Local/Remote: Local awaiting execution: 0 EW
Control Block: N10:0 continuous run: 0 CO
Channel: 1 error: 0 ER
Target Node (decimal): 2 message done: 0 DN
message transmitting: 0 ST
message enabled: 0 EN
Destination File Addr: N7:0 waiting for queue space: 0 WQ
Target Offset: 20
Message Length In Elements: 5
Message Timeout (seconds): 15

ERROR CODE: 0 control bit address: N10:0/8


Error Code Desc:

En la ilustración anterior, los procesadores SLC 5/03 ó SLC 5/04 leen cinco
elementos (palabras) del archivo CIF del nodo receptor, a partir de la palabra 20 (o
byte 20 para los dispositivos que no sean SLC 500). Los cinco elementos se
colocan en su archivo de enteros a partir de palabra N7:0. Si 15 segundos pasan sin
respuesta, el bit de error N10:0/12 se establece, lo que indica que la instrucción ha
sobrepasado el límite de tiempo. El dispositivo en el nodo 2 entiende el protocolo
485CIF (emulación de PLC-2).

       
Especifica el número de nodo del procesador que recibe el mensaje. El
Nodo receptor
rango válildo es 0Ć31.
Para una lectura (destino), ésta es la dirección en el procesador iniciador
que va a recibir los datos.
Dirección de archivo Para una escritura (fuente), ésta es la dirección en el procesador
iniciador que va a enviar los datos.
Los tipos de archivo válidos son: S, B, T, C, R, N, I, O, M0, M1, F, ST y A
Para una lectura o escritura, éste es el valor offset de palabra en el
Offset receptor archivo de interface común (offset de byte para dispositivos distintos de
SLC).

8–42
Instrucciones de comunicación

   

   

Cuando usa una instrucción de mensaje 485CIF, la longitud de mensaje


-,&(23# #$ +$,1 )$ es el número de palabras de 16 bits. Puede especificar 1 a 103
elementos (palabras de información).
Define la longitud del temporizador de mensaje en segundos. Un límite
Límite de tiempo
de tiempo sobrepasado de 0 segundos significa que no hay temporizador
sobrepasado del
y que el mensaje esperará indefinidamente una respuesta. El rango
mensaje
válido es 0Ć255 segundos.
Identifica el canal físico usado para la comunicación de mensaje.
Canales disponibles:
Canal
SLC 5/03 - (0, RS-232) o (1, DH-485)
SLC 5/04 - (0, RS-232) o (1, DH+)

Ejemplo 3 – Lectura local de un PLC-5

Type: Peer–to–Peer
Read/Write: READ ignore if timed out: 0 TO
Target Device: PLC5 to be retried: 0 NR
Local/Remote: Local awaiting execution: 0 EW
Control Block: N10:0 continuous run: 0 CO
Channel: 1 error: 0 ER
Target Node (decimal): 2 message done: 0 DN
message transmitting: 0 ST
message enabled: 0 EN
Destination File Addr: N7:0 waiting for queue space: 0 WQ
Target Src/Dst File Address: N7:50
Message Length In Elements: 10
Message Timeout (seconds): 5

ERROR CODE: 0 control bit address: N10:0/8


Error Code Desc:

En la ilustración anterior, el procesador SLC 5/03 ó SLC 5/04 lee 10 elementos del
archivo N7 del nodo receptor 2 a partir de la palabra N7:50. Las 10 palabras se
colocan en su archivo de entero a partir de la palabra N7:0. Si cinco segundos pasan
sin respuestas, el bit de error N10:0/12 se establece, lo que indica que la instrucción
ha sobrepasado el límite de tiempo. El dispositivo en el nodo 2 entiende el
protocolo del procesador PLC-5.
   

   

Especifica el número de nodo del procesador que recibe el mensaje. El


Nodo receptor
rango válildo es 0Ć31. (Especifica la dirección DHĆ485.)
Para una lectura (destino), ésta es la dirección en el procesador iniciador
que va a recibir los datos.
Dirección de archivo Para una escritura (fuente), ésta es la dirección en el procesador
iniciador que va a enviar los datos.
Los tipos de archivo válidos son: S, B, T, C, R, N, I, O, F, ST y A.

8–43
 
Manual de referencia del juego de instrucciones


       
Para una lectura (fuente), 912 $1 la #(0$""(;, $, el procesador receptor
que va a enviar los datos.
(0$""(;, 0$"$.2-0  0 3, $1"0(230 (destino), 912 $1 la #(0$""(;, $, el procesador
receptor que va a recibir los datos.
Los tipos de archivo 48*(#-1 1-, S, B, T, C, R, N, I, O, F  6 
$%(,$ * *-,&(23# #$* +$,1 )$ $, $*$+$,2-1 -1 $*$+$,2-1 #$ 3,
-,&(23# #$ +$,1 )$ . * !0 1$ *(+(2 , 3, *-,&(23# +85(+ #$ 
 -1 $*$+$,2-1 #$
20$1 . * !0 1 1$ *(+(2 , 3, *-,&(23# +85(+ #$ 

$%(,$ * *-,&(23# #$* 2$+.-0(7 #-0 #$ +$,1 )$ $, 1$&3,#-1 , *:+(2$
:+(2$ #$ 2($+.-
#$ 2($+.- 1-!0$. 1 #- #$  1$&3,#-1 1(&,(%(" /3$ ,- ' 6 2$+.-0(7 #-0
1-!0$. 1 #- #$*
6 /3$ $* +$,1 )$ $1.$0 08 (,#$%(,(# +$,2$ 3, 0$1.3$12  * 0 ,&-
+$,1 )$
48*(#- $1 < 1$&3,#-1
#$,2(%(" $* " , * %:1("- 31 #- . 0 * "-+3,(" "(;, #$ +$,1 )$
 , *$1 #(1.-,(!*$1
 , *
 
  
 -    
    
 -  +

8–44
Instrucciones de comunicación

Uso de mensajes remotos

Ejemplo 1 – Comunicación con procesadores A–B usando un 1785-KA5

Nodo 1 Dispositivo A
(oct) Dispositivo C
Nodo 2

Dispositivo B
Nodo 7 DHĆ485
Controlador modular de DHĆ485
E/S SLC 5/04
Identificación de red = 1 Controlador modular de
Nodo 3 (19.2 KBaudio) E/S SLC 5/03
DH+ (oct)
DH+ Nodo 6
Identificación de red = 2 (oct)
(57.6 KBaudio) PLC-5/40 con módulo
1785-KA5

DH+
Identificación de red = 2
(57.6 KBaudio)

Procesador SLC 5/04 (A) a procesador SLC 5/03 (C) vía 1785-KA5

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 2
Remote Bridge Link Id <dec>: 1
Remote Bridge Node Address <dec>: 0
Local Bridge Node Address <dec>: 6
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 11
Message Timeout (seconds): 5

Comentarios

El canal se establece a 1 ya que el comando original es iniciado por un procesador


SLC 5/04 en la red DH+ (identificación de red 2).

El nodo receptor es el procesador SLC 5/03 a dirección de nodo 2.

La identificación de red del puente remoto es la identificación de red de la red


remota DH-485 con el procesador SLC 5/03 (identificación de red 1).

8–45

Manual de referencia del juego de instrucciones

La dirección de nodo del puente remoto se establece a 0 (no usado) porque la


comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.

La dirección de nodo del puente local se establece a 6 porque esta es la dirección


de nodo de la red DH+ usada por el módulo de interface de comunicación
1785-KA5.

Procesador SLC 5/03 (C) a procesador SLC 5/04 (A) vía 1785-KA5

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 1
Remote Bridge Link Id <dec>: 1
Remote Bridge Node Address <dec>: 0
Local Bridge Node Address <dec>: 7
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 11
Message Timeout (seconds): 5

Comentarios

El canal se establece a 1 ya que el comando original es iniciado por un procesador


SLC 5/03 en la red DH-485 (identificación de red 1).

El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 1.

La identificación de vínculo del puente remoto es el vínculo con el procesador


SLC 5/04 (identificación de red 2).

La dirección de nodo del puente remoto se establece a 0 (no usado) porque la


comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.

La dirección de nodo del puente local se establece a 7 porque ésta es la dirección


de nodo de la red DH-485 usada por el módulo de interface de comunicación
1785-KA5.

8–46
Instrucciones de comunicación

Procesador SLC 5/03 (C) a un PLC-5 (B) vía 1785-KA5

Type: Peer–to–Peer
Read/Write: Write
Target Device: PLC5
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 3
Remote Bridge Link Id <dec>: 2
Remote Bridge Node Address <dec>: 0
Local Bridge Node Address <dec>: 7
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 11
Message Timeout (seconds): 5

Comentarios

El canal se establece a 1 ya que el comando original es iniciado por un procesador


SLC 5/03 en la red DH-485 (identificación de red 1).

El nodo receptor es el procesador PLC-5 a dirección de nodo 3.

La identificación de vínculo del puente remoto es el vínculo con el procesador


PLC–5 (identificación de red 2).

La dirección de nodo del puente remoto se establece a 0 (no usado) porque la


comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.

La dirección de nodo del puente local se establece a 7 porque ésta es la dirección


de nodo de la red DH-485 usada por el módulo de interface de comunicación
1785-KA5.

8–47

Manual de referencia del juego de instrucciones

Ejemplo 2 – Comunicación con procesadores A–B usando dos 1785-KA

Dispositivo A
Dispositivo B

Nodo 22
(oct) Dispositivo C Nodo 13
Nodo 220 (oct)
Controlador modular de (1785-KA)
E/S SLC 5/04 Controlador modular de
E/S SLC 5/04
Nodo 3
DH+ (oct)
57.6 KBaudio DH+
PLC-5/40 con módulo
57.6 KBaudio
1785-KA Nodo 3
(oct)

Data Highway Nodo 110


(1785ĆKA)
PLC-5/40 con módulo
1785-KA

Procesador SLC 5/04 (B) a procesador PLC5 (C) vía dos 1785-KA

Type: Peer–to–Peer
Read/Write: Write
Target Device: PLC5
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 0
Remote Bridge Link Id <dec>: 0
Remote Bridge Node Address <dec>: 131
Local Bridge Node Address <dec>: 8
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 0

Comentarios

El canal se establece a 1 porque el comando original es iniciado por un procesador


SLC 5/04 en la red DH+.

El nodo receptor es el procesador PLC-5 a dirección de nodo 0. (En realidad, esta


es la dirección de nodo 3, pero la dirección de nodo se establece a 0 porque la
dirección de nodo del puente remoto maneja la estructura de direccionamiento.)

La identificación de vínculo del puente remoto siempre se establece a 0 cuando se


usa esta estructura de direccionamiento.

8–48
Instrucciones de comunicación

La dirección de nodo del puente remoto se establece a 131. La dirección de nodo


del puente remoto consiste en el dígito más significativo (octal) del 1785-KA (220)
remoto más la dirección del nodo receptor. Por ejemplo, 200 + 3 = 203 octales (131
decimal).

La dirección de nodo del puente local se establece a 8 porque esta es la


equivalente decimal del segundo dígito menos significante de la dirección 1785-KA
(10 octal).

Procesador SLC 5/04 (B) a procesador SLC 5/04 (A) vía dos 1785-KA

Type: Peer–to–Peer
Read/Write: Write
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 0
Remote Bridge Link Id <dec>: 0
Remote Bridge Node Address <dec>: 146
Local Bridge Node Address <dec>: 8
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 0

Comentarios

El canal se establece a 1 porque el comando original es iniciado por un procesador


SLC 5/04 en la red DH+.

El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 0. (En


realidad, esta es dirección de nodo 22, pero la dirección de nodo se establece a 0
porque la dirección de nodo del puente remoto maneja la estructura de
direccionamiento.)

La identificación de vínculo del puente remoto siempre se establece a 0 cuando se


usa esta estructura de direccionamiento.

La dirección de nodo del puente remoto se establece a 146. La dirección de nodo


del puente remoto consiste en el dígito más significante (octal) del 1785-KA remoto
más la dirección del nodo receptor. Por ejemplo, 200 + 22 = 222 octal (146
decimal).

La dirección de nodo del puente local se establece a 8 porque esta es la


equivalente decimal del segundo dígito menos significativo de la dirección
1785-KA (10 octal).

8–49

Manual de referencia del juego de instrucciones

Ejemplo 3 – Transferencia vía canal 0 DH-485 del procesador SLC 5/04


Dispositivo B

Nodo 3 Dispositivo D
(oct) Dispositivo C Nodo 2
DH+ Nodo 2 (oct)
PLC-5/40 (oct) DHĆ485
DH+
Identificación
Identificación de red = 2 de red = 1
(57.6 KBaudio) (',*(%!(* &(!-%* !"
DHĆ485 Controlador modular de (19.2 KBaudio) E/S SLC 5/03
E/S SLC 5/04
Dispositivo A Nodo 1
Nodo 1 RSĆ232
(oct)
Convertidor de
intenrface 1747ĆPIC
Controlador modular de
E/S SLC 5/04

Procesador SLC 5/04 (A) a procesador SLC 5/03 (D) vía un procesador SLC 5/04 (C)
(transferencia usando canal 0 DH-485)

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 2
Remote Bridge Link Id <dec>: 1
Remote Bridge Node Address <dec>: 0
Local Bridge Node Address <dec>: 2
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 5

Comentarios
El canal se establece a 1 porque el comando original es iniciado por un procesador
SLC 5/04 en la red DH+.
El nodo receptor es el procesador SLC 5/03 en la dirección de nodo 2.
La identificación de vínculo del puente remoto es el vínculo con el procesador
SLC 5/04 (canal 0, identificación de red 1).
La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.
La dirección de nodo del puente local se establece a 2 porque esta es la dirección
de nodo DH+.

8–50
Instrucciones de comunicación

Procesador SLC 5/03 (D) a procesador SLC 5/04 (A) vía un procesador SLC 5/04 (C)
(transferencia usando canal 0 DH-485)

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 3
Remote Bridge Link Id <dec>: 2
Remote Bridge Node Address <dec>: 0
Local Bridge Node Address <dec>: 1
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 5

Comentarios
El canal se establece a 1 porque el comando original es iniciado por un procesador
SLC 5/03 en la red DH-485.
El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 1.
La identificación de vínculo del puente remoto es el vínculo con el procesador
SLC 5/04 (canal 1, identificación de red 2).
La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.
La dirección de nodo del puente local se establece a 1 porque ésta es la dirección
de nodo DH-485.

8–51

Manual de referencia del juego de instrucciones

Procesador SLC 5/03 (D) a PLC-5 (B) vía un procesador SLC 5/04
(transferencia usando canal 0 DH-485)

Type: Peer–to–Peer
Read/Write: Write
Target Device: PLC5
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 3
Remote Bridge Link Id <dec>: 2
Remote Bridge Node Address <dec>: 0
Local Bridge Node Address <dec>: 1
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 5

Comentarios
El canal se establece a 1 porque el comando original es iniciado por un procesador
SLC 5/03 en la red DH-485.
El nodo receptor es el procesador PLC-5 en la dirección de nodo 3.
La identificación de vínculo del puente remoto es el vínculo con el procesador
SLC 5/04 (canal 1, identificación de red 2).
La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.
La dirección de nodo del puente local se establece a 1 porque ésta es la dirección
de nodo DH-485.

8–52
Instrucciones de comunicación

Mensajes remotos (SLC 5/03 a un SLC 500, SLC 5/01 ó SLC 5/02)

La ilustración siguiente muestra la conectividad para un mensaje remoto.

1747-AIC 1747-AIC Identif. de


red = 1
Nodo 4


Nodo 2 Nodo 6 Identificación


PLC con módulo de red = 3
Nodo 7
1785ĆKA5

Nodo 1
Controlador modular de E/S Controlador modular de E/S
SLC 5/02 SLC 5/03

Nodo 9 Identif. de red = 3


(11 octal) Nodo 3
Nodo 8 Nodo 2
 (10 octal)
Nodo 5

PLCĆ5 con módulo
1785ĆKA5
PLC-5 Computadora
industrial T60
Identificación de red = 2


1747-AIC
1747-AIC

Nodo 3 Nodo 1

Controlador modular de E/S Controlador modular de E/S


SLC 5/02 SLC 5/01

Longitud máxima de la red DHĆ485 1200 m (4,000 pies)


Red DH+

Los siguientes pies de gráfico representan los parámetros de direccionameinto


de un SLC 5/03 a un procesador SLC 5/02 remoto.
Estes es el nodo original de la instrucción MSG. No tiene que especificar
esta dirección.
 Esta es la dirección de nodo del puente local.
 Esta es la dirección de nodo remoto del puente local. No tiene que
especificar esta dirección.
 Esta es la dirección de nodo del puente remoto.
 Esta es la dirección de nodo del puente remoto. No tiene que especificar
esta dirección.
 Esta es la identificación de red remota.

Esta es la dirección de nodo receptor.

8–53

Manual de referencia del juego de instrucciones

Ejemplo 4 – Transferencia vía canal 0 DF1 del procesador SLC 5/04

#*('*#+#-'  #*('*#+#-'  #*('*#+#-'  #*('*#+#-' 


   
' '  ' '  ' ' ' '
'+ '+ '+ '+

'&+)'$ ') %' ,$) ! '&+)'$ ') %' ,$) ! '&+)'$ ') %' ,$) ! '&+)'$ ') %' ,$) !
  
  
  
  


   
+ /  +
 !&+#"##.& ! )!  
  , #'  !&+#"##.& ! )!    !&+#"##.& ! )! 
 , #'   , #'

Procesador SLC 5/04 (A) a procesador SLC 5/04 (D) vía dos procesadores SLC 5/04
(transferencia usando canal 0 DF1)

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 63
Remote Bridge Link Id: 1
Remote Bridge Node Address <dec>: 0
Local Bridge Node Address <dec>: 2
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 5

Nota La configuración incorrecta puede causar que los datos sean escritos o leídos de un
procesador no seleccionado. Asegúrese que todos parámetros e identificaciones de
vínculo de canal se establezcan correctamente.
Comentarios
El canal se establece a 1 porque el comando original es iniciado por un procesador
SLC 5/04 en la red DH+.
El nodo receptor es el procesador SLC 5/04 a dirección de nodo 77 (63 decimales).
La identificación de vínculo del puente remoto es el vínculo con el procesador
SLC 5/04 (identificación de vínculo 1).
La dirección de nodo del puente remoto se establece a 0 (no usado) porque canal
0 es dúplex total DF1.
La dirección de nodo del puente local se establece a 2 porque ésta es la dirección
de nodo DH+.

8–54
Instrucciones de comunicación

Ejemplo 5 – Transferencia vía canal 0 DH+ del procesador SLC 5/04


Dispositivo A Dispositivo B Dispositivo C
Nodo 77 Nodo 2 Nodo 35
(oct) (oct) (oct)

Controlador modular de Controlador modular de Controlador modular de


E/S SLC 5/04 E/S SLC 5/04 E/S SLc 5/04
DH+ DF1
S:34/5 = 1 (RSĆ232)
Identificación de red = 2
(57.6 KBaudio) Identificación de red = 1
(19.2 KBaudio)

Nota El dispositivo B tiene S:34/5 establecido a 1.

Procesador SLC 5/04 (A) a procesador SLC 5/04 (C) vía un solo procesador SLC 5/04
(transferencia usando canal 0 DF1)

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node: 0
Remote Bridge Link Id <dec>: 1
Remote Bridge Node Address: 0
Local Bridge Node Address: 2
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 5

Comentarios
El canal se establece a 1 porque el comando original es iniciado por un procesador
SLC 5/04 en la red DH+.
El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 0 (dúplex total
DF1).
La identificación de vínculo del puente remoto es el vínculo con el procesador
SLC 5/04 (identificación de vínculo 1).
La dirección de nodo del puente remoto se establece a 0 (no usado) porque canal
0 es dúplex total DF1.
La dirección de nodo del puente local se establece a 2 porque ésta es la dirección
de nodo DH+.

8–55

Manual de referencia del juego de instrucciones

Procesador SLC 5/04 (C) a procesador SLC 5/04 (A) vía un solo procesador SLC 5/04
(transferencia usando canal 0 DF1)

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Local
Control Block: user specified
Channel: 0

Target Node (decimal): 63


Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 5

Comentarios

El canal se establece a 0 porque el comando original es iniciado por un procesador


SLC 5/04 conectado vía dúplex total DF1.

El nodo receptor es el procesador SLC 5/04 en la dirección nodo 63 decimales (77


octal).

Procesador SLC 5/04 (C) a procesador SLC 5/04 (B) cuando la transferencia está habilitada

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Local
Control Block: user specified
Channel: 0
Target Node (decimal): 2

Destination/Source File Addr: user specified


Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 5

Comentarios

El canal se establece a 1 porque el comando original es iniciado por un procesador


SLC 5/04 en la red DH+.

El nodo receptor es el procesador SLC 5/04 en la dirección de nodo DH+ 29


decimal (34 octal).

8–56
Instrucciones de comunicación

Ejemplo 6 – Transferencia usando un integrado pirámide para encaminar una instrucción


de mensaje

Dispositivo A Dispositivo B
Estación 3
Nodo 7 Nodo 1
(oct) (oct)
Controlador modular de Estación 15 Controlador de E/S
E/S SLC 5/04 (oct) DH+ modular SLC 5/04
DH+
Identificación de red = 2
Identificación de red = 1 (57.6KBaud)
(57.6 KBaudio)

Procesador SLC 5/04 (B) a procesador SLC 5/04 (A) via un integrador de pirámide usando
el encaminamiento PI

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node: 7
Remote Bridge Link Id <dec>: 1
Remote Bridge Node Address: 0
Local Bridge Node Address: 13
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 15
Message Timeout (seconds): 5

Comentarios
El canal se establece a 1 porque el comando original es iniciado por un procesador
SLC 5/04 en la red DH+.
El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 7.
La identificación de vínculo del puente remoto es el vínculo con el procesador
SLC 5/04 (identificación de vínculo 1).
La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.
La dirección de nodo del puente local se establece a 13 decimal (15 octal) porque
ésta es la dirección de nodo DH+.

8–57

Manual de referencia del juego de instrucciones

Ejemplo 7 –
Dispositivo A
Dispositivo B

Nodo 10
(oct) Nodo 13
Nodo 220 (oct)
Controlador modular de (1785-KA)
E/S SLC 5/03 Controlador modular de
E/S SLC 5/03
Nodo 3
DHĆ485 (oct)
DH+
19.2 KBaudio
PLCĆ5/40 con módulo 57.6 KBaudio
1785ĆKA5 Nodo 3
(oct)

Data Highway Nodo 110


(1785ĆKA)
PLCĆ5/40 con módulo
1785ĆKA5

Procesador SLC 5/03 a un procesador SLC 5/03 (transferencia usando dos 1785-KA5)

Type: Peer–to–Peer
Read/Write: Read or Write
Target Device: 485CIF or 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node: 2
Remote Bridge Link Id: 8
Remote Bridge Node Address: 0
Local Bridge Node Address: 20
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: user specified
Message Timeout (seconds): 10

Comentarios

El canal se establece a 1 porque el comando es enviado en el canal RS485 del 5/03


en la identificación de vínculo 4.

El nodo receptor se establece a 2 porque esta es la dirección DH-485 en la que el


dispositivo de destino reside en el vínculo de destino (identificación de vínculo 8).

8–58
Instrucciones de comunicación

La identificación de red del puende remoto se establece a 8 porque la red de


destino es DH-485.

La dirección de nodo del puente remoto se establece a 0 (no usado) porque la


comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.

La dirección de nodo del puente local se establece a 20 porque es el dispositivo de


puente (identificación de vínculo 4) por el cual el comando debe ser enviado
(dispositivo D).

8–59
 
Manual de referencia del juego de instrucciones

Comunicaciones de servicio (SVC)


3 3 3

Uso de un procesador SLC 5/02


(SVC)
La instrucción SVC es una instrucción de salida que no tiene parámetros de
 !"   programación. Cuando se evalúa como verdadera, el escán de programa se
interrumpe para ejecutar la porción de comunicaciones de servicio del ciclo de
operación. Luego el escán se reanuda en la instrucción siguiente a la instrucción
SVC. Use esta instrucción para mejorar el rendimiento de comunicación de su
procesador SLC 5/02.

No se le permite colocar una instrucción SVC en una subrutina de interrupción STI,


interrupción de E/S ni fallo del usuario.

Los bits siguientes le permiten personalizar o monitorizar el servicio de


comunicaciones. Refiérase al capítulo 1 de este manual para obtener información
adicional acerca del archivo de estado.
• S:2/5 DH-485 Comando entrante pendiente
• S:2/6 DH-485 Respuesta de mensaje pendiente
• S:2/7 DH-485 Comando de mensaje saliente pendiente
• S:2/15 DH-485 Selección de servicio de comunicaciones

Uso de un procesador SLC 5/03 ó SLC 5/04


SVC
SERVICE COMMUNICATIONS Cuando usa un procesador SLC 5/03 ó SLc 5/04, la instrucción SVC opera según lo
Channel 0
Channel 1 expuesto anteriormente. Estos procesadores le permiten seleccionar un canal de
comunicación específico (0, 1 ó ambos) al que se debe dar servicio. No se le
permite colocar una instrucción SVC en una subrutina de fallo, DII, STI ni evento
 !"   de E/S.

Los bits de estado siguientes le permiten personalizar o monitorizar el servicio de


comunicaciones. Refiérase al apéndice B de este manual para obtener información
adicional acerca del archivo de estado.

  
 
                 
    !   
  !     
 
 
           
     

8–60
Instrucciones de comunicación

   
S:2/15 DH-485 Selección de servicio de S:33/5 Selección de servicio de
comunicaciones comunicaciones
S:33/7 DH-485 Selección de servicio de
S:33/6 Selección de servicio de mensaje
mensaje

Servicio de canal

Cuando un canal no ha sido seleccionado para recibir servicio por parte de la


instrucción SVC, dicho canal recibe servicio normalmente al final del escán.

Ejemplo de aplicación

La instrucción SVC se usa cuando desea ejecutar una función de comunicación, tal
como la transmisión de un mensaje, antes de la porción de comunicación de servicio
normal del escán de operación. El ejemplo siguiente muestra cómo usar
selectivamente la instrucción SVC.

Bit de comando de
mensaje saliente S:2
pendiente ] [ (SVC)
7

Puede colocar este renglón después de una instrucción de escritura de mensaje.


S:2/7 se establece cuando la instrucción de mensaje se habilita y está esperando
(siempre que no se transmita un mensaje). Cuando S:2/7 se establece, la instrucción
SVC se evalúa como verdadera y el escán de programa se interrumpe para ejecutar
la porción de comunicaciones de servicio del escán de operación. Luego el escán se
reanuda en la instrucción siguiente a la instrucción SVC.

Este ejemplo sencillo asume que el bit de selección de servicio de comunicaciones


S:2/15 se ha puesto a cero y que ésta es la única instrucción MSG activa.
Nota Puede programar la instrucción SVC sin condiciones a través de los renglones.
Esta es la técnica normal de programación para la instrucción SVC.

El procesador SLC 5/03 ó SLC 5/04 puede pasar una instrucción MSG a través de
una red remota a su destino receptor. (Puede hacer un salto por una red.) El
procesador SLC 5/03 ó SLC 5/04 también puede pasar una instrucción MSG a la red
que existe en el otro lado del puente local.

8–61

Manual de referencia del juego de instrucciones

8–62
Instrucción proporcional integral derivativa

9 Instrucción proporcional integral


derivativa
Este capítulo describe la instrucción proporcional integral derivativa (PID).

Descripción general
3 3 3

PID
PID Esta es una instrucción de salida que controla las características físicas tales como la
Control Block
Process
Control
Variable
Variable
temperatura, presión, nivel líquido o régimen de caudal usando lazos de proceso.
Control Block Length 23

La instrucción PDI normalmente controla un lazo cerrado usando entradas de un



  

módulo de entrada análogico y proporcionando una salida a un módulo de salida
analógico. Para el control de temperatura, usted puede convertir la salida analógica
a una salida activada/desactivada de tiempo proporcional para impulsar una unidad
de calefacción o enfriamiento. Un ejemplo aparecen en las páginas 9–15 a 9–17.

La instrucción PID se puede operar en el modo temporizado o el modo STI. En el


modo temporizado, la instrucción actualiza su salida periódicamente a un régimen
seleccionado por el usuario. En el modo STI, la instrucción se debe colocar en una
subrutina de interrupción STI. Entonces actualiza su salida cada vez que se realiza
un escán de la subrutina STI. El intervalo de tiempo STI y el régimen de
actualización de lazo deben ser idénticos para que la ecuación se ejecute
correctamente.

9–1
Preface
Manual de referencia del juego de instrucciones

El concepto PID
El control en lazo cerrado PID retiene una variable de proceso a un punto de ajuste
deseado. Un ejemplo del régimen de caudal/nivel de fluido se muestra abajo.

Alimentación hacia
adelante o bias

Punto de ajuste Error


∑ Ecuación ∑
Régimen de caudal PID

Variable de Salida
proceso de
control

Detector
de nivel

Válvula de control

La ecuación PID controla el proceso enviando una señal de salida a la válvula de


control. Cuanto más grande sea el error entre el punto de ajuste y la entrada de
variable de proceso, tanto más grande es la señal de salida y vice versa. Un valor
adicional (alimentación hacia adelante o bias) se puede añadir a la salida de control
como offset. El resultado del cálculo PID (variable de control) impulsará la variable
de proceso que controla hacia el punto de ajuste.

9–2
Instrucción proporcional integral derivativa

La ecuación PID
La instrucción PID usa el algoritmo siguiente:

Ecuación estándar con ganancias dependientes:

Salida + K C [(E) ) 1ńT I ŕ(E)dt ) T D · D(PV)ńdt] ) bias

Las constantes de ganancia estándar son:

  
        
Ganancia de 0.1 a 25.5 (adimensional) Proporcional
controlador KC À
0.01 a 327.67 (adimensional)
Término de 25.5 a 0.1 (minutos por repetición) Integral
restablecimiento 1/TI À
327.67 a 0.01 (minutos por repetición)
Término de régimen TD 0.01 a 2.55 (minutos) Derivativa
0.01 a 327.67 (minutos)
À

À Se aplica a los rangos PID SLC 5/03 y SLC 5/04 cuando el bit de restablecimiento de bit y rango de refuerzo (RG)
se establecen a 1.

El término (régimen) derivativo proporciona la uniformización por medio de un


filtro de paso bajo. La frecuencia de corte del filtro es 16 veces mayor que la
frecuencia de ángulo del término derivativo.

Cómo introducir parámetros

Normalmente, la instrucción PID se coloca en un renglón sin lógica condicional. La


salida permanece a su último valor cuando el renglón es falso. El término integral
también se borra cuando el renglón es falso.
Nota La instrucción PID es un tipo de algortimo PID de sólo entero y no le permite
introducir valores de punto (coma) flotante para sus parámetros. Por lo tanto, si
intenta mover un valor de punto (coma) flotante a uno de los parámetros PID
usando la lógica de escalera, ocurrirá una conversión de punto (coma) flotante a
entero.

9–3

Manual de referencia del juego de instrucciones

Durante la programación, usted introduce las direcciones del bloque de control,


variable de proceso y variable de control después de colocar la instrucción PID en
un renglón:
• El bloque de control es un archivo que almacena los datos requeridos para
operar la instrucción. La longitud de archivo se fija a 23 palabras y se debe
introducir como dirección de archivo de entero. Por ejemplo, la introducción de
N10:0 asignará los elementos N10:0 a N10:22. La configuración del bloque de
control se ilustra en la página 9–11.
No escriba a las direcciones de bloque de control con otras instrucciones en su
programa excepto según lo descrito más adelante en este capítulo. Si vuelve a
usar un bloque de datos que fue asignado anteriormente para otro uso, es buena
práctica poner primero a cero los datos. Recomendamos que use un archivo de
datos único para contener sus bloques de control PID. Por ejemplo N10:0. Esto
evita el reuso imprevisto de las direcciones de bloque de control PID por otras
instrucciones en su programa.
• La variable de proceso PV es una dirección de elemento que almacena el
valor de entrada de proceso. Esta dirección puede ser la ubicación de la palabra
de entrada analógica donde el valor de la entrada A/D se almacena. Este valor
también podría ser un valor de entero si decide escanear su valor de entrada de
antemano al rango 0–16383.
• La variable de control CV es una dirección de elemento que almacena la
salida de la instrucción PID. El valor de salida tiene un rango de 0 a 16383;
16383 es el 100%. Esto es normalmente un valor de entero para que usted
pueda escalar el rango de entrada PID según el rango analógico específico que
su aplicación requiere.

La ilustración a continuación muestra una instrucción PID con direcciones típicas


para estos parámetros introducidos:

PID
PID
Control Block N10:0
Process Variable N10:28
Control Variable N10:29
Control Block Length 23

9–4
Instrucción proporcional integral derivativa

auto/manual: MANUAL ∗ time mode Bit: 1 TM


mode: TIMED ∗ auto/manual bit: 1 AM
control: E=SP–PV ∗ control mode bit: 0 CM
setpoint (SP): 0 0output limiting enabled bit: 0 OL
process (PV): 0 ∗ reset and gain range: 0 RG
scaled error: 0 ∗ scale setpoint flag: 0 SC
deadband: 0 loop update time too fast: 0 TF
output (CV): 0 %∗ derivitive (rate) action: 0 DA
DB, set when error is in DB: 0 DB
loop update: 0 [.01 secs] output alarm, upper limit: 0 UL
gain: 0 [/10] output alarm, lower limit: 0 LL
reset: 0 [/10 m/r] setpoint out of range: 0 SP
rate: 0 [/100 min] process var out of range: 0 PV
min scaled: 0 PID done: 0 DN
max scaled: 0
output (CV) limit: NO ∗ PID enabled: 0 EN
output (CV) min: 0 %
output (CV) max: 0 %

La columna izquierda en la ilustración anterior enumera otros parámetros de


instrucción PID que debe introducir.
• Automático/manual AM (palabra 0, bit 1) alterna entre automático y
manual. Automático indica que el PID controla la salida. (El bit se ha puesto a
cero.) Manual indica que el usuario establece el valor de salida. (El bit está
establecido.) Cuando haga ajustes, le recomendamos que efectúe los cambios
en el modo manual, seguido por un retorno al modo automático. El límite de
salida también se aplica en el modo manual.
• El modo TM (word 0, bit 0) alterna los valores temporizados y STI.
Temporizado indica que el PID actualiza su salida al régimen especificado en el
párametro de actualización del lazo.
Nota Cuando usa el modo temporizado, el tiempo de escán de su procesador debe ser
un mínimo de diez veces más rápido que el tiempo de actualización del lazo para
evitar inexactitudes o perturbaciones.

STI indica que el PID actualiza su salida cada vez que se escanea. Cuando
selecciona STI, la instrucción PID debe ser programada en una subrutina de
interrupción STI, y la rutina STI debe tener un intervalo de tiempo igual al
ajuste del parámetro de “actualización del lazo” PID. Establezca el período STI
en la palabra S:30. Por ejemplo, si el tiempo de actualización del lazo contiene
el valor 10 (para 100 ms), entonces el intervalo de tiempo STI también debe ser
igual a 10 (para 10 ms).
• El control CM (palabra 0, bit 2) alterna los valores E=SP–PV y E=PV–SP.
La acción directa (E=PV–SP) causa que la salida CV incremente cuando la
salida PV es mayor que el punto de ajuste SP (por ejemplo, una aplicación de
enfriamiento). La acción inversa (E=SP–PV) causa que la salida CV
incremente cuando la salida PV sea menor que el punto de ajuste SP (por
ejemplo, una aplicación de calefacción).

9–5

Manual de referencia del juego de instrucciones

– El punto de ajuste SP (palabra 2) es el punto de control deseado de la


variable del proceso. Puede cambiar este valor con las instrucciones en su
programa de escalera. Escriba el valor en la tercera palabra en el bloque de
control (por ejemplo, escriba el valor en N10:2 si su bloque de control es
N10:0). Sin escala, el rango de este valor es 0–16383. En caso contrario,
el rango es de escala mínima (palabra 8) a escala máxima (palabra 7),
– La ganancia Kc (palabra 3) es la ganancia proporcional, con un rango de
0.1 a 25.5 La regla general es establecer esta ganancia a la mitad del valor
necesario para causar que la salida oscile cuando los términos de
restablecimiento y régimen (abajo) se ponen a cero.
Específico para SLC 5/03 y SLC 5/04 – El rango válido es 0 a 32767. Esta
palabra no es afectada por el bit RG.

– El restablecimiento Ti (palabra 4) es la ganancia integral, con un rango de


0.1 a 25.5 minutos por repetición. La regla general es establecer el tiempo
de restablecimiento para que sea igual al período natural medido en la
calibración de ganancia de arriba.
Específico para SLC 5/03 y SLC 5/04 – El rango válido es 0 a 32767
minutos/repetición. Anote que el valor 1 añadirá el término integral
mínimo posible en la ecuación PID.

– Régimen Td (palabra 5) es el término derivativo. El rango de ajuste es


0.01 a 2.55 minutos. La regla general es establecer este valor a 1/8 del
tiempo integral de arriba.
Específico para SLC 5/03 and SLC 5/04 – El rango válido es 0 a 32767
minutos.

– Escala máxima Smax (palabra 7) – Si el punto de ajuste debe ser leído en


unidades de ingeniería, entonces este parámetro corresponde al valor del
punto de ajuste en unidades de ingeniería cuando la entrada de control es
16383. El rango válido es ±16383 a +16383.
Específico para SLC 5/03 y SLC 5/04 – El rango válido es ±32768 a
+32767.

– Escala mínima Smin (palabra 8) – Si el punto de ajuste debe ser leído en


unidades de ingeniería, este parámetro corresponde al valor del punto de
ajuste en unidades de ingeniería cuando la entrada de control es cero. El
rango válido es ±16383 a +16383.
Específico SLC 5/03 y SLC 5/04 – El rango válido ±32768 a 32767.
Nota La escala Smin – Smax le permite introducir el punto de ajuste en unidades
de ingeniería. La banda muerta, error y PV se mostrarán en unidades de
ingeniería. Todavía se espera que el PV de la variable de proceso se
encuentre dentro del rango de 0 a 16383. El uso de Smin – Smax no
minimiza la resolución PV PID.

9–6
Instrucción proporcional integral derivativa

Específico para SLC 5/03 y SLC 5/04: Los errores con escala mayores que
+32767 ó menores que ±32768 no se pueden representar. Si el error con
escala es mayor que +32767, se representa como +32767. Si el error con
escala es menor que ±32768, se representa como ±32768.

– La banda muerta DB (palabra 9) es un valor no negativo. La banda


muerta se extiende sobre y debajo el punto de ajuste según el valor que
usted introduce. La banda muerta se introduce en la intersección con cero
de la variable de proceso PV y el punto de ajuste SP. Esto significa que la
banda muerta estará en efecto sólo después que la variable de proceso PV
entre en la banda muerta y pase a través del punto de ajuste SP.
El rango válido es 0 a la escala máxima ó 0 a 16383 cuando no hay escala.

– Actualización del lazo (palabra 13) es el intervalo de tiempo entre los


cálculos PID. La entrada es en intervalos de 0.01 segundo. La regla
general es introducir un tiempo de actualización del lazo cinco a diez veces
más rápido que el período natural de la carga (determinado poniendo los
parámetros de restablecimiento y régimen a cero y luego incrementando la
ganancia hasta que la salida comience a oscilar). En el modo STI, este
valor debe ser igual al valor de intervalo de tiempo STI de S:30.
El rango válido es 1 a 2.55 segundos.
Específico para SLC 5/03 y SLC 5/04 – El rango válido es 0.01 a 10.24
segundos.

– El proceso con escala PV (palabra 14) se usa para la muestra en pantalla


únicamente. Este es el valor con escala de la variable de proceso (la
entrada analógica). Sin escala, el rango de este valor es 0–16383. Si no, el
rango es de escala mínimia (palabra 8) a escala máxima (palabra 7).

– Error con escala (palabra 15) se usa para visualización solamente. Este es
el error de escala según es seleccionado por el parámetro de modo de
control. Rango: escala máxima a –escala mínima, ó 16383 a –16383
cuando no hay escala.
Nota Específico para SLC 5/03 y SLC 5/04: Los errores con escala mayores que
+32767 ó menores que ±32768 no se pueden representar. Si el error con
escala es mayor que +32767, se representa como +32767. Si el error con
escala es menor que ±32768, se representa como ±32768.

9–7
Preface
Manual de referencia del juego de instrucciones

– La salida CV% (palabra 16) muestra la salida CV real de 0 a 16383 en


términos de porcentaje. (El rango es 0 a 100%.) Si usted seleccionó el
modo AUTO con la tecla de llave F1, es para la visualización únicamente.
Si seleccionó el modo manual y usa un monitor de datos APS, puede
cambiar la salida CV% y el cambio se aplicará a CV. El escribir a la salida
CV% con su programa de usuario o un dispositivo de programación no
inteligente no afectará el CV. Cuando usa un dispositivo que no sea APS,
debe escribir directamente a CV que tiene un rango de 0 a 16383.

• El límite de salida (CV) OL (palabra 0, bit 3) alterna entre Sí y No.


Seleccione Sí, si desea limitar la salida a los valores mínimos y máximos.

SI (1) NO (0)
salida CV% límite de salida CV% seleccionado límite de salida CV% cancelado

#      "        "
     #   "   "     
       "     # 
           #$            #$
 "      "      
   #  
•    "      
  !
•          #
   "  

"       "        "
     "    "   "     
       "     # 
        "           "  
   "         
•    "      #  

 !
•          #

   "  

9–8
Instrucción proporcional integral derivativa

Indicadores de instrucción PID


auto/manual: AUTO ∗ time mode Bit: 1 TM
mode: STI ∗ auto/manual bit: 0 AM
control: E=SP–PV ∗ control mode bit: 0 CM
setpoint (SP): 500 0output limiting enabled bit: 1 OL
process (PV): 0 ∗ reset and gain range: 0 RG
scaled error: 0 scale setpoint flag: 0 SC
deadband: 5 loop update time too fast: 0 TF
output (CV): 0 %∗ derivitive (rate) action: 0 DA
DB, set when error is in DB: 0 DB
loop update: 50 [.01 secs] output alarm, upper limit: 0 UL
gain: 25 [/10] output alarm, lower limit: 0 LL
reset: 10 [/10 m/r] setpoint out of range: 0 SP
rate: 1 [/100 min] process var out of range: 0 PV
min scaled: 0 PID done: 0 DN
max scaled: 1000
output (CV) limit: NO ∗ PID enabled: 0 EN
output (CV) min: 0 %
output (CV) max: 0 %

La columna derecha de la pantalla anterior muestra varios indicadores asociados con


la instrucción PID. La sección siguiente describe estos indicadores:
• El bit de modo de tiempo TM (palabra 0, bit 0) especifica el modo PID. Se
establece cuando el modo TEMPORIZADO está en efecto. Se pone a cero
cuando el modo STI está en efecto. Este bit se puede establecer o poner a cero
por medio de instrucciones en su programa de escalera.
• El bit manual/automático AM (palabra 0, bit 01) especifica la operación
automática cuando se pone a cero y la operación manual cuando se establece.
Este bit puede ser establecido o poner a cero por medio de instrucciones en su
programa de escalera.
• El bit de modo de control CM (palabra 0, bit 02) se pone a cero si el control
es E=SP–PV. Se establece si el control es E=PV–SP. Este bit se puede
establecer o poner a cero por medio de instrucciones en su programa de
escalera.
• El bit de límite de salida habilitado OL (palabra 0, bit 03) se establece
cuando ha seleccionado limitar la variable de control usando la tecla de función
[F4]. Este bit se puede establecer o poner a cero por medio de instrucciones en
su programa de escalera.
• Específico para SLC 5/03 y SLC 5/04 – Bit de mejoramiento de
restablecimiento y rango de ganancia RG (palabra 0, bit 4) Cuando se
establece, este bit causa que el valor de restablecimiento de minuto/repetición y
el multiplicador de ganancia sean mejorados por un factor de 10 (multiplicador
de restablecimiento de .01 y multiplicador de ganancia de .01).
Ejemplo con el juego de bit 4 El valor de restablecimiento de 1 indica que el
valor integral de 0.01 minutos/repetición (0.6 segundos/repetición) se aplicará al
algoritmo integral PID. El valor de ganancia de 1 indica que el error será
multiplicado en 0.01 y aplicado al algoritmo PID.

9–9

Manual de referencia del juego de instrucciones

Cuando se pone a cero, este bit permite que el valor de restablecimiento de


minutos/repetición y el valor del multiplicador de ganancia sean evaluados en
las mismas unidades que la instrucción 5/02 PID (multiplicador de
restablecimiento de 0.1 y multiplicador de ganancia de 0.1).

Ejemplo con el juego de bit 4 El valor de restablecimiento de 1 indica que el


valor integral de 0.01 minutos/repetición (0.6 segundos/repetición) se aplicará al
algoritmo integral PID. El valor de ganancia de 1 indica que el error será
multiplicado en 0.01 y aplicado al algoritmo PID.

Observe que el multiplicador de régimen no es afectado por esta selección. (La


edición inicial del software, versión 4.0, puede no permitirle introducir este bit.
Sin embargo, puede alterar el estado de este bit directamente en el bloque de
control.)
• El indicador de punto de ajuste de escala SC (palabra 0, bit 05) se pone a
cero cuando se especifican los valores de escala del punto de ajuste.
• El tiempo de actualización del lazo demasiado rápido TF (palabra 0, bit
06) está establecido por el algoritmo PID si el tiempo de actualización del lazo
que ha especificado no puede ser realizado por el programa en cuestión (debido
a límites de tiempo de escán).
Si este bit está establecido, trate de corregir el problema actualizando su lazo
PID a un régimen más lento o moviendo la instrucción PID a una rutina de
interrupción STI. Las ganancias de restablecimiento y régimen aparecerán con
error si la instrucción funciona con este bit establecido.
• Bit de acción de derivativa (régimen) DA (palabra 0, bit 07) Cuando está
establecido, este bit causa que el cálculo de derivativa (régimen) sea evaluado
en el error en vez del PIV. Cuando se pone a cero, este bit permite que el
cálculo de derivativa (régimen) sea evaluado de la misma manera que la
instrucción 5/02 PID (donde la derivativa se realiza en el PIV). Este bit es
usado únicamente por los procesadores SLC 5/03 y SLC 5/04.
• DB, establecido cuando el error está en DB (palabra 0, bit 08) se establece
cuando la variable de proceso se encuentra dentro del rango de banda muerta de
intersección con 0.
• La alarma de salida, límite superior UL (palabra 0, bit 09) se establece
cuando el CV de de salida de control calculado excede el límite CV superior.
• La alarma de salida, límite inferior LL (palabra 0, bit 10) se establece
cuando el CV de salida de control calculado es menor que el límite CV inferior.
• El punto de ajuste fuera de rango SP (palabra 0, bit 11) se establece cuando
el punto de ajuste excede el valor con escala máximo o es menor que el valor
con escala mínimo.
• La variable de proceso fuera de rango PV (palabra 0, bit 12) se establece
cuando la variable de proceso sin escala (o sin procesar) excede 16838 ó es
menor que cero.
• El PID efectuado DN (palabra 0, bit 13) se establece en escanes donde el
algoritmo PID se calcula. Se calcula al régimen de actualización del lazo.
• El PID habilitado EN (palabra 0, bit 15) se establece mientras que el
renglón de la instrucción PID se habilita.

9–10
Instrucción proporcional integral derivativa

Configuración del bloque de control


La longitud del bloque de control se fija a 23 palabras y se debe programar como
archivo de entero. Los indicadores de instrucción PID (palabra 0) y otros
parámetros se ubican de la manera siguiente:

     


Á Á
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00  
EN DN PV SP LL UL DB DA TF SC RG OL CM AM TM 
* PID Sub Error Code (MSbyte) 
* Setpoint SP 
* Gain KC 
OL, CM,
* Reset Ti 
AM, TM À
* Rate Td 
* Feed Forward Bias 
* Setpoint Max (Smax) 
* Setpoint Min (Smin)
* Deadband

INTERNAL USE DO NOT CHANGE 


* Output Max 
* Output Min 
* Loop Update 
Scaled Process Variable 
Scaled Error SE 
Output CV% (0–100%) 
MSW Integral Sum 5/03 MSW Integral Sum 
LSW Integral Sum 5/03 LSW Integral Sum 


INTERNAL USE
DO NOT CHANGE 


À                   
Á
     
  
 

No altere el estado de un valor de bloque de control PID a menos que entienda


completamente la función y el efecto relacionado en su proceso.

9–11

Manual de referencia del juego de instrucciones

Errores de tiempo de ejecución


El código de error 0036 aparece en el archivo de estado cuando ocurre un error de
tiempo de ejecución de instrucción PID. El código 0036 abarca las condiciones de
error PID siguientes, cada una de las cuales ha sido asignada a un valor de código de
un solo byte exclusivo que aparece en el MSbyte de la segunda palabra del bloque
de control.

$    $    $   


$ !"
11            
1) T!  actualizaĆ 1) Tiempo de actualizaĆ Cambie el tiempo de Cambie el tiempo de
ción del lazo ! > 255 ó ción del lazo ! > 1024 actualización del lazo actualización del lazo
! a 0 < ! < 255 ! a 0 < ! < 1024
2) Tiempo de actualizaĆ 2) Tiempo de actualizaĆ
ción del lazo ! = 0 ción del lazo ! = 0
          
 
1) Ganancia 1) Ganancia Cambie la ganancia Cambie la ganancia
proporcional  > proporcional  < 0 porporcional   proporcional  a
255 ó 0 <  < 255 0 < 
2) Ganancia
proporcional  = 0
          
 
Ganancia integral Ganancia integral Cambie la ganancia inteĆ Cambie la ganancia inteĆ
(restablecimiento) (restablecimiento) gral (restablecimiento)  gral (restablecimiento) 
 > 255  < 0  0 <  < 255 a 0 < 
            
Ganancia derivativa Ganancia derivativa Cambie la ganancia Cambie la ganancia
(régimen)  > 255 (régimen)  < 0 derivativa (régimen)  derivativa (régimen) 
a 0 <  < 255 a 0 < 
 1) Pto. de ajuste con escala máx. # > 16383 ó Cambie el pto. de ajuste con escala máx. # a
  ! 2) Pto. de ajuste con escala máx. # < -16383 -16383 < # < 16383
 1) Pto. de ajuste con escala mín.  > 16383 ó Cambie el pto. de ajuste con escala mín.  a
  ! 2) Pto. de ajuste con escala mín.  < -16383 -16383 <  < # < 16383
 Punto de ajuste con escala mínimo Cambie el punto de ajuste con escala mín.  a
 > punto de ajuste con escala máx. # -16383 <  < # < 16383
(     -32768 a +32767)

9–12
Instrucción proporcional integral derivativa

Código de error Descripción de la(s) condición(es) de error Acción correctiva


31H Si +) " )" del &+$*% de !+)* - Si usa la escala de punto de ajuste, entonces
Smin  &+$*% de !+)* SP  Smax o cambie el punto de ajuste SP a Smin < SP <
Smax o
Si no +) " )" de &+$*% de !+)* -
0  &+$*% de !+)* SP  16383, Si no usa la escala de punto de ajuste, entonces
cambie el punto de ajuste SP a 0 < SP < 16383.
entonces durante la ejecución inicial del lazo PID,
ocurre este error y se establece bit 11 de palabra
0 del bloque de control. Sin embargo, durante la
ejecución subsiguiente del lazo PID, si se
introduce un punto de ajuste de lazo inválido, el
lazo PID continúa ejecutando con el uso del punto
de ajuste anterior, y se establece bit 11 de palabra
0 del bloque de control.
41H Escala seleccionada Selección de escala Escala seleccionada Selección de escala
cancelada cancelada
1) Banda muerta < 0 ó 1) Banda muerta < 0 ó Cambie la banda Cambie la banda
muerta a 0 < banda muerta a 0 < banda
muerta < (Smax - muerta < 16383
Smin) < 16383
2) Banda muerta > 2) Banda muerta >
(Smax Ć Smin) o bien 16383
3) Banda muerta >
16383 (específico para
5/02))
51H 1) Límite de salida alta < 0 ó Cambie el límite de salida alta a
2) Límite de salida alta > 100 0 < límite de salida alta < 100
52H 1) Límite de salida baja < 0 ó Cambie el límite de salida baja a 0 < límite de
2) Límite de salida baja > 100 salida baja < límite de salida alta < 100
53H Límite de salida baja > límite de salida alta Cambie el límite de salida baja a 0 < límite de
salida baja < límite de salida alta < 100
60H   - PID está siendo introducido por seĆ Tiene un mínimo de tres lazos PID en su
gunda vez. (El lazo PID fue interrumpido por una programa; uno en el programa principal o archivo
interrupción de E/S, la cual a su vez, es interrumĆ de subrutina; uno en un archivo de interrupción
pida por la interrupción PID STI.) de E/S; y uno en el archivo de subrutina STI.
Debe alterar su programa de escalera y eliminar
el posible anidamiento de los lazos PID.

9–13


Manual de referencia del juego de instrucciones

Escala PID y E/S analógicas


Para la instrucción SLC 500 PID, la escala numérica para la variable de proceso
(PV) y la variable de control (CV) es 0 a 16383. Para usar unidades de ingeniería,
tal como PSI o grados, primero debe escalar sus rangos de E/S analógicas dentro de
la escala numérica de arriba. Para hacerlo, use la instrucción de escala (SCL) y siga
los pasos descritos a continuación.

1. Escale su entrada analógica calculando la pendiente (o régimen) del rango de


entrada analógica al rango PV (0 a 163873). Por ejemplo, una entrada
analógica con un rango de 4 a 20 mA tiene un rango decimal de 3277 a 16384.
El rango decimal debe ser escalado por todo el rango de 0 a 16383 para uso
como PV.

2. Escale el CV para que se distribuya de manera equitativa por todo el rango de


salida analógica. Por ejemplo, una salida analógica que tiene una escala de 4 a
20 mA, tiene un rango decimal de 5242 a 31208. En este caso, 0 a 16383 debe
ser escalado por todo el rango de 6242 a 31208.

Una vez que ha escalado sus rangos de E/S analógicas hacia/desde la instrucción
PID, puede introducir las unidades de ingeniería mínimas y máximas que se
aplican a su aplicación. Por ejemplo, si el rango de entrada analógica de 4 a 20
mA representa 0 a 300 PSI, puede introducir 0 y 300 como los parámetros
mínimos (Smin) y máximos (Smax) respectivamente. La variable de proceso,
error, punto de ajuste y banda muerta se mostrarán en unidades de ingeniería en
la pantalla del motor de datos PID. El punto de ajuste y la banda muerta se
pueden introducir en la instrucción PID usando unidades de ingeniería.

Las ecuaciones siguientes muestran la relación lineal entre el valor de entrada y el


valor con escala resultante.

Valor con escala = (valor de entrada pendiente x) + offset

Pendiente = (escala m áx. ± escala mín.) / (entrada máx. ± entrada mín.)

Offset = escala mín. ± (entrada mín pendiente x)

Uso de la instrucción SCL

Use los valores siguientes en una instrucción SCL para escalar los rangos de
entrada analógica comunes para las variables de proceso PID.

          
        

     

9–14
Instrucción proporcional integral derivativa

Use los valores siguientes en una instrucción SCL para escalar las variables de
control a salidas analógicas comunes.

 
        
    
   

Uso de la instrucción SCP

Use los valores siguientes en una instrucción SCP para escalar sus entradas
analógicas al rango PV y escalar el rango CV a su salida analógica.

 
        
   

 
        

     
          

Use los valores siguientes en una instrucción SCP para escalar variables de control
a salidas analógicas comunes.

 
        
   

 
          
     
      


Ejemplo

El diagrama de escalera siguiente muestra un lazo PID típico que se programa en el


modo STI. Este ejemplo se proporciona principalmente para mostrar las técnicas de
escala correctas. Muestra una entrada analógica de 4 a 20 mA y una salida
analógica de 4 a 20 mA. Se usan los parámetros siguientes se usan:
• Archivo de subrutina STI (S:31) = 3
• Punto de ajuste STI (S:30) = 10
• Bit de habilitación STI (S:2/1) = 1

9–15

Manual de referencia del juego de instrucciones

'( &" 0" () - "!(!"(  "(& " 0 )' $& 
IIM
" 0" IMMEDIATE IN w MASK
Slot I:1.0

Mask FFFF

'(#' #' &" #"' ')&" %)  * #&  "(& " 0 %) ' *  "(&#)& $&!"- "(&#  #' /!(' 
  
 '(# ' "'&# $& *(& &&#&'  #"*&'0" .)&  &"# " ' "'(&)#"'  ,  #' ('
 " *!"(# ' $)" )'& " #(&# )&  $&#&! $& "(&  #"0" )&  &"# %) #)&&0
"# "')"(
LES B3
" 0" LESS THAN (L)
Source A I:1.0 0
 0
Source B 3277
MOV
MOVE
Source 3277

Dest I:1.0
0

"# +'*#
GRT B3
" 0" GREATER THAN (L)
Source A I:1.0
 1
0
Source B 16384
MOV
MOVE
Source 16384

Dest I:1.0
0

 )"( %) ' *  ' & '  "(&  , ') '("# '  *&   $&#'#   "'(&)0"  '(#' * #&' '
 ) " #"  #"#!"(#  %)  &"# '   
 !"(&' %)  &"# #" '   '    
SCL
" 0" SCALE
Source I:1.0
 0
Rate [/10000] 12499

Offset –4096

Dest N10:28
0

PID
" 0" PID
Control Block N10:0

Process Variable N10:28
Control Variable N10:29
Control Block Length 23

9–16
Instrucción proporcional integral derivativa

La variable de control PID es la entrada para la instrucción de escala. La instrucción PID garantiza que el CV permanezca
dentro del rango de 0 a 16383. Este valor debe ser escalado al rango de 6242 a 31208, lo cual representa el rango
Renglón numérico que es necesario para producir la señal de salida analógica de 4 a 20 mA.
3:5
SCL
SCALE
Source N10:29
0
Rate [/10000] 15239

Offset 6242

Dest O:1.0
0

Este renglón actualiza inmediatamente la tarjeta de salida analógica que es impulsada por el valor de la
variable de control PID.
IOM
Renglón IMMEDIATE OUT w MASK
Slot O:1.0
3:6 Mask FFFF

END

La rutina STI debe tener un intervalo de tiempo equivalente al establecimiento del


parámetro de “actualización del lazo” PID.

9–17

Manual de referencia del juego de instrucciones

Notas de aplicación
Los párrafos siguientes tratan:
• Los rangos de entrada/salida
• La escala a unidades de ingeniería
• La banda muerta de intersección con cero
• Las alarmas de salida
• El límite de salida con bloque de acción integral
• El modo manual
• La alimentación hacia adelante
• Las salidas de tiempo de proporcional

Rangos de entrada/salida

El módulo de entrada que mide la variable de proceso (PV) debe tener un rango
binario completo de escala de 0 a 16383. Si este valor es menor que 0 (bit 15
establecido), un valor de cero se usará para PV y el bit de “variable de proceso fuera
de rango” se establecerá (bit 12 de palabra 0 en el bloque de control). Si la variable
de proceso es > 16383 (bit 14 establecido), un valor de 16383 se usará para PV y el
bit de “variable de proceso fuera de rango” se establecerá.

La variable de control, calculada por la instrucción PID, tiene el mismo rango de 0 a


16383. La salida de control (palabra 16 del bloque de control) tiene el rango de 0 a
100%. Puede establecer límites inferiores y superiores para los valores de salida
calculados de la instrucción (donde un límite superior de 100% corresponde a un
límite de variable de control de 16383).

Escalado a unidades de ingeniería

La escala le permite introducir el punto de ajuste y los valores de banda muerta de


intersección con cero en unidades de ingeniería y mostrar la variable de proceso y
valores de error en las mismas unidades de ingeniería. Recuerde que la variable de
proceso PV todavía debe estar dentro del rango 0–16383. Sin embargo, el PV será
mostrado en unidades de ingeniería.

9–18
Instrucción proporcional integral derivativa

Seleccione la escala según lo siguiente:

1. Introduzca los valores de escala máximos y mínimos Smax y Smin en el bloque


de control PID. Refiérase al bloque de control de la instrucción PID en la
página 9–11. El valor Smin corresponde a un valor analógico de cero para la
lectura más baja de la variable de proceso, y Smax corresponde a un valor
analógico de 16383 para la lectura más alta. Estos valores reflejan los límites
de proceso. La escala del punto de ajuste es seleccionada introduciendo un
valor que no sea cero para uno o ambos parámetros. Si introduce el mismo
valor para ambos parámetros, la escala del punto de ajuste se inhabilita.

Por ejemplo, si mide un rango de temperatura de escala completa de –73 (PV=0) a


+1156° C (PV=16383), introduzca un valor de –73 para Smin y 1156 para Smax.
Recuerde que las entradas en la instrucción PID deben ser 0 a 16383. Las
conversiones de señales podrían ser así:

%"!   ! ±   +


° 
  " !! ! #!    
  # &#  "  &     
!" #&    $ ±   +
° 

2. Introduzca el punto de ajuste (palabra 2) y la banda muerta (palabra 9) en las


mismas unidades con escala. Lea también la variable de proceso con escala y el
error con escala en estas unidades. El porcentaje de salida de control (palabra
16) se muestra como porcentaje del rango de 0 a 16383. El valor real
transferido a la salida CV siempre es entre 0 y 16383.

Cuando selecciona la escala, la instrucción escala el punto de ajuste, banda muerta,


variable de proceso y error. Debe considerar el efecto de todas estas variables
cuando cambia la escala.

9–19
Manual de referencia del juego de instrucciones


Banda muerta (DB) de intersección con cero

La banda muerta ajustable le permite seleccionar un rango de error encima y debajo


del punto de ajuste donde la salida no se cambia siempre que el error permanezca
dentro de este rango. Esto le permite controlar la precisión con que la variable
corresponde el punto de ajuste sin cambiar la salida.


  


 

La intersección con cero es el control de banda muerta que permite que la


instrucción use el error para propósitos de cálculo mientras que la variable de
proceso cruce en la banda muerta hasta que cruce el punto de ajuste. Una vez que
cruza el punto de ajuste (el error cruza cero y cambia la señal) y siempre que
permanezca en la banda muerta, la instrucción considera que el valor de error es
cero para propósitos de cálculo.

Seleccione la banda muerta introduciendo un valor en la palabra de almacenamiento


de la banda muerta (palabra 9) en el bloque de control. La banda muerta se extiende
encima y debajo del punto de ajuste según el valor que usted introduce. Un valor de
cero inhibe esta característica. La banda muerta tiene las mismas unidades con
escala que el punto de ajuste si selecciona la escala.

Alarmas de salida

Puede establecer una alarma de salida en la salida de control (CO) a un valor


seleccionado encima y/o debajo de un porcentaje de salida seleccionado. Cuando la
instrucción detecta que la salida (CO) ha excedido el valor, establece un bit de
alarma (bit 10 para el límite inferior, bit 9 para el límite superior) en palabra 0 del
bloque de control PID. Los bits de alarma están restablecidos por la instrucción
cuando la salida (CO) retorna dentro de los límites. La instrucción no evita que la
salida (CO) exceda los valores de alarma a menos que usted seleccione el límite de
salida.

Seleccione alarmas de salida superiores e inferiores introduciendo un valor para la


alarma superior (palabra 11) y la alarma inferior (palabra 12). Los valores de
alarma son especificados como porcentaje de la salida. Si no desea alarmas,
introduzca cero y 100% respectivamente para los valores de alarma inferiores y
superiores y no haga caso de los bits de alarma.

9–20
Instrucción proporcional integral derivativa

Límite de salida con bloqueo de acción integral

Puede establecer un límite de salida (porcentaje de salida) en la salida de control.


Cuando la instrucción detecta que la salida (CO) ha excedido un límite, establece un
bit de alarma (bit 10 para el límite inferior, bit 9 para el límite superior) en palabra 0
del bloque de control PID y previene que la salida (CO) exceda el valor de límite.
La instruccion limita la salida (CO) a 0 y 100% si elige no limitarla.

Seleccione límites de salida superiores e inferiores estableciendo el bit de


habilitación de límite (bit 3 de la palabra de control 0) e introduciendo un límite
superior (palabra 11) y un límite inferior (palabra 12). Los valores de límite son un
porcentaje (0 a 100%) de la salida de control (CO).

La diferencia entre seleccionar alarmas de salida y límites de salida es que debe


seleccionar el límite de salida para habilitar el límite. Los valores de límite y alarma
se almacenan en las mismas palabras. El introducir estas palabras habilita las
alarmas, pero no el límite. El introducir estos valores y el establecer el bit de
habilitación de límite habilita el límite y las alarmas.

El bloqueo de acción integral es una característica que evita que el término integral
se haga excesivo cuando la salida (CO) alcanza un límite. Cuando la suma de los
términos PID y bias en la salida (CO) alcanzan el límite, la instrucción deja de
calcular la suma integral hasta que la salida (CO) retorne dentro del rango. La suma
integral se contiene en palabras 17 y 18 del bloque de control.
Modo manual

En el modo manual, el algortimo PID no calcula el valor de la variable de control.


En cambio, usa el valor como entrada para ajustar la suma integral (palabras 17 y
18) para que se realice una transferencia sin perturbaciones al volver a entrar en el
modo AUTOMATICO.

En el modo manual, el programador le permite introducir un valor CV nuevo de 0 a


100%. Este valor se convierte en un número de 0 a 16383 y se escribe a la dirección
de variable de control. Si usa un módulo de salida analógico para esta dirección,
debe guardar (compilar) el programa con la opción de protección de archivo
establecida a Ninguna. Esto le permite escribir a la tabla de datos de salida. Si no
efectúa esta operación de guardar, no podrá establecer el nivel de salida en el modo
manual. Si su programa de escalera establece el nivel de salida manual, diseñe su
programa de escalera para escribir a la dirección CV cuando está en el modo
manual. Anote que este número se encuentra en el rango de 0 a 16383, no de 0 a
100. El escribir al porcentaje CV (palabra 16) con su programa de escalera no tiene
efecto en el modo manual.

El ejemplo en la página siguiente muestra cómo puede controlar manualmente la


salida de variable de control (CV) con su programa de escalera.

9–21
Preface
Manual de referencia del juego de instrucciones

Estado de renglón PID

Si el renglón PID es falso, la suma integral (palabras 17 y 18) se pone a cero y CV


permanece en su último estado.
Manual Bit A/M
I:2.0 N7:10
] [ (L)
2 1
Auto Bit A/M
I:2.0 N7:10
] [ (U)
1 1

A/M Bit Acepta CV


N7:10 I:2.0 B3 FRD
] [ ] [ [OSR] FROM BCD
0 Source I1:1.0
1 0
Dest N7:0

LIM MUL
LIMIT TEST MULTIPLY
Low Lim 0 Source A N7:0

Test N7:0 Source B 16384

High Lim 100 Dest N7:2

DDV
DOUBLE DIVIDE
Source 100

Dest N7:8
Notas de operación
Un interruptor preselector giratorio BCD de 3
dígitos es cableado a un módulo de entrada a
S:5
I1:1.0 (rango 0-100) (U)
0
Un botón pulsador es cableado a I1:2.0/0; acepta
el valor del interruptor preselector giratorio.
Error - fuera de rango
Un interruptor selector para el modo LIM B3
automático/manual es cableado a I1:2.0/1 LIMIT TEST ( )
(automático) e I1:2.0/2 (manual). Low Lim 101 3
Test N7:0
N7:0 almacena el valor introducido en el
interruptor preselector giratorio. High Lim –1

N7:2 almacena un cálculo intermedio.

N7:8 es la dirección de variable de control PID.

N7:10 Es la dirección de bloque de control de la


instrucción PID.

N7:26 El porcentaje de salida es actualizado


automáticamente por la instrucción PID.

9–22
Instrucción proporcional integral derivativa

Alimentación hacia adelante o bias

Las aplicaciones que involucran demoras de transporte pueden requerir que se añada
un bias a la salida CV en espera de una perturbancia. Este bias se puede realizar
usando el procesador LSC 5/02, SLC 5/03 ó SLC 5/04 escribiendo un valor al
elemento de bias de alimentación hacia adelante, el séptimo elemento (palabra 6) en
el archivo de bloque de control. (Vea la página 9–11.) El valor que escribe se
añadirá a la salida para así permitir que se efectúe una acción de alimentación hacia
adelante. Puede añadir un bias escribiendo un valor entre ±16383 y +16383 a
palabra 6 con su terminal de programación o programa de escalera.

Salidas de tiempo proporcional

Para aplicaciones de calentamiento o enfriamiento, la salida analógica de variable de


control típicamente es convertida en una salida de tiempo proporcional. Aunque
esto no se puede realizar directamente en el procesador SLC 5/02, SLC 5/03 ó SLC
5/04, puede usar el programa en la página siguiente para convertir la variable de
control en una salida de tiempo proporcional. En este programa, el tiempo de ciclo
es el valor preseleccionado del temporizador T4:0. El tiempo de ciclo se relaciona
con el % a tiempo de la manera siguiente:

T4:0.PRE es el tiempo de ciclo

% a tiempo

salida 100% a tiempo

9–23

Manual de referencia del juego de instrucciones

Ejemplo – Salidas de tiempo proporcional

PID
PID
Control Block N7:2
Process Variable N7:0
Control Variable N7:1
Control Block Length 23

TON
TIMER ON DELAY (EN)
Timer T4:0
Time Base 0.01 (DN)
Preset 1000
Accum 0
   
 
GRT O:1.0
GREATER THAN (U)
Source A T4:0.ACC 0
0
Source B N7:25
   
0
 
  
T4:0 T4:0
] [ (RES)
DN
NEQ O:1.0
NOT EQUAL (L)
Source A N7:25 0
0
Source B 0

N7:2 MUL  
 
] [ MULTIPLY
Source A N7:1
13
0
Source B T4:0.PRE
    1000
   Dest N7:25
 0

DDV
DOUBLE DIVIDE
Source 16383     
    
Dest N7:25
0

CLR     
CLEAR   
Dest S:5
0

END

9–24
Instrucción proporcional integral derivativa

Sintonización PID

La sintonización PID requiere el conocimiento del control de proceso. Si no tiene


experiencia, sería útil obtener instrucción técnica acerca de la teoría y métodos de
control de proceso usados por su empresa.

Existen varias técnicas que se pueden usar para sintonizar un lazo PID. El método
de ajuste PID siguiente es general y es limitado respecto al manejo de
perturbaciones de carga. Cuando sintoniza, le recomendamos que efectúe cambios
en el modo MANUAL, seguido por un retorno a AUTOMATICO. El límite de
salida se aplica en el modo MANUAL.
Nota Este método requiere que la instrucción PID controle una aplicación no crítica
respecto a la seguridad personal y daños al equipo.

Procedimiento
1. Cree su programa de escalera. Asegúrese que haya escalado correctamente su
entrada analógica en el rango de la variable de proceso PV y que haya escalado
correctamente su variable de control CV a su salida analógica.

2. Conecte su equipo de control de proceso a los módulos analógicos. Cargue el


programa en el procesador. Deje el procesador en el modo de programa.

Asegúrese que todas las posibilidades de movimiento de la máquina hayan sido


consideradas en cuanto a la seguridad personal y daños al equipo. Es posible
que la salida CV pueda oscilar entre 0 y 100% durante la sintonización.

Si desea verificar el escalado de su sistema continuo y/o determinar el tiempo de


actualización del lazo inicial del sistema, pase al procedimiento en la página 9–27.

3. Introduzca los valores siguientes: el valor de punto de ajuste inicial SP, un Ti de


restablecimiento de 0, un régimen Td de 0, una ganancia Kc de 1 y una
actualización de lazo de 5.

Establezca el modo PID a STI o temporizado, según su diagrama de escalera. Si


STI es seleccionado, asegúrese que el tiempo de actualización del lazo sea igual
al intervalo de tiempo STI.

Introduzca los establecimientos opcionales aplicables (límite de salida, alarma


de salida, escalado Smax – Smin, alimentación hacia adelante).

4. Prepárese para registrar el CV, PV, entrada analógica o salida analógica a


medida que vaya variándose con el transcurso de tiempo con respecto al valor
del punto de ajuste SP.

9–25

Manual de referencia del juego de instrucciones

5. Coloque la instrucción PID en el modo MANUAL, luego coloque el procesador


en el modo de marcha.

6. Mientras monitoriza la pantalla PID, ajuste el proceso manualmente escribiendo


al valor de porcentaje CO.

7. Cuando perciba tener el proceso bajo control manual, coloque la instrucción


PID en el modo AUTOMATICO.

8. Ajuste la ganancia a medida que vaya observando la relación de la salida con el


punto de ajuste durante el transcurso de tiempo.

Cuando usa el procesador SLC 5/02, los ajustes de ganancia perturban el


proceso cuando cambia los valores. Para evitar esta perturbación, cambie al
modo MANUAL antes de efectuar el cambio de ganancia y luego retorne al
modo AUTOMATICO. Cuando usa el procesador SLC 5/03 ó SLC 5/04, los
cambios de ganancia no perturban el proceso; por lo tanto, no es necesario
cambiar al modo MANUAL.

9. Cuando observe que el proceso está oscilando arriba y abajo del punto de ajuste
de una manera uniforme, registre la duración de 1 ciclo. Eso es, obtenga el
período natural del proceso.

Período natural ≅ 4x tiempo muerto

Registre el valor de ganancia. Retorne al modo MANUAL (detenga el proceso


si fuese necesario).

10. Establezca el tiempo de actualización del lazo (y el intervalo de tiempo STI si es


aplicable) a un valor de 5 a 10 veces más rápido que el período natural.

Por ejemplo, si el tiempo de ciclo es 20 segundos y usted elige establecer el


tiempo de actualización del lazo a 10 veces más rápido que la velocidad natural,
establezca el tiempo de actualización del lazo a 200, lo que resultará en una
velocidad de 2 segundos.

11. Establezca el valor de ganancia Kc a 1/2 de la ganancia necesaria para obtener


el período natural del proceso. Por ejemplo, si el valor de ganancia registrado
en el paso 9 fue 80, establezca la ganancia a 40.

12. Establezca el término de restablecimiento Ti para que éste se aproxime al


período natural. Si el período natural es 20 segundos, como en nuestro ejemplo,
se establecerá el término de restablecimiento a 3 (0.3 minutos por repetición se
aproximan a 20 segundos).

13. Ahora establezca el régimen Td para que éste sea igual a un valor de 1/8 del
término de restablecimiento. Para nuestro ejemplo, el valor 4 será usado para
proporcionar un término de régimen de 0.04 minutos por repetición.

9–26
Instrucción proporcional integral derivativa

14. Coloque el proceso en el modo AUTOMATICO. Si tiene un proceso ideal, la


sintonización PID será finalizada.

15. Para efectuar ajustes de este punto en adelante, coloque la instrucción PID en el
modo MANUAL, introduzca el ajuste y retorne la instrucción PID al modo
AUTOMATICO.

Esta técnica de cambiar al modo MANUAL y luego retornar al modo


AUTOMATICO asegura que la mayor parte del “error de ganancia” se elimine
al momento de realizar cada ajuste. Esto le permite observar inmediatamente
los efectos de cada ajuste. El alternar el renglón PID permite que la instrucción
PID se reinicie eliminando así toda la “acumulación integral”. Es posible que
desee alternar el renglón PID como falso a medida que vaya sintonizando para
eliminar los efectos de los ajustes de sintonización anteriores.

Cómo verificar el escalado del sistema continuo

Para asegurarse que el proceso sea lineal y que el equipo esté correctamente
conectado y escalado, realice lo siguiente:

1. Coloque la instrucción PID en el modo manual e introduzca los parámetros


siguientes:
• escriba: 0 para Smin
• escriba: 100 para Smax
• escriba: 0 para CO%
2. Introduzca el modo de marcha REM y verifique que PV=0.

3. Escriba: 20 en CO%

4. Registre el PV = _______

5. Escriba: 40 en CO%.

6. Registre el PV = _______

7. Escriba: 60 en CO%.

8. Registre el PV = _______

9. Escriba: 80 en CO%.

10. Registre el PV = _______

9–27

Manual de referencia del juego de instrucciones

11. Los valores que ha registrado deben tener un offset del CO% con la misma
cantidad. Esto prueba la linealidad del proceso. El ejemplo siguiente muestra
una progresión de offset de quince.

CO 20% = PV 35%

CO 40% = PV 55%

CO 60% = PV 75%

CO 80% = PV 95%

Si los valores que ha registrado no tienen el offset con la misma cantidad:


• El escalado es incorrecto, o
• el proceso no es lineal, o
• el equipo no está conectado y/o configurado correctamente.
Haga las correcciones necesarias y repita los pasos 2–10.

Cómo determinar el tiempo de actualización del lazo inicial

Para determinar el tiempo de actualización del lazo aproximado que se debe usar
para su proceso, realice lo siguiente:

1. Coloque los valores de aplicación normales en Smin y Smax.

2. Escriba: 50 en CO%.

3. Escriba: 60 en CO% y active inmediatamente su cronómetro.

4. Observe el PV. Cuando el PV comience a cambiar, pare el cronómetro.


Registre este valor. Esto constituye el tiempo muerto.

5. Multiplique el tiempo muerto por 4. Este valor se aproxima al período natural.


Por ejemplo, si:
tiempo muerto = 3 segundos, entonces 4  3 = 12 segundos (≅ período natural)

6. Divida el valor obtenido en el paso 5 entre 10. Use este valor como el tiempo
de actualización del lazo. Por ejemplo, si:
período natural = 12 segundos, entonces 12 10 = 1.2 segundos.

Por lo tanto, el valor 120 se introducirá como el tiempo de actualización del


lazo.
(120 10 ms = 1.2 segundos)

9–28
Instrucción proporcional integral derivativa

7. Introduzca los valores siguientes: El valor SP de punto de ajuste inicial, un Ti


de restablecimiento de 0, un Td de régimen de 0, un Kc de ganancia de 1 y el
tiempo de actualización del lazo determinado en el paso 17.

Establezca el modo PID a STI o temporizado, según su diagrama de escalera. Si


selecciona STI, asegúrese que el tiempo de actualización del lazo sea igual al
intervalo de tiempo STI.

Introduzca los posicionamientos opcionales aplicables (límite de salida, alarma


de salida, escalado Smax – Smin, alimentación hacia adelante).

8. Retorne a la página 9–25 y finalice el procedimiento de sintonización a partir


del paso 4.

9–29

Manual de referencia del juego de instrucciones

9–30
Instrucciones ASCII

10 Instrucciones ASCII

Este capítulo contiene información general acerca de las instrucciones ASCII y


explica cómo funcionan en su programa de aplicación. Cada una de las
instrucciones incluye información acerca de:
• cómo aparece el símbolo de instrucción
• cómo usar la instrucción

Instrucciones ASCII

!" #%
 %!" $
%  

 Prueba de búfer Determina el número de caracteres en el búfer,  
por línea hasta e incluyendo el carácter del fin de línea.

Número de Determina el número total de caracteres en el búfer.  
caracteres en búfer
 Cadena a entero Convierte una cadena en un valor entero.  
 Borrado del búfer Borra los búferes de recepción y/o de transmisión  
ASCII de recepción
y/o transmisión
 Concatenado de Combina dos cadenas en una.  
cadenas
 Extracción de caĆ Extrae una porción de una cadena para crea nua  
dena cadena nueva.
 Líneas de handĆ Establece o restablece las líneas de comunicación  
shake ASCII de módem
 Entero a cadena Convierte un valor entero en una cadena.  
 Lectura de Lee caracteres desde el búfer de entrada y los coloĆ  
caracteres ASCII ca en una cadena.

continúa en la página siguiente

10–1
Preface
Manual de referencia del juego de instrucciones

Instrucción
Propósito Página
Mnemónico Nombre
ARL Lectura ASCII de Lee una línea de caracteres desde el búfer de enĆ 10-20
línea trada y los coloca en una cadena.
ASC Búsqueda de caĆ Busca una cadena. 10-22
dena
ASR Comparación de Compara dos cadenas. 10-23
cadenas ASCII
AWA Escritura ASCII Escribe una cadena con caracteres configurados 10-24
con apéndice por el usuario añadidos.
AWT Escritura ASCII Escribe una cadena. 10-27

Descripción general de ASCII


Las instrucciones ASCII están disponibles en los procesadores SLC 5/03 OS301 y
superiores y todos los procesadores SLC 5/04. Existen dos tipos de instrucciones
ASCII:
• Control de puerto ASCII – esto incluye instrucciones que usan o modifican el
canal de comunicación para la recepción o transmisión de datos. Cuando usa
estas instrucciones, la configuración del sistema debe estar establecida en el
“modo de usuario”.
(ABL, ACB, ACL, AHL*, ARD, ARL, AWA*, AWT*)
* – significa que debe estar en el modo de usuario o sistema

Las instrucciones de control de puerto ASCII se colocan en cola según el orden


de ejecución y dependen la una de la otra para ejecutarse (excepto ACL, la cual
se ejecuta inmediatamente). Por ejemplo, si tiene una ARD (instrucción de
lectura ASCII) y luego una AWT (instrucción de escritura ASCII), el bit de
efectuado o el bit de error de la ARD debe estar establecido antes de que AWT
pueda comenzar ejecutarse (aun cuando AWT se ha habilitado durante la
ejecución de ARD por parte del procesador). Una segunda instrucción de
control de puerto ASCII no puede comenzar a ejecutarse hasta que la primera se
haya finalizado. Sin embargo, el procesador no espera la finalización de una
instrucción de control de puerto ASCII antes de que siga ejecutando su
programa de escalera.
• Control de cadena ASCII – esto incluye instrucciones que manejan los datos de
cadena. (ACI, ACN, AEX, AIC, ASC, ASR)
Las instrucciones de control de cadena ASCII se ejecutan inmediatamente.
Nunca se colocan en cola para esperar su ejecución.

10–2
Instrucciones ASCII

Descripción general del parámetro de protocolo


A continuación aparecen los parámetros de protocolo ASCII que usted estableció
vía las pantallas de configuración de canal 0 en el software de programación.


   
 
#+)% %+)   
#&"    .   # -#&)
')+)$"%& * 
# -#&) ')+)$"%& *  . %& * ',
"+*  ))%(,
$")
* &'"&%* "%#,.%   .  # -#&)
"+*  ')
')+)$"%& * 
#+)% %+) "% ,%& $') . ) # -#&)
)"
')+)$"%& * "% ,%&
#+)% %+)
.  # -#&) ')+)$"%& *
"+*  +&*

 ')$"+ &%" ,)) !*+  )+)* 
 "%*+),"0%  ,* #&(,* ') +)$"%)
)+)*  +)$"%"0%
# #&% "+,  % # -#&) ')+)$"%&
* 
 ')$"+ &%" ,)) !*+  )+)* 
 "%*+),"0%  / #&* )+)* # "%#
)+)* /"&*   % ') *)-") &$& )+)* 
+)$"%"0% ') # "*'&*"+"-& )'+&) # -#&)
')+)$"%& *  

10–3
Preface
Manual de referencia del juego de instrucciones

Cómo usar el tipo de archivo de datos ASCII

Estos son elementos de 1 palabra. Asigne las direcciones ASCII así:

Formato Explicación

A Archivo ASCII

f Número de archivo. Un número de archivo entre 9Ć255 se puede usar.


Af:e/b

: Delimitador de elemento

Número de
e Rango de 0Ć255. Este es un elemento de 1 palabra.
elemento
/ Delimitador de bit
Número de
b Ubicación de bit dentro del elemento. Rango de 0Ć15.
bit

Ejemplos:
A9:2 Elemento 2, archivo ASCII 9
A10:0/7 Bit 7, elemento 0, archivo ASCII 10

Cómo usar el tipo de archivo de datos de cadena (ST)

Este tipo de archivo es válido para los procesadores SLC 5/03 OS301, OS302 y SLC
5/04 OS400, OS401. Estos son elementos de 42 palabras. Puede direccionar las
longitudes de cadena añadiendo un .LEN a cualquier dirección de cadena (por
ejemplo, ST17:1.LEN). Los números del archivo de datos de cadena válidos son
9–255.

Las longitudes de cadena deben estar entre 0 y 82. Por lo general, las longitudes
fuera de este rango causan que el procesador establezca el bit de error ASCII
(S:5/15) y la instrucción no se ejecuta.
Nota Configura los caracteres añadidos o fin de línea vía la pantalla de configuración de
canal. Los caracteres añadidos predeterminados son el retorno del carro y
alimentación de línea; el carácter de fin de línea (terminación) predeterminado es
un retorno de carro.
Todas las instrucciones, menos ACL y AHL, entrarán en error si el puerto se
inhabilita.

10–4
Instrucciones ASCII

Asigne direcciones de cadena así:


   

Archivo de cadena

   Número de archivo. Un número de archivo entre 9Ć255 se puede usar.

 Delimitador de elemento

Número de Rango de 0Ć255. Estos son elementos de 42 palabras.



elemento 16 bits por elemento.

Delimitador de subelemento
Número de
s Rango de 0Ć41. Palabra 0 es la longitud, .LEN.
subelemento

 Delimitador de bit

Ubicación de bit dentro del elemento. Rango de 0Ć15.


 Número de bit El direccionamiento a nivel de bit no está disponible
para la palabra 0 de elementos de cadena.


 Elemento 2, archivo de cadena 9
  Bit 8 en subelemento 3 de elemento 2, archivo de cadena 10

10–5

Manual de referencia del juego de instrucciones

Cómo introducir parámetros

El elemento de control para las instrucciones ASCII incluye ocho bits de estado, un
byte de código de error y dos palabras de carácter:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Word 0 EN EU DN EM ER UL IN FD | Error Code
Word 1 Number of characters for sending or receiving (LEN)
Word 2 Number of characters sent or received (POS)

EN =
Enable Bit
EU =
Queue Bit
DN =
Asynchronous Done Bit
EM =
Synchronous Done Bit
ER =
Error Bit
UL =
Unload Bit
IN =
Running Bit (Este bit es el bit IN en el archivo
de datos de control [R6:].)
FD = Found Bit

• El bit encontrado FD (bit 8) indica que la instruccion ha encontrado el fin de


caracteres o caracteres de terminación en el búfer (se aplica a las instrucciones
ABL y ACB).
• El bit de marcha IN (bit 9) indica que una instrucción puesta en cola se está
ejecutando.
• El bit de descarga UL (bit 10) detiene la operación de instrucción antes (puede
estar puesta en cola) o durante la ejecución. Si este bit se establece durante la
ejecución de una instrucción, los datos ya procesados se envían al destino.
Anote que la instrucción no se elimina de la cola; los datos remanentes
simplemente no se procesan. Usted establece este bit.
• El bit de error ER (bit 11) indica que un error ocurrió durante la ejecución de
la instrucción, tal como un cambio de modo vía canal 1 ó la instrucción fue
cancelada usando el bit UL o la instrucción ACL.
• El bit de efectuado sincrónico EM (bit 12) se establece concurrentemente a
un escán de programa para indicar la finalización de una instrucción ASCII.
• El bit de efectuado asincrónico DN (bit 13) se establece en la parte opuesta de
un escán de programa cuando una instrucción completa su operación
exitosamente. Anote que una instrucción puede demorar más que un escán de
programa para terminar la ejecución.
• El bit de cola EU (bit 14) indica que una instrucción ASCII ha sido colocada
en la cola ASCII. Esta acción se demora si la cola ya está llena. La cola puede
contener hasta 16 instrucciones.
• El bit de habilitación EN (bit 15) indica que una instrucción se ha habilitado
debido a una transición de falso a verdadero. Este bit permanece establecido
hasta que la instrucción haya terminado la ejecución de errores.

10–6
Instrucciones ASCII

Prueba de búfer por línea (ABL)


3 3

ABL
ASCII TEST FOR LINE (EN) Use la instrucción ABL para determinar el número total de caracteres en el búfer de
Channel
Control (DN) entrada, hasta e incluyendo los caracteres de fin de línea (terminación). Esta
Characters 0 (ER)
Error instrucción busca dos caracteres de terminación que usted configura vía la pantalla
de configuración de puerto ASCII. Durante una transición de falso a verdadero, el
    
procesador comunica el número de caracteres en el campo POS del bloque de
control ASCII. El puerto en serie debe estar configurado para el modo de usuario.

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• El canal es el número del puerto RS-232 (canal 0).
• El control es el área que almacena el registro de control requerido para operar
la instrucción.
• Los caracteres son el número de caracteres en el búfer que el procesador
encuentra (0–1024). Este parámetro se muestra en pantalla solamente y reside
en la palabra 2 del bloque de control.
• El error muestra el código de error hexadecimal que indica por qué el bit ER se
ha establecido en el archivo de datos de control (R6:). Vea la página 10–29 para
obtener descripciones del código de error.

Ejemplo

I:1 ABL
EN

ASCII TEST FOR LINE


10 Channel 0 DN
           Control R6:32
           Characters 0 ER
       Error

Cuando el renglón cambia de falso a verdadero, se establece el bit de habilitación


(EN). La instrucción se coloca en la cola de instrucción ASCII, el bit de cola (EU)
se establece y el escán de programa continúa. Luego, la instrucción se ejecuta fuera
del escán de programa. Sin embargo, si la cola está vacía, la instrucción se ejecuta
inmediatamente. Al ejecutarse, se establece el bit de marcha.

10–7

Manual de referencia del juego de instrucciones

El procesador determina el número de caracteres (hasta e incluyendo los caracteres


de fin de línea/terminación) y coloca este valor en el campo de posición. El bit de
efectuado (DN) se establece.

Si cero aparece en el campo POS, es indicación de que se encontraron caracteres de


fin de línea/terminación. El bit de encontrado (FD) se establece si el campo de
posición se estableció a un valor que no sea cero.

Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN)


establecido, el procesador establece el bit de efectuado sincrónico (EM). El bit EM
sirve como bit de efectuado secundario correspondiente al escán de programa.

El bit de error (ER) se establece durante la ejecución de la instrucción si:


• la instrucción se cancela – puerto en serie no en el modo de usuario
• la instrucción se cancela debido a un cambio de modo de canal
• el bit de descarga (UL) se establece y la instrucción no se ejecuta

Número de caracteres
en búfer (ACB) 3 3

ACB
ASCII CHARS IN BUFFER (EN)
Use la instrucción ACB para determinar los caracteres totales en el búfer. En una
Channel
Control (DN) transición de falso a verdadero, el procesador determina el número total de
Characters
Error
0 (ER) caracteres y lo registra en el campo de posición del bloque de control ASCII. El
puerto en serie debe estar en el modo de usuario.

  


Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• El canal es el número del puerto RS-232 (canal 0).
• El control es el área que almacena el registro de control requerido para operar
la instrucción.
• Los caracteres son el número de caracteres en el búfer que el procesador
encuentra (0–1024). Este parámetro se muestra en pantalla solamente y reside
en ;a palabra 2 del bloque de control.
• El error muestra el código de error hexadecimal que indica por qué el bit ER se
ha establecido en el archivo de datos de control (R6:). Vea la página 10–29 para
obtener descripciones del código de error.

10–8
Instrucciones ASCII

Ejemplo
I:1 ACB

EN
ASCII CHARS IN BUFFER
10 Channel 0 DN
 


 

    Control R6:32

 
   
 


Characters 0

  

  ER
Error

Cuando el renglón va de falso a verdadero, el bit de habilitación (EN) se establece.


Cuando la instrucción se coloca en la cola ASCII, el bit de cola (EU) se establece.
El bit de marcha (RN) se establece cuando la instrucción se está ejecutando. El bit
de efectuado (DN) se establece al momento en que la instrucción se finaliza.

El procesador determina el número de caracteres en el búfer y coloca este valor en el


campo de posición del bloque de control. El bit de efectuado (DN) se establece. Si
aparece cero en el campo de caracteres, indica que no se encontraron caracteres.

Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN)


establecido, el procesador establece el bit sincrónico (EM). El bit EM sirve como
bit de efectuado secundario correspondiente al escán de programa.

El bit de error (ER) se establece durante la ejecución de la instrucción si:


• la instrucción se cancela – puerto en serie no está en el modo de usuario
• la instrucción se cancela debido a un cambio de modo de canal
• el bit de descarga (UL) se establece y la instrucción no se ejecuta

10–9
Manual de referencia del juego de instrucciones
Preface

Cadena a entero (ACI)


3 3

ACI
STRING TO INTEGER Use la instrucción ACI para convertir una cadena ASCII en un valor entero entre
Source
Dest –32,768 y 32,767.
"%&$',"  % 

Ejemplo
I:1 ACI


STRING TO INTEGER
10 Source ST38:90
  $"'$  "&$ 1, & 10, %&+ %&  Destination N7:123
#"($&  " "   " '" "&$# *  - 75
!"  $%' &# " 


El procesador busca la fuente (tipo de archivo ST) para localizar el primer carácter
entre 0 y 9. Todos los caracteres numéricos son extraídos hasta alcanzar un carácter
no numérico o el fin de la cadena. La acción se realiza solamente si caracteres
numéricos se encuentran. Si la cadena contiene una longitud inválida (< 0 ó > 82),
el bit de error ASCII S:5/15 se establece. Comas y señales (+, –) se permiten en la
cadena. Sin embargo, solamente el signo menos se muestra en la tabla de datos.

Luego la cadena numérica extraída se convierte en entero. El bit de error ASCII


S:5/15 se establece si un overflow numérico ocurre o si la cadena contiene una
longitud de cadena inválida. Se obtiene el valor de 32,767 como el resultado.

Esta instrucción también establece los indicadores aritméticos (encontrados en


palabra 0, bits 0–3 en el archivo de estado de procesador S:0):

Con este bit: El procesador:


  $$#  %&+ $%$(#
% %&  %  ( #$ "&$# % "'"&$ '$  $"#
  ($ #) 
(+ #
  $#  % %&  %  ( #$ "&$# % $#
  "#  % %&  %  $%' &# % "&(#

10–10
Instrucciones ASCII

Borrado del búfer ASCII de


recepción y/o transmisión (ACL) 3 3

ACL
ASCII CLEAR BUFFER Use esta instrucción para borrar un búfer ASCII. Las instrucciones ASCII son
Channel
Clear Receive Buffer eliminadas de la cola y luego el bit de error (ER) se establece. Esta instrucción se
Clear Send Buffer
ejecuta inmediamente al momento de transición del renglón a un estado verdadero.


   La instrucción funcionará cuando el canal se encuentre en el modo de usuario o el


modo de sistema. En el modo de sistema, sólo el borrado del búfer de transmisión
operará y únicamente si DF1 se detecta como el protocolo del modo de sistema.

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• El canal es el número del puerto RS-232 (canal 0).
• El borrado del búfer de recepción borra el búfer de recepción y elimina las
instrucciones ARD y ARL de la cola. El bit de error (ER) se establece en cada
una de estas instrucciones.
• El borrado del búfer de transmisión borra el búfer de transmisión y elimina
las instrucciones AWA y AWT de la cola. El bit de error (ER) se establece en
cada una de estas instrucciones.
Cuando el borrado del búfer de recepción y el borrado del búfer de transmisión
se establece a Sí, todas las instrucciones se eliminan de la cola.

Ejemplo
I:1 ACL


ASCII CLEAR BUFFER
10 Channel 0
          
  Clear Receive Buffer Y
      

 
  Clear Send Buffer N

Cuando el renglón se hace verdadero, el(los) búfer(es) seleccionado(s) se borra(n) y


la(s) instrucción(es) ASCII se elimina(n) de la cola de instrucción ASCII.

10–11

Manual de referencia del juego de instrucciones

Concatenado de cadenas (ACN)


3 3

ACN
STRING CONCATENATE La instrucción ACN combina dos cadenas usando cadenas ASCII como operandos.
Source A
Source B La segunda cadena se añade a la primera y el resultado se almacena en el destino.
Dest

"  

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• La fuente A es la primera cadena en el procedimiento concatenado.
• La fuente B es la segunda cadena en el procedimiento concatenado.
• El destino es el lugar donde el resultado de la fuente A y B se almacena.

Ejemplo
I:1 ACN


STRING CONCATENATE
10 Source A ST37:42
        !  Source B ST38:91
    
   
       
 Destination ST52:76

Solamente los 82 primeros caracteres (0–81) se escriben al destino. Si el resultado


es < 0 ó > 82, el bit de error ASCII S:5/15 se establece.

10–12
Instrucciones ASCII

Extracción de cadena (AEX)


3 3

AEX
STRING EXTRACT Use la instrucción AEX para crear una cadena nueva tomando una porción de una
Source
Index cadena existente y enlazándola a una cadena nueva.
Number
Dest

#  

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• La fuente es la cadena existente. El valor de fuente no es afectado por esta
instrucción.
• El índice es la posición inicial (de 1 a 82) de la cadena que desea extraer. (Un
índice de 1 indica el carácter del extremo izquierdo de la cadena.)
• El número es el número de caracteres (de 1 a 82) que desea extraer, a partir de
la posicion indexada. Si el índice más el número son mayores que los
caracteres totales en la cadena de fuente, la cadena de destino tendrá los
caracteres desde el índice hasta el final de la cadena de fuente.
• El destino es el elemento de cadena (ST) donde desea almacenar la cadena
extraída.

Ejemplo
I:1 AEX

 STRING EXTRACT
10 Source ST38:40
Si        "  Index 42
       "   Number 10

 !       Destination ST52:75

Las condiciones siguientes causan que el procesador establezca el bit de error ASCII
(S:5/15):
• longitud de fuente inválida o longitud de cadena de cero
• valores de índice o número fuera de rango
• valor de índice mayor que la longitud de la cadena de fuente

10–13

Manual de referencia del juego de instrucciones

La cadena destino no se cambia en ninguna de las condiciones de error anteriores.


Sin embargo, el destino se cambiará si el valor de índice más el valor de número son
mayores que la longitud de cadena. Anote que el bit de error ASCII (S:5/15) no se
establece.

Líneas de comunicación (AHL)


3 3

AHL
ASCII HANDSHAKE LINES (EN) Use la instrucción AHL para establecer o restablecer las líneas de control de
Channel
AND Mask (DN) comunicación RS-232 Terminal de datos lista (DTR) y Petición de envío (RTS) para
OR Mask
Control
(ER) su módem. En una transición de falso a verdadero, el procesador usa las dos
Channel Status
Error máscaras para determinar si va a establecer o restablecer las líneas DTR y RTS, o si
no las va a cambiar. Esta instrucción operará cuando el puerto está en cualquier

    modo o está inhabilitado.

Nota Asegúrese que el control de módem automático usado por el puerto no sea
incompatible con esta instrucción.

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• El canal es el número del puerto RS-232 (canal 0).
• La máscara AND es el tipo de máscara usada para restablecer las líneas de
control DTR y RTS. El bit 0 corresponde a la línea DTR y el bit 1 corresponde
a la línea de control RTS. Un 1 en el bit de máscara causa que la línea se
restablezca; un 0 deja la línea sin cambio. Anote que los valores de máscara no
tienen una correspondencia de uno a uno con las líneas de control del módem.
• La máscara OR es el tipo de máscara usada para establecer las líneas de
control DTR y RTS. El bit 0 corresponde a la línea DTR y el bit 1 corresponde
a la línea de control RTS. Un 1 en el bit de máscara causa que la línea se
establezca; un 0 deja la línea sin cambio. Anote que los valores de máscara no
tienen una correspondencia de uno a uno con las líneas de control del módem.
• El control es el área que almacena el registro de control necesario para operar
la instrucción.

10–14
Instrucciones ASCII

• El estado de canal muestra el estado actual (0000 a 001F) de las líneas de


handshake para el canal especificado anteriormente. Este campo es de
visualización solamente y reside en la palabra 2 del elemento de control.
• El error muestra el código de error hexadecimal que indica por qué el bit ER se
estableció en el archivo de datos de control (R6:). Vea la página 10–29 para
obtener descripciones del código de error.

Ejemplo: Lo siguiente muestra el estado de canal como 001F.

 #"%$( '  * $( '""& "& '&


  &', &'" &',! &'"&

'  ---8 7
    
-! %&%)"     
    

Ejemplo

I:1 AHL

 EN
ASCII HANDSHAKE LINES
10 Channel 0
DN
AND Mask ABCD
  %!(%  !'%  '  &', &'  OR Mask DACB
Control R6:23 ER
'    ,&%  & &' #% "%%% 
-!   "& '&  *    ,&%  & Channel Status 001F
&'! &'+ & -!&  *  Error 00

El bit de error (ER) se establece durante la ejecución de la instrucción si:


• la instrucción se cancela debido a un cambio de modo de canal
• el bit de descarga (UL) se establece y la instrucción no se ejecuta

10–15

Manual de referencia del juego de instrucciones

Entero a cadena (AIC)


3 3

AIC
INTEGER TO STRING La instrucción AIC convierte un valor entero (–32,768 y 32,767) en una cadena
Source
Dest ASCII. La fuente puede ser una constante o una dirección de entero.
!  

Ejemplo
I:1 AIC

 INTEGER TO STRING
10 Source 867
 la           Destination ST38:42

         


10–16
Instrucciones ASCII

Lectura de caracteres ASCII (ARD)


3 3

ARD
ASCII READ (EN)
Use la instrucción ARD para leer caracteres desde el búfer y almacenarlos en una
Channel
Dest (DN) cadena. Para repetir la operación, el renglón debe ir de falso a verdadero.
Control (ER)
String Length
Characters Read
Error

Instrucción de salida

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• El canal es el número del puerto RS-232 (canal 0).
• El destino es el elemento de cadena donde desea almacenar los caracteres.
• El control es la dirección del bloque de control usado para almacenar datos
para la instrucción ARD.
• La longitud de cadena (.LEN) es el número de caracteres que desea leer desde
el búfer. El máximo es 82 caracteres. Si especifica una longitud mayor que 82,
sólo los 82 primeros caracteres serán leídos. (Un cero retorna el valor
predeterminado de 82.) Esta es la palabra 1 en el bloque de control.
• Los caracteres leídos (.POS) son el número de caracteres que el procesador ha
transferido del búfer a la cadena (0 a 82). Este campo se actualiza durante la
ejecución de la instrucción y es de visualización solamente. Esta es la palabra 2
en el bloque de control.
• El error muestra el código de error hexadecimal que indica por qué el bit ER se
estableció en el archivo de datos de control (R6:). Vea la página 10–29 para
obtener descripciones del código de error.

Ejemplo

I:1 ARD
ASCII READ EN
[
[

10 Channel 0
Destination ST52:76 DN
Si la ranura de entrada 1, bit 10, está estaleciĆ Control R6:23
da, lea 50 caracteres desde el búfer y transfiéĆ String Length 50 ER
ralos a ST52:76. Characters Read 0
Error 00

10–17

Manual de referencia del juego de instrucciones

Cuando el renglón va de falso a verdadero, el bit de habilitación (EN) se establece.


Cuando la instrucción se coloca en la cola ASCII, el bit de cola (EU) se establece.
El bit de marcha (RN) se establece cuando la instrucción se está ejecutando. El bit
DN se establece una vez completada la instrucción.

Una vez que el número de caracteres solicitado está en el búfer, los caracteres se
transfieren a la cadena destino. El número de caracteres transferido se coloca en el
campo POS del bloque de control. El número en el campo de lectura de caracteres
se actualiza continuamente y el bit de efectuado (DN) no se establece sino hasta que
todos los caracteres hayan sido leídos.

Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN)


establecido, el procesador establece el bit de efectuado síncrono (EM). El bit EM
sirve como bit de efectuado secundario correspondiente al escán de programa.

El bit de error (ER) se establece durante la ejecución de la instrucción si:


• la instrucción se cancela – el puerto en serie no está en el modo de usuario
• el módem está desconectado (la selección de línea de control es diferente a “NO
HANDSHAKING”)
• la instrucción se cancela debido a un cambio de modo de canal
• el bit de descarga (UL) está establecido. La instrucción deja de ejecutar, pero
los caracteres recibidos se envían al destino.
• un ACL para borrar el búfer de recepción se ejecuta, eliminando así la
instrucción ARD de la cola ASCII.

10–18
Instrucciones ASCII

Diagrama de temporización para una instrucción exitosa ARD, ARL, AWA y


AWT
Condición de renglón ON
OFF

ON
Bit de habilitación (EN)
OFF

Bit de cola (EU) ON


OFF

Bit de marcha (RN) ON


OFF

Bit de efectuado
Bit de error ON
(DN o ER) OFF

ON
Bit de efectuado síncrono (EM) OFF

  6       6  
1 Ć el renglón se hace verdadero
2 Ć la instrucción se coloca con éxito en la cola
3 Ć la ejecución de la instrucción se ha completado
4 Ć la instrucción ha sido escaneada por primera vez después de terminar la ejecución
5 Ć el renglón se hace falso
6 Ć la instrucción no está en cola o se está ejecutando

10–19

Manual de referencia del juego de instrucciones

Lectura ASCII de línea (ARL)


3 3

ARL
ASCII Read Line (EN)
Use la instrucción ARL para leer caracteres desde el búfer, hasta e incluyendo los
Channel
Dest (DN) caracteres de fin de línea (terminación), y almacenarlos en una cadena. Los
Control (ER)
String Length caracteres de fin de línea son especificados vía la pantalla de configuración ASCII.
Characters Read
Error

#  

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• El canal es el número del puerto RS-232 (canal 0).
• El destino es el elemento de cadena donde desea almacenar los caracteres.
• El control es la dirección del bloque de control usado para almacenar datos
para la instrucción ARL.
• La longitud de cadena (LEN) es el número de caracteres que desea leer desde
el búfer. El máximo es 82 caracteres. Si especifica una longitud mayor que 82,
solamente los 82 primeros caracteres serán leídos y transferidos al destino. (Un
0 retorna al valor predeterminado de 82.) Esta es la palabra 1 en el bloque de
control.
• Los caracteres leídos (POS) son el número de caracteres que el procesador ha
transferido del búfer a la cadena (0 a 82). Este campo es de visualización
solamente y reside en la palabra 2 del bloque de control.
• El error muestra el código de error hexadecimal que indica por qué el bit ER se
estableció en el archivo de datos de control (R6:). Vea la página 10–29 para
obtener descripciones del código de error.

Ejemplo

I:1 ARL
 ASCII READ LINE EN

10 Channel 0
Destination ST52:72 DN
          Control R6:23
 
      "   String Length 18
ER
$  !    Characters Read 0
Error 00

10–20
Instrucciones ASCII

Cuando el renglón va de falso a verdadero, el bit de habilitación (EN) de elemento


de control se establece. Cuando la instrucción se coloca en la cola ASCII, el bit de
cola (EU) se establece. El bit de marcha (RN) se establece cuando la instrucción se
está ejecutando. El bit DN se establece a la finalización de la instrucción.

Una vez que el número de caracteres solicitado está en el búfer, todos los caracteres
(incluyendo los caracteres de fin de línea) se transfieren a la cadena destino. El
número de caracteres transferido se almacena en la palabra POS del bloque de
control. El número en el campo de caracteres leídos se actualiza continuamente y el
bit de efectuado (DN) no se establece hasta que todos los caracteres hayan sido
leídos. Excepción: Si el procesador encuentra caracteres de terminación antes de
finalizar la lectura, el bit de efectuado (DN) se establece y el número de caracteres
encontrado se almacena en la palabra POS del bloque de control.

Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN)


establecido, el procesador establece el bit síncrono (EM). El bit EM sirve como bit
de efectuado secundario correspondiente al escán de programa. El bit de error (ER)
se establece durante la ejecución de la instrucción si:
• la instrucción es cancelada – el puerto en serie no está en el modo de usuario
• el módem está desconectado (la selección de línea de control es diferente a “NO
HANDSHAKING”)
• la instrucción se cancela debido a un cambio de modo de canal
• el bit de descarga (UL) está establecido. La instrucción deja de ejecutar, pero
los caracteres recibidos se envían al destino.
• un ACL para borrar el búfer de recepción se ejecuta eliminando así la
instrucción ARD de la cola ASCII.

Nota Para obtener información acerca de la temporización de esta instrucción, refiérase


al diagrama de temporización en la página 10–19.

10–21

Manual de referencia del juego de instrucciones

Búsqueda de cadena (ASC)


3 3

ASC
STRING SEARCH Use la instrucción ASC para buscar una cadena existente en coincidencia con la
Source
Index cadena fuente.
Search
Result

 !"$  

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• La fuente es la cadena que desea encontrar cuando examina la cadena fuente.
• El índice es la posición inicial (de 1 a 82) de la porción de la cadena que desea
encontrar. (Un índice de 0 indica el carácter del extremo izquierdo de la
cadena.)
• La búsqueda es la cadena que desea examinar.
• El resultado es un entero donde el procesador almacena la posición de cada
cadena de búsqueda donde la cadena fuente comienza. Si no hay ninguna
coincidencia, no ocurren cambios.

Ejemplo
I:1 ASC
 STRING SEARCH

10 Source ST38:40
  "  !  !   !#  ! Index 35
" "    
  !  #! Search ST52:80
  !    
   ! Result N10:0
   "!     

Las condiciones siguientes causan que el procesador establezca el bit de error ASCII
(S:5/15).
• longitud de cadena inválida o longitud de cadena de cero
• valor de índice fuera de rango
• valor de índice mayor que la longitud de la cadena fuente

El destino no cambia en ninguna de las condiciones anteriores.

10–22
Instrucciones ASCII

Comparación de cadena ASCII (ASR)


3 3

ASR
ASCII STRING COMPARE Use la instrucción ASR para comparar dos cadenas ASCII. El sistema busca una
Source A
Source B coincidencia en longitud y caracteres en mayúscula/minúscula. Si dos cadenas son
idénticas, el renglón es verdadero; si existen diferencias, el renglón es falso.
Instrucción de entrada

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• La fuente A es la cadena uno que se va a comparar.
• La fuente B es la cadena dos que se va a comparar.

Ejemplo
ASR O:1
ASCII STRING COMPARE
Source A ST37:42 Si la cadena en ST37:42 es idéntica a la cadena 1
Source B ST38:90 en ST38:90, establezca el bit de salida O:1/1.

Una longitud de cadena inválida causa que el procesador establezca el bit de error
ASCII S:5/15 y el renglón se hace falso.

10–23

Manual de referencia del juego de instrucciones

Escritura ASCII con anexo (AWA)


3 3

AWA
ASCII WRITE APPEND (EN)
Use la instrucción AWA para escribir caracteres desde una cadena fuente a un
Channel
Source (DN) dispositivo externo. Esta instrucción añade los dos caracteres anexos que usted
Control (ER)
String Length configura en la pantalla de configuración ASCII. Los caracteres predeterminados
Characters Sent
Error son un retorno de carro y un avance de línea anexados al final de la cadena. Cuando
 !&  
usa esta instrucción, también puede realizar la indirección en línea. Vea la página
10–26 para obtener más información.

Cómo introducir parámetros


Introduzca los parámetros siguientes al programar esta instrucción:
• El canal es el número del puerto RS-232 (canal 0).
• La fuente es el elemento de cadena que desea escribir.
• El control es el área que almacena el registro de control requerido para operar
la instrucción.
• La longitud de cadena (.LEN) es el número de caracters que desea escribir
desde la cadena fuente (0 a 82). Si introduce un 0, toda la cadena se escribirá.
Esta es la palabra 1 en el bloque de control.
• Los caracteres enviados (.POS) son el número de caracteres que el procesador
ha enviado al área de pantalla (0 a 82). Este campo se actualiza continuamente
durante la ejecución de la instrucción. Este valor puede ser mayor que la
longitud de cadena si los caracteres anexados o valores insertados de la
indirección en línea se usan. Si la longitud de cadena es mayor que 82, la
cadena escrita al destino será truncada a 82 caracteres. Esta es la palabra 2 en el
bloque de control.
• El error muestra el código de error hexadecimal que indica por qué el bit ER se
estableció en el archivo de datos de control (R6:). Vea la página 10–29 para
obtener descripciones del código de error.

Ejemplo
I:1 AWA
EN

 ASCII WRITE APPEND
10 Channel 0
Source ST37:42 DN
  !        $   Control R6:23
 
     # %  String Length 25 ER
 "    !  !    Characters Sent 0
 # "  %   Error 00

10–24
Instrucciones ASCII

Cuando el renglón va de falso a verdadero, el bit de habilitación de elemento de


control (EN) se establece. Cuando la instrucción se coloca en la cola ASCII, el bit
de cola (EU) se establece. El bit de marcha (RN) se establece cuando la instrucción
se está ejecutando. El bit DN se establece al final de la instrucción.

El sistema envía 25 caracteres desde el inicio de la cadena ST37:42 al dispositivo de


pantalla y luego envía caracteres anexos configurados por el usuario. El bit de
efectuado (DN) se establece y un valor de 27 está presente en la palabra .POS del
bloque de control ASCII.

Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN)


establecido, el procesador establece el bit de efectuado síncrono (EM) para servir
como bit de efectuado secundario correspondiente al escán de programa.

El bit de error (ER) se establece durante la ejecución de la instrucción si:


• la instrucción se cancela – el puerto en serie no está en el modo de usuario
• el módem está desconectado (la selección de línea de control es diferente a “NO
HANDSHAKING”)
• la instrucción se cancela debido a un cambio de modo de canal
• el bit de descarga (UL) está establecido. La instrucción deja de ejecutar, pero
los caracteres recibidos se envían al destino.
• un ACL para borrar el búfer de recepción se ejecuta, eliminando así la
instrucción ARD de la cola ASCII.

Nota Para obtener información acerca de la temporización de esta instrucción, refiérase


al diagrama de temporización en la página 10–19.

10–25

Manual de referencia del juego de instrucciones

Cómo usar la indirección en línea

Esto le permite insertar valores enteros y de punto (coma) flotante en cadenas


ASCII. El bit de marcha (RN) se debe establecer antes de que el valor de cadena se
pueda usar.

Las condiciones siguientes se aplican al realizar la indirección en línea:


• todos los archivos válidos enteros (N) y de punto (coma) flotante (F) se pueden
usar. Los rangos válidos incluyen 7, 8 y 9–255.
• los tipos de archivo no son sensibles al uso de mayúsculas/minúsculas y pueden
incluir dos puntos (:) o un punto y coma (;)
• los valores positivos y ceros delanteros no se imprimen. Los valores negativos
se imprimen con un signo menos delantero.

Ejemplos

Para los ejemplos siguientes:


N7:0 = 250
N7:1 = –37
F8:0 = 2.015000
F8:1 = 0.873000

Indirección en línea válida:


• Entrada: El caudal actual es [N7:0] GPH y contiene [F8:0] PPM de
contaminantes.
Salida: El caudal actual es 250 GPH y contiene 2.015000 PPM de
contaminantes.
• Entrada: La posición actual es [N5:1] a la velocidad de [F8:1] RPM.
Salida: La posición actual es –37 a la velocidad de 0.873000 RPM.

Indirección en línea no válida:


• Entrada: La posición actual es [N5:1] a la velocidad de [F8:1] RPM.
Salida: La posición actual es [N5:1] a la velocidad de 0.873000 RPM.

Nota La truncación ocurre en la cadena de salida si la indirección causa que la salida


exceda 80 caracteres. Los caracteres anexos siempre se aplican a la salida.

10–26
Instrucciones ASCII

Escritura ASCII (AWT)


3 3

AWT
ASCII WRITE (EN)
Use la instrucción AWT para escribir caracteres desde una cadena fuente a un
Channel
Source (DN) dispositivo externo. Para repetir la instrucción, el renglón debe ir de falso a
Control (ER)
String Length verdadero. Cuando usa esta instrucción, también puede realizar la indirección en
Characters Sent
Error línea. Vea la página 10–26 para obtener más información.

  

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar esta instrucción:


• El canal es el número del puerto RS-232 (canal 0).
• La fuente es el elemento de cadena que desea escribir.
• El control es el área que almacena el registro de control requerido para operar
la instrucción.
• La longitud de cadena (.LEN) es el número de caracteres que desea escribir
desde la cadena fuente (0 a 82). Si introduce un 0, toda la cadena se escribirá.
• Los caracteres enviados (.POS) son el número de caracteres que el procesador
ha enviado al área de pantalla (0 a 82). Este campo se actualiza solamente
después de que toda la cadena se ha enviado (no se almacena el total corriente
para cada carácter). Este campo es de visualización solamente. Este valor
puede ser mayor que la longnitud de cadena si los caracteres anexados o valores
insertados de la indirección en línea se usan. Si la longitud de cadena es mayor
que 82, la cadena escrita al destino será truncada a 82 caracteres.
• El error muestra el código de error hexadecimal que indica por qué el bit ER se
estableció en el archivo de datos de control (R6:). Vea la página 10–29 para
obtener descripciones del código de error.

Ejemplo
I:1 AWT
[
[ ASCII WRITE EN
10 Channel 0
Source ST37:20 DN
          Control R6:23
       String Length 40
   Characters Sent ER
Error

10–27

Manual de referencia del juego de instrucciones

Cuando el renglón va de falso a verdadero, el bit de habilitación (EN) de elemento


de control se establece. Cuando la instrucción se coloca en la cola ASCII, el bit de
cola (EU) se establece. El bit de marcha (RN) se establece cuando la instrucción se
está ejecutando.

Cuarenta caracteres desde la cadena ST37:40 son enviados a través del canal 0. El
bit de efectuado (DN) se establece cuando la instrucción se está ejecutando. El bit
DN se establece al final de la instrucción.

Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN)


establecido, el procesador establece el bit de efectuado síncrono (EM) para servir
como bit de efectuado secundario correspondiente al escán del programa.

El bit de error (ER) se establece durante la ejecución de la instrucción si:


• la instrucción se cancela – el puerto en serie no está en el modo de usuario
• el módem está desconectado (la selección de línea de control no es “NO
HANDSHAKING”)
• la instrucción se cancela debido a un cambio de modo de canal
• el bit de descarga (UL) está establecido. La instrucción deja de ejecutar, pero
los caracteres recibidos se envían al destino.
• un ACL para borrar el búfer de recepción se ejecuta eliminando así la
instrucción ARD de la cola ASCII.

Nota Para obtener información acerca de la temporización de esta instrucción, refiérase


al diagrama de temporización en la página 10–19.

10–28
Instrucciones ASCII

Códigos de error de instrucción ASCII


Los códigos de error siguientes indican por qué el bit de error (ER) se establece en
el archivo de datos de control (R6:).

           


    
  
   
 
$("9( ,,),  $(-.,/$8( -
 Ninguna requerida.
)'*& .8 exitosamente.
Verifique el cableado del módem al
canal de comunicación. Si el canal está
configurado para comunicación con el
La operación no se puede completar módem, las líneas DCD
02
porque el módem está fuera de línea. (datosĆportadoraĆdetección) y DSR
(datosĆestablecimientoĆlisto) al canal
deben estar activas para que el módem
esté en línea.
La transmisión no se puede completar
Verifique el módem y las conexiones del
03 porque la señal Borrado para enviar se
cableado del módem.
perdió.
No puede realizar la recepción de ASCII
Vuelva a configurar el canal de
04 porque el canal de comunicación está
comunicación para el modo de usuario.
configurado para el modo de sistema.
La comunicación de modo de sistema Verifique que el módem esté en línea y
05 (DF1) se detectó durante el intento de se comunique con los dispositivos
realizar la transmision ASCII. necesarios.
No puede efectuar la recepción o
transmisión ASCII porque la Vuelva a configurar el menú de
07 configuración de canal ha sido configuración de canal y reintente la
desactivada vía el menú de operación.
configuración de canal.
No puede realizar la escritura ASCII
08 debido a una transmisión ASCII en Vuelva a enviar la transmisión.
progreso.
La comunicación ASCII solicitada no es
compatible con la configuración de canal
actual. (Canal 0 está configurado para Configure el canal 0 para DF1, dúplex
09
DHĆ485 mientras que intente una total.
transmisión ASCII o un control de
comunicación de módem.)
El bit de descarga (UL) se estableció, lo
0A que detuvo la ejecucion de la Ninguna requerida.
instrucción.

10–29


Manual de referencia del juego de instrucciones

       


  
   

   


    
La longitud solicitada para la cadena no
es válida, es un número no válido, Introduzca una longitud de cadena
0B
mayor que 82 ó 0. Se aplica a las válida y reintente la operación.
instrucciones ARD y ARL.
La longitud de la cadena fuente no es
válida, un número negativo, mayor que Introduzca una longitud de cadena
0C
82 ó 0. Se aplica a las instrucciones válida y reintente la operación.
AWA y AWT.
La longitud solicitada (.LEN) en el
bloque de control es un número
negativo o un valor mayor que el Introduzca una longitud válida y
0D
tamaño de cadena almacenado con la reintente la operación.
cadena fuente. Se aplica a las
instrucciones AWA y AWT.
0E La instrucción ACL fue cancelada. Ninguna requerida.
El modo de configuración de canal fue
0F Ninguna requerida.
cambiado.

10–30
Instrucciones ASCII

Tabla de conversión ASCII


La tabla siguiente lista las conversiones decimales, hexadecimales, octales y ASCII.


    
    
    
   
$%# (%8 /#4 !3# $%# (%8 /#4 !3# $%# (%8 /#4 !3# $%# (%8 /#4 !3#
 00 000 NUL 32 20 040 SP 64 40 100 @ 96 60 140 \
 01 001 SOH 33 21 041 ! 65 41 101 A 97 61 141 a
 02 002 STX 34 22 042 " 66 42 102 B 98 62 142 b
 03 003 ETX 35 23 043 # 67 43 103 C 99 63 143 c
 04 004 EOT 36 24 044 $ 68 44 104 D 100 64 144 d
 05 005 ENQ 37 25 045 % 69 45 105 E 101 65 145 e
 06 006 ACK 38 26 046 & 70 46 106 F 102 66 146 f
 07 007 BEL 39 27 047 ' 71 47 107 G 103 67 147 g
08 08 010 BS 40 28 050 ( 72 48 110 H 104 68 150 h
09 09 011 HT 41 29 051 ) 73 49 111 I 105 69 151 i
10 0A 012 LF 42 2A 052 * 74 4A 112 J 106 6A 152 j
11 0B 013 VT 43 2B 053 + 75 4B 113 K 107 6B 153 k
12 0C 014 FF 44 2C 054 , 76 4C 114 L 108 6C 154 l
13 0D 015 CR 45 2D 055 - 77 4D 115 M 109 6D 155 m
14 0E 016 SO 46 2E 056 . 78 4E 116 N 110 6E 156 n
15 0F 017 SI 47 2F 057 / 79 4F 117 O 111 6F 157 o
16 10 020 DLE 48 30 060 0 80 50 120 P 112 70 160 p
17 11 021 DC1 49 31 061 1 81 51 121 Q 113 71 161 q
18 12 022 DC2 50 32 062 2 82 52 122 R 114 72 162 r
19 13 023 DC3 51 33 063 3 83 53 123 S 115 73 163 s
20 14 024 DC4 52 34 064 4 84 54 124 T 116 74 164 t
21 15 025 NAK 53 35 065 5 85 55 125 U 117 75 165 u
22 16 026 SYN 54 36 066 6 86 56 126 V 118 76 166 v
23 17 027 ETB 55 37 067 7 87 57 127 W 119 77 167 w
24 18 030 CAN 56 38 070 8 88 58 130 X 120 78 170 x
25 19 031 EM 57 39 071 9 89 59 131 Y 121 79 171 y
26 1A 032 SUB 58 3A 072 : 90 5A 132 Z 122 7A 172 z
27 1B 033 ESC 59 3B 073 ; 91 5B 133 [ 123 7B 173 {
28 1C 034 FS 60 3C 074 < 92 5C 134 \ 124 7C 174 .
29 1D 035 GS 61 3D 075 = 93 5D 135 ] 125 7D 175 }
30 1E 036 RS 62 3E 076 > 94 5E 135 ^ 126 7E 176 ~
31 1F 037 US 63 3F 077 ? 95 5F 137 _ 127 7F 177 DEL

10–31

Manual de referencia del juego de instrucciones

10–32
Cómo comprender las rutinas de interrupción

11 Cómo comprender las


rutinas de interrupción
Este capítulo contiene información general acerca de rutinas de interrupción y
explica cómo funcionan en su programa de lógica. Cada rutina de interrupción
incluye:
• una descripción general
• el procedimiento de programación
• la descripción operacional
• la descripción del bit asociado

Además, cada rutina de interrupción contiene un ejemplo de aplicación que muestra


el uso de la rutina de interrupción.

Rutinas de interrupción

Instrucción
Propósito Página
Mnemónico Nombre
Rutina de fallo del Proporciona la opción de evitar la parada del proceĆ 11-2
usuario sador.
STI Interrupción Le permite interrumpir el escán del archivo de 11-7
temporizada programa principal, de manera periódica, para
seleccionable escanear un archivo de subrutina específico.
DII Interrupción de Permite que el procesador ejecute una subrutina 11-19
entrada discreta cuando la configuración del bit de entrada de una
tarjeta de E/S discreta coincida con un valor de
comparación que usted ha ya programado.
ISR Interrupción de E/S Permite que un módulo de E/S especial interrumpa 11-30
el ciclo de operación normal del procesador para
escanear un archivo de subrutina específico.

11–1
Manual de referencia del juego de instrucciones
Preface

Descripción general de la
rutina de fallo de usuario
3 3 3 3

La rutina de fallo de usuario le proporciona la opción de evitar una parada del


procesador cuando ocurre un fallo de usuario específico. El archivo se ejecuta
cuando ocurre cualquier fallo de usuario recuperable o no recuperable. El archivo
no se ejecuta para fallos de no usuario.

Esto se efectúa programando una subrutina de escalera y luego especificando dicha


subrutina como la rutina de fallo en palabra S:29 en el archivo de estado. Usted
puede manejar un número de fallos de usuario de esta manera según se muestra en el
ejemplo de la página 11–4.

Los fallos son clasificados como fallos de usuario recuperables o no recuperables y


fallos no atribuibles al usuario. Una lista completa de los fallos aparece en el
apéndice A y B para los controladores MicroLogix 1000 y los procesadores SLC
respectivamente.

    
              
  


 
   

 

      

 


 
  


 
  
   
   


  
  

 

 
 
    
     
 


Datos de archivo de estado guardados

Los datos en las palabras siguientes se guardaron durante la entrada a la subrutina de


fallo de usuario y se volvieron a escribir cuando salieron de la subrutina.
• Indicadores aritméticos S:0
• Registro matemático S:13 y S:14
• Registro de índice S:24

11–2
Cómo comprender las rutinas de interrupción

Cómo crear una subrutina de fallo de usuario

Para usar la subrutina de fallo de usuario:

1. Cree un archivo de subrutina:


• El rango válido del procesador SLC es 3–255
• MicroLogix 1000 designa el archivo 3
2. Introduzca el número de archivo en palabra S:29 del archivo de estado.
Nota No se requiere ninguna acción para los usuarios de MicroLogix 1000. S:29 está
reservado

Operación del procesador SLC

La coincidencia de fallos de usuario recuperables y no recuperbles causa que el


procesador lea S:29 y ejecute el número de subrutina contenido en S:29. Si el fallo
es recuperable, la rutina se puede usar para corregir el problema y poner a cero el bit
de fallo S:1/13. Luego el procesador continúa en el modo de marcha REM.

La rutina no se ejecuta para los fallos no atribuibles al usuario.

Las palabras S:20 y S:21 se pueden examinar en su rutina de fallo para precisar el
número de archivo y renglón donde el fallo ocurrió. Si el fallo ocurrió fuera del
escán de escalera, este valor contendrá el número de renglón donde la instrucción
TND, END o REF esté ubicada. Use las palabras S:20 y S:21 con su rutina de fallo
de protección al momento de encendido para determinar el punto exacto en que
ocurrió la parada de alimentación eléctrica anterior. Refiérase al apéndice B para
obtener más información acerca del bit de fallo de protección al momento de
encendido S:1/9.
Nota Para los procesadores SLC 5/02, es necesario guardar su programa con la prueba
de un solo paso seleccionada para que S:20 y S:21 se activen.
Para los procesadores SLC 5/03 y SLC 5/04, si su programa contiene cuatro
instrucciones de mensaje con el bit de operación continua (CO) establecido, la
instrucción de mensaje de la rutina de fallo no se ejecutará.

Operación del procesador MicroLogix

La coincidencia de fallos de usuario recuperables y no recuperables causa que el


archivo 3 se ejecute. Si el fallo es recuperable, la rutina se puede usar para corregir
el problema y poner a cero el bit de fallo S:1/13. Luego el procesador continúa en el
modo de marcha REM.

La rutina no se ejecuta para los fallos no atribuibles al usuario.

11–3

Manual de referencia del juego de instrucciones

Ejemplo de aplicación de la rutina de interrupción de usuario

Digamos que tiene un programa en que desea controlar los errores mayores 0020
(MINOR ERROR AT END OF SCAN) y 0034 (NEGATIVE VALUE IN
TIMER PRE OR ACC) bajo las condiciones siguientes:
• Evitar una parada del procesador si el bit de interrupción por overflow S:5/0
está establecido. Permitir una parada del procesador cuando S:5/0 se establece
más de cinco veces.
• Evitar una parada del procesador si el valor de acumulador del temporizador
T4:0 se hace negativo. Poner a cero el valor de acumulador negativo. Activar
una salida para indicar que el acumulador se ha hecho negativo una vez o más.
• Permitir una parada del procesador para todos los otros fallos de usuario.

Un posible método de realizar lo anterior se muestra en los ejemplos siguientes. La


rutina de fallo de usuario se designa como archivo 3.

Cuando ocurre un error de usuario recuperable o no recuperable, el procesador


escanea el archivo de subrutina 3. El procesador salta al archivo 4 si el código de
error es 0020 y salta al archivo 5 si el código de error es 0034. Para todos los otros
errores recuperables y no recuperables, el procesador sale de la rutina de fallo y
detiene la operación en el modo de fallo.

Rutina de fallo – Archivo de subrutina 3

La palabra S:6 es el código


de fallo (en decimal)
EQU JSR
EQUAL JUMP TO SUBROUTINE
Source A S:6 SBR file number 4
0
Source B 32 Código de fallo 0020
(Introduzca &H20. El
equivalente decimal de 32
aparece.)
EQU JSR
EQUAL JUMP TO SUBROUTINE
Source A S:6 SBR file number 5
0
Source B 52 Código de fallo 0034
(Introduzca &H34. El
equivalente decimal de 52
aparece.)
END

11–4
Cómo comprender las rutinas de interrupción

Archivo de subrutina 4 – Ejecutado para error 0020

SBR S:5 C5:0


SUBROUTINE ] [ (U)
0 CU
CTU
COUNT UP (CU)
Counter C5:0
Preset 120 (DN)
Accum 0

GRT RET
GREATER THAN RETURN
Source A C5:0.ACC
0
Source B 5

S:5 S:5
] [ (U)
0 0
S:1
(U)
13
RET
RETURN

END

Si el bit de interrupción por overflow está establecido, S:5/0 se establece y el


contador C5:0 incrementa.

Si el conteo de C5:0 es 5 ó menor, el bit de interrupción por overflow S:5/0 se pone


a cero, el bit de error mayor detenido S:1/13 se pone a cero y el procesador
permanece en el modo de marcha REM. Si el conteo es mayor que 5, el procesador
establece S:5/0 y S:1/13 y entra en el modo de fallo.

Este archivo de subrutina también se ejecuta si el bit de error de registro de control


S:5/2 se establece. En dicho caso, el procesador se pone en el modo de fallo.

11–5

Manual de referencia del juego de instrucciones

Archivo de subrutina 5 – Ejecutado para error 0034


SBR LES S:1
SUBROUTINE LESS THAN (U)
Source A T4:0.ACC 13
0 CLR
Source B 0 CLEAR
Dest T4:0.ACC
0

O:3.0
( )
3
RET
RETURN

END

Si el valor de acumulador del temporizador T4:0 es negativo, el bit de error mayor


detenido S:1/13 se desenclava evitando así que el procesador entre en el modo de
fallo. Simultáneamente, el valor de acumulador T4:0 ACC se pone a cero y la salida
O:3.0/3 se activa. El código de fallo 0034 se muestra en el archivo de estado.

Si el valor preseleccionado del temporizador T4:0 es negativo, S:1/13 permanece


establecido y el procesador entra en el modo de fallo (O:3.0/3 se restablece si se
estableció anteriormente). Además, si el valor preseleccionado o de acumulador de
cualquier otro temporizador en el programa es negativo, S:1/13 se establece y el
procesador entra en el modo de fallo. Si se estableció anteriormente, O:3.0/3 se
restablece.

11–6
Cómo comprender las rutinas de interrupción

Descripción general de la interrupción


temporizada seleccionable
3 3 3 3

Esta función le permite interrumpir el escán del procesador automáticamente, de


manera periódica, para escanear una archivo de subrutina especificado. Después, el
procesador reanuda la ejecución a partir del punto en que fue interrumpida.

Esta sección describe:


• El procedimiento de programación STI
• La operación STI
• Los parámetros STI
• Las instrucciones STD y STE
• La instrucción STS

Procedimiento de programación básico para la función STI

Para usar la función STI en su archivo de aplicación:

1. Cree un archivo de subrutina e introduzca los renglones de escalera deseados.


Este es su archivo de subrutina STI.
• El rango válido de los procesadores SLC es 2–355
• Los controladores MicroLogix 1000 designan archivo 5
2. Procesadores SLC
Introduzca el número de archivo de subrutina STI en la palabra S:31 del archivo
de estado. Refiérase a la página B–57 de este manual para obtener más
información. Un número de archivo de cero inhabilita la función STI.

3. Introduzca el punto de ajuste (el tiempo entre interrupciones sucesivas) en la


palabra S:30 del archivo de estado. Refiérase a la página A–17 para los
controladores MicroLogix 1000 ó la página B–57 para los procesadorss SLC a
fin de obtener más información.
• Para el SLC 5/02 y los controladores MicroLogix 1000, el rango es
10–2550 ms (introducidos en incrementos de 10 ms). Un punto de ajuste
de cero inhabilita la función STI.
• Para los procesadores SLC 5/03 y SLC 5/04, el rango es de 1–32,767 ms
(introducidos en incrementos de 1 ms). Un punto de ajuste de cero
inhabilita la función STI. Refiérase al apéndice B de este manual para
obtener más información acerca del bit de resolución STI S:2/10.

11–7

Manual de referencia del juego de instrucciones

Nota El valor del punto de ajuste debe ser mayor que el tiempo de ejecución del archivo
de subrutina STI, de lo contrario un bit de error menor se establece. Para todos los
procesadores, el bit de pendiente STI y el bit de sobremarcha STI se establecerán.
Además, para los procesadores SLC 5/03 y SLC 5/04 y los controladores
MicroLogix 1000, el bit último STI se puede establecer.

Operación
Después de que usted restaura el programa y entra en el modo de marcha REM, el
STI comienza la operación según lo siguiente:

1. El temporizador STI comienza a temporizar.

2. Cuando el intervalo STI caduca, el temporizador STI se restablece, el escán del


procesador se interrumpe y el archivo de subrutina STI se escanea.

3. Si otra interrupción STI ocurre durante la ejecución de la subrutina STI, el bit


de pendiente STI se establece.

4. Si el temporizador STI caduca durante el estado pendiente de un STI, el bit de


perdido STI se establece. (Para los procesadores SLC 5/02, el bit de
sobremarcha se establece.)

5. Cuando el escán de subrutina STI se finaliza, el escán del archivo de programa


principal se reanuda al punto en que se detuvo, a menos que haya un STI
pendiente. En dicho caso, la subrutina se vuelve a escanear inmediatamente.

6. El ciclo se repite.

A título de identificación de su subrutina STI, incluya una instrucción INT como la


primera instrucción en el primer renglón del archivo.

Contenido de la subrutina STI

La subrutina STI contiene los renglones de su lógica de aplicacion. Puede


programar toda instrucción dentro de la subrutina STI con la excepción de una
instrucción TND, REF o SVC. Las instrucciones IIM o IOM son necesarias en una
subrutina STI si su aplicación requiere la actualización inmediata de puntos de
entrada o salida. Termine la subrutina STI con una instrucción RET.

La profundidad de pila JSR se limita a 3. Puede llamar otras subrutinas a un nivel


de profundidad de 3 desde una subrutina STI.

11–8
Cómo comprender las rutinas de interrupción

Latencia de interrupción y coincidencias de interrupción

La latencia de interrupción es el intervalo entre el límite de tiempo sobrepasado y el


inicio de la subrutina de interrupción. Las interrupciones STI pueden ocurrir en
cualquier punto en su programa, pero no necesariamente al mismo punto en
interrupciones sucesivas. Las tablas siguientes muestran la interacción entre una
interrupción y el ciclo de operación del procesador.

Procesadores SLC

SLC 5/03 y SLC 5/04 SLC 5/03 y SLC 5/04


SLC 5/02 STI STI con el bit S:33/8 STI con el bit S:33/8
establecido puesto a cero

Input Scan   


     
     
  
  
  
Program Scan   
     
     
  
  
  
Output Scan
  
     
     
  
  
  
Communications
      
      
Processor Overhead       
    
  
     
  

  
 


 

    
 
   

  

Microcontrolador

STI
Input Scan

Program Scan
  
    
Output Scan

Communication
       
Controller Overhead

  
 

    
 
   
  

11–9
Manual de referencia del juego de instrucciones
Preface

Observe que el tiempo de ejecución se añade directamente al tiempo de escán


global. Durante el período de latencia, el procesador está efectuando operaciones
que no pueden ser interrumpidas por la función de interrupción STI.

Los períodos de latencia son:


• Las interrupciones de los procesadores SLC 5/02 y los controladores
MicroLogix 1000 reciben servicio dentro de 2.4 ms como máximo.
• Procesadores SLC 5/03 y SLC 5/04 – Si una interrupción ocurre mientras que el
procesador realiza una actualización de ranura de palabras múltiples y su
subrutina de interrupción accede a la misma ranura, la transferencia de palabras
múltiples se finaliza antes de realizar el acceso de ranura de subrutina de
interrupción. El bit de control de latencia de interrupción (S:33/8) funciona de
la manera siguiente:

– Cuando el bit se establece (1), las interrupciones reciben servicio dentro del
tiempo de latencia de interrupción. Refiérase al apéndice B para obtener
más información acerca de cómo calcular la latencia de interrupción.
– Cuando el bit se pone a cero (0), los INT reciben servicio por renglón,
ranura y tiempo de ejecución de paquete.

El estado predeterminado se borra (0). Para determinar la latencia de


interrupción con S:33/8 puesto a cero, debe calcular el tiempo de ejecución de
cada renglón en su programa. Use el tiempo de ejecución calculado más largo
más 500 µs como su latencia de interrupción máxima.

Prioridades de interrupción

Las prioridades de interrupción para los procesadores son:

Controlador MicroLogix 1000 Procesador SLC 5/02 Procesador SLC 5/03 y SLC 5/04
1. Rutina de fallo de usuario 1. Rutina de fallo de usuario 1. Rutina de fallo de usuario
2. Subrutina de interrupción temporizada
2. Contador de alta velocidad 2. Interrupción de entrada discreta (DII)
seleccionable
3. Subrutina de interrupción temporizada 3. Subrutina de interrupción temporizada
3. Subrutina de interrupción (ISR)
seleccionable seleccionable
4. Subrutina de interrupción (ISR)

Una interrupción que se está ejecutando sólo puede ser interrumpida por una
interrupción con una prioridad más alta.

11–10
Cómo comprender las rutinas de interrupción

Datos de archivo de estado guardados

Los datos en las palabras siguientes se guardaron durante la entrada en la subrutina


STI y se volvieron a escribir cuando salieron de la subrutina STI.
• Indicadores aritméticos S:0
• Registro matemático S:13 y S:14
• Registro de índice S:24

Parámetros STI
Los parámetros siguientes son asociados con la función STI. Estos parámetros
tienen direcciones de archivo de estado que se describen aquí y también en el
apéndice A y apéndice B de este manual.
• Número de archivo STI (palabra S:31) – Este puede ser cualquier número de
3–255. Un valor de cero inhabilita la función STI. Un número inválido genera
el fallo 0023. Esta palabra no se aplica a los controladores MicroLogix 1000.
• Punto de ajuste (palabra S:30) – Este es el tiempo entre el punto de inicio de
escanes sucesivos del archivo STI. Puede ser cualquier valor de 10 a 2550
milisegundos. Usted introduce un valor de 1 a 255, lo que resulta en un punto
de ajuste de 10–2550 ms. Un valor de cero inhabilita la función STI. Un
tiempo inválido genera el fallo 0024.
Si el STI se inicia en el modo de marcha REM cargando los registros de estado,
la interrupción comienza a temporizar desde el final del escán de programa en
que los registros de estado se cargaron.

Específico para SLC 5/03 y SLC 5/04 – Si S:2/10 está establecido, el tiempo se
da en incrementos de 1 ms. Si este bit se pone a cero, el tiempo se da en
incrementos de 10 ms.
• Bit de pendiente STI (S:2/0) – Este bit se establece cuando el temporizador
STI ha sobrepasado el límite de tiempo y la rutina STI está esperando su
ejecución. Este bit se restablece al inicio de la rutina STI, ejecución de una
instrucción STS verdadera, momento de encendido o salida del modo de marcha
REM o de prueba.
Específico para SLC 5/02 – El bit de pendiente STI no se establecerá si el
temporizador STI caduca durante la ejecución de la rutina de fallo.

Específico para SLC 5/03 y SLC 5/04 – Este bit se establece si el temporizador
STI caduca durante la ejecución de la subrutina DII o la rutina de fallo.

11–11

Manual de referencia del juego de instrucciones

• Bit de habilitación STI (S:2/1) – El valor predeterminado es 1 (establecido).


Cuando un número de archivo entre 3 y 255 está presente en la palabra S:31 y
un valor de punto de ajuste entre 1 y 255 está presente en la palabra S:30, un bit
de habilitación establecido permite el escán del archivo STI. Si el bit está
restablecido por una instrucción STD, el escán del archivo STI ya no ocurre. Si
el bit está establecido por una instrucción STE o STS, el escán se permite
nuevamente. El bit de habilitación sólo habilita/inhabilita el escán de la
subrutina STI. No afecta el temporizador STI. La instrucción STS afecta el bit
de habilitación y el temporizador STI. El estado predeterminado se habilita. Si
este bit se establece o se restablece usando la instrucción STE, STD o STS, la
habilitación/inhabilitación se realiza inmediatamente. Si este bit se establece en
el programa de usuario utilizando una instrucción que no sea STE, STD o STS,
se realiza durante el próximo final de escán.
Controlador MicroLogix 1000 – Este bit se establece o se restablece usando una
instrucción STS, STE o STD. Si se establece, permite la ejecución del STI si el
punto de ajuste STI S:30 no es cero. Si se ha puesto a cero, cuando ocurre una
interrupción, la subrutina STI no se ejecuta y el bit de pendiente STI se
establece.

Específico para SLC 5/02 – Si está establecido o restablecido por el programa


de usuario o comunics., no se activará sino hasta el próximo final de escán.

Específico para SLC 5/03 y SLC 5/04 – Si este bit está establecido o
restablecido por el programa de usuario o comunics., se activará al momento de
caducidad del temporizador STI o durante el próximo final de escán (cualquiera
que ocurra primero).
• Bit de ejecución STI (S:2/2) – Este bit se establece cuando el archivo STI está
siendo escaneado y se pone a cero cuando el escán se finaliza. El bit también se
pone a cero al momento de encendido y a la entrada en el modo de marcha
REM.
• Bit de selección de resolución STI (S:2/10) – Este bit se pone a cero
predeterminadamente. Cuando se ha puesto a cero, este bit selecciona un
incremento de 10 ms para el valor de punto de ajuste STI (S:30). Cuando se
establece, este bit selecciona un incremento de 1 ms para el valor de punto de
ajuste (S:30). Para programar esta característica, use la función del monitor de
datos para establecer/poner a cero este bit o direccione este bit con su programa
de escalera.
Este bit es configurable por el usuario y se activa durante una transición de
modo PROG REM a REM RUN.
• Bit de sobremarcha (S:5/10) – Este bit de error menor se establece cuando el
temporizador STI caduca mientras que la rutina STI se está ejecutando o está
inhabilitada y mientras que el bit dependiente esté establecido. Cuando esto
ocurre, el temporizador STI continúa funcionando a la velocidad presente en la
palabra S:30. Si el bit de sobremarcha se establece, tome la acción correctiva
que indica su aplicación y luego ponga a cero el bit.

11–12
Cómo comprender las rutinas de interrupción

• Bit de STI perdida (Word S:36/9) – Este bit se establece cuando una
interrupción STI ocurre mientras que el bit de STI pendiente también está
establecido. Cuando está establecido, le comunicará que una interrupción STI
se ha perdido. Por ejemplo, la interrupción se pierde porque una interrupción
anterior ya estaba pendiente y esperando su ejecución. Examine este bit en su
programa de usuario y tome la acción apropiada si su aplicación no puede
tolerar esta condición. Luego ponga a cero el bit con su programa de usuario
para prepararse para la próxima instancia posible de este error.

Use los renglones siguientes para inicializar y medir la cantidad de tiempo entre dos
ejecuciones de subrutina STI consecutivas. El temporizador de 10 µs también está
disponible en la interrupción DII y la interrupción de E/S. Este ejemplo de
aplicación también se puede usar para la interrupción de E/S de evento o la
interrupción DII reemplazando S:43 con S:44 ó S:45 respectivamente.

Lista de programa Archivo de procesador: FREESTI.ACH Renglón 2:0


Renglón 2:0
Coloque este renglón en el primer renglón de su programa de escalera principal
(archivo 2 renglón 0). Este renglón asegura que la medida de interrupción se
inicialice cada vez que se entre en el modo de marcha.
| 1er Indica la |
| paso inicialización |
| de medida |
| |
| S:1 B3 |
|––––] [––––––––––––––––––––––––––––––––––––––––––––––+––––(U)–––––––––––––––+–|
| 15 | 0 | |
| | Clear | |
| | 10 uS | |
| | ”tick” | |
| | Register | |
| | +MOV–––––––––––––––+ | |
| +–+MOVE +–+ |
| |Source 0| |
| | | |
| |Dest N10:2| |
| | 0| |
| +––––––––––––––––––+ |

el programa de escalera continúa en la página siguiente

11–13

Manual de referencia del juego de instrucciones

Renglón 4:0
Este renglón mide el tiempo entre las ejecuciones de subrutina de interrupción
consecutivas. El entero N10:2 contiene el número de “tics” de 10 microsegundos
que han ocurrido. Anote que la cantidad mayor de tiempo que se puede medir
es de 0.32767 segundos.
| Determine el número |
| de “tics” de 10 ms |
| Cuando medida desde el último |
| válida |
| B3 +SUB–––––––––––––––+ |
|––––––––+––––] [–––––+––––––––––––+SUBTRACT +–+––––––––––––––––––––+–|
| | 0 | |Source A S:43| | | |
| | | | 0| | | |
| | | |Source B N10:1| | | |
| | | | 0| | | |
| | | |Dest N10:2| | | |
| | | | 0| | | |
| | | +––––––––––––––––––+ | | |
| | | | | |
| | | | | |
| | | Si rodante ha | | |
| | | ocurrido en la Normalice el | | |
| | | base de tiempo resultado | | |
| | | S:0 +ADD–––––––––––––––+ | | |
| | +––––] [–––––+ADD +–+ | |
| | 3 |Source A 32767| | |
| | | | | |
| | |Source B N10:2| | |
| | | 0| | |
| | |Dest N10:2| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | | |
| | | |
| | Almacene el valor | |
| | actual en el | |
| | último valor | |
| | +MOV–––––––––––––––+ | |
| +––––––––––––––––––––––––––––––––––––––––––––––+MOVE +–+ |
| | |Source S:43| | |
| | | 0| | |
| | |Dest N10:1| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | | |
| | | |
| | Ponga a cero el | |
| | bit de error | |
| | S:5 | |
| +–––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––––––––––––+ |
| 0 |

el programa de escalera continúa en la página siguiente

11–14
Cómo comprender las rutinas de interrupción

Renglón 4:99
Coloque este renglón en el último renglón de su subrutina de interrupción. Así
su subrutina de interrupción sabrá cuándo el valor N10:2 es válido.
| |
| |
| Indique la |
| medida válida |
| B3 |
|––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(L)–––––|
| 0 |

Nota El bit de selección de overflow matemático (S:2/14) se debe establecer antes de


entrar en el modo de MARCHA.

11–15

Manual de referencia del juego de instrucciones

Instrucciones STD y STE


3 3 3 3

Las instrucciones STD y STE se usan para crear zonas en las que las interrupciones
STI no pueden ocurrir.

Inhabilitación temporizada seleccionable – STD


STD
SELECTABLE TIMED DISABLE Cuando es verdadera, esta instrucción restablece el bit de habilitación STI y evita
que la subrutina STI se ejecute. Cuando el renglón se hace falso, el bit de
habilitación STI permanece establecido hasta que una instrucción STS o STE se
ejecute. El temporizador STI continúa funcionando mientras que el bit de
habilitación esté restablecido.

Habilitación temporizada seleccionable – STE


STE
SELECTABLE TIMED ENABLE Esta instrucción, al momento de una transición del renglón de falso a verdadero,
establece el bit de habilitación STI y permite la ejecución de la subrutina STI.
Cuando el renglón se hace falso, el bit de habilitación STI permanece establecido
hasta que una instrucción STD verdadera se ejecute. Esta instrucción no tiene
efecto sobre la operación del temporizador STI o punto de ajuste. Cuando el bit de
habilitación está establecido, la primera ejecución de la subrutina STI puede ocurrir
en cualquier fracción del ciclo de temporización hasta un ciclo de temporización
completo subsiguiente.

Ejemplo de zona STD/STE

En el programa siguiente, la función STI está activa. Las instrucciones STD y STE
en los renglones 6 y 12 se incluyen en el programa de escalera para evitar que se
ejecute la subrutina STI en cualquier punto en los renglones 7 a 11.

La instrucción STD (renglón 6) restablece el bit STI y la instrucción STE (renglón


12) vuelve a establecer el bit de habilitación. El temporizador STI incrementa y
puede sobrepasar el límite de tiempo en la zona STD, lo que establece el bit de
pendiente S:2/0 y el bit de sobremarcha S:5/10.

El bit de primer paso S:1/15 y la instrucción STE en el renglón 0 se incluyen para


asegurar que la función STI se inicialice después de una desactivación y
reactivación de alimentación eléctrica. Usted debe incluir este renglón cuando su
programa contenga una zona STD/STE o una instrucción STD.

11–16
Cómo comprender las rutinas de interrupción

    STE
 
  S:1
0 ] [ SELECTABLE TIMED ENABLE
15
1 ] [ ] [ ( )

5
STD
6 SELECTABLE TIMED DISABLE

7 ] [ ] [ ( )
  

   8
   
   9

10

11 ] [ ] [ ( )

STE
12 SELECTABLE TIMED ENABLE

13 ] [ ] [ ( )

14

15

16

17 END

11–17

Manual de referencia del juego de instrucciones

Inicio temporizado seleccionable (STS)


3 3 3 3

STS
SELECTABLE TIMED START
Use la instrucción STS para condicionar el inicio del temporizador STI cuando entra
File
Time [x 10ms] en el modo de marcha REM en vez de comenzar automáticamente. También puede
usarla para configurar o cambiar el número de archivo o punto de ajuste/frecuencia
de la rutina STI que se va a ejecutar cuando el temporizador STI caduca.

Esta instrucción no es necesaria para configurar una aplicación de interrupción STI


básica.

La instrucción STS le exige introducir dos parámetros: el número de archivo STI y


el punto de ajuste STI. Al momento de ejecución verdadera del renglón, esta
instrucción introduce el número de archivo y punto de ajuste en el archivo de estado
(S:31, S:30), sobrescribiendo así los datos existentes. Simultáneamente, el
temporizador STI se restablece y comienza a temporizar; al momento de sobrepasar
el límite de tiempo, la ejecución de subrutina STI ocurre. Cuando el renglón se hace
falso, la función STI permanece habilitada en el punto de ajuste y número de
archivo que introdujo en la instrucción STS.
Nota Específico para SLC 5/03 y SLC 5/04 – La instrucción STS usa el establecimiento
del bit de resolución STI S:2/10 para determinar la base de tiempo que se va a usar
al momento de la ejecución de la instrucción STS.

11–18
Cómo comprender las rutinas de interrupción

Descripción general de la interrupción


de entrada discreta
3 3

Use la interrupción de entrada discreta (DII) para las aplicaciones de procesamiento


a alta velocidad o para cualquier aplicación que necesite responder a un evento de
manera rápida. Esta instrucción permite que el procesador ejecute una subrutina de
escalera cuando la configuración de bit de entrada de una tarjeta de E/S discreta
corresponda a un valor de comparación que usted ha ya programado.

El archivo de estado contiene seis valores de bit y seis valores de palabra usados
para programar y monitorizar la función DII. La DII no requiere instrucciones de
lógica de escalera para su configuración. Usted programa la DII para examinar la
configuración de bit de entrada de una sola ranura de E/S cualquiera, la cual
contiene una tarjeta de entrada discreta (tal como IG16, IV16, IB8, IB32). Cuando
la configuración de bit de entrada corresponde al valor de comparación, el
acumulador se incrementa. El acumulador DII cuenta hasta el valor preseleccionado
y, una vez generada la interrupción, ajusta inmediatamente la línea de manera
automática y comienza a contar desde cero.

Durante el escán de la subrutina DII, usted puede volver a configurar la DII para que
busque un evento completamente distinto. Esto facilita la secuencia DII. La DII
puede ser programada para comparar cada punto de entrada a un estado alto (1) o
bajo (0). El acumulador se incrementa al momento de la transición de entrada que
provoca que los puntos de entrada correspondan al valor de comparación.

Si su aplicación requiere actualización inmediata de los puntos de entrada o salida,


entonces son necesarias las instrucciones IIM o IOM. Finalice la subrutina DII con
una instrucción RET.

Procedimiento de programación básico para la función DII

Para usar la función DII con su archivo de programa principal, haga lo siguiente:

1. Cree un archivo de subrutina (rango de 3 a 255) e introduzca los renglones de


escalera deseados. Este es su archivo de subrutina DII.

2. Introduzca el número de ranura de entrada (palabra S:47).

3. Introduzca la máscara de bit (palabra S:48).

4. Introduzca el valor de comparación (palabra S:49).

5. Introduzca el valor preseleccionado (palabra S:50).

11–19

Manual de referencia del juego de instrucciones

6. Introduzca el número de subrutina DII en la palabra S:46 del archivo de estado.


(Vea la página B–69.) Un valor de cero inhabilita la función DII.
Nota Usuarios de PLC – La diferencia principal entre la DII y la PII PLC 5/40 es que la
DII requiere que todas las transiciones declaradas ocurran antes de generar un
conteo; en cambio, la PII requiere que solamente una de las transiciones
declaradas ocurra. Además, en la DII, al término “conteo” se le denomina
“predeterminado”.

Ejemplo

La DII puede ser programada para contar los artículos en un transportador de alta
velocidad. Cada vez que 100 artículos pasan por un fotointerruptor, la subrutina DII
se ejecuta. Luego la subrutina DII usa las instrucciones de E/S inmediatas para
embalar los productos.

11–20
Cómo comprender las rutinas de interrupción

Operación
Después de restaurar su programa y entrar en el modo de marcha REM, la DII
comienza su operación así:

Modo de contador

Este modo está activo cuando el valor preseleccionado (S:50) contiene un valor
mayor que 1.

1. La DII lee el primer byte de datos de entrada de una tarjeta de entrada discreta
seleccionada por lo menos una vez cada 100 µs.À Anote que esta “encuesta” de
los datos de entrada no afecta el tiempo de escán del procesador.

2. Cuando los datos de entrada corresponden al valor con máscara programado, el


acumulador se incrementa en uno. El próximo conteo ocurre cuando los datos
de entrada hacen la transición a datos sin correspondencia y luego retornan a los
con correspondencia.

3. Cuando el acumulador alcanza o excede el valor preseleccionado, entre 1 y


32,767, la interrupción es generada y el acumulador se pone a cero.

4. La subrutina DII se ejecuta.

5. El ciclo se repite.

Modo de evento

Este modo está activo cuando el valor preseleccionado (S:50) contiene 0 ó 1.

1. La DII lee el primer byte de datos de entrada de una tarjeta de entrada discreta
seleccionada por lo menos una vez cada 100 µs.À Anote que esta “encuesta” de
los datos de entrada no afectan el tiempo de escán del procesador.

2. Cuando los datos de entrada corresponden al valor con máscara programado, la


interrupción es generada.

3. La subrutina DII se ejecuta.Á

4. El ciclo se repite.À
À 


 
 


 

        
  
 


 

  

 
Á        

  
       


 

   

11–21
Manual de referencia del juego de instrucciones
Preface

Contenido de la subrutina DII

Para identificar su subrutina DII, use la instrucción INT como la primera instrucción
en su primer renglón.

La subrutina DII contiene los renglones de su lógica de aplicación. Puede programa


cualquier instrucción dentro de la subrutina DII excepto una instrucción TND, REF
o SVC. Las instrucciones IIM o IOM son necesarias en una subrutina DII si su
aplicación requiere la actualización inmediata de los puntos de entrada o salida.
Finalice la subrutina DII con una instrucción RET.

La profundidad de pila JSR se limita a 3. Puede llamar otras subrutinas hasta una
profundidad de 3 niveles desde una subrutina DII.

Latencia de interrupción y coincidencias de interrupción

La latencia de interrupción es el intervalo entre la detección DII y el inicio de la


subrutina de interrupción. Las interrupciones DII pueden ocurrir a cualquier punto
en su programa, pero no necesariamente al mismo punto en interrupciones
sucesivas. Las interrupciones pueden ocurrir entre instrucciones en su programa,
dentro del escán de E/S (entre ranuras) o entre el servicio de paquetes de
comunicaciones. La tabla siguiente muestra la interacción entre una interrupción y
el ciclo de operación del procesador.

DII con el bit S:33/8 DII con el bit S:33/8


DII
establecido establecido
Input Scan   

     

     

  
     
Program Scan   

     

     

  


    
Output Scan
  

     

     

  
Communications      
      

      
Processor Overhead  

      


  

     

  



   

   
    
  

 
 Si una interrupción ocurre mientras el procesador SLC 5/03 ó SLC 5/04 está
realizando una actualización de ranura de palabras múltiples y su subrutina de
interrupción obtiene acceso a la misma ranura, la transferencia de palabras múltiples
se completa antes de realizar el acceso a la ranura de subrutina de interrupción.

11–22
Cómo comprender las rutinas de interrupción

Observe que el tiempo de ejecución DII se añade directamente al tiempo de escán


global. Durante el período de latencia, el procesador está realizando operaciones
que no pueden ser perturbadas por la función de interrupción DII. El bit de control
de latencia de interrupción (S:33/8) funciona de la manera siguiente:
• Cuando el bit se establece (1), las interrupciones reciben servicio en menos
de 500 µs.
• Cuando el bit se pone a cero (0), el servicio en menos de 500 µs no se espera.
Cuando S:33/8 se pone a cero (0), las interrupciones de usuario ocurren entre
los renglones y las actualizaciones de ranura de E/S.

El estado predeterminado se borra (0). Para determinar la latencia de interrupción


con S:33/8 puesto a cero, debe calcular el tiempo de ejecución de cada renglón en su
programa. Refiérase al apéndice B para obtener más información acerca de cómo
calcular la latencia de interrupción.

Prioridades de interrupción

Las prioridades de interrupción para los procesadores SLC 5/03 y SLC 5/04 son:

1. La rutina de fallo de usuario

2. La interrupción de entrada discreta (DII)

3. La subrutina STI

4. La subrutina de interrupción de E/S

La ejecución de una subrutina de interrupción sólo puede ser interrumpida por la


rutina de fallo.

Datos de archivo de estado guardados

Los datos en las palabras siguientes se guardan cuando entran en la subrtuina DII y
se vuelven a escribir cuando salen de la subrutina DII.
• Indicadores aritméticos S:0
• Registro matemático S:13 y S:14
• Registro de índice S:24

11–23

Manual de referencia del juego de instrucciones

Reconfigurabilidad

Puede reconfigurar la DII total o parcialmente, según el (los) parámetro(s) que


seleccione. Puede reconfigurar algunos de los parámetros simplemente por medio
de sobrescribir el valor anterior usando el valor nuevo. Otros valores le requieren
que establezcan el bit de reconfiguración además de escribir el valor nuevo. La DII
es no retentiva y siempre se reconfigura al entrar en el modo de marcha REM.
Refiérase a la próxima sección “Parámetros DII” para obtener detalles acerca de
cómo reconfigurar cada parámetro.

Ejemplo

La DII puede ser programada para contar artículos en un transportador de alta


velocidad. Cada vez que 100 artículos pasan por un fotointerruptor, la subrutina DII
se ejecuta. Luego la subrutina DII usa las instrucciones de E/S inmediatas para
embalar los productos.

Si desea variar el número de artículos que se embalan juntos, simplemente cambie el


número en el parámetro preseleccionado DII usando una instrucción de
transferencia.

11–24
Cómo comprender las rutinas de interrupción

Parámetros DII
Los parámetros siguientes son asociados con la función DII. Estos parámetros
tienen direcciones de archivo de estado que se describen aquí y en el apéndice B.
• Bit de DII pendiente (S:2/11) – Cuando se establece, este bit indica que el
acumulador DII (S:52) es igual a la DII preseleccionada (S:50) y que el número
de archivo de escalera especificado por el número de archivo DII (S:46) espera
su ejecución. Se pone a cero cuando el número de archivo DII (S:46) comienza
a ejecutarse o cuando sale del modo de marcha REM o prueba REM.
• Bit de habilitación DII (S:2/12) – Para programar esta característica, use la
función de monitor de datos para establecer/poner a cero este bit o direccione
este bit con su programa de escalera. Este bit se establece en su condición
predeterminada. Si se establece, permite la ejecución de la subrutina DII si el
archivo DII (s:46) no es cero. Si se pone a cero, cuando ocurre la interrupción,
la subrutina DII no se ejecuta y el bit de DII pendiente se establece. La función
DII continúa funcionando cuando el archivo DII (S:46) no sea cero. Si el bit
pendiente se establece, el bit de habilitación se examina al próximo final de
escán.
• Bit de ejecución DII (S:2/13) – Cuando se establece, este bit indica que la
interrupción DII ha ocurrido y que la subrutina DII se está ejecutando. Este bit
se pone a cero al finalizarse la rutina DII, encendido o entrada en el modo de
marcha REM.
• Bit de overflow DII (S:5/12) – Este bit se establece siempre que la
interrupción DII ocurra cuando todavía está ejecutando la subrutina DII o
cuando la interrupción DII ocurra mientras esté pendiente o inhabilitada.
• Bit de reconfiguración (S:33/10) – Cuando este bit se establece (1), indica
que en el próximo final de escán (END, TND o REF), salida de la rutina de
fallo, salida de STI ISR, salida del evento ISR o la próxima salida de DII ISR,
ocurrirá lo siguiente:

– El acumulador DII se borra,

– los valores a las palabras de estado S:47 a S:50 se aplican,

– el bit pendiente se pone a cero, y

– el bit de reconfiguración DII se pone a cero.

• Bit de DII perdida (S:36/8) – Este bit se establece si una interrupción DII
ocurre mientras que el bit de DII pendiente esté establecido.
• Número de archivo (palabra S:46) – Usted introduce un número de archivo
(3 a 255) que se usa como la subrutina de interrupción de entrada discreta.
Escriba un valor de 0 para inhabilitar la función. Este valor se aplica al
momento de detección de un bit de reconfiguración DII, cada salida de DII ISR
y cada final de escán (END, TND o REF). Un cero inhabilita la operación.

11–25

Manual de referencia del juego de instrucciones

• Número de ranura (palabra S:47) – Usted introduce el número de ranura (1


a 30) que se usa como la subrutina de interrupción de entrada discreta. Un valor
de cero inhabilita la función. Este valor se aplica al momento de detección del
bit de reconfiguración DII o a la entrada en el modo de marcha REM.
• Máscara de bit (palabra S:48) – Usted introduce el valor mapeado por bit
que corresponde a los bits que desea monitorizar en el módulo de E/S discretas.
Sólo los bits 0 a 7 se usan en la función DII. El establecer un bit indica que
desea incluir el bit en la comparación de la configuración de bit de la tarjeta de
E/S discretas contra el valor de comparación DII (S:49). Este valor se aplica al
momento de detección del bit de reconfiguración DII, cada salida de DII ISR y
cada final de escán (END, TND o REF).
• Valor de comparación (palabra S:49) – Usted introduce un valor mapeado
de bit que corresponde a la configuración de bit que debe ocurrir en la tarjeta de
E/S discretas para que un conteo o interrupción ocurra. Sólo los 0 a 7 se usan
en la función DII. El bit se debe establecer (1) o se debe poner a cero (0) para
satisfacer la condición de comparación para dicho bit. Una interrupción o
conteo será generada al momento de transición del último bit del valor de
comparación. Este valor se aplica al momento de detección del bit de
reconfiguración DII, cada salida de DII ISR y cada final de escán (END, TND o
REF).
Para proporcionar protección contra la modificación accidental del monitor de
datos para su selección, programe una instrucción MOV incondicional que
contenga el valor preseleccionado de la DII a S:50.
• Valor preseleccionado (palabra S:50) – Cuando este valor es igual a 0 ó 1,
una interrupción es generada cada vez que la comparación especificada en las
palabras S:48 y S:49 se satisface. Cuando este valor es entre 2 y 32767, un
conteo ocurre cada vez que la comparación de bit se satisface. Una interrupción
será generada cuando el valor de acumulador alcance 1 ó exceda el valor
preseleccionado. Este valor se aplica al momento de detección del bit de
reconfiguración DII, cada salida de DII ISR y cada final de escán (END, TND o
REF).
Para proporcionar protección conatra la modificacion accidental del monitor de
datos para su selección, programe una instrucción MOV incondicional que
contenga el valor preseleccionado de la DII a S:50.
• Máscara de retorno (palabra S:51) – La máscara de retorno se actualiza
inmediatamente antes de entrar en la subrutina DII. Este valor contiene el mapa
de bit de la última transición de bit que causó la interrupción. Si hay más de
una transición de bit durante el mismo período de muestreo DII de 100 ms, se
incluirá en la máscara de retorno. Este bit es puesto a cero por el procesador al
momento de salir de la subrutina DII. Use este valor para validar la última
transición de interrupción que causó que la configuración de entrada
correspondiera al valor de comparación. O use este valor dentro de la DII de su
subrutina para ayudar a determinar/validar la posición de la secuencia cuando
usted esté reconfigurando (secuenciando) la DII de manera dinámica.

11–26
Cómo comprender las rutinas de interrupción

• Acumulador (palabra S:52) – El acumulador DII contiene el número de


conteos que ha ocurrido. Cuando un conteo ocurre y el acumulador es mayor o
igual que el valor preseleccionado, una interrupción DII es generada y el
acumulador se borra.
Para aplicaciones que miden la velocidad de impulsos DII entrantes mientras
que use una STI (interrupción temporizada seleccionable), el SLC 5/03 OS301 y
los superiores actualizan el acumulador DII antes de ejecutar el primer renglón
de la subrutina STI.

11–27

Manual de referencia del juego de instrucciones

Ejemplo de aplicación de interrupción de entrada discreta

Los ejemplos siguientes muestran cómo usar la interrupción de entrada discreta para
controlar una aplicación de alta velocidad. En el ejemplo, la DII se usa para
asegurar que todas las botellas que salen de una máquina para llenar y tapar tengan
sus tapas instaladas.

El interruptor de proximidad de botella se usa como la entrada DII. Cuando una


botella pasa el interruptor de proximidad, el procesador SLC 5/03 ó SLC 5/04
ejecuta la subrutina DII. En la subrutina el procesador lee el estado del interruptor
de proximidad de la tapa. Si la tapa se instala, el solenoide del distribuidor no se
activa, permitiendo así que la botella continúe en la línea. Si la tapa hace falta, el
solenoide del distribuidor se activa y causa que la botella defectuosa se desvíe en el
distribuidor hacia el recipiente de botellas rechazadas.

Proximidad de tapa (I:1/8)


Proximidad de botella (I:1/0)

Distribuidor
(O:2/0)

Recipiente de botellas
rechazadas

Los parámetros siguientes se usan para programar la DII para la aplicación anterior:
• Bit de control de latencia de interrupción S:33/8 = 1
• Archivo S:46 = 3
• Ranura S:47 = 1
• Máscara S:48 = 00000001
• Comparación S:49 = 00000001
• Preseleccionado S:50 = 1

11–28
Cómo comprender las rutinas de interrupción

Diagrama de escalera para la aplicación de embotelladora

Este renglón recibe el estado del interruptor de proximidad para detectar la presencia o ausencia de una tapa de botella

Bit 8 es el interruptor de proximidad


INT IIM
Renglón I/O INTERRUPT IMMEDIATE IN w MASK
3:0 Slot I:1.0
Mask 0100

Si una tapa de botella está presente y el distribuidor está en la posición para botellas rechazadas, ponga
el distribuidor en la posición normal.
Si el interr. de prox. Y si el distribuidor está en
detecta una capa de la posición para botellas Ponga el distribuidor
botella instalada rechazadas en la posición normal
I:1.0 O:2.0 O:2.0
Renglón ] [ ] [ (U)
3:1 8 0 0

Actualice la posición del distribuidor.


IOM
IMMEDIATE OUT w MASK
Slot O:2.0
Mask 0001

Si no está presente la tapa de botella, ponga el distribuidor en la posición para botellas rechazadas.
Ponga el distribuidor en la posiĆ
Si el interr. de prox. detecta ción para botellas rechazadas
una capa de botella faltante
I:1.0 O:2.0
Renglón ]/[ (L)
3:2 8 0
Actualice la posición del distribuidor
IOM
IMMEDIATE OUT w MASK
Slot O:2.0
Mask 0001

RET
Renglón RETURN
3:3

Renglón END
3:4

Refiérase al apéndice H para ver otro ejemplo de aplicación usando el DII para
contar impulsos desde un codificador (encoder).

11–29

Manual de referencia del juego de instrucciones

Descripción general de interrupción


de E/S
3 3 3

Esta función permite que un módulo de E/S especial interrumpa el ciclo de


operación normal del procesador para escanear un archivo de subrutina
especificado. La operación de interrupción para un módulo específico se describe
en el manual de usuario para el módulo.

No todos los módulos de E/S especiales tienen la capacidad para generar


interrupciones de E/S. Refiérase al manual de usuario del módulo de E/S especial
específico para ver si proporciona esta característica. Por ejemplo, no puede usar un
módulo de E/S discretas estándar para efectuar una interrupción provocada por un
evento de E/S.

Esta sección describe:


• La operación de E/S
• Los parámetros de interrupción de E/S
• Las instrucciones IID e IIE
• La instrucción RPI
• La instrucción INT

Procedimiento de programación básico para la


función de interrupción de E/S
• Cuando configura la ranura del módulo de E/S especial con el dispositivo de
programación, asegúrese de programar el número de archivo de programa
“ISR” (subrutina de interrupción) (rango de 3 a 255) que desea que el
procesador ejecute cuando el módulo genere una interrupción. Los módulos de
E/S especiales que crean interrupciones se deben configurar en las ranuras de
E/S con los números más inferiores.
• Cree el archivo de subrutina que ha especificado como el número ISR en la
configuración de ranura del módulo de E/S.

11–30
Cómo comprender las rutinas de interrupción

Operación
Cuando restaura su programa y entra en el modo de marcha REM, la interrupción de
E/S comienza la operación así:

1. El módulo de E/S especial determina que necesita servicio y genera una petición
de interrupción al procesador SLC.

2. El procesador se interrumpe y el archivo de subrutina de interrupción (ISR)


especificado se escanea.

3. Cuando el escán SIR se completa, esto se le comunica al módulo de E/S


especial. Esto le informa al módulo de E/S especial que se permite generar una
interrupción nueva.

4. El procesador reanuda la operación normal en el punto en que se interrumpió.

Contenido de la subrutina de interrupción (ISR)

La instrucción de subrutina de interrupción (INT) debe ser la primera instrucción en


su ISR. Esta identifica el archivo de subrutina como una subrutina de interrupción
de E/S.

La ISR contiene los renglones de su lógica de aplicación. Puede programar


cualquier instrucción dentro de una ISR excepto una instrucción TND, REF o SVC.
Las instrucciones IIM o IOM son necesarias en una ISR si su aplicación requiere la
actualización inmediata de los puntos de entrada o salida. Finalice la ISR con una
instrucción RET (retorno).

La profundidad de la pila JSR se limita a 3. Es decir, puede llamar otras subrutinas


hasta un nivel de profundidad de 3 desde una ISR.

Latencia de interrupción y coincidencias de interrupción

La latencia de interrupción es el intervalo entre la petición del módulo de E/S por


servicio y el inicio de la subrutina de interrupción. Las interrupciones de E/S
pueden ocurrir en cualquier punto en su programa, pero no necesariamente en el
mismo punto en interrupciones sucesivas. Las interrupciones sólo pueden ocurrir
entre instrucciones en su programa, dentro del escán de E/S (entre ranuras) o entre el
servicio de los paquetes de comuniación. La tabla siguiente muestra la interacción
entre una interrupción y el ciclo de operación del procesador.

11–31

Manual de referencia del juego de instrucciones

 
  

 

           
 
     

Input Scan   



     

     

  
     
Program Scan   

     

     

  


    
Output Scan
  

     

     

  
     
Communications
  

  
      

  
Processor Overhead  
 

    
 


  

     

  



   

   
    
  

 


Anote que el tiempo de ejecución ISR se añade directamente al tiempo de escan


global. Durante el período de latencia, el procesador está realizando operaciones
que no pueden ser perturbadas por la función de interrupción STI. Los períodos de
latencia son:
• Las interrupciones SLC 5/02 reciben servicio dentro de 2.4 ms máximos.
• Procesadores SLC 5/03 y SLC 5/04 – Si una interrupción ocurre mientras que el
procesador esté realizando una actualización de ranura de palabras múltiples y
su subrutina de interrupción obtiene acceso a la misma ranura, la transferencia
de palabras múltiples se finaliza antes de realizar el acceso a la ranura de
subrutina de interrupción. El bit de control de latencia de interrupción (S:33/8)
funciona así:

– Cuando el bit se establece (1), las interrupciones reciben servicio dentro del
tiempo de latencia de interrupción. Refiérase al apéndice B para obtener
más información acerca de cómo calcular la latencia de interrupción.

– Cuando S:33/8 se pone a cero (0), las interrupciones de usuario ocurren


entre los renglones y las actualizaciones de ranura de E/S.

El estado predeterminado se borra (0). Para determinar la latencia de


interrupción con S:33/8 puesto a cero, debe calcular el tiempo de ejecución de
cada renglón en su programa.

11–32
Cómo comprender las rutinas de interrupción

Prioridades de interrupción

Las prioridades de interrupción son las siguientes:

Procesador SLC 5/02 Procesadores SLC 5/03 y SLC 5/04


       
         
    
     
    
  

La ejecución de una interrupción sólo puede ser interrumpida por una interrupción
con una prioridad más alta.

La interrupción de E/S no puede interrumpir la ejecución de un rutina de fallo, la


ejecución de una subrutina DII, la ejecución de una subrutina STI ni la ejecución de
una subrutina de interrupción de E/S. Si una interrupción de E/S ocurre durante la
ejecución de una rutina de fallo, subrutina DII o STI, el procesador espera hasta que
las interrupciones de prioridad más alta sean escaneadas completamente. Luego la
subrutina de interrupción de E/S se escanea.
Nota Específico para SLC 5/02 – Es importante comprender que el bit de E/S pendiente
asociado con la ranura de interrupción permanezca puesto a cero durante el tiempo
que el procesador espera la finalización de la rutina de fallo o la subrutina STI.
Nota Específico para SLC 5/03 y SLC 5/04 – El bit de E/S pendiente siempre es establece
cuando la interrupción ocurre. Puede examinar el estado de estos bits dentro de sus
rutinas de interrupción de prioridad alta.

Si una fallo mayor ocurre durante la ejecución de la subrutina de interrupción de


E/S, la ejecución se cambia inmediatamente a la rutina de fallo. Si el fallo fue
recuperado por la rutina de fallo, la ejecución se reanuda en el punto en que se
detuvo en la subrutina de interrupción de E/S. De lo contrario, se entra en el modo
de fallo.

Si una interrupción DII ocurre durante la ejecución de la subrutina de interrupción


de E/S, la ejecución se cambia inmediatamente a la subrutina DII. Cuando la
subrutina DII se escanea completamente, la ejecución se reanuda en el punto en que
se detuvo en la subrutina de interrupción de E/S.

Si el temporizador STI caduca durante la ejecución de la subrutina de interrupción


de E/S, la ejecución se cambia inmediatamente a la subrutina STI. Cuando la
subrutina STI se escanea completamente, la ejecución se reanuda en el punto en que
se detuvo en la subrutina de interrupción de E/S.

11–33

Manual de referencia del juego de instrucciones

Si dos o más peticiones de interrupción de E/S son detectadas por el procesador en


el mismo instante o mientras que éste espera la finalización de una subrutina de
interrupción de prioridad más alta o igual, la subrutina de interrupción asociada con
el módulo de E/S especial en el número de ranura más bajo se escanea primero. Por
ejemplo, si la ranura 2 (ISR 20) y la ranura 3 (ISR 11) solicitan el servicio de
interrupción simultáneamente, el procesador primero escanea ISR 20
completamente, luego escanea ISR 11 completamente.

Datos de archivo de estado guardados

Los datos en las palabras siguientes se guardan cuando entran en la subrutina de


interrupción de E/S y se vuelven a escribir cuando salen de la subrutina de
interrupción de E/S.
• Indicadores aritméticos S:0
• Registro matemático S:13 y S:14
• Registro de índice S:24

11–34
Cómo comprender las rutinas de interrupción

Parámetros de interrupción de E/S


Los parámetros de interrupción de E/S siguientes tienen direcciones de archivo de
estado. Se describen aquí y también en el apéndice B de este manual.
• Número ISR – Especifica el número de archivo de subrutina que se va a
ejecutar cuando una interrupción de E/S es generada por un módulo de E/S.
Los números ISR no son parte del archivo de estado, sino que son parte de la
configuración de E/S para cada ranura en el sistema SLC.
• Habilitaciones de ranura de E/S (palabras S:11 y S:12) – Estas palabras
son mapeadas de bit a 30 ranuras de E/S. Los bits S:11/1 a S:12/14 hacen
referencia a ranuras 1 a 30. Los bits S:11/0 y S:12/15 son reservados.
El bit de habilitación asociado con una ranura de interrupción se debe establecer
cuando una interrupción ocurre. De lo contrario, ocurrirá un fallo mayor. Los
cambios efectuados a estos bits usando la función del monitor de datos se
activarán durante el próximo final de escán.
• Bits de interrupción de E/S pendiente (palabras S:25 y S:26) – Estas
palabras son mapeadas a las 30 ranuras de E/S. Los bits S:25/1 a S:26/14 hacen
referencia a las ranuras 1 a 30. Los bits S:25/0 y S:26/15 son reservados. El bit
de pendiente asociado con una ranura de interrupción se establece cuando el bit
de habilitación de interrupción de ranura de E/S se pone a cero al momento de
una petición de interrupción o cuando una instrucción RPI asociada se ejecuta.
El bit de pendiente para la ejecución de una subrutina de interrupción de E/S
permanece puesto a cero cuando la ISR es interrumpida por una rutina DII, STI
o de fallo.
Específico para SLC 5/02 – De igual manera, el bit de pendiente permanece
puesto a cero si el servicio de interrupción se solicita al momento en que una
interrupción de prioridad más alta o igual se está ejecutando (rutina de fallo, STI
u otra ISR).

Específico para SLC 5/03 y SLC 5/04 – Este bit se establece si el servicio de
interrupción se solicita al momento en que una interrupción de prioridad más
alta o igual se está ejecutando (rutina de fallo, DII, STI u otra ISR).
• Habilitaciones de interrupción de E/S (palabras S:27 y S:28) – Estas
palabras son mapeadas de bit a las 30 ranuras de E/S. Los bits S:27/1 a S:28/14
hacen referencia a las ranuras 1 a 30. Los bits S:27/0 y S:28/15 son reservados.
El bit de habilitación asociado con una ranura de interrupción se debe establecer
cuando la interrupción ocurre a fin de permitir que la ISR correspondiente se
ejecute. De lo contrario, la ISR no se ejecuta y el bit de interrupción de ranura
de E/S pendiente asociado se establece.
Específico para SLC 5/02 – Los cambios efectuados a estos bits usando la
función del monitor de datos o instrucción de escalera se activan durante el
próximo final de escán.

Específico para SLC 5/03 y SLC 5/04 – Los cambios efectuados a estos bits
usando la función del monitor de datos o instrucción de escalera se activan
inmediatamente.

11–35

Manual de referencia del juego de instrucciones

• Ejecución de interrupción de E/S (palabra S:32) – Esta palabra contiene el


número de ranura del módulo de E/S especial que generó la ejecución actual de
ISR. Este valor se pone a cero cuando la ISR se completa, se entra en el modo
de marcha o al momento de encendido. Puede interrogar esta palabra dentro de
su subrutina DII o STI o rutina de fallo si desea saber si estas interrupciones de
prioridad más alta han interrumpido la ejecución de ISR. También puede usar
este valor para discernir la identidad de ranura de interrupción cuando realiza
multiplex de dos o más interrupciones de módulos de E/S especiales a la misma
ISR.

11–36
Cómo comprender las rutinas de interrupción

Inhabilitación de interrupción de E/S (IID) y


habilitación de interrupción de E/S (IIE) 3 3 3 3 3

Estas instrucciones generalmente se usan conjuntamente para evitar que


interrupciones de E/S ocurran durante las porciones de tiempo crítico o secuencia
crítica de su programa principal o subrutina. La función de interrupción provocada
por un evento de E/S se usa con los módulos de E/S especiales que tienen capacidad
de generar una interrupción.

Inhabilitación de interrupción de E/S – IID


Habilitación de interrupción de E/S – IIE
IID
I/O INTERRUPT DISABLE Use estas instrucciones conjuntamente para crear una zona en su archivo de
Slots: 1,2,7
programa de escalera principal o archivo de subrutina en que las interrupciones de
E/S no pueden ocurrir. Ambas instrucciones se activan inmediatamente al momento
IIE
I/O INTERRUPT ENABLE
de la ejecución. Tiene que especificar una subrutina que debe ejecutarse a la
Slots: 1,2,7 recepción de dicha interrupción.

Específico para SLC 5/02 – El establecimiento/puesta a cero de los bits de


habilitación de interrupción de E/S (S:27 y S:28) con un dispositivo de
programación o instrucción estándar tal como MVM se activa al FINAL del escán
únicamente.

Específico para SLC 5/03 y SLC 5/04 – El establecimiento/puesta a cero de los bits
de habilitación de interrupción de E/S (S:27 y S:28) con un dispositivo de
programación o instrucción estándar tal como MVM se activa inmediatamente.

11–37

Manual de referencia del juego de instrucciones

Operación IID

Cuando es verdadera, esta instrucción pone a cero los bits de habilitación de


interrupción de E/S (S:27/1 a S:28/14) correspondientes al parámetro de ranuras de
la instrucción (ranuras 1, 2, 7 en el ejemplo anterior). Las subrutinas de
interrupción de las ranuras afectadas no podrán ejecutarse cuando se efectúa una
petición de interrupción. En cambio, los bits de E/S pendientes (S:25/1 a S:26/14)
se establecen. La ISR no se ejecuta hasta que una instrucción IIE con el mismo
parámetro de ranura se ejecute o hasta el final del escán durante el cual usted usa un
dispositivo de programación para establecer el bit de archivo de estado
correspondiente.

Operación IIE

Cuando es verdadera, esta instrucción establece los bits de habilitación de


interrupción de E/S (S:27/1 a S:28/14) correspondientes al parámetro de ranuras de
la instrucción (ranuras 1, 2, 7 en el ejemplo anterior). Las subrutinas de
interrupción de las ranuras afectadas recuperarán la capacidad de ejecutarse cuando
se efectúe una petición de interrupción. Si una interrupción estaba pendiente
(S:25/1 a S:26/14) y la ranura pendiente corresponde al parámetro de ranuras IIE, la
ISR asociada con dicha ranura se ejecutará inmediatamente.

11–38
Cómo comprender las rutinas de interrupción

Ejemplo de zona IID/IIE

En el programa siguiente, las ranuras 1, 2 y 7 tienen la capacidad de generar


interrupciones de E/S. Las instrucciones IID e IIE en los renglones 6 y 12 se
incluyen para evitar que las ISR de interrupción de E/S se ejecuten como resultado
de las peticiones de interrupción desde las ranuras 1, 2 ó 7. Esto permite que los
renglones 7 a 11 se ejecuten sin interrupción.

     
 
El bit de primer paso S:1/15 y la instrucción IIE en el
renglón 0 se incluyen para asegurar que la función de IIE
interrupción de E/S se inicialice después de la S:1
0 ] [ I/O INTERRUPT ENABLE
desconexión y reconexión de la alimentación eléctrica. Slots: 1,2,7
Debe incluir un renglón semejante cuando su programa 15
contenga una zona IID/IIE o una instrucción IID.

La instrucción IID en el renglón 6 pone a cero los bits de 1 ] [ ] [ ( )


habilitación de interrupción de E/S asociados con las
ranuras 1, 2 y 7 (S:27/1, S:27/2 y S:27/7). La instrucción 2
IIE en el renglón 12 establece estos mismo bits. Si una
3
interrupción de E/S es detectada por el procesador
mientras éste ejecuta los renglones 7-11, la interrupción 4
estará marcada como pendiente. (S:25/1, S:25/2 y/o
S:25/7 se establecerán.) Todas las interrupciones 5
marcadas como pendientes recibirán servicio al IID
momento de ejecución del renglón 12. La ranura con el 6 I/O INTERRUPT DISABLE
número de ranura más bajo recibe servicio primero Slots: 1,2,7
cuando los bits múltiples pendientes se establecen.
La (/!
7 ] [ ] [ ( )
ISR no ocurre
entre las
8
instrucciones
IID e IIE. 9

10

11 ] [ ] [ ( )

IIE
12 I/O INTERRUPT ENABLE
Slots: 1,2,7

13 ] [ ] [ ( )

14

15

16

17 END

11–39

Manual de referencia del juego de instrucciones

Restablecimiento de
interrupción pendiente (RPI)
3 3 3 3 3
RPI
RESET PENDING INTERRUPT
Slots: 1–30
Esta instrucción restablece el estado pendiente de las ranuras especificadas e
informa a los módulos de E/S correspondientes que usted ha cancelado las
peticiones de interrupción de ésos. Esta instruccion no se requiere para configurar
una aplicación de interrupción de E/S básica.

Cuando es verdadera, esta instrucción pone a cero los bits de E/S pendientes (S:25/1
a S:26/14) correspondientes al parámetro de ranuras de la instrucción. Además, el
procesador comunica a los módulos de E/S especiales en dichas ranuras que su
petición de interrupción fue cancelada. Después de esta comunicación, la ranura
puede volver a solicitar el servicio de interrupción. Esta instrucción no afecta los
bits de habilitación de interrupción de ranura de E/S (S:27/1 a S:28/14).

Cómo introducir parámetros

Introduzca los números de ranura de E/S (1 a 30) involucrados. Ejemplos:

6 indica la ranura 6

6,8 indica las ranuras 6 y 8

6–8 indica las ranuras 6, 7 y 8

1–30 indica todas las ranuras

11–40
Cómo comprender las rutinas de interrupción

Subrutina de interrupción (INT)


3 3 3 3 3 3
INT
INTERRUPT SUBROUTINE Use la instrucción INT en las subrutinas de interrupción provocadas por un evento
de E/S (ISR) y STI para propósitos de identificación. El uso de esta instrucción es
opcional.

Esta instrucción no tiene bits de control y siempre es evaluada como verdadera.


Cuando es usada, la INT debe ser programada como la primera instrucción del
primer renglón de la ISR.

11–41

Manual de referencia del juego de instrucciones

11–42
Cómo comprender los protocolos de comunicación

12 Cómo comprender los


protocolos de comunicación
Use la información en este capítulo para comprender las diferencias en los
protocolos de comunicación. Existe capacidad para los protocolos siguientes:
• DH-485
Todos los procesadores SLC 500 pueden comunicar en la red DH-485

Existen varios dispositivos de puente y gateway para crear un interface del canal
SLC 500 DH-485 a otros dispositivos tal como la tarjeta 2760-RB (con el
cartucho de protocolo 2760 SFC3), 1770-KF3, 1747-KE y 1785-KA5. Cuando
usa los dispositivos de puente o gateway, refiérase a la documentación de
usuario específica para configurar su sistema.
• DH+
El SLC 5/04 tiene capacidad para la comunicación y conectividad DH+ a una
red DH+.
• Full–duplex DF1 y maestro/esclavo DF1
Los procesadores SLC 5/03 y SLC 5/04 y el controlador MicroLogix 1000
tienen capacidad para los protocolos DF1 desde sus conexiones RS-232.
• ASCII
Los procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401 tienen
capacidad para el protocolo ASCII definido por el usuario.
• uso de las características de transferencia

12–1

Manual de referencia del juego de instrucciones

Protocolo de comunicación DH-485


3 3 3 3 3
La red DH-485 ofrece:
• la interconexión de 32 dispositivos
• capacidad de maestros múltiples
• control de acceso de paso de testigo
• la capacidad de añadir o eliminar nodos sin perturbar la red
• una longitud de red máxima de 1219 m (4,000 pies)

Protocolo de la red DH-485

La sección siguiente describe el protocolo usado para controlar transferencias de


mensaje en la red DH-485. El protocolo tiene capacidad para dos clases de
dispositivos: iniciadores y contestadores. Todos los iniciadores en la red tienen la
oportunidad de iniciar transferencias de mensaje. Se usa un algoritmo de paso de
testigo para determinar cuál iniciador tiene el derecho de transmitir.

Rotación del testigo DH-485

Un nodo que retiene el testigo puede enviar paquetes válidos a la red. El parámetro
de retención de testigo determina el número de transmisiones (más reintentos) cada
vez que el nodo recibe el testigo.

Después que un nodo envía un paquete de mensaje, intenta dar el testigo a su


sucesor enviando un paquete de “paso de testigo”. Si no ocurre actividad de red, el
iniciador intenta encontrar un sucesor nuevo.

El rango de dirección de nodo para un iniciador es 0-31. El rango de dirección de


nodo para todos los contestadores es 1-31. Ha de existir por lo menos un iniciador
en la red.
Nota La dirección máxima que el iniciador busca antes de ajustar la línea
automáticamente a cero es el valor en el parámetro configurable “dirección de
nodo máxima”. El valor predeterminado de este parámetro es 31 para todos los
iniciadores y contestadores.
Nota Los procesadores fijos, SLC 5/01, SLC 5/02, SLC 5/03 y SLC 5/04 no permiten que
la dirección de nodo cero se aplique. Si intenta aplicar un cero, la dirección de
nodo uno se convierte en la dirección de nodo del procesador. La dirección de nodo
de cero es reservada para un dispositivo de programación tal como la terminal
portátil (HHT) o computadora personal utilizando software de programación.

12–2
Cómo comprender los protocolos de comunicación

Inicialización de la red DH-485

La inicialización de la red comienza cuando un período de inactividad excede el


tiempo de un “límite de tiempo sobrepasado de vínculo muerto”. Cuando el “límite
de tiempo sobrepasado de vínculo muerto” se excede, generalmente el iniciador con
la dirección más baja reclama el testigo.

La construcción de una red comienza cuando el iniciador que reclamó el testigo trata
de pasar el testigo al nodo sucesor. Si el intento de pasar el testigo falla, o si el
iniciador no tiene un sucesor establecido (por ejemplo, al momento de encendido),
comienza una búsqueda lineal de un sucesor a partir del nodo de arriba. Vuelve
automáticamente al nodo 0 cuando alcanza el valor de dirección de nodo máximo.

Cuando el iniciador encuentra otro iniciador activo, pasa el testigo a dicho nodo, el
cual a su vez repite el proceso hasta que el testigo sea pasado por toda la red al
primer nodo. En ese momento, la red estará en el estado de operación normal.

Consideraciones de software

Consideraciones de software incluyen la configuración de la red y los parámetros


que se pueden establecer según los requisitos específicos de la red. A continuación
aparecen factores de configuración que tienen un efecto importante en el
rendimiento de la red:
• el número de nodos en la red
• las direcciones de los nodos
• la velocidad en baudios
• la selección de dirección de nodo máxima
• SLC 5/03 solamente – el factor de retención de testigo
• el número máximo de dispositivos de comunicación

Las secciones siguientes explican consideraciones de la red y describen maneras


para seleccionar parámetros para el rendimiento de red óptimo (velocidad).

Número de nodos

El número de nodos en la red afecta de manera directa el tiempo de transferencia de


datos entre los nodos. Los nodos innecesarios (tal como una segunda terminal de
programación que no se usa) disminuyen la velocidad de transferencia de datos. El
número máximo de nodos en la red es 32.

12–3

Manual de referencia del juego de instrucciones

Establecimiento de direcciones de nodo

El mejor rendimiento de red se logra cuando las direcciones de nodo comienzan en


0 y son asignadas en orden secuencial. Los procesadores SLC 500 retornan a la
dirección de nodo predeterminada 1. La dirección de nodo se almacena en el
archivo de estado del procesador (S:15L). Los procesadores no pueden ser el nodo
0. Además, a los iniciadores tales como las computadoras personales se les deben
asignar las direcciones con los números más bajos a fin de minimizar el tiempo
requerido para inicializar la red.

Si algunos de los nodos están conectados temporalmente, no les asigne direcciones.


Simplemente cree los nodos según se necesiten y elimínelos cuando ya no sean
necesarios.

Establecimiento de la velocidad en baudios del procesador

El mejor rendimiento de red se logra a la velocidad en baudios más alta, la cual es


19200 Kbaud. Todos los dispositivos deben tener la mismo velocidad en baudios.
La velocidad en baudios predeterminada para los dispositivos SLC 500 es 19200
Kbaud. La velocidad en baudios se almacena en el archivo de estado del procesador
(S:15H).

Establecimiento de la dirección de nodo máxima

El parámetro de dirección de nodo máxima se debe establecer al nivel más bajo


posible. Esto minimiza cantidad de tiempo usada para solicitar sucesor al inicializar
la red. Si todos los nodos son direccionados en secuencia desde 0, y la dirección de
nodo máxima es igual a la dirección del nodo direccionado más alto, la rotación de
testigo se mejora por la cantidad de tiempo requerida para transmitir un paquete de
petición de sucesor más el valor de límite de tiempo sobrepasado de la ranura.

Número máximo de dispositivos de comunicación

Los procesadores fijos SLC 500 y SLC 5/01 pueden ser seleccionados por un
máximo de dos iniciadores simultáneamente. El usar más de dos iniciadores para
seleccionar los mismos procesadores fijos SLC 500 y SLC 5/01 simultáneamente
pueden causar límites de tiempo sobrepasados de comunicación.

12–4
Cómo comprender los protocolos de comunicación

Parámetros de configuración DH-485

Cuando el canal 0 ó 1 está configurado para el modo de sistema como DH-485


maestro, se pueden cambiar los siguientes parámetros:



  
 
Archivo diagnóstico Reservado para uso futuro.
Velocidad en Alterna entre el régimen de comunicación de 1200, 2400, 9600 y 19200. El
baudios régimen predeterminado es 19200.
Esta es la dirección de nodo del procesador en la red DHĆ485. El rango
Dirección de nodo
válido es 1-31. El valor predeterminado es 1.
Dirección de nodo Esta es la dirección de nodo máxima de un procesador activo. El rango
máxima válido es 1-31. El valor predeterminado es 31.
Determina el número de transacciones permitidas para efectuar cada
rotación de testigo DHĆ485. El incrementar este valor permite que su
Factor de retención
procesador incremente la capacidad de tratamiento útil DHĆ485. El rango
de testigo
válido es 1-4. El valor predeterminado es 1. Los procesadores SLC 5/01 y
SLC 5/02 están establecidos en fábrica a 1.

12–5
Preface
Manual de referencia del juego de instrucciones

Los dispositivos siguientes usan la red DH-485:

Requisito de
No. de catálogo Descripción Función Publicación
instalación
1746ĆBAS Módulo BASIC Chasis SLC Proporciona un interface para los 1746Ć6.1ES
dispositivos SLC 500 a dispositivos 1746Ć6.2ES
extranjeros. Programe en BASIC para 1746Ć6.3ES
crear interface con los 3 puertos (2
RSĆ232 y 1 DHĆ485) a impresoras,
módems o la red DHĆ485 para
rcolección de datos.
1747ĆKE Módulo de Chasis SLC Proporcionar un interface sin 1747Ć6.12
interface aislamiento DHĆ485 para SLC 500 a
DHĆ485/DF1 computadoras principales sobre RSĆ232
usando el protocolo DF1 de duplex total
o medio. Habilita la programación
remota usando su software de
programación a un procesador SLC 500
o la red DHĆ485 a través de módems.
Perfecto para aplicaciones RTU/SCADA
de bajo costo.
1770ĆKF3 Módulo de Escritorio" Proporciona un interface DHĆ485 aislado 1770Ć6.5.18
interface autónomo para dispositivos SLC 500 a
DHĆ485/DF1 computadoras principales sobre RSĆ232
usando el protocolo DF1 de fuplex total
o medio. Habilita la programación
remota usando su software de
programación a un procesador SLC 500
o la red DHĆ485 a través de módems.
1784ĆKR Módulo de Bus de Proporciona un puerto DHĆ485 aislado 1784Ć2.23ES
interface PC computadora en la parte posterior de la computadora. 6001Ć6.5.5
DHĆ485 IBM XT/AT Cuando se usa con el software APS,
mejora la velocidad de comunicación y
elimina el uso del convertidor de
interface personal (1747ĆPIC). El
variador estándar le permite escribir
programas C" para aplicaciones de
adquisición de datos.
1785ĆKA5 Gateway Chasis de E/S Proporciona comunicación entre 1785Ć6.5.5ES
DH+/DH485 (1771) PLC estaciones en las redes PLCĆ5 (DH+) y 1785Ć1.21ES
SLC 500 (DHĆ485).
2760ĆRB Módulo de Chasis (1771) Proporciona un interface para SLC 500 2760ĆND001
interface flexible PLC (usando el cartucho de protocolo
2760ĆSFC3) a otros procesadores PLC y
dispositivos de AĆB. Están disponibles
tres puertos configurables para
proporcionar interface con los sistemas
de código de barras, visión, RF,
Dataliners y PLC.

12–6
Cómo comprender los protocolos de comunicación

Protocolo de comunicación de Data Highway Plus


La red Data Highway Plus emplea la comunicación entre dispositivos semejantes
con un sistema de paso de testigo para rotar el maestro del vínculo entre un máximo
de 64 nodos. Puesto que este método no requiere la encuesta (polling), ayuda a
proporcionar un transporte de datos fiable y eficiente. Las características de la red
DH+:
• programación remota de los procesadores PLC-2, PLC-3, PLC-5 y SLC 500 en
su red
• conexiones directas a los procesadores PLC-5 y terminales de programación
industriales
• reconfiguración y expansión fáciles si desea añadir más nodos en el futuro
• una velocidad de comunicación de 57.6 Kbaud

La red DH+ usa límites de tiempo sobrepasados establecidos en fábrica para


reinicializar la comunicación de paso de testigo si el testigo se pierde debido a un
nodo defectuoso.

Ejemplo
El ejemplo siguiente muestra la conectividad de un procesador SLC 5/04 a un
procesador PLC-5 usando el protocolo DH+. Se usa una velocidad de comunicación
de 57.6 Kbaud.
Un 386SX compatible con
ISA o PS2 de IBM o
superior con cualquiera de
los siguientes:
• 1784ĆKT • 1784ĆKTX

• 1784ĆKT2 (PS2) • 1784ĆKL (T47)

PLC-5/15

#" DH+

Controlador de E/S
modular SLC 5/04

12–7

Manual de referencia del juego de instrucciones

Ejemplo

El ejemplo siguiente muestra un protocolo DH+ usando dos controladores SLC 5/04
con las velocidades altas de 115.2 Kbaud ó 230 Kbaud.
Nota Las velocidades de comunicación DH+ de 115.2 Kabaud y 230 Kbaud no están
disponibles para la terminal de programación. En el ejemplo siguiente la terminal
de programación está conectada al puerto en serie del procesador SLC 5/04 para
entrar en la velocidad en baudios más alta. Este método usa la característica de
transferencia de DF1 a DH+. Para obtener más información acerca de la
transferencia, vea el capítulo 8.

   
        
    


 +

12–8
Cómo comprender los protocolos de comunicación

Parámetros de configuración de canal 1 de DH+ (procesadores SLC 5/04 únicamente)

Cuando el modo de sistema es DH+ para canal 1, los parámetros siguientes se


pueden cambiar:



  
 
!)'# #)' ! +!$   $"*#  /#   
  ,  
 ! +!$' %')'" #$ (  
# )'" #!  %'$'" /# (/!$ %* $"*# '
!$  # * $( # *# '  $# *' %'  *
(0'( &* )$$( !$(  (%$( ) +$( # (* ' 
().# $# *'$( %' ! " (" +!$  
$"*#  /#
! '#$ +-! $ (  $)! ! +!$' %')'" #$
 ' /#  #$$
( 
 ! ) /#  )'#(" ( /#  %!'
!)'# #)'  ,  ! +!$' %')'" #$ ( 
 ()$ !$!À
 ! ) /#  '% /#  %!' 
!)'# #)'  ,  ! +!$' %')'" #$ ( 
()$ !$!À
À () %'-")'$ ()-  (%$# ! %' !$( %'$($'(  

 ($!"#)

12–9

Manual de referencia del juego de instrucciones

Descripción general de la palabra de estado global

Cuando un procesador pasa el testigo DH+ al próximo nodo, también envía una
palabra de 16 bits denominada la palabra de estado global (GSW). Cada nodo en la
red observa el mensaje de paso de testigo, pero solamente el “próximo” nodo en la
red acepta el testigo. Sin embargo, si todos los nodos en la red leen la palabra de
estado global enviada con cada paso de testigo y la guardan en memoria. Cada
procesador en la red DH+ tiene una tabla en memoria en que guardar la(s) palabra(s)
de estado global que recibe de otros nodos. En cada archivo de estado del
procesador SLC 5/04, hay un destino para:
• La palabra de transmisión global
Esta palabra se ubica en memoria a S:99. Si, en su programa de escalera, usted
transfiere datos a esta ubicación de memoria, se transmitirán cada vez que el
procesador pasa el testigo DH. Tome nota que todos los otros nodos DH+
observarán estos datos.
• Archivo de estado global
Este archivo se ubica en memoria a S:100 a S:163 y representa una ubicación de
memoria para cada uno de los 64 nodos posibles en la red DH+. A medida que
otros nodos vayan transmitiendo información de estado global con sus pasos de
testigo, el procesador SLC 5/04 recolecta esta información y la guarda en el
archivo de estado global. La ubicación de memoria S:100 corresponde al nodo
#0 (octal), S:101 corresponde al nodo #1 (octal) y S:163 corresponde a nodo
#77 (octal).

Una palabra del archivo de estado global de cada nodo se actualiza durante cada
paso de testigo. Esto puede funcionar como mensaje de difusión de alta velocidad,
el cual es útil para el paso de estado y la sincronización de procesadores.

Si el bit de habilitación de transmisión de palabra de estado global (S:34/3) y el bit


de recepción de palabra de estado global (S:34/4) nunca se establecen, puede usar el
archivo de estado global (S:100 a S:163) para otros usos de almacenamiento. Si
estos bits se usan y luego se restablecen, el área en el archivo de estado de sistema
nunca será alterada por el procesador SLC 5/04, aun después de una desactivación y
reactivación de la alimentación eléctrica del procesador.
Nota El archivo de estado de sistema debe tener una longitud de por lo menos 164
palabras para que se realicen transmisiones y recepciones de palabra de estado
global. Esto significa que un programa de usuario para uso con OS400 no tendrá
capacidad para la característica de palabra de estado global.

12–10
Cómo comprender los protocolos de comunicación

Bit de habilitación de transmisión de palabra de estado global S:34/3


(SLC 5/04 con OS401)

La transmisión de la palabra de estado global es habilitada estableciendo el bit


S:33/3 en el archivo de estado. Si este bit está establecido (1), el procesador
transmite los datos en S:99 con cada paso de testigo DH+. Si este bit no está
establecido (0), el procesador pasa el testigo y no añade la palabra de estado global.
Este bit es configurable dinámicamente y el posicionamiento predeterminado es
cero. Considere las pautas siguientes al usar el bit de habilitación de transmisión de
palabra de estado global:
• Si este bit no está establecido, el paso de testigo DH+ transmitido desde el canal
1 no contendrá bytes de palabra de estado global.
• Si este bit está establecido, pero el SLC 5/04 no está en el modo de MARCHA,
marcha REMota o en uno de los tres modos de prueba, el paso de testigo DH+
transmitido contendrá una palabra de estado global a 2 bytes de 0x0000.
• Si este bit está establecido y el SLC 5/04 está en el modo de MARCHA, marcha
REMota o en uno de los tres modos de prueba, el paso de testigo DH+
transmitido contendrá una GSW de 2 bytes igual al valor en S:99 (palabra de
estado global). La palabra también se coloca en el archivo de estado global de
64 palabras (S:100 a S:163) en la ubicación que corresponde a la dirección de
nodo DH+ asociada con el procesador SLC 5/04.
Por ejemplo, si el procesador SLC 5/04 está funcionando en la dirección octal
22 (18 decimales), la GSW transmitida se escribe a palabra S:118.
• Solamente una palabra de estado global de 2 bytes se puede transmitir, aun
cuando la red DH+ tiene capacidad hasta para 4 bytes. La longitud no es
seleccionable, sino que tiene 2 bytes para ser compatible 100% con los
procesadores PLC–5.
• La palabra en el archivo de estado global correspondiente a la dirección DH+
del procesador SLC 5/04 se establecerá a 0x0000 si se efectúa algo para inhibir
la transmisión de la palabra de estado global desde S:99. Esto incluye:
– el borrado de S:33/4, bit de habilitación de transmisión de palabra de
estado global
– la colocación del SLC 5/04 en un modo que no sea el modo de marcha
ni el modo de prueba
– la inhabilitación de canal 1
– un error que ocurre en la red DH+ causando que el LED de canal 1
parpadee rojo o se haga rojo sólido (esto podrá ser causado por una
dirección de nodo duplicada).
– el no tener un programa de usuario OS401 cargado al procesador
SLC 5/04
• Si S:34/3 no está establecido a partir del tiempo en que el SLC 5/04 se enciende,
la palabra correspondiente a su dirección DH+ en el archivo de estado global
nunca se escribirá durante el final de escán.

12–11

Manual de referencia del juego de instrucciones

Bit de habilitación de recepción de palabra de estado global (S:34/4


(SLC 5/04 con OS401)

La recepción de las palabras de estado global de otros procesadores en la red se


habilita estableciendo el bit S:33/4 en el archivo de estado. Si éste es establecido
(1), el procesador llena el archivo de estado global con palabras de estado global
transmitidas por otros procesadores en la red. Si este bit no está establecido (0), el
procesador no hace caso de la actividad de palabra de estado global en la red. Este
bit es configurable dinámicamente y el posicionamiento predeterminado es cero.
Tome nota que la transmisión y recepción de palabras de estado global no dependen
la una de la otra.

Considere las pautas siguientes al usar el bit de habilitación de recepción de palabra


de estado global:
• Si este bit no está establecido, el archivo de estado global (S:110 a S:163) no se
actualizará con el paso de la información de la palabra de estado global a la red.
• Un error que ocurre en la red DH+ para causar que el LED de canal 1 parpadee
rojo o se haga rojo sólido inhabilita las recepciones de la palabra de estado
global. (Esto podría ser causado por una dirección de nodo duplicada.)
• La capacidad para el archivo de estado global (S:100–S:163) se habilita cuando
las cuatro condiciones siguientes se cumplen:

– el canal 1 se configura para comunicación de protocolo DH+

– el archivo de estado de sistema tiene una longitud de por lo menos 164


palabras

– el bit de habilitación de recepción de palabra de estado global (S:34/3)


está establecido

– la operación en la red DH+ está funcionando (LED de canal 1 es verde)

• El único modo de procesador en que la recepción de la palabra de estado global


no funcionará es durante la carga de un programa.

12–12
Cómo comprender los protocolos de comunicación

Tome nota que todas las 164 palabras se actualizarán durante cada final de escán.
La tabla siguiente describe los estados posibles de la dirección de nodo DH+ y el
valor escrito a la palabra de estado global (S:99).

     



      
  
El  "   %  "   
 #
  "  %  "   
  
#
"&  $     !    
  "  %  "   
 $ "&   $        #  $   
$        !       !   $      
 $       !  ! $ 
  "  %  "   
 $ "&   $      !   $  
$        !      $    $     ! 
!   
 $       !  ! $ 
  "  %  "   
 $ "& 
 $      !   $  $
'  $        !    
      $   $ ! 

• Si el archivo de estado global (S:100-S:163) está funcionando y luego el canal 1


se inhabilita, todo el archivo de estado global se pone a cero.
• Si el archivo de estado global (S:100-S:163) está funcionando y el bit S:34/4 se
restablece, todo el archivo de estado global se pone a cero excepto por la
palabra que corresponde a la dirección de nodo DH+ de canal 1.
• Si el archivo de estado global (S:100-S:163) está funcionando y luego ocurre un
error de la red DH+, todo el archivo de estado global se pone a cero. Si el
procesador SLC 5/04 se recupera del error por sí mismo, la actualización del
archivo de estado global se reanuda automáticamente.
• Si el archivo de estado global (S:100-S:163) está funcionando y luego un
programa de usuario con un archivo de estado de sistema con menos de 164
palabras se carga, el procesador SLC 5/04 detecta esto antes de intentar la
actualización del archivo de estado global. Es decir, no resulta ninguna
corrupción del programa de usuario si todos los otros criterios se cumplen para
dar capacidad a la característica de la tabla de recepción de GSW.

Nota El procesador SLC 5/04 mantiene una tabla de palabra de estado global corriente a
pesar de la habilitación de la operación de la tabla de nodo activo DH+ de canal 1
(estableciendo S:34/1). Para ver la tabla de palabra de estado global usando su
software de programación, S:34/1 debe estar establecido además de cumplir con
todos los requisitos anteriores.

12–13
Preface
Manual de referencia del juego de instrucciones

Comunicación de PLC–5 a SLC 500 usando los comandos


MSG de tipo PLC–2

Los procesadores SLC 5/03 pueden enviar MSG a un procesador de dos maneras:

Use esta instrucción MSG para


Si usa esta versión:
comunicar a un procesador PLCĆ5:
tipo 485CIF (emulación PLCĆ2)
SLC 5/03 OS300 Para obtener información, vea esta
sección.

• tipo PLCĆ5 (el método preferido)


SLC 5/03 OS301 y posteriores • tipo 485CIF (emulación PLCĆ2))
Para obtener información, vea la página
12-18

Programe una instrucción de mensaje PLC-5 como tipo PLC-2 cuando acceda a un
procesador SLC 500.

Las lecturas y escrituras PLC-2 no protegidas no se emplean realmente como “no


protegidas” en el procesador SLC. Están sujetas a los sistemas de protección de
archivo del SLC. Por ejemplo, se rechazarán si una carga está en progreso o si el
archivo de interface común (CIF) ya está abierto por otro dispositivo. Estos tipos de
comandos de lectura y escritura son de alguna manera “universales” ya que se
emplean en muchos otros controladores programables de Allen-Bradley.

En realidad, el CIF es como cualquiera de los otros archivos de datos SLC excepto
que es designado como el archivo destino para todos los comandos de lectura no
protegida y escritura no protegida del PLC-2 que son recibidos por el SLC. Siempre
es archivo #9. El CIF puede ser definido como tipos de bit, entero, temporizador,
contador o datos de control. Sin embargo, solamente los archivos de bit o entero se
deben usar para facilitar el direccionamiento.

Usted no puede usar la instrucción de mensaje SLC 5/02 para enviar un mensaje a
través del módulo 1785-KA5. No obstante, puede usar la instrucción de mensaje
SLC 5/03 para enviar un mensaje al módulo 1785-KA5. El procesador SLC 5/03
tiene la capacidad de responder a peticiones de lectura/escritura de datos cuando el
1785-KA5 está en el “modo de encaminador”. Los procesadores fijo SLC 500, SLC
5/01 y SLC 5/02 no pueden responder a peticiones de lectura/escritura de datos.
Cuando el 1785-KA5 está en el modo de gateway, todos los procesadores SLC 500
pueden responder a peticiones de lectura/escritura de datos de Data Highway Plus.
Nota El archivo #9 debe ser creado y definido al momento de programar el SLC. El
archivo #9 también debe ser lo suficientemente grande para incluir el espacio de
direccionamiento de lectura y escritura no protegidas. De lo contrario, todas las
lecturas y escrituras no protegidas serán rechazadas por el SLC.

12–14
Cómo comprender los protocolos de comunicación

Cómo los procesadores PLC-5 direccionan datos

Cuando usted programa cualquier tipo de instrucción MSG en el PLC-5, la


“dirección de destino” se introduce en octal. El procesador PLC-5 automáticamente
traduce la dirección octal a una dirección de byte doblando el equivalente decimal.
Por lo tanto, 0108 se hace 16 y 1778 se hace 254. No puede introducir una dirección
octal con menos de 0108 en una instrucción de mensaje PLC-5.

Cómo usar el archivo CIF SLC 500 (emulación PLC-2)

El CIF se puede considerar como búfer de datos entre todos los otros archivos de
datos SLC y el canal DH-485. El SLC debe ser programado usando la lógica de
escalera para transferir datos entre el CIF y los otros archivos de datos mostrados
aquí.

Archivos de datos
" "   ' 

#"  '

$%"  !" $


 "&  
#"$%"  !" $

   ' 

El CIF se puede manejar designando áreas a las cuales se debe escribir y áreas desde
las cuales se debe leer. Si desee saber cuándo los datos han cambiado en el CIF, use
la lógica de escalera para programar bits de comunicación en sus datos CIF.
Nota Aunque el formato de las lecturas y escrituras no protegidas es el mismo que el
usado en otros procesadores PLC, el empleo del parámetro de dirección es
diferente. En los productos PLC de Allen-Bradley, la dirección es interpretada
como una dirección de byte. En algunos productos SLC 500, la dirección es
interpretada como una dirección de palabra.
• Los procesadores SLC 500 y SLC 5/01 usan el direccionamiento de palabra
exclusivamente.
• El SLC 5/02, antes de los procesadores FRN 3 de serie C, también usan el
direccionamiento de palabra exclusivamente.
• Los procesadores SLC 5/02, SLC 5/03 y SLC 5/04 tienen un bit de selección,
S:2/8, que permite la selección del direccionamiento de palabra o byte.
• El DTAM para el SLC usa el direccionamiento de palabra exclusivamente.

12–15

Manual de referencia del juego de instrucciones

Programación para manejar las diferencias de direccionamiento de


palabra/byte

Los procesadores SLC 500 usan el direccionamiento de palabra y los procesadores


PLC-5 usan el direccionamiento de byte. Un byte en el procesador PLC-5 es el
equivalente de dos palabras en el procesador SLC 500.

La sección siguiente describe las diferencias entre el direccionamiento de palabra y


byte cuando se envían mensajes a/de un procesador PLC-5 vía comandos PLC-2.

Cómo enviar un mensaje de tipo PLC-2 a un procesador PLC-5 usando el


direccionamiento SLC de “palabra” (S:2/8 = 0)

La “dirección de destino” octal de la instrucción de mensaje PLC-5 debe ser entre


0108 y 1778. Este rango corresponde a la palabra 16 a la palabra 254 (palabras
pares solamente) cuando S:2/8 es igual a cero.

Cómo enviar un mensaje de tipo PLC-2 a un procesador PLC-5 usando el


direccionamiento de “byte” (S:2/8 = 1)
Nota El modo de direccionamiento de byte se selecciona en el SLC estableciendo el bit
S:2/8 a 1. El valor predeterminado es S:2/8 = 0 para el direccionamiento de
palabra. Este bit de selección no está disponible en los procesadores fijos SLC ni
SLC 5/01. Este establecimiento se aplica al byte/palabra de offset.

La “dirección de destino” octal de la instrucción de mensaje PLC-5 debe ser entre


0108 y 3778. El rango corresponde a la palabra 8 a la palabra 254 cuando S:2/8 es
igual a 1.

!    ! 


 "      
      
















El valor máximo para el parámetro de “número de elementos” de instrucción del


procesador PLC-5 de tipo PLC-2 es 41 para un procesador SLC 5/02 y 110 para un
procesador SLC 5/03 (se suponen elementos de 1 palabra).

12–16
Cómo comprender los protocolos de comunicación

Ejemplo – Cómo enviar un mensaje de tipo PLC-2 a procesadores PLC-5 usando


procesadores SLC direccionados por “palabra” (S:2/8 = 0)

Como ejemplo, escriba 10 palabras de N7 en un PLC-5 a un SLC 5/02:

1. Configure la dirección fuente en la instrucción de mensaje como N7:0.

2. Configure el “medir elementos” a 10.

3. Configure el “tipo de comando” como “escritura no protegida PLC-2”.

4. Configure la “dirección de destino” como 0108. Esto corresponde a la dirección


SLC, N9:16.

Ya que 10 palabras se escribirán, asegúrese que el archivo N9 en el SLC sea creado


por lo menos a N9:25.

Se supone que la instrucción de mensaje será configurada para un destino remoto ya


que es necesario que exista un puente entre el PLC-5 y el SLC 5/02, tal como un
1784-KA5 (en el modo gateway) vinculando una red DH+ y DH-485.

Ejemplo – Cómo enviar un mensaje de tipo PLC-2 a un procesador PLC-5 usando


procesadores direccionados por “byte) (S:2/8 = 1)

Como ejemplo, escriba 10 palabras de N7 en un PLC-5 a un SLC 5/02:

1. Configure la dirección fuente en la instrucción de mensaje como N7:0.

2. Configure el “tamaño en elementos” a 10.

3. Configure el “tipo de comando” como “escritura no protegida PLC-2”.

4. Configure la “dirección de destino” como 0108. Esto corresponde a la dirección


SLC, N9:7.

Ya que 10 palabras se escribirán, asegúrese que el archivo N9 en el SLC sea creado


por lo menos a N9:17.

12–17
 
Manual de referencia del juego de instrucciones

Procesadores SLC 5/03 y SLC 5/04 a comunicación PLC-5 usando


comandos MSG SLC 500 ó PLC-5

Los procesadores SLC 5/03 OS301 y SLC 5/04 OS400 tienen capacidad para los
comandos MSG de tipo PLC-5. Esto elimina la necesidad de programar MSG de
tipo PLC-2.



              
Procesadores PLCĆ5
Módulo de interface de comunicación tipo PLCĆ5 MSG
1785ĆKA5
SLC 5/03
tipo SLC 500
SLC 5/04

Los procesadores SLC 5/03 OS301 y SLC 5/04 aceptan los comandos MSG de tipo
PLC-5 para leer y escribir archivos de datos de estado, bit, temporizador, control,
entero, punto (coma) flotante, cadena y ASCII. Sin embargo, los procesadores SLC
5/03 OS301 y SLC 5/04 no aceptan comandos MSG de tipo PLC-5 para leer o
escribir desde/hacia archivos de entrada y salida debido a la diferencia entre la
estructura de direccionamiento de chasis/grupo del procesador PLC-5 y la estructura
de direccionamiento de ranura/palabra del SLC 500. Además, el procesador PLC-5
actualmente no acepta comandos MSG de SLC 500.

Cuando programa una instrucción MSG de tipo PLC-5, los tipos de datos de fuente
y destino deben coincidir. A título de consistencia en la transferencia de datos, le
recomendamos que los tipos de datos de destino y fuente coincidan cuando
transfiera datos entre los procesadors PLC-5 y los procesadores SLC 5/03 OS301 y
SLC 5/04.

Cuando programa una instrucción MSG SLC, no tienen que coincidir los tipos de
datos de fuente y destino.

El tipo de datos de destino determina el número de palabras por elemento que se


debe transferir. Por ejemplo, el destino T4:0 y la fuente N7:0 con una longitud de 3
resultan en una transferencia de 9 palabras enteras debido a un tamaño de elemento
de temporizador de 3 palabras por elemento.

12–18
Cómo comprender los protocolos de comunicación

Protocolo de comunicación RS-232


3 3 3

Los procesadores SLC 5/03 y SLC 5/04 tienen capacidad para el protocolo de
duplex total DF1 y el protocolo maestro/esclavo de duplex medio DF1 vía la
conexión RS-232 a una computadora principal (usando canal DF1). Los detalles de
estos protocolos se encuentran en el Manual de usuario del juego de protocolo y
comando Data Highway/Data Highway Plus/DH-485, publicación 1770-6.5.16ES.

Para obtener más información acerca de cómo usar los procesadores SLC 500 en
aplicaciones SCADA, vea la:
• Guía de selección del sistema SCADA, publicación AG-2.1ES
• Guía de aplicación del sistema SCADA, publicacion AG-6.5.8ES

Protocolo de full–duplex DF1

El protocolo full–duplex DF1 (también conocido como protocolo de punto a punto


DF1) se proporciona para aplicaciones en que la comunicación de punto a punto
RS-232 es necesaria. Este tipo de protocolo tiene capacidad para transmisiones
simultáneas entre dos dispositivos en ambas direcciones. Puede usar el canal 0
como puerto de programación o como puerto de dispositivos semejantes usando la
instrucción MSG.

En el modo full–duplex, el procesador SLC 5/03 ó SLC 5/04 puede enviar y recibir
mensajes. Cuando el procesador envía mensajes, lo hace en forma de respuestas
incorporadas, las cuales son símbolos transmitidos dentro de un paquete de mensaje.
Cuando el procesador SLC 5/03 ó SLC 5/04 recibe mensajes, sirve como dispositivo
final – un dispositivo que detiene la transmisión de paquetes de datos. El
procesador no hace caso de las direcciones de destino y fuente recibidas en los
paquetes de datos. Sin embargo, el procesador cambia estas direcciones en la
respuesta que transmite como respuesta a cualquier paquete de datos de comando
que ha recibido.

Ya que los procesadores SLC 5/03 y SLC 5/04 se consideran como “dispositivos
finales” (la transmisión del paquete de datos se detiene en el procesador), no se hace
caso de las direcciones de destino y fuente en el paquete de datos. Si usa un módem
con el canal 0 DF1 en el modofull–duplex, éste debe tener capacidad de funcionar
en el modo de full–duplex. Típicamente, un módem de marcado se usa para la
comunicación por líneas telefónicas.

12–19
 
Manual de referencia del juego de instrucciones

Parámetros de configuración de canal 0 de duplex total DF1

Cuando el variador del modo de sistema es un duplex total DF1 para canal 0, los
parámetros siguientes se pueden cambiar:

    

. %&2+ !&$*7/0& + "/".2!+ ,. 1/+ futuro.
Velocidad en Alterna entre la velocidad de comunicación de 110, 300, 600, 1200, 2400,
baudios 4800, 9600 y 19200. El valor predeterminado es 1200.
Paridad Alterna entre Ninguna y Par. El valor predeterminado es Ninguna.
Bits de detención Alterna entre 1, 1.5 y 2. El valor predeterminado es 1.
Detección de Alterna entre inhabilitado y habilitado. El valor predeterminado es
paquete duplicado Habilitado.
Detección de error Alterna entre CRC y BCC. El valor predeterminado es CRC.
Límite de tiempo El rango válido es 2-65535 (en incrementos de 20 ms). El valor
sobrepasado ACK predeterminado es 50.
Reintentos NAK El rango válido es 0-255. El valor predeterminado es 3.
Reintentos ENQ El rango válido es 0-255. El valor predeterminado es 3.
Alterna entre Sin comunicación y módem de full-duplex El valor
Línea de control
predeterminado es Sin handshaking.
Respuestas Alterna entre Habilitado y Detección automática. El valor predeterminado
incorporadas es Habilitado.
Especifique la dirección del transmisor en este campo. El rango válido es
ID de fuente
0-254. El valor predeterminado es 9.

12–20
Cómo comprender los protocolos de comunicación

Full-duplex (punto a punto) SLC 5/03 CPU


(1747ĆL532)

Canal 1
DHĆ485

Módem Canal 0
Full-duplex Protocolo DF1 Módem RSĆ232

Full-duplex (punto a punto)


SLC 5/03 CPU
(1747ĆL532)

Canal 1
DHĆ485

Canal 0
1747ĆCP3 RSĆ232

12–21

Manual de referencia del juego de instrucciones

Full–duplex (red)

SLC 5/03 CPU


(1747ĆL532)

Canal 1
1"
DHĆ485
Computadora principal
con capacidad de llamar y
crear interface con una
red a la vez. Módem Canal 0
RSĆ232

SLC 5/03 CPU


Módulo de interface (1747ĆL532)
(1747ĆKE)

Módem

Acoplador de 1"
vínculo
(1747ĆAIC)

1747ĆAIC

1747ĆAIC

Esta configuración permite que la computadora principal llame a más de una


red remota. Cada red remota puede tener un máximo de 31 nodos SLC.

12–22
Cómo comprender los protocolos de comunicación

Protocolo maestro/esclavo de half–duplex DF1

El protocolo maestro/esclavo de half–duplex DF1 proporciona una red de múltiples


conexiones de un solo maestro/esclavos múltiples. A diferencia del full–duplex
DF1, la comunicación se realiza en una dirección a la vez. Puede usar canal 0 como
puerto de programación o como puerto de dispositivos semejantes usando la
instrucción MSG.

El dispositivo maestro inicia toda la comunicación “encuestando” cada dispositivo


esclavo. El dispositivo esclavo solamente puede transmitir paquetes de datos
cuando es encuestado por el maestro. Es la responsabilidad del maestro encuestar
cada esclavo de manera sistemática y secuencial para recolectar datos. Durante una
secuencia de encuesta, el maestro encuesta un esclavo repetidamente hasta que el
esclavo indique que ya no tiene paquetes de transmitir. Luego el maestro transmite
los paquetes de datos por dicho esclavo.

Varios productos de Allen-Bradley tienen capacidad para el protocolo maestro de


half–duplex. Incluyen el módulo 177-KGm (para controladores PLC-2) y los
procesadores PLC-5/11, -5/20, -5/30, -5/40, -5/40L, -5/60, -5/60L, -5/80, -5/20E,
-5/40E y -5/80E. El software ControlView y ControlView 300 también tiene
capacidad para el protocolo maestro de half–duplex con la opción SCADA
(6190-SCA).

Típicamente, el maestro tiene dos tablas separadas – una para los esclavos en línea y
otra para los esclavos fuera de línea. Los esclavos en línea son encuestados de
manera sistemática. Los esclavos fuera de línea son encuestados de vez en cuando
para verificar si uno ha entrado en línea.

Un dispositivo maestro tiene capacidad para el encaminamiento de paquetes de


datos desde un esclavo al otro.

El half–duplex DF1 tiene capacidad hasta para 255 dispositivos esclavos (dirección
0 a 254) con dirección 255 reservada para multidifusiones maestras. Los tipos de
módem de half–duplex o full–duplex se pueden usar para la red de half-duplex DF1.
El SLC 5/03 tiene capacidad para la recepción de multidifusiones. El SLC 5/03 no
puede iniciar una multidifusión.

12–23
 
Manual de referencia del juego de instrucciones

Parámetros de configuración de canal 0 del esclavo de half–duplex DF1

Cuando el modo de sistema es el esclavo de half–duplex DF1 para el canal 0, los


parámetros siguientes se pueden cambiar:

    

Archivo diagnóstico Reservado para uso futuro.
Alterna entre la velocidad de comunicación de 110, 300, 600,
Velocidad en baudios 1200, 2400, 4800, 9600 y 19200. El valor predeterminado es
1200.
Paridad Alterna entre Ninguna y Par. El valor predeterminado es Ninguna.
Bits de detención Alterna entre 1, 1.5 y 2. El valor predeterminado es 1.
Dirección de estación El rango válido es 0-254 decimal. El valor predeterminado es 1.
Alterna entre Habilitada e Inhabilitada. El valor predeterminado es
Detección de paquete
Habilitada.
Detección de error Alterna entre CRC y BCC. El valor predeterminado es CRC.
Le permite seleccionar el valor de retardo de desactivación RTS
Retardo de desactivación
en incrementos de 20 ms. El rango válido es 0-65535. El valor
RTS
predeterminado es 0.
Le permite seleccionar el valor de retardo de transmisión RTS en
Retardo de transmisión RTS incrementos de 20 ms. El rango válido es 0-65535. El valor
predeterminado es 0.
Le permite seleccionar el valor de límite de tiempo sobrepasado de
Límite de tiempo
encuesta maestro en incrementos de 20 ms. El valor
sobrepasado de encuesta
predeterminado es 50. El rango válido es 0-65535.
Retardo de tiempo de Le permite seleccionar el retardo de tiempo de transmisión previa
transmisión previa RTS en incrementos de 20 ms. El rango válido es 0-65535.
Le permite seleccionar el valor de reintentos de mensaje. El rango
Reintentos de mensaje
válido es 0-255. El valor predeterminado es 3.
Alterna entre Ninguna comunicación, half-duplex con portadora
Línea de control continua yhalf-duplex sin portadora continua. El valor
predeterminado es Ninguna comunicación.
Supresión EOT Alterna entre Sí y No. El valor predeterminado es No.

12–24
Cómo comprender los protocolos de comunicación

Parámetros de configuración de canal 0 del maestro de half–duplex DF1


Cuando el variador del modo de sistema es el maestro de medio duplex DF1 para
canal 0, los parámetros siguientes se pueden cambiar:



  
 
Archivo "'%+901'!, #0#/3", -/ 20, futuro.
Velocidad en baudios Alterna entre la velocidad de comunicación de 110, 300, 600,
1200, 2400, 4800, 9600 y 19200.
Paridad Alterna entre Ninguna y Par. El valor predeterminado es Ninguna.
Bits de detención Alterna entre 1, 1.5 y 2. El valor predeterminado es 1.
Dirección de estación El rango válido es 0-254 decimal. El valor predeterminado es 1.
Detección de paquete Alterna entre Habilitada e Inhabilitada. El valor predeterminado es
duplicado Habilitada.
Detección de error Alterna entre CRC y BCC. El valor predeterminado es CRC.
Límite de tiempo El permite seleccionar el valor de límite de tiempo sobrepasado
sobrepasado ACK ACK en incrementos de 20 ms. El rango válido es 0-65535.
Le permite seleccionar el valor de retardo de desactivación RTS
Retardo de desactivación en incrementos de 20 ms. El rango válido es 0-65535. El valor
RTS predeterminado es 0.

Reintentos de mensaje Le permite seleccionar el valor de reintentos de mensaje. El rango


válido es 0-255. El valor predeterminado es 3.
Le permite seleccionar el valor de retardo de transmisión RTS en
Retardo de transmisión RTS incrementos de 20 ms. El rango válido es 0-65535. El valor
predeterminado es 0.
Le permite seleccionar el valor de retardo de tiempo de
Retardo de tiempo de transmisión previa RTS en incrementos de 20 ms. El rango válido
transmisión previa es 0-65535.

Línea de control Alterna entre Ninguna comunicación, Módem de full-duplex y


half-duplex sin portadora continua.
Alterna entre Basado en mensaje (no permite que el esclavo inicie
mensajes), Basado en mensaje (permite que el esclavo inicie
Modo de encuesta mensajes), Estándar (transferencia de un solo mensaje por escán
de nodo) y Estándar (transferencia de mensajes múltiples por
escán de nodo)
Encuesta de prioridad - baja Le permite seleccionar la dirección baja del rango de encuesta de
prioridad. El rango válido es 0-255.
Encuesta normal - baja Le permite seleccionar la dirección baja del rango de encuesta
normal. El rango válido es 0-255.
Encuesta de prioridad - alta Le permite seleccionar la dirección alta del rango de encuesta de
prioridad. El rango válido es 0-254.
Encuesta normal - alta Le permite seleccionar la dirección alta del rango de encuesta
normal. El rango válido es 0-254.
Le permite seleccionar el establecimiento del tiempo de espera del
Tiempo de espera del mensaje de respuesta en incrementos de 20 ms. El rango válido
mensaje de respuesta es 0-65535.
Tamaño del grupo de Le permite seleccionar el tamaño del grupo de encuesta normal.
encuesta normal El rango válido es 0-255.

12–25

Manual de referencia del juego de instrucciones

ControlView 300 ó software


de otros fabricantes
RSĆ232 ejecutando el protocolo
(protocolo DF1) DF1 (maestro)
Módem

Módem Módem Módem Módem Módem

El controlador Controlador modular Controlador modular El controlador Controlador de E/S


modular del del procesador del procesador modular del fijo SLC 500 con
procesador SLC 5/02 SLC 5/03 SLC 5/03 procesador SLC 5/01 módulo de
con módulo de con módulo de interface 1747ĆKE
interface 1747ĆKE interface 1747ĆKE

12–26
Cómo comprender los protocolos de comunicación

Vínculo de múltiples
conexiones DHĆ485

ControlView 300 ó
software de otros fabriĆ
cantes ejecutando el
RSĆ232 protocolo DF1
(DF1 protocolo) (maestro)
Módem

Módem

Módulo de interĆ
face 1747ĆKE

Controlador modular del


procesador SLC 5/02 con
módulo de interface
1747ĆKE

1747-AIC 1747-AIC
Acoplador de vínculo
1747ĆAIC

Controlador modular del


procesador SLC 5/01

12–27
Manual de referencia del juego de instrucciones
Preface

Half-duplex DF1 con


encaminamiento de
esclavo a esclavo
ControlView 300 ó software
de otros fabricantes
ejecutando el
RSĆ232 protocolo DF1 (maestro)
(DF1 protocolo)
Módem

Línea arrendada

Módem Módem

Controlador modular del Controlador modular del


procesador SLC 5/03 procesador SLC 5/03

12–28
Cómo comprender los protocolos de comunicación

     

  
ControlView 300 ó
software de otros
fabricantes ejecutando
RSĆ232 el protocolo DF1
(DF1 protocolo) (maestro)
Módem

Módem Módulo de interface


1747ĆKE

DF1

1747-AIC 1747-AIC 1747-AIC


Controlador modular del Controlador modular Controlador de E/S
procesador SLC 5/02 con del procesador compacto SLC 500
módulo de interface SLC 5/01
1747ĆKE (esclavo)

12–29

Manual de referencia del juego de instrucciones

Consideraciones cuando comunica como esclavo DF1 en un vínculo de


múltiples conexiones

Cuando hay comunicación entre su software de programación y un procesador SLC


5/03 ó entre dos procesadores SLC 5/03 vía una conexión de esclavo a esclavo en un
vínculo de múltiples conexiones, los dispositivos dependen de un maestro DF1 para
que les dé a cada uno permiso de transmitir oportunamente. A medida que el
número de esclavos vaya incrementando en el vínculo (hasta 255) el tiempo entre
las encuestas de su software de programación o el procesador SLC 5/03 también
incrementa. Este incremento de tiempo puede aumentar si usa velocidades en
baudios bajas.

A medida que estos períodos de tiempo aumentan, puede ser necesario cambiar los
valores siguientes para evitar la pérdida de comunicación:
• software de programación – valores de límite de tiempo de encuesta
sobrepasado y límite de tiempo de respuesta sobrepasado
• procesador SLC 5/03 – valores de límite de tiempo de encuesta sobrepasado y
límite de tiempo sobrepasado de propietario de recurso/archivo de edición

Si usa instrucciones MSG entre los procesadores SLC 5/03, también es posible que
el valor de límite de tiempo sobrepasado MSG en el bloque de control tenga que ser
cambiado para comunicación de esclavo a esclavo fiable en la red de múltiples
conexiones.

12–30
Cómo comprender los protocolos de comunicación

Cómo usar módems que tienen capacidad para


protocolos de comunicación DF1
Los tipos de módems que puede usar con el procesador SLC 5/03 incluyen módems
de línea telefónica, módems de marcado DTR, controladores de línea, módems de
radio y módems de vínculo por satélite.

Módems de línea telefónica

Lo siguiente explica cómo usar los módems de línea telefónica con protocolos de
comunicación DF1.
Nota Los módems de línea telefónica tienen capacidad para la comunicación
bidireccional simultánea requerida para el full–duplex DF1. Para la operación
correcta con módems de full–duplex DF1, siempre seleccione la comunicación de
módem de full–duplex. Para la operación correcta con el esclavo DF1, seleccione
“módem de half–duplex con portadora continua” a menos que no desee cortar la
comunicación automáticamente su usa líneas arrendadas. En tal caso, puede usar
el “módem de half–duplex sin portadora continua”.

Módems manuales

Estos son típicamente módems acoplados acústicamente. La conexión está


establecida por una persona en cada extremo de la línea telefónica. Estas personas
insertan los auriculares en un acoplador acústico para finalizar la conexión.

Módems de contestación automática

Estos módems no atendidos se conectan directamente a las líneas telefónicas. Según


la versatilidad del módem, es posible que usted pueda programarlo bajo varias
condiciones. Sin embargo, el módem típicamente debe afirmar DSR para indicar
que está conectado al DTE y usted debe programarlo para que conteste solamente si
detecta DTR. Una vez que el módem contesta una llamada y establece una señal de
portadora con el módem remoto, es posible que active la señal DCD.

12–31

Manual de referencia del juego de instrucciones

Módems de desconexión automática

Típicamente, los módems que tienen capacidad para la contestación automática de


datos también tienen capacidad para la desconexión automática donde el DTE puede
forzar que el módem corte la conexión dejando caer el DTR por un momento.

Estos módems generalment se cuelgan por sí mismos si se pierde el vínculo de


portadora con un módem de distancia. Sin embargo, si un módem determinado no
se cuelga, el procesador SLC 5/03, si está configurado correctamente, forzará la
desconexión interrumpiendo el DTR si DCD se interrumpe (es decir, el vínculo de
portadora del módem se pierde) durante más de 10 segundos. Cuando use el
full–duplex DF1, seleccione la comunicación de “módem de full–duplex”. Cuando
use el half–duplex DF1, seleccione la comunicación de “módem de half–duplex con
portadora continua” para habilitar esta operación.

Módems de discado automático

Los procesadores SLC 5/03 y SLC 5/04 tienen capacidad para la operación de discado
automático normal. El discado automático más común se encuentra en el uso de los
módems Hayes y los módems compatibles con Hayes que aceptan cadenas en serie
especiales para su DTE local, que son parte del conjunto de comandos Hayes. Estas
cadenas también se pueden usar para iniciar el discado a un número telefónico
especificado además de programar otros parámetros operacionales. Use la instrucción
de escritura ASCII para iniciar un marcado automático de cadena de módem. El bit de
archivo de estado S:5/14 permite que su programa detecte una conexión. Refiérase a su
manual de usuario de software de programación para obtener más información acerca
de las instrucciones y bits de archivo de estado.

Módems con líneas arrendadas

También conocidos como conexiones de línea privada, estos vínculos de


comunicación usan una línea de teléfono dedicada arrendada de la compañía
telefónica. Pueden ser vínculos de punto a punto o maestro a esclavos múltiples (es
decir, multicaídas).

Módems con discado DTR

Estos módems inician el discado de un número previamente programado cuando


DTR efectúa una transición de activado a desactivado. Para programar la cadena de
inicialización y el número telefónico de módem en la memoria interna del módem,
use una terminal ficticia (o PC con software de emulación de terminal tal como
Procomm, Window’s Terminal o PBASE). A continuación aparece un ejemplo de
cómo programar un módem de discado DTR usando su software de programación.

12–32
Cómo comprender los protocolos de comunicación

Para programar un Multimodem V32 de Multi–Tech Systems, Inc., haga lo siguiente:

1. Establezca los valores en la memoria del módem a los valores predeterminados.


Introduzca la cadena siguiente:

AT&W1Z

 
 




AT Atención
Establece los valores en la memoria del módem a los valores
&W1Z
predeterminados.
2. Para inicializar el módem, introduzca la cadena siguiente:

ATD4140000000TN0$BA0$SB1200$MB1200$D1&W0

 
  
 



  

AT Atención
À Almacena números telefónicos en memoria (tono, no.
D4140000000TN0
telefónico, 0).
$BA0 Ajuste de baudio desactivado
$SB1200 Establece el puerto en serie a 1200 Baud.
$MB1200 Establece el puerto de teléfono a 1200 Baud.
$D1 Habilita el discado DTR.
Almacena de modo permanente estos comandos en
&W0
memoria de módem.
À Reemplaza 4140000000" con el número telefónico que desea discar.

3. Una vez que usted ha programado el módem, active la señal DTR para que
disque el número o desactive la señal DTR para terminar la llamada (colgar).

Módems controladores de línea (corto alcance)

También llamados módems de corto alcance, estos dispositivos no modulan los


datos de serie. En cambio, acondicionan la señal para operar en un medio fisico
diferente (tal como RS-485) para que las longitudes de transmisión extensas
(generalmente de algunos kilómetros) tengan capacidad. Si un variador de línea
tiene capacidad para un puerto compatible de RS232-DCE, usted probablemente
puede usarlo con el canal RS-232 de los procesadores SLC 5/03 y SLC 5/04.

Si los controladores de línea se deben usar con el full–duplex DF1, es necesario que
tengan capacidad para un circuito de full–duplex (también conocido como circuito
de 4 cables).

12–33

Manual de referencia del juego de instrucciones

Los controladores de línea con capacidad de full–duplex (circuito de 4 cables)


también son preferidos con el half–duplex DF1 porque el maestro puede tener su
propio canal dedicado para comunicarse con los esclavos.

Si un controlador de línea sólo tiene capacidad para circuitos de half–duplex


(circuito de 2 cables), el maestro así como los esclavos usan la comunicación
RTS/CTS para realizar una transmisión. Esto introduce una demora cuando el
maestro realiza una transmisión.

Típicamente, cuando configure el SLC 5/03 y SLC 5/04 para el esclavo de


half–duplex DF1, use el “módem de half–duplex sin portadora continua”.

Módems de radio

También puede usar los procesadores SLC 5/03 y SLC 5/04 con un vínculo de radio
vía módems de radio. Esto establece un vínculo de múltiples conexiones dedicado.
Los vínculos de radio frecuentemente se usan en zonas donde no existe acceso a
líneas telefónicas o donde su uso es muy costoso.

Los módems de radio se pueden comprar como unidad de radio/módem integral o


configurados usando un módem y radio comprados separadamente. Si se compra
separadamente, la radio necesita una señal de entrada para regular el transmisor. En
muchos casos, RTS se puede usar como dicha entrada.

El canal de serie SLC 5/03 y SLC 5/04, cuando está configurado para el esclavo de
half–duplex DF1, tiene un retardo ajustable entre el momento en que RTS se
enciende y cuando los datos son transmitidos. De este modo se pueden usar los
módems de radio con una amplia gama de requisitos de temporización, hasta los
tipos que no proporcionan una señal CTS verdadera al DTE conectado a sí mismos.

El módem de radio que usted escoge para crear un interface con un módulo de
comunicación RS-232 de Allen-Bradley usando el protocolo de half–duplex debe
poseer las características siguientes. Debe:
• tener capacidad para la comunicación RS-232 estándar descrita anteriormente y
en el manual de módulo de comunicación RS-232 de Allen-Bradley
• tener capacidad para la velocidad de transmisión a que opera su módulo de
comunicación RS-232 de Allen-Bradley
• poder operar en un vínculo de radio de múltiples conexiones de half–duplex
• poder crear un interface con un dispositivo de comunicación asíncrono
• poder funcionar en un modo “transparente”, que permita que los datos pasen
sobre el vínculo sin ser modificados.

12–34
Cómo comprender los protocolos de comunicación

Para optimizar el rendimiento, seleccione un módem que tenga un retardo RTS-CTS


mínimo. Este retardo de tiempo es determinado generalmente por el tiempo
necesario para activar el módem y estabilizar la portadora.

Módems de vínculo por satélite

El interface con estos módems es semejante a los interfaces de módems de radio.

Operación de línea de control de módem en los


procesadores SLC 5/03 y SLC 5/04
Lo siguiente explica la operación de los procesadores SLC 5/03 y SLC 5/04 cuando
configura el canal RS232 para las aplicaciones siguientes.

Full–duplex DF1

Cuando configura los procesadores SLC 5/03 y SLC 5/04 para el full–duplex DF1,
la operación de línea de control siguiente se realiza:

Comunicación no seleccionada — El DTR siempre está activo y el RTS siempre


está inactivo. Las recepciones y transmisiones toman lugar a pesar de los estados de
entradas DSR, CTS o DCD. Esta selección solamente se debe hacer cuando los
procesadores SLC 5/03 y SLC 5/04 están conectados directamente a otro dispositivo
DTE.

Módem de full–duplex seleccionado — El DTR y el RTS siempre están activos


excepto durante los períodos siguientes. Si DSR se activa, DTR y RTS se
interrumpen durante 1 a 2 segundos y luego se reactivan. El bit de módem perdido
(S:5/14) se activa inmediatamente. Mientras DSR esté inactivo, no se hace caso del
estado de DCD. No se realizan recepciones ni transmisiones.

Si DCD se desactiva mientras DSR esté activo, las recepciones no se permiten. Si


DCD permanece inactivo durante 9 a 10 segundos, DTR se establece activo hasta
que DSR se desactive. En este momento, el bit de módem perdido también se
establece. Si DSR no se desactiva, DTR se vuelve a levantar dentro de 5 a 6
segundos.

La transmisión requiere que todas las tres salidas (CTS, DCD y DSR) estén activas.
Cuando DSR y DCD están activos, el bit de módem perdido se restablece.

12–35

Manual de referencia del juego de instrucciones

Half–duplex DF1

Cuando configura los procesadores SLC 5/03 y SLC 5/04 para el half–duplex DF1,
la operación de línea de control siguiente se realiza:

Handshaking no seleccionadol DTR siempre está activo y RTS siempre está


inactivo. Las recepciones y transmisiones toman lugar a pesar de los estados de
entradas DSR, CTS o DCD. Esta selección solamente se debe hacer cuando los
procesadores SLC 5/03 y SLC 5/04 están conectados directamente a otro dispositivo
DTE.

Módem de half–duplex con portadora continua seleccionado — DTR siempre


está activo y RTS solamente está activo durante las transmisiones (y cualesquiera
retardos programados antes o después de transmisiones). El manejo de DCD y DSR
es idéntico al manejo del módem de full–duplexl. Las transmisiones requieren que
CTS y DSR estén activos.

Módem de half–duplex sin portadora continua seleccionado — Esto es idéntico


al módem de half–duplex con portadora continua excepto que la monitorización de
CDC no se realiza. DCD todavía es necesario para las recepciones pero no es
requerido para las transmisiones. Las transmisiones todavía requieren CTS y DSR.
El bit de módem perdido se establece solamente cuando DSR esté inactivo.

12–36
Cómo comprender los protocolos de comunicación

Parámetros de retardo de transmisión RTS y retardo de


desactivación RTS
Por medio de su software de programación, los parámetros de retardo de transmisión
RTS y retardo de desactivación RTS le ofrecen la flexibilidad de seleccionar el
control de módem durante transmisiones. Estos parámetros se aplican únicamente
cuando usted selecciona un módem de half–duplex con o sin portadora continua.

Para uso con módems de half–duplex que requieren tiempo suplementario para
“regular” su transmisor aun después de activar CTS, el retardo de transmisión RTS
especifica, en incrementos de milisegundo, la cantidad de tiempo de retardo después
de activar RTS que se debe esperar antes de verificar si CTS ha sido activado por el
módem. Si CTS todavía no está activo, RTS permanece activo y ocurrirá la
transmisión siempre que CTS se active antes de transcurrido un segundo. Después
de un segundo, si CTS todavía no se ha activado, RTS se establece inactivo y la
transmisión se cancela.

Para los módem que no proporcionan ninguna señal CTS, ligue RTS a CTS y use el
retardo más breve posible sin perder la operación segura.
Nota Si se selecciona un retardo de transmisión RTS de 0, la transmisión comienza
cuando CTS se activa. Si CTS no se activa en menos de 1 segundo después del
levantamiento de RTS, RTS se establece inactivo y la transmisión se cancela.

Ciertos módems interrumpen su vínculo de portadora cuando RTS se pierde, aun


cuando la transmisión todavía no se ha terminado. El parámetro de retardo de
desactivación RTS especifica, en incrementos de 20 milisegundos, el retardo entre el
momento en que el último carácter en serie se envía al módem y cuando RTS se
desactiva. Esto le proporciona al módem tiempo suplementario para transmitir el
último carácter de un paquete.

12–37
 
Manual de referencia del juego de instrucciones

Protocolo de comunicación ASCII


Los procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401 tienen
capacidad para protocolo ASCII definido por el usuario configurando RS-232 (canal
0) para el modo de usuario. En el modo de usuario, todos los datos recibidos se
colocan en un búfer. Para obtener acceso a los datos, use las instrucciones ASCII en
su programa de escalera. Vea el capítulo 10 para obtener más información acerca de
las instrucciones ASCII. También puede enviar datos de cadena ASCII a la mayoría
de los dispositivos añadidos que aceptan el protocolo ASCII.
Nota Solamente las instrucciones ASCII se pueden usar cuando el modo de usuario se
configura. Si usa una instrucción de mensaje (MSG) que hace referencia a canal 0,
ocurrirá un error.

Configuración de parámetro de canal 0 ASCII

Cuando el controlador de modo de usuario es ASCII genérico para canal 0, los


parámetros siguientes se pueden cambiar:

    

1$)*5. %*"(-;23*$. &2&15"%. /"1" 42. '4341.
&+.$*%"% &- +3&1-" &-31& +" 5&+.$*%"% %& $.,4-*$"$*;- %& 
    
#"4%*.2    7   + 5"+.1 /1&%&3&1,*-"%. &2  
"1*%"% +3&1-" &-31& *-(4-" ,/"1 7 "1 + 5"+.1 /1&%&3&1,*-"%. &2 *-(4-"
*32 %& %&3&-$*;- +3&1-" &-31&   7  + 5"+.1 /1&%&3&1,*-"%. &2 
*32 %& %"3.2 +3&1-" &-31&  7  + 5"+.1 /1&%&3&1,*-"%. &2 
+3&1-" &-31& (-.1"1  & *,/1&2.1" + 5"+.1 /1&%&3&1,*-"%. &2
.%. %& &+*,*-"$*;-
(-.1"1 23& /"18,&31. %&/&-%& %& +" )"#*+*3"$*;- %&+ /"18,&31. $).
+3&1-" &-31& "#*+*3"%. & -)"#*+*3"%. + 5"+.1 /1&%&3&1,*-"%. &2
$).
-)"#*+*3"%.
& /&1,*3& 2&+&$$*.-"1 &+ 5"+.1 %& 1&3"1%. %& %&2"$3*5"$*;-  &-
&3"1%. %&
*-$1&,&-3.2 %&  ,2 + 1"-(. 58+*%. &2 
&- *-$1&,&-3.2 %&
%&2"$3*5"$*;- 
 ,2 + 5"+.1 /1&%&3&1,*-"%. &2 
& /&1,*3& 2&+&$$*.-"1 &+ 5"+.1 %& 1&3"1%. %& 31"-2,*2*;-  &-
&3"1%. %&
*-$1&,&-3.2 %&  ,2 + 1"-(. 58+*%. &2 
&- *-$1&,&-3.2 %&
31"-2,*2*;- 
 ,2 + 5"+.1 /1&%&3&1,*-"%. &2 
+3&1-" &-31& *-(4-" $.,4-*$"$*;- )"+'%4/+&6 $.- /.13"%.1" $.-3*-4"
9-&" %& $.-31.+ )"+'%4/+&6 2*- /.13"%.1" $.-3*-4" 7 ;%&, %& '4++%4/+&6 + 5"+.1
/1&%&3&1,*-"%. &2 *-(4-" $.,4-*$"$*;-
+3&1-" &-31& "#*+*3"%. & -)"#*+*3"%. + 5"+.1 /1&%&3&1,*-"%. &2
!!
-)"#*+*3"%.
&1,*-"$*;- 
2/&$*'*04&  /"1" $"18$3&1 2*- 3&1,*-"$*;-
&1,*-"$*;-
:"%*1 
2/&$*'*04&  /"1" $"18$3&1 -. ":"%*%.
:"%*1

12–38
Cómo comprender los protocolos de comunicación

Cómo usar las características de transferencia


Hay tres tipos de transferencia disponibles en los procesadores SLC 5/03 y SLC
5/04. Su operación y bits asociados se describen a continuación.

Transferencia DH+ a DH-485 – (Todos los procesadores SLC 5/04)

Este tipo permite que el SLC 5/04 sirva como puente entre una red DH+ y una red
DH-485. Cuando el bit S:34/0 se restablece, los paquetes de comunicación que
entran en el canal 0 (configurado para DH-485), los cuales no están destinados para
el procesador SLC 5/04, vuelven a ser enviados desde del canal 1 en la red DH+.
Además, los paquetes de comunicación que entran en el canal 1 (DH+), los cuales
no están destinados para el procesador SLC 5/04, vuelven a ser enviados desde el
canal 0 en la red DH-485. Esta actividad tendrá algún efecto en el tiempo de escán
del programa de escalera del procesador SLC 5/04, pero estos efectos no son
significativos ya que solamente un paquete de transferencia es encaminado
nuevamente durante cada escán.

Transferencia DF1 a DH+ – (Procesadores SLC 5/04 OS401 y posteriores)

Este tipo le permite conectar una computadora al puerto en serie del procesador SLC
5/04 (canal 0 configurada para el full–duplex DF1) y acceder a cualquier nodo en la
red DH+ sin importar la velocidad en baudios de la red DH+. También puede
conectar un módem al puerto en serie para discar en cualquier nodo en la red DH+.

Transferencia de E/S remota (Procesadores SLC 5/03 OS302 y SLC 5/04


OS401)

Este tipo permite que el sistema SLC 5/04 sirva como puente entre la red DH+ y la
red de E/S remota compatible con el módulo de E/S remotas 1747-SN. La
transferencia se habilita cuando el bit S:34/5 se establece. Esto permite que las
computadoras personales en la red DH+ carguen y descarguen aplicaciones a
dispositivos tales como PanelView 550, PanelView 900 ó Panel View 1200 y
DataLiners en la red de E/S remotas.

12–39

Manual de referencia del juego de instrucciones

Consideraciones cuando la transferencia DF1 a DH+ se habilita

Considere la siguiente información cuando use la transferencia DF1 a DH+.

Cómo entrar en línea con un procesador SLC 5/04 usando el full–duplex DF1

Si desea entrar en línea usando el full–duplex DF1, asegúrese que la dirección


destino bajo la pantalla de configuración en línea de duplex total esté establecida al
canal 1 de la dirección de nodo DH+ del procesador SLC 5/04 destino. Si la direc-
ción destino no se ha establecido y el procesador SLC 5/04 tiene la característica de
transferencia de DF1 a DH+ habilitada, los paquetes de comando del software de
programación puede ir a un procesador diferente del procesador SLC 5/04.

Cómo transmitir un mensaje usando el full–duplex DF1 hacia un procesador SLC 5/04 con
la transferencia DF1 a DH+ habilitada

Si el procesador SLC 5/04 receptor tiene la transferencia habilitada, asegúrese que el


parámetro del nodo destino esté establecido a la dirección DH+ canal 1 del
procesador SLC 5/04.

Cómo transmitir un mensaje usando el full–duplex DF1 desde un procesador SLC 5/04 con
la transferencia DF1 a DH+ habilitada

Si usa un procesador con la transferencia DF1 a DH+ habilitada para transmitir


mensajes desde el canal 0 (configurado para el full–duplex DF1), debe asegurarse
que la dirección del nodo DH+ del procesador SLC 5/04 aparezca en la dirección
fuente DF1 bajo la pantalla de configuración de modo de sistema de canal 0. Si la
dirección no se establece correctamente, las respuestas retornando al procesador
SLC 5/04 pueden ser enviadas a otros nodos en la red DH+.

Cómo comunicar desde un procesador SLC 5/04 usando direccionamiento PLC-2

Si usa un procesador SLC 5/04 con la transferencia DF1 a DH+ habilitada y trata de
transmitir un mensaje desde el canal 0 usando las instrucciones de MENSAJE, no
use el tipo de mensaje 485 CIF. Use los tipos de mensaje 500CPU o PLC5. Si
intenta usar el tipo de mensaje 485 CIF, el procesador SLC 5/04 que transmite el
mensaje no recibirá respuestas del nodo con el que está tratando de comunicarse.

12–40
Cómo localizar y corregir fallos

13 Cómo localizar y corregir fallos

Este capítulo enumera los códigos de fallo de errores mayores, indica las causas
posibles de los fallos y recomienda la acción correctiva. Este capítulo también
explica los fallos de carga del sistema de operación para los procesadores SLC 5/03
y SLC 5/04 y los controladores MicroLogix 1000.

Cómo borrar fallos automáticamente


La sección siguiente describe las maneras diferentes para borrar un fallo
automáticamente usando su software de programación.

Procesadores SLC
• Establezca la anulación de fallo al bit de encendido S:1/8 en el archivo de
estado para borrar el fallo cuando se desconecta y se vuelve a conectar la
alimentación eléctrica siempre que el programa de usuario no esté alterado.
• Establezca uno de los bits de carga automática S:1/0, S:1/11 ó S:1/12 en el
archivo de estado del programa en un EEPROM para transferir
automáticamente un programa nuevo sin fallo desde el módulo de memoria
hacia el RAM cuando se desconecta y se vuelve a conectar la alimentación
eléctrica.

Refiérase al apéndice B en este manual para obtener más información acerca de los
bits de estado S:1/13, S:1/8, S:1/10, S:1/11, S:1/12, S:5/0–7 y S:36/0–7.
Nota Usted puede declarar su propio fallo mayor específico para la aplicación
escribiendo su propio valor único a S:6 y luego estableciendo el bit S:1/13.

13–1

Manual de referencia del juego de instrucciones

Controladores MicroLogix 1000

Puede borrar un fallo automáticamente cuando desconecta y vuelve a conectar la


alimentación eléctrica al controlador estableciendo uno o ambos de los bits de
estado siguientes en el archivo de estado:
• Anulación de fallo al bit de encendido (S:1/8)
• Bit de marcha permanente (S:1/12)

El borrar un fallo usando el bit de marcha permanente (S:1/12) causa que el


controlador entre inmediatamente en el modo de marcha REM. Asegúrese de
entender completamente el uso de este bit antes de integrarlo en su programa.
Refiérase a la página A–5 para obtener más información. También refiérase al
capítulo 3 para obtener información relativa a los datos retentivos.

Nota Usted puede declarar su propio fallo mayor específico a la aplicación escribiendo
su propio valor único a S:6 y luego estableciendo el bit S:1/13 para evitar el uso
repetido de los códigos definidos por el sistema. La gama de valores
recomendados para los fallos definidos por el usuario es FF00 a FFOF.

13–2
Cómo localizar y corregir fallos

Cómo borrar fallos manualmente (procesadores SLC)


La sección siguiente describe las maneras diferentes de borrar un fallo manualmente
cuando usa un procesador SLC.
• Borre manualmente el bit de fallo mayor S:1/13 y los bits de error menor y
mayor S:5/0–7 en el archivo de estado usando un dispositivo de programación o
un módulo de acceso de la tabla de datos. Posicione el procesador en el modo
de programa REM. Corrija la condición que causa el fallo, luego retorne el
procesador al modo de marcha REM o a uno de los módos de prueba REM.
• Específico para SLC 5/03 y SLC 5/04 – Alterne el interruptor de llave de
MARCHA a PROGrama y luego retorne a MARCHA.

Específico para SLC 5/03 y SLC 5/04 – El borrar estos bits con el interruptor de
llave en la posición MARCHA causa que el procesador entre inmediatamente
en el modo de marcha.

Si usted está en línea con un procesador SLC 5/03 ó SLC 5/04 con el
interruptor de llave en la posición de MARCHA y presiona la tecla de función
de borrado de fallo mayor, se le advierte que el procesador entrará en el modo
de marcha un vez borrado el fallo.

Cómo usar la rutina de fallo

Procesadores SLC

Al designar un archivo de subrutina, la coincidencia de fallos de usuario


recuperables o no recuperables causa que la subrutina designada se ejecute durante
un escán. Si el fallo es recuperable, la subrutina se puede usar para corregir el
problema y poner a cero el bit de fallo S:1/13. Luego el procesador continúa en el
modo de marcha. Si el fallo no es recuperable, la subrutina puede transmitir un
mensaje por medio de la instrucción de mensaje a otro nodo DH-485 con
información de código de error y/o efectúa una parada metódica del proceso.

La subrutina no se ejecuta para los fallos no atribuibles al usuario. La rutina de fallo


de usuario se trata en el capítulo 11.

13–3

Manual de referencia del juego de instrucciones

Controladores MicroLogix 1000

La ocurrencia de fallos de usuario recuperables y no recuperables causa que el


archivo 3 se ejecute. Si el fallo es recuperable, la subrutina se puede usar para
corregir el problema y poner a cero el bit de fallo S:1/13. Luego el controlador
continúa en el modo de marcha REM. La subrutina no se ejecuta para los fallos no
atribuibles al usuario.

Mensajes de fallo
Esta sección contiene mensajes de fallo que puede ocurrir durante la operación de
los controladores MicroLogix 1000 y los procesadores SLC. Cada tabla enumera la
descripción del código de error, la causa probable y la acción correctiva
recomendada.

13–4
Cómo localizar y corregir fallos

Fallos del controlador MicroLogix 1000


Los fallos de controlador se dividen en los tipos siguientes:
• errores de encendido
• errores ida a marcha
• errores de marcha
• errores de carga

13–5
Preface
Manual de referencia del juego de instrucciones

Errores de encendido

Código de
Mensaje de advertencia Descripción Acción recomendada
error (hex)
0001 DEFAULT PROGRAM El programa predeterminado se • Vuelva a cargar el programa y
LOADED carga en la memoria del entre en el modo de marcha
controlador. Esto ocurre: REM.
• al momento de encendido si la • Comuníquese con su
interrupción de alimentación representante local de
eléctrica ocurrió en medio de AllenĆBradley si el error persiste.
una carga
• si el programa de usuario está
alterado al momento de
encendido, el programa
predeterminado se carga.
0002 UNEXPECTED RESET El controlador se restableció inesĆ • Refiérase a las pautas de
peradamente debido a un entorno conexión a tierra corresponĆ
ruidoso o un fallo de hardware interĆ dientes en el capítulo 1.
no. Si el programa de usuario • Comuníquese con su
cargado al controlador es válido, los representante local de
datos iniciales cargados con el proĆ AllenĆBradley si el error persiste.
grama se usan. El bit de datos
retentivos perdidos (S:5/8) se estaĆ
blece. Si el programa de usuario es
no válido, el programa predetermiĆ
nado se carga.
0003 EEPROM MEMORY IS El programa de usuario está • Durante la desconexión y reconeĆ
CORRUPT alterado y el programa xión de la alimentación eléctrica.
predeterminado se carga. es posible que ocurriera un proĆ
blema de ruido. Trate de descoĆ
nectar y volver a conectar la
alimentación eléctrica. Su prograĆ
ma puede ser válido, pero los
datos retentivos serán perdidos.
• Comuníquese con su
representante local de
AllenĆBradley si el error persiste.
0005 RETENTIVE DATA HAS BEEN Los archivos de datos (entrada, • Desconecte y vuelva conectar la
LOST salida, temporizador, contador, alim. eléctrica a su unidad.
entero, binario, control y estado) • Cargue su programa y vuelva a
están alterados. inicializar los datos necesarios.
• Encienda el sistema.
• Comuníquese con su
representante local de
AllenĆBradley si el error persiste.

13–6
Cómo localizar y corregir fallos

Errores de ida a marcha

 

  



 

    

  

 

0008 FATAL INTERNAL El software del controlador ha • Desconecte y vuelva conectar la
SOFTWARE ERROR detectado una condición inválida alimentación eléctrica a su unidad.
dentro del hardware o software • Cargue su programa y vuelva a
después de finalizar el proceso de inicializar los datos necesarios.
encendido (después de los 2 • Encienda el sistema.
primeros segundos de operación). • Comuníquese con su represenĆ
tante local de AllenĆBradley si el
error persiste.
0009 FATAL INTERNAL El software del controlador ha • Desconecte y vuelva conectar la
HARDWARE ERROR detectado una condición inválida alimentación eléctrica a su
dentro del hardware durante el unidad.
proceso de encendido (dentro de • Cargue su programa y vuelva a
los 2 primeros segundos de inicializar los datos necesarios.
operación). • Encienda el sistema.
• Comuníquese con su
representante local de
AllenĆBradley si el error persiste.
0010 INCOMPATIBLE PROCESSOR El programa cargado no ha sido Si desea usar un microcontrolador
configurado para un con el programa, vuelva a
microcontrolador. configurar su controlador con MPS
o APS (seleccione Bol. 1761).
0016 STARTUP PROTECTION El sistema se ha encendido en el • Restablezca el bit S:1/9 si es
AFTER POWERLOSS; modo de marcha REM. El bit coherente con los requisitos de
S:1/9 IS SET S:1/13 está establecido y la rutina su aplicación y retorne el modo
de fallo de usuario se ejecuta a marcha REM o
antes de comenzar el primer escán • ponga a cero S:1/13, el bit de
fallo mayor.
del programa.
0018 USER PROGRAM IS Un programa no compatible se • Verifique la configuración y
INCOMPATIBLE WITH cargó. El programa no tiene el asegúrese que el procesador
OPERATING SYSTEM número correcto de archivos o no correcto haya sido
tiene los archivos de datos de seleccionado.
tamaño correcto. El programa • Si desea usar un microĆ
controlador con el programa,
predeterminado se carga. vuelva a configurar su
controlador con MPS o APS
(seleccione Bol. 1761).

13–7
Preface
Manual de referencia del juego de instrucciones

Errores de marcha

Código de Descripción
Mensaje de advertencia Acción recomendada
error (hex)
0004 RUNTIME MEMORY Mientras que el controlador estaba en • Desconecte y vuelva a conectar
INTEGRITY ERROR el modo de MARCHA o cualquier la alimentación eléctrica a su
modo de prueba, el ROM o RAM se unidad.
alteró. Si el programa de usuario es • Cargue su programa y vuelva a
válido, el programa y los datos iniciaĆ inicializar los datos necesarios.
les cargados al controlador se usan y el • Encienda el sistema.
bit de datos retentivos perdidos (S:5/8) • Comníquese con su
se establece. Si el programa de representante local de
usuario es válido, error 0003 ocurre. AllenĆBradley si el error persiste.
0020 MINOR ERROR AT END OF Un bit de fallo menor (bits 0-7) en Entre en la pantalla de archivo de
SCAN, SEE S:5 S:5 se estableció al final de escán. estado, borre el fallo y retorne al
modo de marcha REM.
0022 WATCHDOG TIMER El tiempo de escán de programa • Revise si el programa se ha
EXPIRED, SEE S:3 excedió el valor del límite de atrapado en un lazo y corrija el
tiempo sobrepasado del problema.
temporizador de control • Incremente el valor del límite de
(watchdog) (S:3H). tiempo sobrepasado del tempoĆ
rizador de control (watchdog) en
el archivo de estado.
0024 INVALID STI INTERRUPT Un intervalo STI inválido existe (no Establezca el intervalo STI entre
SETPOINT, SEE S:30 entre 0 y 255). los valores de 0 y 255.
0025 TOO MANY JSRs IN STI Hay más de 3 subrutinas anidadas Corrija el programa de usuario para
SUBROUTINE en la subrutina STI (archivo 5). cumplir con los requisitos y
restricciones de la instrucción JSR, y
luego vuelva a cargar el programa y
entre en el modo de marcha REM.
0027 TOO MANY JSRs IN FAULT Hay más de 3 subrutinas anidadas Corrija el programa de usuario para
SUBROUTINE en la rutina de fallo (archivo 3). cumplir con los requisitos y
restricciones de la instrucción JSR, y
luego vuelva a cargar el programa y
entre en el modo de marcha REM.
002A INDEXED ADDRESS TOO El programa hace referencia a un Corrija el programa de usuario
LARGE FOR FILE elemento más allá de un límite de para que no exceda los límites de
archivo a través del direccionaĆ archivo.
miento indexado.
002B TOO MANY JSRs IN HSC Hay más de 3 subrutinas anidadas Corrija el programa de usuario para
en la rutina del contador de alta cumplir con los requisitos y
velocidad (archivo 4). restricciones de la instrucción JSR, y
luego vuelva a cargar el programa y
entre en el modo de marcha REM.
0030 SUBROUTINE NESTING Hay más de 8 subrutinas anidadas Corrija el programa de usuario para
EXCEEDS LIMIT OF 8 en el archivo de programa principal cumplir con los requisitos y restricĆ
(archivo 2). ciones para el archivo de programa
principal, y luego vuelva a cargar el
programa y entre en el modo de
marcha REM.

13–8
Cómo localizar y corregir fallos

 

  



 

    

  

 

0031 " "! 1',),37( (. 241*4$/$ 2$4$ 37(
. 241*4$/$ &106,(0( 70$
 !"! !! 61'$5 .$5 ,05647&&,10(5 5($0
,05647&&,<0(5 37( 01 (5
4(52$.'$'$5 214 (. &10641.$'14 9
&1/2$6,%.( &10 (.
.7(*1 87(.8$ $ &$4*$4 (. 241*4$/$
/,&41&10641.$'14 14 (-(/2.1
9 (064( (0 (. /1'1 '( /$4&+$
  # 1 


    ! "0 2$4;/(641 '( .10*,67'215,&,<0 144,-$ (. 241*4$/$ 2$4$ $5(*74$4
 " '( ,05647&&,<0 '(. 5(&7(0&,$'14 37( .15 2$4;/(6415 '( .10*,67' 9
,0',&$ 70 27061 /;5 $..; '(. ),0$. 215,&,<0 01 ,0',37(0 70 27061 /;5
'( 70 $4&+,81 '( '$615 $..; '(. $4&+,81 '( '$615 #7(.8$ $
&$4*$4 (. 241*4$/$ 9 (064( (0 (.
/1'1 '( /$4&+$ 


  "" . 2$4;/(641 '( .10*,67' '( 70$ 144,-$ (. 241*4$/$ 2$4$ $5(*74$4
  !  ,05647&&,<0      " 37( (. 2$4;/(641 '( .10*,67' 01
"  1 " ,0',&$ 70 27061 /;5 ,0',37( 70 27061 /;5 $..; '(.
$..; '(. ),0$. '( 70 $4&+,81 '( $4&+,81 '( '$615 #7(.8$ $ &$4*$4
'$615 (. 241*4$/$ 9 (064( (0 (. /1'1 '(
/$4&+$ 

!# #"  ! "0 8$.14 0(*$6,81 5( &$4*< $ 70 , (. 241*4$/$ 64$05),(4( 8$.14(5 $
 !  ""! 8$.14 24(5(.(&&,10$'1 '( .$ 2$.$%4$ $&7/7.$'$ 1
6(/214,:$'14 1 $&7/7.$'14 24(5(.(&&,10$'$ '( 70
6(/214,:$'14 $5(*=4(5( 37( (5615
8$.14(5 01 5($0 0(*$6,815 144,-$
(. 241*4$/$ 87(.8$ $ &$4*$4 9
(064( (0 (. /1'1 '( /$4&+$ 

  !"! . 241*4$/$ &106,(0( 70$ 144,-$ (. 241*4$/$ 87(.8$ $
!  !"!  ,05647&&,<0 '( ),0 6(/214$. ! &$4*$4 9 (064( (0 (. /1'1 '(
(0 $4&+,81
 < &7$0'1 5( 75$ /$4&+$ 
&1/1 57%476,0$ '( ,06(4472&,<0

#  !  "0 &(41  1 70 8$.14 24(5(.(&&,1> • #(4,),37( 37( .15 8$.14(5
!   "! 0$'1 $.61 0(*$6,81 5( &$4*< (0 (. 24(5(.(&&,10$'15 5($0 8;.,'15
&106$'14   &7$0'1 (.   • 144,-$ (. 241*4$/$ 87(.8$ $
(4$ 70 &106$'14 241*4(5,81 1 (. &$4*$4 9 (064( (0 (. /1'1 '(
8$.14 24(5(.(&&,10$'1 $.61 (4$ /;5 /$4&+$ 
%$-1 1 ,*7$. 37( (. 8$.14 24(5(.(&>
&,10$'1 %$-1 &7$0'1 (.   (4$
70 &106$'14 %,',4(&&,10$.

 ""! !" "0$ ,05647&&,<0 ! 5( (0&7(064$ .,/,0( .$ ,05647&&,<0 ! 87(.8$
 !"! !  (0 (. $4&+,81 '( 241*4$/$ 24,0&,2$. $ &$4*$4 (. 241*4$/$ 9 (064( (0 (.
  $4&+,81  /1'1 '( /$4&+$ 

13–9
Preface
Manual de referencia del juego de instrucciones

Código de Descripción
Mensaje de advertencia Acción recomendada
error (hex)
0040 "!"! #& $! :'3*4 1'8 8'1/*'8 ,:+743 +8)7/9'8 • +,/?7'8+ ' 1'8 5':9'8 *+
" = 1+@*'8 547 +1 )439741'*47 1' )43+</B3 ' 9/+77' )477+8543D
1+)9:7' ,'11B 8 548/(1+ 6:+ ,:+7' */+39+8 +3 +1 )'5@9:14 
)':8'*4 547 7:/*4 • 3)/+3*' +1 8/89+2'
• 42:3@6:+8+ )43 8:
7+57+8+39'39+ 14)'1 *+
11+3D7'*1+= 8/ +1 +7747 5+78/89+
  %! "!"! !  "3 (/9 *+ 8'1/*' '*/)/43'1 8+ • 89'(1+>)'  4 )'2(/+ 8:
!"  +89'(1+)/B ):'3*4 8+ 7+89'(1+)/B +1 '51/)')/B3 5'7'  6:+ +8948
(/9 *+ 8+1+))/B3 *+ (/9 '*/)/43'1 (/98 8+ ')9/;+3
  +3 +1 '7)./;4 *+ +89'*4 • 477/0' +1 574-7'2' ;:+1;' '
'7' 148 )439741'*47+8 *+  )'7-'7 = +397+ +3 +1 24*4 *+
2'7).' 
5:3948 +894 /3)1:=+ 148 (/98  
'7' 148 )439741'*47+8 *+

5:3948 +894 /3)1:=+ 148 (/98   

Error de carga

Código de Descripción
Mensaje de advertencia Acción recomendada
error (hex)
 "    "3 574-7'2' 34 )425'9/(1+ 8+ • #+7/,/6:+ 1' )43,/-:7')/B3 =
! $! )'7-B 1 574-7'2' 34 9/+3+ +1 '8+-C7+8+ 6:+ +1 574)+8'*47
! & ! 3C2+74 )477+)94 *+ '7)./;48 4 34 )477+)94 .'=' 8/*4
9/+3+ 148 '7)./;48 *+ *'948 *+ 8+1+))/43'*4
9'2'A4 )477+)94 1 574-7'2' • / *+8+' :8'7 :3 2/)74)43974D
1'*47 )43 +1 574-7'2' ;:+1;' '
57+*+9+72/3'*4 8+ )'7-' )43,/-:7'7 8: )439741'*47 )43
 4  8+1+))/43+ 41
 

13–10
Cómo localizar y corregir fallos

Fallos del procesador SLC

Los fallos del procesador se dividen en los tipos siguientes:


• errores de encendido
• errores de ida a marcha
• errores de marcha
• errores de instrucción del programa de usuario

Errores de encendido

Código de
Descripción Causa probable Acción recomendada
error (hex)
0001 Error NVRAM. • Ruido, Corrija el problema, vuelva a
• relámpago, cargar el programa y ejecute.
• conexión incorrecta a tierra, Puede usar la característica de
• falta de supresión de carga automática con un módulo
sobretensión en las salidas de memoria para volver a cargar
con cargas inductivas o automáticamente el programa y
• fuente de alimentación entrar en el modo de marcha.
eléctrica insuficiente.
• Pérdida de batería o
condensador auxiliar.
0002 Límite de tiempo sobrepasado • Ruido, Corrija el problema, vuelva a
inesperado del control • relámpago, cargar el programa y ejecute.
(watchdog) de hardware • conexión incorrecta a tierra, Puede usar la característica de
• falta de supresión de carga automática con un módulo
sobretensión en salidas con de memoria para volver a cargar
cargas inductivas o automáticamente el programa y
• fuente de alimentación entrar en el modo de marcha.
eléctrica insuficiente.
0003 Error de memoria del módulo de El módulo de memoria está Vuelva a programar el módulo de
memoria. Este error también alterado. memoria. Si el error persiste,
puede ocurrir cuando se entra en reemplace el módulo de
el modo de marcha REM. memoria.
0007 Fallo durante la transferencia del El módulo de memoria está Vuelva a programar el módulo de
módulo de memoria. alterado. memoria. Si el error persiste,
reemplace el módulo de
memoria.

13–11
Preface
Manual de referencia del juego de instrucciones

Código de
Descripción Causa probable Acción recomendada
error (hex)
0008 Error  software interno. Un error inesperado de software Corrija el problema, vuelva a
ocurrió debido a: cargar el programa y ejecute.
• Ruido, Puede usar la característica de
• relámpago, carga automática con un módulo
• conexión a tierra incorrecta, de memoria para volver a cargar
• falta de supresión de automáticamente el programa y
sobretensión en la salida con entre en el modo de marcha.
cargas inductivas o Si el problema vuelve a ocurrir,
• fuente de alimentación comníquese con su
insuficiente. representante RSI.
0009 Error de hardware interno. Un error inesperado de hardware Corrija el problema, vuelva a
ocurrió debido a: cargar el programa y ejecute.
• Ruido, Puede usar la característica de
• relámpago, carga automática con un módulo
• conexión incorrecta a tierra, de memoria para volver a cargar
• falta de supresión de automáticamente el programa y
sobretensión en la salida con entre en el modo de marcha.
cargas inductivas o Si el problema vuelve a ocurrir,
• fuente de alimentación comuníquese con su
eléctrica insuficiente. representante A-B.

Errores de ida a marcha


Código de Descripción Causa probable Acción recomendada
error (hex)
0010 El procesador no cumple con el El nivel de revisión del procesador Comuníquese con su represenĆ
nivel de revisión requerido. no es compatible con el nivel de tante local de A-B para adquirir
revisión para el cual el programa un juego de actualización para su
fue desarrollado. procesador.
0011 El archivo de programa Está presente un programa no Vuelva a cargar el programa o
ejecutable número 2 está compatible o alterado. vuelva a programar con software
ausente. de programación APS aprobado
por RSI.
0012 El programa de escalera tiene un • Ruido, Corrija el problema, vuelva a
error de memoria. • relámpago, cargar el programa y ejecute. Si
• conexión incorrecta a tierra, el error persiste, asegúrese de
• falta de supresión de sobreĆ usar un softwae de programación
tensión en las salidas con APS aprobado por RSI para
cargas inductivas o desarrollar y cargar el programa.
• fuente de alimentación
insuficiente.
0013 • El módulo de memoria • Uno de estos bits de estado • Instale un módulo de memoria
requerido está ausente o está establecido en el programa en el procesador o
• S:1/10 ó S:1/11 no está pero el módulo de memoria • cargue el programa desde el
establecido según lo requerido requerido está ausente o procesador hacia el módulo de
por el programa. • el bit de estado S:1/10 ó memoria.
S:1/11 no está establecido en
el programa almacenado en el
módulo de memoria, sino
establecido en el programa en
la memoria del procesador.

13–12
Cómo localizar y corregir fallos

Código de
Descripción Causa probable Acción recomendada
error (hex)
0014 Error de archivo interno. • Ruido, Corrija el problema, vuelva a
• relámpago, cargar el programa y ejecute. Si
• conexión incorrecta a tierra, el error persiste, asegúrese de
• falta de supresión de sobreĆ usar el software de programación
tensión en las salidas con APS aprobado por RSI para
cargas inductivas o desarrollar y cargar el programa.
• fuente de alim. eléc. insuficiente
0015 Error de archivo de • Ruido, Corrija el problema, vuelva a
configuración. • relámpago, cargar el programa y ejecute. Si
• conexión incorrecta a tierra, el error persiste, asegúrese de
• falta de supresión de sobreĆ usar el software de programación
tensión en las salidas con APS aprobado por RSI para
cargas inductivas o desarrollar y cargar el programa.
• fuente de alim. eléc. insuficiente
0016 Protección de encendido El bit de estado S:1/9 ha sido • Restablezca el bit S:1/9 si eso
después de la pérdida de establecido por el programa de es coherente con los
alimentación eléctrica. Existe usuario. Refiérase al capítulo 1 requisitos de aplicación y
una condición de error durante el para obtener detalles acerca de retorne el modo a marcha o
encendido cuando el bit S:1/9 se la operación del bit de estado • ponga a cero S:1/13, el bit de
establece y ocurre una interrupĆ S:1/9. fallo mayor, antes de que se
ción del suministro eléctrico alcance el final del primer
durante el estado en marcha. escán de programa.
0017 Desigualdad del programa de El bit S:2/9 es establecido y el Transfiera el programa de
usuario del módulo programa de usuario del módulo módulo de memoria a NVRAM y
NVRAM/memoria . de memoria no corresponde al cambie al modo de marcha.
programa de usuario NVRAM.
0018 Programa de usuario no compaĆ El programa de usuario es Comníquese con su representante
tible. Desigualdad del tipo de demasiado avanzado y no se RSI para obtener información acerĆ
sistema de operación. Este error puede ejecutar en el sistema de ca de sistemas de operación disĆ
también puede aparecer durante operación actual. ponibles para el procesador 5/03.
el encendido.
0019 Un número de etiqueta duplicado Una instrucción de etiqueta • Quite la etiqueta duplicada o
se detectó. duplicada o faltante se encontró • añada una etiqueta.
en una subrutina.

Errores de marcha
Código de
Descripción Causa probable Acción recomendada
error (hex)
001F Un problema de integridad del Un ruido, pérdida de comunicación Vuelva a cargar el programa y
programa ocurrió durante una o desconexión y reconexión de vuelva a introducir los cambios.
sesión de edición en línea. alim. eléc. ocurrió durante una
sesión de edición en línea.
0004 Un error de memoria ocurrió • Ruido, Corrija el problema, vuelva a
durante el modo de marcha. • relámpago, cargar el programa y ejecute.
• conexión a tierra, Puede usar la característica de
• falta de supresión de sobreĆ carga automática con un módulo
tensión en las salidas con de memoria para volver a cargar
cargas inductivas o el programa automáticamente y
• fuente de alim. eléc. insuficiente entrar en el modo de marcha.

13–13
*
Manual de referencia del juego de instrucciones

4" ' 
+*"("4& -+ (*'$ "4& *'%&
**'* !/
  ) bit de error menor se • Un overflow de instrucción Corrija el problema de
establece al final del escán. matemática o FRD ha ocurrido, programación, vuelva a cargar el
Refiérase a los bits de error • un error de instrucción de programa y entre en el modo de
menor S:5 (byte inferior registro de desplazamiento o marcha. Vea también los bits de
solamente). secuenciador se detectó, error menor S:5 en el apéndice B.
• un error mayor se detectó
durante la ejecución de una
rutina de fallo de usuario, o
• las direcciones de archivo
M0-M1 fueron indicadas en el
programa de usuario para una
ranura inhabilitada.
  Un fallo de alim. eléc. remota de Procesadores compactos y FRN1 Procesadores fijos y FRN 1 a 4
un chasis de E/S de expansión A 4 SLC 5/01: la alimentación SLC 5/01: Desconecte y vuelva
ha ocurrido. eléctrica se interrumpió o la a conectar la alimentación
alimentación eléctrica se redujo eléctrica al chasis local.
Nota: Un sistema modular que momentáneamente bajo los
encuentra una condición de valores especificados para un Procesadores SLC 5/02 y
sobretensión o sobreintensidad chasis de expansión. procesadores FRN 5 SLC 5/01:
en cualquiera de sus fuentes de Vuelva a aplicar la alimentación
alim. eléc. puede provocar Procesadores SLC 5/02 y eléctrica al chasis de expansión.
cualquiera de los códigos de procesadores FRN 5 SLC 5/01:
error de E/S indicados en las Este código de error está
páginas 13-18 a 13-21 (en vez presente solamente mientras la
de código 0021). La condición alimentación eléctrica no se
de sobretensión o sobreintensiĆ aplica a un chasis de expansión.
dad se indica por un LED de Este es el único código que se
fuente de alim. eléc. apagado. pone a cero automáticamente. El
fallo se borrará cuando la
*'+'*+ "#'+ 0   alimentación eléctrica se vuelva a
!     +" $ $$'  aplicar al chasis de expansión.
$"% $3 *%', '-**"4
%"&,*+ )- $ (*'+5
'* +, & $ %'' 
%*!  **'*  
-+*2 )- $ ",  **'*
%0'* ,&"'  
 +
('&   *' -*&, $
(*4/"%' &&"' $
!+"+ $'$

*'+'*   0
(*'+'*+  
  &' + &+*"'
+'&,* 0 .'$.* 
'&,* $ $"% $3 (*
*&-* $ %'' 
%*!  & .1 )-
$ !+"+ +,2 *'&,'
 $ $"% $3 $ 
.-$.  "&""* $ +"+,%

13–14
Cómo localizar y corregir fallos

Código de
Descripción Causa probable Acción recomendada
error (hex)
0022 # +!$'&  *3%  &%+)&# • El tiempo de control • Incremente el límite de tiempo
(watchdog) de usuario ha sido (watchdog) se estableció sobrepasado del control
excedido. demasiado bajo para el (watchdog) en el archivo de
programa de usuario, o estado (S:3H), o
• el programa de usuario se • corrija el problema del
atrapó en un lazo. programa de usuario.
0023 Archivo de interrupción STI • Un número de archivo de • Inhabilite el punto de ajuste de
inválido o no existente. interrupción STI fue asignado interrupción STI (S:30) y el no.
en el archivo estado, pero el de archivo (S:31) en el archivo
archivo de subrutina no fue de estado, o
creado, o • cree un archivo de subrutina de
• el número de archivo de interrupción STI para el no. de
interrupción STI asignado era archivo asignado en el archivo
0, 1 ó 2. de estado (S:31). El no. de
archivo no debe ser 0, 1 ó 2.
0024 Intervalo de interrupción STI El punto de ajuste STI se • Inhabilite el punto de ajuste de
inválido (mayor que 2550 ms o encuentra fuera de los límites interrupción STI (S:30) y el no.
negativo) (mayor que 2550 ms o negativo). de archivo (S:31) en el archivo
de estado, o
• cree una rutina de interrupción
STI para el no. de archivo
indicado en el archivo de
estado (S:31). El no. de
archivo no debe ser 0, 1 ó 2.
0025 Exceso de profundidad de Una instrucción JSR está Corrija el programa de usuario
pila/llamadas JSR para la rutina llamando un número de archivo para cumplir con los requisitos y
STI. asignado a una rutina STI. restricciones para la instrucción
JSR, y luego vuelva a cargar el
programa y ejecute.
0026 Exceso de profundidad de Una instrucción JSR está Corrija el programa de usuario
pila/llamadas JSR para una llamando un número de archivo para cumplir con los requisitos y
rutina de interrupción de E/S asignado a una rutina de restricciones para la instrucción
interrupción de E/S. JSR, y luego vuelva a cargar el
programa y ejecute.
0027 Exceso de profundidad de Una instrucción JSR está Corrija el programa de usuario
pila/llamadas JSR para una llamando un número de archivo para cumplir con los requisitos y
rutina de fallo de usuario. asignado a una rutina de fallo de restricciones para la instrucción
usuario. JSR, y luego vuelva a cargar el
programa y ejecute.
0028 Valor de archivo de rutina de fallo • Un número de archivo de • Inhabilite el número de archivo
de protección de encendido" no rutina de fallo se creó en el de rutina de fallo (S:29) en el
válido o no existente. archivo de estado, pero el archivo de estado, o
archivo de rutina de fallo no • cree una rutina de fallo para el
fue creado físicamente, o número de archivo indicado en
• el número de archivo creado el archivo de estado (S:29). El
era 0, 1 ó 2. no. de archivo no debe ser 0,
1 ó 2.

13–15
 
Manual de referencia del juego de instrucciones

' 
! ' #!   ' 
  %
 La referencia de la dirección El programa está haciendo Corrija y vuelva a cargar el
indexada +,2 fuera de todo el referencias a un elemento,a programa de usuario. Este
espacio de archivo de datos través del direccionamiento problema no puede ser corregido
(rango de B3:0 al último indexado, el cual se encuentra escribiendo a la palabra de
archivo). fuera de los límites permitidos. registro de índice (S:24).
  !   Los límites son de B3:0 al último
! #! # $  &  elemento del último archivo de
     !" #' datos creado por el usuario.
  !#"  
# '    
 La referencia de dirección El programa está haciendo Corrija el programa de usuario,
indexada está fuera del archivo referencias a un elemento, a asigne más espacio de datos
de datos indicado específico. través del direccionamiento usando el mapa de memoria o
indexado, el cual se encuentra vuelva a guardar el programa
fuera del límite de archivo. permitiendo el cruzado de límites
de archivo. Vuelva a cargar el
programa de usuario. Este
problema no puede ser corregido
escribiendo a la palabra de
registro de índice (S:24).

Existe un número de archivo no El número de archivo existe, pero Verifique el tipo de archivo o cree
válido para una dirección no es el tipo de archivo correcto el número de archivo.
indirecta. o el número de archivo no existe.
 El elemento de dirección El elemento indirectamente Cree el elemento indirectamente
indirecto indicado está fuera de indicado no existe, pero el tipo de indicado.
los límites del archivo de datos. archivo es correcto y existe.
 Existe un subelemento de Se hace referencia a un Corrija las referencias y reintente.
dirección indirecto indicado no subelemento incorrectamente o
válido. una referencia indirecta ha sido
efectuada a un archivo M.
 Ranura de entrada DII no válida. La ranura indicada está vacía o Cambie la ranura de entrada a
una tarjeta de E/S no discreta una tarjeta de E/S discreta.
está presente.
 Archivo de interrupción DII no • Un número de archivo de Inhabilite la función DII
válido o no existente. interrupción DII fue asignado escribiendo un cero a esta
al archivo de estado, pero el ubicación, o cambie el valor a un
archivo de subrutina no fue archivo de escalera válido
creado, o (3-255).
• el número de archivo de
interrupción DII asignado era
0, 1 ó 2.

13–16
Cómo localizar y corregir fallos

Errores de instrucción de programa de usuario

Código de
Descripción Causa probable Acción recomendada
error (hex)
0030 % )-3%-3< 2!+3!1 4- !1#()5. $% • Más que el máximo de 4 (8 si Corrija el programa de usuario
24"143)-! !-)$!$. %- exceso. usa un procesador 5/02 ó para cumplir con los requisitos y
Este código también puede 5/03) niveles de subrutinas restricciones para la instrucción
significar que un problema tiene anidadas es llamado en el JSR y luego vuelva a cargar el
posibles rutinas recursivas. programa de usuario, o programa y ejecute.
• la(s) subrutina(s) llama(n)
subrutina(s) de un nivel
anterior.
0031 Se detectó una referencia de El tipo o nivel de serie del • Reemplace el procesador con
instrucción no compatible. procesador no tiene capacidad uno que tenga capacidad para
para un instrucción que reside en el programa de usuario, o
el programa de usuario, o usted • modifique el programa de
ha programado una constante usuario para que todas las
como el primer operando de una instrucciones sean respaldaĆ
instrucción de comparación. das por el procesador, y luego
vuelva a programar y ejecute.
0032 Un parámetro de longitud/ El programa está haciendo Corrija el programa de usuario o
posición de instrucción de referencia a un elemento fuera asigne más espacio de archivo
secuenciador indica más allá del del límite de archivo establecido de datos usando el mapa de
final de un archivo de datos. por la instrucción de memoria, y luego vuelva a cargar
secuenciador. y ejecute.
0033 El parámetro de longitud de una El programa está haciendo Corrija el programa de usuario o
instrucción LFU, LFL, FFU, FFL, referencia a un elemento fuera asigne más espacio de archivo
BSL o BSR indica más allá del del límite de archivo establecido de datos usando el mapa de
final de un archivo de datos. por la instrucción. memoria, y luego vuelva a cargar
y ejecute.
0034 Un valor negativo para un El valor acumulador o preselecĆ Si el programa de usuario
acumulador de temporizador o cionado de un temporizador en el transfiere valores a la palabra
valor preseleccionado fue programa de usuario se detectó acumulada o preseleccionada de
detectado. como negativo. un temporizador, asegúrese que
Procesadores fijos con entrada estos valores no puedan ser
de 24 VCC solamente: un HSC negativos. Corrija el programa
preseleccionado negativo o de de usuario, vuelva a cargar y
cero se detectó en una ejecute.
instrucción HSC.
0034 Un HSC preseleccionado El valor preseleccionado para la Si el programa de usuario
(relacionado con negativo o de cero se detectó en instrucción HSC está fuera del transfiere valores a la palabra
la instrucción una instrucción HSC. rango válido. El rango válido es acumulada o preseleccionada de
fija 5/01 HSC) 1-32767. un temporizador, asegúrese que
estos valores no puedan ser
negativos. Corrija el programa
de usuario, vuelva a cargar y
ejecute.
0035 La instrucción TND, SV o REF se Una instrucción TND, SVC o REF Corrija el programa de usuario,
llama dentro de una rutina de se usa en una rutina de vuelva a cargar y ejecute.
interrupción o fallo de usuario. interrupción o fallo de usuario.
Esto es ilegal.

13–17
Preface
Manual de referencia del juego de instrucciones

Código de
Descripción Causa probable Acción recomendada
error (hex)
 ! valor no )+" & usa para un Un valor no válido se cargó en El código 0036 se trata en el
parámetro de instrucción PID. una instrucción PID por el capítulo 9 de este manual.
programa de usuario o por el
usuario vía la función de monitor
de datos para esta instrucción.
 Una instrucción RET se detectó Una instrucción RET reside en el Corrija el programa de usuario,
en un archivo que no es una programa principal. vuelva a cargar y ejecute.
subrutina.
 Ocurrió un intento de escribir a Se intentó escribir a una Elimine la protección y reintente
un archivo de datos protegido. dirección indirecta ubicada en un la función.
archivo que tiene protección de
archivo de datos constante.
 Una longitud de cadena no válida La primera palabra de los datos Verifique la primera palabra de
se detectó en un archivo de de cadena contiene un valor los elementos de datos de
cadena. negativo, de cero o mayor que 82. cadena en busca de valor
inválidos y corrija los datos de
usuario.

13–18
Cómo localizar y corregir fallos

00.0'1 &'  !  ! 44  "


   &* caracteres .. en #- 44 #- 44 #- 44 #- 44
los 4!&* *!,!%+* )')*%+% # %5$)&
 )%,) % hexadecimal. Si la ranura precisa       

no se puede determinar, los caracteres xx se        
convierten en 03 para los controladores fijos y        
1F para los controladores modulares. Refiérase        
a la tabla a la derecha.

   
 
      
   !
(procesadores SLC 5/02, SLC 5/03 y SLC 5/04  
    
solamente): Muchos de los fallos de E/S son      
recuperables. Para recuperarlos, usted debe
inhabilitar la ranura xx especificada en la rutina
de fallo de usuario. Si no inhabilita la ranura xx,
el procesador estará con fallo al final del escán.
.2# Una tarjeta de E/S muy dañada puede
causar que el procesador indique la existencia
de un error en la ranura 1 aunque la tarjeta
dañada fuera instalada en una ranura distinta
de 1.

5&*(. &'
'1%0*/%*5- #31# /0.$#$+' %%*5- 0'%.,'-&#&#
'00.0 )'4
44  Un error de datos de chasis se • Ruido, Corrija el problema, borre el fallo
detecta. • relámpago, y vuelva a entrar en el modo de
• conexión incorrecta a tierra, marcha.
• falta de supresión de sobreĆ
tensión en las salidas con
cargas inductivas, o
• fuente de alimentación
eléctrica insuficiente.
44  Un error de tiempo de ejecución Si éste es un módulo de E/S Desconecte y vuelva a conectar
atascado" se detecta en un discretas, se trata de un la alimentación eléctrica el
módulo de E/S. problema de ruido. Si éste es un sistema. Si eso no corrige el
módulo de E/S especial, refiérase problema, reemplace el módulo.
al manual de usuario corresponĆ
diente para obtener la causa
probable.
44  Un módulo requerido para el Un módulo de E/S configurado • Inhabilite la ranura en el
programa de usuario se detecta para una ranura determinada archivo de estado (S:11 y
como faltante o quitado. hace falta o ha sido eliminado. S:12), o
• inserte el módulo requerido en
la ranura.

13–19
Preface
Manual de referencia del juego de instrucciones

Código de
Descripción Causa probable Acción recomendada
error (hex)
 Cuando está de ida a marcha, un • La ranura de E/S no está • Inhabilite la ranura en el
programa declara una ranura configurada para un módulo, archivo de estado (S:11 y
como no usada y se detecta que pero hay un módulo presente, o S:12), borre el fallo y ejecute,
dicha ranura tiene un módulo de • el módulo de E/S se ha • quite el módulo, borre el fallo y
E/S insertado. Este código restablecido por sí mismo. ejecute, o
también puede significar que un • modifique la configuración de
módulo de E/S se ha E/S para que incluya el
restablecido. módem, y luego vuelva a
cargar el programa y ejecute.
• Si usted percibe que el
módulo se ha restablecido,
borre el error mayor y ejecute.
Específico para SLC 5/03 - Se Un chasis sin módulos de E/S. Inhabilite todas las ranuras en el
intentó entrar en el modo de chasis vacío (vea S:11 y S:12).
marcha o prueba con un chasis
vacío.
 Un módulo requerido para el Un módulo de E/S en una ranura • Reemplace el módulo con el
programa de usuario se detecta determinada es de tipo diferente módulo correcto, borre el fallo
que es del tipo incorrecto. que el configurado para dicha y ejecute, o
ranura por el usuario. • cambie la configuración de
E/S para la ranura, vuelva a
cargar el programa y ejecute.
 Un módulo de E/S discreto • Si éste es un módulo de E/S • Si éste es un módulo de E/S
requerido para el programa de discreto, el conteo de E/S es discreto, reemplácelo con un
usuario se detecta que tiene un diferente del conteo módulo con el conteo de E/S
conteo incorrecto de E/S. seleccionado en la seleccionado. Luego, borre el
configuración de E/S. fallo y ejecute, o
Este código también puede • Si éste es un módulo de E/S • cambie la configuración de
significar que un variador de especial, el controlador de E/S para que corresponda al
tarjeta especial es incorrecto. tarjeta es incorrecto. módulo existente, luego
vuelva a cargar el programa y
ejecute.
• Si éste es un módulo de E/S
especial, refiérase al manual
de usuario para dicho módulo.
 La configuración de chasis La configuración de chasis Corrija la configuración de
especificada en el programa de especificada por el usuario no chasis, vuelva a cargar el
usuario se detecta como corresponde al hardware. programa y ejecute.
incorrecta.
 Un módulo de E/S especial no ha El módulo de E/S especial no Desconecte y vuelva a conectar
respondido a un comando de responde al procesador dentro la alim. eléc. al chasis. Si esto
memoria de bloque compartido del tiempo permitido. no corrige el problema, refiérase
dentro del límite de tiempo al manual de usuario del módulo
requerido. de E/S especial. Puede ser
necesario reemplazar el módulo.
 Un módulo de E/S especial ha Refiérase al manual de usuario Desconecte y vuelva a conectar
generado un fallo genérico. El bit del módulo de E/S especial. la alim. eléc. al chasis. Si esto
de fallo de tarjeta se establece no corrige el problema, refiérase
(1) en el byte de estado del al manual de usuario del módulo
módulo. de E/S especial. Puede ser
necesario reemplazar el módulo.

13–20
Cómo localizar y corregir fallos

 
      
 
 " módulo de E/S especial no ha Un módulo de E/S especial no Refiérase al manual de usuario
respondido a un comando como finalizó un comando desde el del módulo de E/S especial.
finalizado dentro del límite de procesador dentro del tiempo Puede ser necesario reemplazar
tiempo requerido. permitido. el módulo.
 Problema de interrupción de Si éste es un módulo de E/S Desconecte y vuelva a conectar
hardware. discreto, se trata de un problema la alim. eléc. al chasis. Verifique
de ruido. Si éste es un módulo si hay un problema de ruido y
de E/S especial, refiérase al asegúrese de usar las prácticas
manual de usuario del módulo. de conexión a tierra adecuadas.
Si éste es un módulo de E/S
especial, refiérase al manual de
usuario del módulo. Puede ser
necesario reemplazar el módulo.

Error de configuración de archivo El archivo G es incorrecto para el Refiérase al manual de usuario
G - el tamaño del archivo G de módulo en esta ranura. del módulo de E/S especial.
programa de usuario excede la Vuelva a configurar el archivo G
capacidad del módulo. según lo instruido en el manual, y
luego vuelva a cargar y ejecute.
 Error de configuración de archivo Los archivos M0-M1 son Refiérase al manual de usuario del
M0-M1 - el tamaño de archivo incorrectos para el módulo en módulo de E/S especial. Vuelva a
M0-M1 del programa de usuario esta ranura. configurar el archivo M0-M1 según
excede la capacidad del módulo. lo instruido en el manual, luego
vuelva a cargar y ejecute.
 El servicio de interrupción El módulo especial de E/S ha Refiérase al manual de usuario del
solicitado no es comptabile con el solicitado servicio y el procesador módulo de E/S especial para
procesador. no tiene capacidad para ello. determinar cuáles procesadores
tienen capacidad para el uso del
módulo. Cambie el procesador a
uno que tenga capacidad para el
módulo.
 Error de controlador (software) Software de controlador de E/S Vuelva a cargar el programa
del procesador de E/S. de procesador alterado. usando software APS aprobado
por RSI.
 Identifica un error mayor - -
 recuperable específico para el
 módulo de E/S.
 Identifica un error mayor no - -
 recuperable específico para el
 módulo de E/S.
 Problema de interrupción en una Un módulo especial de E/S Refiérase al manual de usuario
ranura inhabilitada. solicitó servicio durante la del módulo especial de E/S.
inhabilitación de una ranura. Puede ser necesario reemplazar
el módulo.
 Una ranura inhabilitada ha Un módulo especial de E/S en Desconecte y vuelva a conectar
fallado. una ranura inhabilitada ha la alim. eléc. al chasis. Si esto
fallado. no corrige el problema, refiérase
al manual de usuario del módulo
especial de E/S. Puede ser
necesario reemplazar el módulo.

13–21
Preface
Manual de referencia del juego de instrucciones

Código de
Descripción Causa probable Acción recomendada
error (hex)
xx92 Archivo de subrutina de La información del archivo de Corrija la información de archivo
interrupción (ISR) de módulo configuración de E/S / ISR para de configuración de E/S / ISR
inválido o no existente. un módulo de E/S especial no es para el módulo de E/S especial.
correcta. Refiérase al manual de usuario
del módulo para obtener la
información de archivo ISR
correcta. Luego, vuelva a cargar
el programa y ejecute.
xx93 Error mayor específico para el El procesador no reconoce el Refiérase al manual de usuario
módulo de E/S sin capacidad. código de error de un módulo de del módulo de E/S especial.
E/S especial.
xx94 Un módulo ha sido detectado El módulo fue insertado en el Nunca se debe insertar un
como insertado con la chasis conectado a la módulo en un chasis conectado a
alimentación eléctrica conectada alimentación eléctrica o el la alimentación eléctrica. Si eso
en el modo de marcha o prueba. módulo se ha restablecido. ocurre y el módulo no sale
Esto también puede significar dañado,
que un módulo de E/S se ha • quite el módulo, borre el fallo y
restablecido. ejecute, o
• añada el módulo a la
configuración de E/S, haga
referencia al módulo en el
programa de usuario donde se
requiera, vuelva a cargar el
programa y ejecute.

13–22
Cómo localizar y corregir fallos

Cómo localizar y corregir fallos de los procesadores


SLC 5/03 y SLC 5/04
El único modo de comunicación entre usted y el procesador entre el momento en
que usted conecta la alimentación eléctrica al procesador SLC 5/03 ó SLC 5/04 y el
momento en que éste pueda establecer comunicación con un dispositivo de
programación conectado, es por medio de la pantalla LED.

Cómo encender la pantalla LED

Cuando se aplica la alimentación eléctrica, todos los LED parpadean


momentáneamente y luego se apagan. Esta es parte de la secuencia de encendido
normal. Luego del autodiagnóstico del procesador, todos los LED volverán a
parpadear momentáneamente. Si el programa de usuario está en un estado de
marcha, el LED de MARCHA se ilumina. Si un fallo existe dentro del procesador,
el LED FLT se ilumina.

Cómo identificar errores del procesador durante la descarga de un sistema


de operación

El proceso de descarga dura aproximadamente 45 segundos. Durante este período,


observe la pantalla LED para ver la información de estado. Durante el progreso de
la descarga, los LED de MARCHA y FLT permanece apagados. Los LED de
RS232, DH485 ó DH+, FORCE y BATT se iluminan en una secuencia previamente
definida. Si la descarga se realiza exitosamente, los LED anteriores se iluminan.

Si ocurre un error durante el proceso de descarga de un módulo de memoria del tipo


sistema de operación o durante el proceso de autodiagnóstico de encendido normal,
el LED FLT se ilumina y los cuatro LED se parpadean intermitentemente a una
velocidad de 2 segundos.

13–23
 
Manual de referencia del juego de instrucciones

La tabla siguiente describe las posibles combinaciones LED que se muestran


alternadamente cada vez qie los LED se iluminen parpadeando.

     


   
FAULT, FORCE, DH485 ó DH+ Existe un error de hardware fatal.
Existe un límite de tiempo sobrepasado de control
FAULT, FORCE, RS232, DH485 ó DH+
(watchdog) de hardware.
FAULT, BATT Existe un error NVRAM.
El contenido del módulo de memoria del sistema de
FAULT, BATT, RS232
operación está alterado.
El sistema de operación descargable no es compatible
FAULT, BATT, DH485 ó DH+
con el hardware.
Se intentó descargar el sistema de operación en la
FAULT, BATT, RS232, DH485 ó DH+
memoria de escritura protegida.
FAULT, BATT, FORCE Fallo de Flash EEPROM.
Fallo durante la transmisión del sistema de operación
FAULT, BATT, FORCE, RS232
descargable.
El sistema de operación está ausente o ha sido
FAULT, BATT, FORCE, DH485 ó DH+
alterado.

13–24
Archivo de estado del controlador MicroLogix 1000

A Archivo de estado del


controlador MicroLogix 1000
Este apéndice enumera:
• el archivo de estado del controlador MicroLogix 1000
• los tiempos de ejecución de instrucción y el uso de memoria de instrucción

Este apéndice trata las funciones del archivo de estado de los controladores
MicroLogix 1000.

A–1
 
Manual de referencia del juego de instrucciones

Descripción general del archivo de estado


El archivo de estado le permitir monitorizar cómo funciona el sistema de operación
y le permite dirigirlo de la manera que usted desea que funcione. Esto se efectúa
usando el archivo de estado para establecer bits de control y monitorizar los fallos
de hardware y software y otra informacióin de estado.
Nota No escriba a palabras reservadas en el archivo de estado. Si va a escribir a los
datos de archivo de estado, primero es imprescindible que entienda a fondo la
función.

El archivo de estado S: contiene las palabras siguientes:


  

 

S:0 Indicadores aritméticos A-3
S:1L (byte bajo) Estado/control del modo de controlador (bajo) A-4
S:1H (byte alto) Estado/control del modo de controlador (alto) A-4
S:2L (byte bajo) Estado/control del modo alterno de controlador (bajo) A-7
S:2H (byte alto) Estado/control del modo alterno de controlador (alto) A-7
S:3L (byte bajo) Tiempo de escán actual A-9
S:3H (byte alto) Tiempo de escán de control (watchdog) A-9
S:4 Base de tiempo A-10
S:5 Bits de error menor A-10
S:6 Código de error mayor A-12
S:7 Código de suspensión A-16
S:8 a S:12 Reservado A-16
S:13, S:14 Registro matemático A-16
S:15L (byte bajo) Reservado A-16
S:15H (byte alto) Velocidad en baudios A-16
S:16 a S:21 Reservado A-17
S:22 Tiempo de escán observado máximo A-17
S:23 Reservado A-17
S:24 Registro de índice A-17
S:25 a S:29 Reservado A-17
S:30 Punto de ajuste STI A-17
S:31 y S:32 Reservado A-17

A–2
Archivo de estado del controlador MicroLogix 1000

Descripciones de archivo de estado


Las tablas siguientes describen las funciones del archivo de estado a partir de la
dirección S:0 hasta la dirección S:32.

Cada bit de estado se clasifica como uno de los siguientes:


• Estado — Use estas palabras, bytes o bits para monitorizar la operación del
controlador o la información de estado del controlador. El programa de usuario
o el dispositivo de programación raras veces escribe a la información (a menos
que usted desee restablecer o borrar una función tal como un bit de monitor).
• Configuración dinámica — Use estas palabras, bytes o bits para seleccionar
opciones de controlador mientras esté en línea con el controlador.
• Configuración estática — Use estas palabras, bytes o bits para seleccionar
opciones de controlador mientras que esté en el modo de programa fuera de
línea antes de descargar el programar de usuario.

       



S:0 Indicadores Los indicadores aritméticos son evaluados por
aritméticos y el controlador después de la ejecución de
de estado de determinadas instrucciones matemáticas y de
escán manejo de datos. El estado de estos bits
permanece válido hasta que se ejecuten
determinadas instrucciones matemáticas y de
manejo de datos en el programa.
S:0/0 Acarreo Estado Este bit es establecido por el controlador si un
acarreo o prestado matemático se genera. De
lo contrario, el bit permanece puesto a cero.
Este bit es evaluado como función matemática
sin signo. Cuando una rutina STI, contador de
alta velocidad o fallo interrumpe la ejecución
normal del programa, el valor original de S:0/0
se restaura cuando la ejecución se reanuda.
S:0/1 Overflow Estado Este bit es establecido por el controlador
cuando el resultado de una operación
matemática no se adapta a su destino. De lo
contrario, el bit permanece puesto a cero.
Cuando el bit se establece, el bit de
interrupción por overflow S:5/0 también se
establece, con la excepción del bit ENC.
Refiérase a S:5/0. Cuando una rutina STI,
contador de alta velocidad o fallo interrumpe la
ejecución normal del programa, el valor
original de S:0/1 se restaura cuando la
ejecución se reanuda.

A–3
 
Manual de referencia del juego de instrucciones

 
   
   

S:0/2 Cero Estado Este bit es establecido por el controlador cuando


el resultado de una determinada operación
matemática o de manejo de datos es cero. De
lo contrario, el bit permanece puesto a cero.
Cuando una rutina STI, contador de alta
velocidad o fallo interrumpe la ejecución normal
del programa, el valor original de S:0/2 se
restaura cuando la ejecución se reanuda.
S:0/3 Signo Estado Este bit es establecido por el controlador cuando
el resultado de una determinada operación
matemática o de manejo de datos es negativo.
De lo contrario, el bit permanece puesto a cero.
Cuando una rutina STI, contador de alta
velocidad o fallo interrumpe la ejecución normal
del programa, el valor original de S:0/3 se
restaura cuando la ejecución se reanuda.
S:0/4 a Reservado
S:0/7
S:0/8 Configuración Configuración Este bit debe ser establecido por el usuario
de E/S de estática cuando se escribe a salidas no usadas. Si las
extensión salidas restablecidas y no usadas se activan,
el controlador estará con fallo (41H).
S:0/9 a Reservado
S:0/15
S:1/0 a Estado/control Estado Los bits 0-4 funcionan así:
S:1/4 del modo de 0 0000 = (0) Descarga remota en progreso
controlador 0 0001 = (1) Modo
M d de d programa remoto
0 0011 = (3) Pausa de suspen. (operación sido
detenida por la ejec.
ejec de instr
instr. SUS)
0 0110 = (6) Modo de marcha remota
0 0111 = (7) Modo continuo de prueba remota
0 1000 = (8) Modo de un solo escán de
prueba remota
S:1/5 Forzados Estado Este bit es establecido por el controlador (1) para
habilitados indicar que los forzados siempre son habilitados.
S:1/6 Forzados Estado Este bit es establecido por el controlador para
instalados indicar que los forzados han sido establecidos
por el usuario.
S:1/7 Comms Estado Este bit es establecido por el controlador
activos cuando el controlador recibe datos válidos de
su canal RSĆ223. Si el controlador no recibe
datos válidos durante 10 segundos a través de
este canal, el bit se restablece.
S:1/8 Anulación de Configuración Una vez establecido, este bit causa que el
fallo al estática controlador ponga a cero el bit de error mayor
encendido detenido S:1/13 y los bits de error menor S:5/0 a
S:5/7 al momento de encendido si el procesador
había estado anteriormente en el modo de
marcha REM y había estado con fallo. Luego, el
controlador intenta entrar en el modo de marcha
REM. Establezca este bit usando la función de
monitor de datos fuera de línea únicamente.

A–4
Archivo de estado del controlador MicroLogix 1000

Dirección Bit Clasificación Descripción


S:1/9 Fallo de Configuración Cuando este bit se establece y la alimentación
protección de estática eléctrica se desconecta y se vuelve a conectar
encendido mientras el controlador esté en el modo de
marcha REM, el controlador ejecuta la rutina
de fallo de usuario antes de la ejecución del
primer escán del programa. Usted tiene la
opción de poner a cero el bit de error mayor
detenido (S:1/13 para reanudar la operación
en el modo de marcha REM. Si la rutina de
fallo de usuario no restablece el bit S:1/13,
resultará el modo de fallo.
Programe la lógica de rutina de fallo de
usuario en la debida forma. Cuando ejecuta la
rutina de fallo de protección de encendido, S:6
(código de fallo de error mayor) contiene el
valor 0016H.
S:1/10 a
Reservado
S:1/11
S:1/12 Marcha Configuración Una vez establecido, este bit causa que el
permanente estática controlador ponga a cero S:1/13 y S:5/0-7
antes de intentar entrar en el modo de
MARCHA cuando la alimentación eléctrica se
aplica u ocurre si un restablecimiento
inesperado. Si este bit no se establece, el
controlador se enciende en el modo anterior
en el que se encontraba antes de haber
perdido la alimentación eléctrica, a menos que
el controlador estuviera en el modo de prueba
REM. Si el controlador estaba en el modo de
prueba REM cuando se interrumpió la
alimentación eléctrica, el controlador entra en
el modo de programa REM cuando se aplica la
alimentación eléctrica.
Este bit anula los fallos existentes al momento
de apagar.

El establecer el bit de marcha


! permanente causa que el controlador
entre en el modo de marcha REM si
un restablecimiento inesperado
ocurre, independientemente del
modo en que el controlador estaba
antes de ocurrir el restablecimiento.
Los restablecimientos inesperados
pueden ocurrir debido a ruido
electromagnético, conexión
incorrecta a tierra o un fallo de
hardware interno del controlador.
Asegúrese que su aplicación haya
sido diseñada para manejar esta
situación de manera segura.

A–5
 
Manual de referencia del juego de instrucciones



 
  


 


S:1/13 Error mayor Configuración Este bit es establecido por el controlador
detenido dinámica cuando se encuentra un error mayor. El
controlador entra en una condición de fallo. La
palabra S:6, el código de fallo, contendrá un
código que se puede usar para diagnosticar la
condición de fallo. Cuando el bit S:1/13 se
establece, el controlador:
• coloca todas las salidas en un estado
seguro (las salidas están desactivadas) y
activa el LED de fallo,
• o entra en la rutina de fallo de usuario con
las salidas activas (si está en el modo de
marcha REM), permitiendo así que la lógica de
escalera de la rutina de fallo intente una
recuperación de la condición de fallo. Si la
rutina de fallo de usuario determina que la
recuperación es necesaria, ponga a cero
S:1/13 usando la lógica de escalera antes de
salir de la rutina de fallo. Si la lógica de
escalera de la rutina de fallo no entiende el
código de fallo, o si la rutina determina que no
es preferible continuar la operación, el
controlador sale de la rutina de fallo con el bit
S:1/13 establecido. Las salidas se colocan en
un estado seguro y el LED de FALLO se
activa.
Cuando usted pone a cero el bit S:1/13 usando
un dispositivo de programación, el modo de
controlador cambia de fallo a programa
remoto. Puede mover un valor a S:6, luego
establezca S:1/13 en el programa de escalera
para generar un error mayor específico para la
aplicación. Todos los fallos generados por la
aplicación son recuperables
independientemente del valor usado.
   #& " $ ! "  !  
% " !    * "
" *   % !(    
 ! !    "  ! ! "
!!       

" 
 '     
#! ! "     * 

   #"#  "  *   "
  ' !   ! (
 *    )  
*    " 
* +   ! #! " " ! "
   *    
 !  "   * 
     
%  )   *

A–6
Archivo de estado del controlador MicroLogix 1000

       



S:1/14 Bloqueo OEM Configuración Con este bit usted puede controlar el acceso a
estática un archivo de controlador.
Para programar esta característica, seleccione
Acceso futuro no permitido" cuando guarde el
programa.
Una vez que este bit se pone a cero, indica
que todo dispositivo de programación
compatible puede acceder al programa de
escalera (siempre que las condiciones de
contraseña se cumplan).
S:1/15 Primer paso Estado Use este bit para inicializar el programa según
lo requiera la aplicación. Cuando este bit es
establecido por el controlador, indica que el
primer escán del programa de usuario está en
progreso (después del encendido en el modo
de MARCHA o luego de entrar en un modo de
marcha REM o prueba REM). El controlador
pone a cero este bit luego del primer escán.
Este bit se establece durante la ejecución de la
rutina de fallo de protección. Refiérase a S:1/9
para obtener más información.
S:2/0 STI pendiente Estado Una vez establecido, este bit indica que el
temporizaodr STI ha sobrepasado el límite de
tiempo y que la rutina STI está esperando la
ejecución. El bit se pone a cero cuando
comienza la rutina STI, programa de escalera,
salida del modo de marcha REM o prueba, o
ejecución de una instrucción STS verdadera.
S:2/1 STI habilitado Estado y Este bit puede ser establecido o restablecido
configuración usando la instrucción STS, STE o STD. Si es
estática establecido, permite la ejecución de la STI si el
punto de ajuste STI S:30 es distinto de cero.
Si está puesto a cero, cuando una interrupción
ocurre, la subrutina STI no se ejcuta y el bit de
STI pendiente se establece. El temporizador
STI continúa funcionando cuando este bit se
inhabilita. La instrucción STD pone a cero este
bit.
Si este bit es establecido o restablecido
editando el archivo de estado en línea, la STI
no es afectada. Si este bit se establece, el bit
permite la ejecución de la STI. Si este bit se
restablece editando el archivo de estado fuera
de línea, el bit no permite la ejecución de la STI.
S:2/2 Ejecución de Estado Una vez establecido, este bit indica que el
STI temporizador STI ha sobrepasado el límite de
tiempo y que la subrutina STI se está
ejecutando. Este bit se pone a cero cuando se
finaliza la rutina STI, progorama de escalera o
modo de marcha REM o prueba.
S:2/3 a
Reservado
S:2/13

A–7
 
Manual de referencia del juego de instrucciones

 
   
   

S:2/14 %)%##(8+ $% Configuración Establezca este bit cuando vaya a usar las
,2%.&),3 dinámica instrucciones de adición y resta de 32 bits.
*!0%*60(#, Cuando S:2/14 es establecido y el resultado
de una instrucción ADD, SUB, MUL o DIV no
se puede representar en la dirección de
destino (underflow u overflow),
• el bit de overflow S:0/1 se establece,
• el bit de interrupción por overflow S:5/0 se
establece,
• y la dirección de destino contiene los 16
bits sin signo truncados y menos
significativos del resultado.
La condición de fallo de S:2/14 se restablece
(0). Cuando S:2/14 es restablecido y el
resultado de una instrucción ADD, SUB, MUL
o DIV no se puede representar en la dirección
de destino (underflow u overflow),
• el bit de overflow S:0/1 se establece,
• el bit de interrupción por overflow S:5/0
se establece,
• y la dirección de destino contiene 32767 si
el resultado es positivo o -32768 si el
resultado es negativo.
Nota: el estado del bit S:2/14 no afecta la
instrucción DDV. Además, no afecta el
contenido del registro matemático cuando se
usan las instrucciones MUL y DIV.
Para programar esta característica, use la
función de monitor de datos para establecer o
poner a cero este bit. Para proporcionar
protección contra modificaciones accidentales
del monitor de datos de su selección,
programe una instrucción OTL incondicional a
la dirección S:2/14 para asegurar la nueva
operación de overflow matemático. Programe
una instrucción incondicional OTU a la
dirección S:2/14 para asegurar la operación
original de overflow matemático.
S:2/15 Reservado

A–8
Archivo de estado del controlador MicroLogix 1000

       



S:3L Tiempo de Estado El valor de este byte le informa cuánto tiempo
escán actual transcurre durante un ciclo de programa. Un
ciclo de programa incluye:
• el escán del programa de escalera,
• actividades de mantenimienbto
• el escán de las E/S
• el servicio para el canal de comunicación.
El valor de byte es puesto a cero por el
controlador durante cada escán
inmediatamente antes de la ejecución de
renglón 0 del archivo de programa 2 (archivo
de programa principal). Desde ese punto en
adelante, el byte es incrementado cada 10 ms
e indica, en incrementos de 10 ms, la cantidad
de tiempo transcurrida en cada escán. Si este
valor es igual al valor en el control (watchdog)
S:3H, se declarará un error mayor del control
(watchdog) de usuario (código 0022).
La resolución del valor de tiempo de escán es +0
a 90 ms (-10 ms). Ejemplo: el valor 9 indica que
80-90 ms han transcurrido desde el inicio del ciclo
de programa.
S:3H Tiempo de Configuración Este valor de byte contiene el número de tics
escán de dinámica de 10 ms que se permite ocurrir durante un
control ciclo de programa. El valor predeterminado es
(watchdog) 10 (100 ms), pero usted puede incrementarlo a
255 (2.55 segundos) o disminuirlo a 1, según
lo requiera la aplicación. Si el valor de escán
de programa S:3L es igual al valor de control
(watchdog), se declarará un error mayor de
control (watchdog).

A–9


Manual de referencia del juego de instrucciones



    

  


S:4 Base de Estado Todos los 16 bits de esta palabra son
tiempo evaluadas por el controlador. El valor de esta
palabra es puesto a cero al momento de
encendido en el modo de marcha REM o
cuando se entra en el modo de marcha REM o
prueba REM. Desde ese punto en adelante,
se incrementa cada 10 ms.
 

: Usted puede escribir
cualquier valor a S:4. Comenzará a
incrementarse a partir de dicho valor.
Usted puede usar cualquier bit individual de
esta palabra en el programa de usuario como
bit de reloj de ciclo de trabajo de 50%. Las
velocidades de reloj para S:4/0 a S:4/15 son:
20, 40, 80, 160, 320, 640, 1280, 2560, 5120,
10240, 20480, 40960, 81920, 163840, 327680 y
655360 ms.
La aplicación que usa el bit debe ser evaluada
a una velocidad dos veces más rápida que la
velocidad de reloj del bit. En el ejemplo
siguiente, el bit S:4/3 alterna cada 80 ms, lo
cual produce una velocidad de reloj de 160
ms. Para mantener la exactitud de este bit en
su aplicación, la instrucción que usa el bit
S:4/3 (O:1/0 en este caso) debe ser evaluada
por lo menos una vez cada 79.999 ms
S:4 O:1
  ] [ ( )
3 0
S:4/3 y la salida
ciclo de S:4/3 O:1/0 alternan cada
en 160 ms 80 ms. O:1/0 debe
ser evaluado por lo
menos una vez cada
79.999 ms.
S:5 Bits de error Los bits de esta palabra son establecidos por
menor el controlador para indicar que ha ocurrido un
error menor en el programa de escalera. Los
errores menores, bits 0 a 7, retornan al error
mayor 0020H si un bit se detecta como
establecido al final del escán. Estos bits se
ponen a cero automáticamente durante una
desconexión y reconexión de la alimentación
eléctrica.

A–10
Archivo de estado del controlador MicroLogix 1000

       



S:5/0 Interrupción Configuración Cuando este bit es establecido por el controlador,
por overflow dinámica indica que un overflow matemático ha ocurrido
en el programa de escalera. Vea S:0/1 para
obtener más información.
Si este bit se establece al ejecutar la
instrucción END o TND, se declarará el error
mayor (0020). Para evitar la ocurrencia de
este tipo de error mayor, examine el estado de
este bit después de una instrucción
matemática (ADD, SUB, MUL, DIV, DDV, NEG,
SCL, TOD o FRD), tome la acción más
indicada y luego ponga a cero el bit S:5/0
usando una instrucción OTU con S:5/0.
S:5/1 Reservado
S:5/2 Error de Configuración Las instrucciones LFU, LFL, FFU, FFL, BSL,
registro de dinámica BSR, SQO, SQC y SQL pueden generar este
control error. Cuando el bit S:5/2 es establecido, indica
que el bit de error de una palabra de control
usada por la instrucción ha sido establecido.
Si este bit se establece al ejecutarse la
instrucción END o TND, se declarará el error
mayor (002). Para evitar la coincidencia de
este tipo de error mayor, examine el estado de
este bit después de una instrucción de registro
de control, tome la acción más indicada y
luego ponga a cero el bit S:5/02 usando una
instrucción OTU con S:5/2.
S:5/3 Error mayor Configuración
detectado dinámica Una vez establecido, este código de error
durante la mayor (S:6) representa el error mayor que
ejecución de la ocurrió durante el procesamiento de la rutina
rutina de fallo de fallo debido a otro error mayor.
de usuario
S:5/4 a
Reservado
S:5/7
S:5/8 Datos Estado Este bit es establecido cuando los datos
retentivos retentivos se pierden. Este bit permanece
perdidos establecido hasta que usted lo ponga a cero.
Mientras sea establecido, este bit causa que el
controlador falle antes del primer escán
verdadero del programa.
S:5/9 Reservado
S:5/10 STI perdido Estado Este bit es establecido cuando el temporizador
STI caduca mientras que la rutina STI se esté
ejecutando o sea inhabilitada  el bit pendiente
(S:2/0) ya es establecido.
S:5/11 a
Reservado
S:5/12
S:5/13 Selec. de filtro Estado Este bit es establecido cuando la selección de
de entrada filtro de entrada en el controlador se hace
modificada compatible con el hardware.

A–11


Manual de referencia del juego de instrucciones

       
     
S:5/14 a
Reservado
S:5/15
S:6 Código de Estado El controlador introduce un código
error mayor hexadecimal en esta palabra cuando se
declara el error mayor. Refiérase a S:1/13. El
código define el tipo de fallo, según lo indicado
en las páginas siguientes. Esta palabra no es
borrada por el controlador.
Los códigos de error son presentados,
almacenados y mostrados en pantalla en
formato hexadecimal.
Si usted introduce un código de fallo como
parámetro en una instrucción en el programa
de escalera, debe convertir el código en
decimal.
     : Puede declarar su
proprio fallo mayor específico para la
aplicación escribiendo un valor único a S:6 y,
luego, estableciendo el bit S:1/13.
Interrogue el valor de S:6 en la rutina de fallo
de usuario para determinar el tipo de fallo que
ha ocurrido.
Clasificaciones de fallo: Los fallos se
clasifican como no atribuibles al usuario, no
recuperables y recuperables.
Las descripciones y clasificaciones de código
de error se enumeran en las páginas
siguientes. Las categorías son:
• errores de encendido
• errores de ida a marcha
• errores de marcha
• errores de descarga

Cada fallo se clasifica como uno de los siguientes:


• No atribuible al usuario — Un fallo causado por varias condiciones que
detienen la ejecución del programa de escalera. La rutina de fallo de usuario no
se ejecuta cuando este fallo ocurre.
• No recuperable — Un fallo causado por el usuario que se puede recuperar. La
rutina de fallo de usuario se ejecuta cuando este fallo ocurre. Sin embargo, el
fallo no se puede borrar.
• Recuperable — Un fallo causado por el usuario que se puede recuperar en la
rutina de fallo de usuario restableciendo el bit de error mayor detenido (S:1/13).
La rutina de fallo de usuario se ejecuta cuando este fallo ocurre.

A–12
Archivo de estado del controlador MicroLogix 1000

Clasificación de fallo

Usuario
Código
DirecĆ No No
de error Errores de encendido Recuperable
ción usuario recuperable
(hex)
 programa predeterminado
S:6 0001 X
se cargó.
Un restablecimiento
0002 X
inesperado ocurrió.
La memoria EEPROM está
0003 X
alterada.
Un error fatal interno de
0008 X
software ocurrió.
Un error fatal interno de
0009 X
hardware ocurrió.

Clasificación de fallo

Usuario
Código Errores de ida a marcha
DirecĆ No No
de error À Recuperable
ción (GTR) usuario recuperable
(hex)
Los datos retentivos se X
S:6 0005
pierden.
El programa de descarga no
0010 es un programa de X
controlador.
Se establece la protección
de encendido después de
una pérdida de alimentación
eléctrica, S:1/9, se
establece. El usuario debe
0016 verificar en busca de una X
condición de pérdida de
datos retentivos si la rutina
de fallo de usuario se
ejecutó con la protección de
encendido.

À Los errores de ida a marcha ocurren cuando el controlador va de cualquier modo al modo de marcha REM o de
cualquier modo de no marcha (PRG, SUS) al modo de prueba.

A–13
&
Manual de referencia del juego de instrucciones

!'   *#  &&$&

'(& $
* $
 &+ $ $
 &&$& &&$&'  "& (%&!
 *# ('(& $ &(%&!
)

  + #..,. "# '+0#%.'"" "# *#*,.' "# 


0'#*-, "# #(#!1!':+ ,!1..':

 + #..,. *#+,. ) $'+) "#) #/!7+ 


#$'8./#  S:5.

 El temporizador de control (watchdog) 


caducó. Refiérase a S:3H.

 Punto de ajuste de interrupción STI no 


válido. Refiérase a S:30.

 Hay un exceso de JSR en la subrutina 


STI (archivo 5).
Hay un exceso de JSR en la subrutina


de fallo (archivo 3).

 La dirección indexada es demasiado 


grande para el archivo.
Hay un exceso de JSR en la subrutina
 del contador de alta velocidad (archivo 
4).

 El anidamiento de subrutina excede un 


límite de 8 (archivo 2).

 Una instrucción sin capacidad se 


detectó.

 Una instrucción SQO/SCQ cruzó los 


límites de archivo de datos.
La instrucción LFU, LFL, FFU, FFL, BSL
 o BSE cruzó los límites de archivo de 
datos.
Un valor negativo para un acumulador
 de temporizador o valor 
preseleccionado se detectó.

 Una instrucción ilegal (TND) ocurrió en 


el archivo de interrupción.
Valores preseleccionados inválidos se

cargaron en el contador de alta 
velocidad.

 Una instrucción RET se detectó en el 


archivo de programa 2.

A–14
Archivo de estado del controlador MicroLogix 1000

Clasificación de fallo

Usuario
Código
DirecĆ No No
de error Errores de marcha Recuperable
ción usuario recuperable
(hex)
  
    


0040 X
 


 
   
0041 X
 

Clasificación de fallo

Usuario
Código
DirecĆ No No
de error Errores de descarga Recuperable
ción usuario recuperable
(hex)
  
  
S:6 0018 X
    
  

A–15
 
Manual de referencia del juego de instrucciones

 
   
   

S:7 Código de Estado Cuando un valor distino de cero aparece en S:7,


suspensión indica que la instrucción SUS identificada por
este valor ha sido evaluada como verdadera y
que el modo de pausa de suspensión está
vigente. Esto precisa las condiciones en la
aplicación que casuaron el modo de pausa de
suspensión. Este valor no es borrado por el
controlador.
Use la instrucción SUS con la localización y
corrección de fallos de encendido o como
diagnóstico de tiempo de ejecución para la
detección de errores de sistema.
S:8 a S:12 Reservado
S:13 a S:14 Registro Estado Use este registro doble para producir operaciones
matemático de división y multiplicación con signo de 32 bits,
operaciones de división de precisión o división
doble y conversiones BCD de 5 dígitos.
Estas dos palabras se usan conjuntamente con
las instrucciones matemáticas MUL, DIV, DDV,
FRD y TOD. El valor de registro matemático es
evaluado a la ejecución de la instrucción y
permanece válido hasta la ejecución de la
próxima instrucción MUL, DIV, DDV, FRD o TOD
en el programa de usuario.
Una explicación de cómo funciona el registro
matemático se incluye con las definiciones de
instrucción.
Si usted almacena valores de datos con signo de
32 bits, debe manejar este tipo de datos sin
ayuda de un tipo de datos de 32 bits asignado.
Por ejemplo, combine B3:0 y B3:1 para crear un
valor de datos con signo de 32 bits.
Recomendamos que comience todos los valores
de 32 bits en límite de palabra par o impar para
facilitar la aplicación y visualización. Además,
recomendamos que diseñe, documente y vea el
contenido de los datos con signo de 32 bits en la
raíz hexadecimal o binaria.
Cuando una rutina STI, contador de alta velocidad
o fallo interrumpe la ejecución normal del programa,
el valor original del registro matemático se restaura
cuando la ejecución se reanuda.
S:15L Reservado
S:15H Velocidad Estado Indica la vel. en baudios actual del controlador:
en baudios • 300
• 600
• 1200
• 2400
• 9600 (predeterminado)
• 19200

A–16
Archivo de estado del controlador MicroLogix 1000

       



S:16 a S:21 Reservado
S:22 Tiempo de Configuración Esta palabra indica el intervalo observado
escán dinámica máximo entre los ciclos de programa
observado consecutivos.
máximo Este valor indica, en incrementos de 10 ms, el
tiempo transcurrido en el ciclo de programa más
extenso del controlador. Refiérase a S:3L para
obtener más información acerca del ciclo de
programa. El controlador compara el valor de
cada último escán al valor contenido en S:22. Si
el controlador determina que el valor del último
escán es mayor que el valor almacenado en
S:22, el valor del último escán se escribe a S:22.
La resolución del valor de tiempo de escán
observado es +0 a ±10 ms. Por ejemplo, el valor
9 indica que 80-90 ms fueron observados como
el ciclo de programa más largo.
Interrogue este valor usando la función de
monitor de datos si necesita determinar o
verificar el tiempo de escán más extenso del
programa.
S:23 Reservado
S:24 Registro de Estado Esta palabra indinca el offset de elemento usado
índice en el direccionamiento indexado.
Cuando una rutina STI, contador de alta
velocidad o fallo interrumpe la ejecución normal
del programa, el valor original de este registro se
restaura cuando la ejecución se reanuda.
S:25 to
Reservado
S:29
S:30 Punto de Configuración Usted introduce la base de tiempo que se va a
ajuste STI dinámica usar en la interrupción temporizada seleccionable
(STI). El tiempo puede tener un límite de 10 a
2550 ms. (Esto es en incrementos de 10 ms, por
lo tanto los valores válidos son de 0-255.) Su
rutina STI ejecuta al valor que introdujo. Escriba
un valor de cero para inhabilitar la STI.
Para proporcionar protección contra modificaciones
accidentales de monitor de datos de su selección,
programe una instrucción MOV incondicional que
contenga el valor del punto de ajuste de su STI a
S:30, o programe una instrucción CLR a S:30 para
evitar la operación STI.
Si la STI se inicia mientras está en el modo de
marcha REM cargando los registros de estado, la
interrupción comienza a temporizar a partir del
final del escán de programa en que los registros
de estado se cargaron.
S:31 a S:32 Reservado

A–17

Manual de referencia del juego de instrucciones

A–18
Archivo de estado SLC

B Archivo de estado SLC

Este apéndice enumera:


• el archivo de estado del procesador SLC
• los tiempos de ejecución de instrucción y uso de memoria de instrucción

Este apéndice trata las funciones de archivo de estado de los procesadores fijos,
SLC 5/01, SLC 5/02, SLC 5/03 y SLC 5/04. Los procesadores SLC 5/02, SLC 5/03
y SLC 5/04 funcionan como los procesadores compactos y SLC 5/01. También
disponen de funciones adicionales enumeradas en la tabla de la página B–3. Los
procesadores SLC 5/03 y SLC 5/04 disponen de funciones adicionales enumeradas
en las tablas de las páginas B–3 y B–4.

B–1


Manual de referencia del juego de instrucciones

Descripción general del archivo de estado


El archivo de estado le permite monitorizar cómo funciona su sistema de operación
y le permite dirigir cómo desea que funcione. Esto se realiza usando el archivo de
estado para configurar interrupciones, cargar programas de módulo de memoria y
monitorizar los fallos de hardware y software.
Nota No escriba a los datos de archivo de estado a menos que la palabra o bit se
enumera como configuración dinámica/estática en las descripciones siguientes. Si
usted va a escribir a los datos de archivo de estado, es imprescindible que primero
entienda a fondo la función.

El archivo de estado S: contiene las palabras siguientes:

       
   
  
S:0 Indicadores aritméticos BĆ6
S:1 Estado/control del modo de procesador BĆ8
S:2 Bits STI/comms. DH485 BĆ17
S:3L Tiempo de escán actual/último BĆ24
S:3H Tiempo de escán de control (watchdog) BĆ26
S:4 Reloj de marcha libre BĆ26
S:5 Bits de error menor BĆ27
S:6 Código de erro mayor BĆ33
S:7, S:8 Código de suspensión/archivo de suspensión BĆ44
S:9, S:10 Nodos activos (DHĆ485) BĆ44
S:11, S;12 Habilitaciones de ranura de E/S BĆ45
S:13, S:14 Registro matemático BĆ47
S:15L Dirección de nodo B-48
S:15H Velocidad en baudios B-49

B–2
Archivo de estado SLC

Función (se aplica a los procesadores


 Página
SLC 5/02, SLC 5/03 y SLC 504)
/2$! #$ 2, . 0- - Inicio del . 0- $, -
S:16, S:17 B
Renglón/archivo
Prueba de un paso - Punto de interrupción -
S:18, S:19 BĆ51
Renglón/archivo
S:20, S:21 Prueba - Fallo/parada - Renglón/archivo BĆ52
S:22 Tiempo de escán observado máximo BĆ53
S:23 Tiempo de escán promedio BĆ54
S:24 Registro de índice BĆ54
S:25, S:26 Interrupción de E/S pendiente BĆ55
S:27, S28 Interrupción de E/S habilitada BĆ56
S:29 No. de archivo de rutina de fallo de usuario BĆ56
Punto de ajuste de interrupción temporizada
S:30 BĆ57
seleccionable
No. de archivo de interrupción temporizada
S:31 BĆ57
seleccionable
S:32 Ejecución de interrupción E/O BĆ58

Función (se aplica a los procesadores


Palabra Página
SLC 5/03 y SLC 5/04)
S:33 Estado de proc.extendido y palabra de control BĆ58
Transferencia inhabilitada (SLC 5/04
S:34 B-65
solamente)
S:35 Tiempo del último escán de 1 ms BĆ66
S:36 Bits de error menor extendidos BĆ67
S:37 Reloj/año de calendario BĆ68
S:38 Reloj/mes de calendario BĆ68
S:39 Reloj/día de calendario BĆ68
S:40 Reloj/horas de calendario BĆ68
S:41 Reloj/minutos de calendario BĆ68
S:42 Reloj/segundos de calendario BĆ68
Tiempo de interrupción STI (SLC 5/03 y SLC
S:43 B-69
5/04)
Tiempo de interrupción de evento (SLC 5/03 y
S:44 B-69
SLC 5/04)
S:45 Tiempo de interr. DII (SLC 5/03 y SLC 5/04) B-69
S:46 Interr. de entrada discreta - No. de archivo BĆ69
S:47 Interr. de entrada discreta - No. de ranura BĆ70
S:48 Interr. de entrada discreta - Máscara de bit BĆ70

B–3
Preface
Manual de referencia del juego de instrucciones

     


Palabra 

  
 
Interr. de entrada discreta - Valor de
S:49 BĆ71
comparación
Interr. de entrada discreta - Valor
S:50 BĆ71
preseleccionado
Interr. de entrada discreta - Máscara de
S:51 BĆ72
retorno
S:52 Interr. de entrada discreta - Acumulador BĆ72
S:53 y S:54 Reservado B-72
S:55 Tiempo del último escán DII BĆ72
S:56 Tiempo de escán DII máximo observado BĆ72
S:57 Número de catálogo del sistema de operación BĆ73
S:58 Serie del sistema de operación BĆ73
S:59 FRN del sistema de operación BĆ73
S:60 Número de catálogo del procesador BĆ73
S:61 Serie del procesador BĆ73
S:62 Revisión del procesador BĆ73
S:63 Tipo de programa de usuario BĆ73
Indice de funcionabilidad del programa de
S:64 BĆ73
usuario
S:65 Tamaño de RAM de usuario BĆ73
S:66 Tamaño de EEPROM rápido BĆ73
S:67 y S:68 Nodos activos de canal 0 B-74

   


  
 
 
S:69 a S:82 Reservado B-74
Nodos activos DH+ (procesador SLC 5/04 de
S:83 a S:86 B-74
canal 1 solamente)
S:87 a S:98 Reservado B-74
S:99 Palabra de estado global BĆ74
S:100 a S:163 Archivo de estado global BĆ74

B–4
Archivo de estado SLC

Convenciones usadas en las pantallas

Las tablas siguientes describen las funciones del archivo de estado, a partir de la
dirección S:0 hasta la dirección S:163. Una viñeta (S) indica que la función se
aplica al procesador especificado.

Las clasificaciones siguientes se usan:


• Estado – Use estas palabras, bytes o bits para monitorizar las opciones del
procesador o información de estado del procesador. La información se escribe
raras veces al programa de usuario o a los dispositivos de programación (a
menos que usted desee restablecer o borrar una función tal como un bit de error
menor).
• Configuración dinámica – Use estas palabras, bytes o bits para seleccionar
opciones del procesador durante el modo de MARCHA.
• Configuración estática – Use estas palabras, bytes o bits para seleccionar
opciones del procesador antes de entrar en el modo de MARCHA. Note que
algunas opciones se deben seleccionar en el modo de programa fuera de línea
antes de restaurar el programa de usuario.

B–5

Manual de referencia del juego de instrucciones


# # #   


  " • • • •
Los indicadores aritméticos son evaluados por
el procesador después de la ejecución de
cualquier instrucción matemática, lógica o de
transferencia. El estado de estos bits
permanece vigente hasta que la próxima
instrucción matemática, lógica o de
transferencia en el programa se ejecute.

     • • • •
Este bit es establecido por el procesador si un
acarreo o prestado matemático se genera. De
lo contrario, el bit remanece puesto a cero.
Este bit es evaluado como función matemática
sin signo.
Cuando una rutina STI, ranura de E/S o fallo • • •
interrumpe la ejecución normal del programa,
el valor original de S:0/1 se restaura cuando la
ejecución se reanuda.
Cuando una DII interrumpe la ejecución • •
normal de su programa, el valor original de
S:0/0 se restaura cuando la ejecución se
reanuda.

     ! • • • •
Este bit es establecido por el procesador
cuando el resultado de una operación
matemática no se adapta al destino. De lo
contrario, el bit permance puesto a cero.
Cuando este bit se establece, el bit de
interrupción por overflow S:5/0 también se
establece. Refiérase a S:5/0.
Cuando una rutina STI, ranura de E/S o fallo • • •
interrumpe la ejecución normal del programa,
el valor original de S:0/1 se restaura cuando la
ejecución se reanuda.
Cuando una rutina STI, ranura de E/S o fallo • •
interrumpe la ejecución normal del programa,
el valor original de S:0/1 se restaura cuando la
ejecución se reanuda.

B–6
Archivo de estado SLC


#  #  #   

   ! !   • • • •

      
     "
! "     
       

     
   • • •
  "   
        
"  
     
   • •
  "   
        
"  
   ! !   • • • •

       
    " !
"        
      
     
   • • •
  "   
        
"  
     
   • •
  "   
        
"  
   
 " • • • •
 

B–7

Manual de referencia del juego de instrucciones


 
      

      • • • •
 +. &/. 0-4 #0* &+** así:
 
0 0000 = (0) ". -$ -")+/ "*
,-+$-".+
    +!+ !" ,-+$-) -")+/+
"( )+!+ !" #((+ "2&./"
0*!+ "( &/  ."
"./(" " +* "( )+!+
 
     +!+ !" #((+ !" ,0. !"
.0.,"*.&5* ( +,"- &5* %
.&!+ !"/"*&! ,+- ( "'" 06
&5* !" 0* &*./-0 &5*
 "2&./" 0*!+ "( &/
 ." "./(" " +* "(
)+!+  
     +!+ !" )- % -")+/
     +!+ +*/&*0+ !" ,-0"
-")+/
     +!+ !" 0* .+(+ ". 3* !"
,-0" -")+/
    * .+(+ ,.+ !" ,-0"
-")+/ ,.+ %./
         
 
  
     
        
     ". -$ "* ,-+$-".+ • •
&*/"--0,/+- !"
((1"-)
     +!+ !" -)  "(
)+!+ !" #((+ "2&./" 0*!+
"( &/  ." "./(" "
+* "( )+!+  
     0. !" .0.,"*.&5*  "(
)+!+ !" #((+ "2&./" 0*!+
"( &/  ." "./(" " +*
"( )+!+   &*/"--0,/+-
!" ((1"
       "( )+!+ !" #((+
"2&./" 0*!+ "( &/ 
." "./(" " +* "( )+!+
  &*/"--0,/+- !"
((1"
+!+. (+. +/-+. 1(+-". ,- (+. &/. 
"./3*
-"."-1!+.

B–8
Archivo de estado SLC

#
%,"  &," &%$,"






&'# '  #%*#&  '#& • • • •
Este bit es establecido por el procesador si
usted ha habilitado forzados en un programa
de escalera. De lo contrarior, el bit permance
puesto a cero. El LED de forzado de E/S del
procesador se ilumina continuamente cuando
los forzados se habilitan.
 &'# '  #%*#& "&' #& • • • •
Este bit es establecido por el procesador si
usted ha instalado forzados en un programa
de escalera. Los forzados pueden estar o no
estar habilitados. De los contrario, el bit
permanece puesto a cero. El LED de forzado
de E/S del procesador parpadea cuando los
forzados son instalados, pero no habilitados.
 &'# '  #!("," ') "  • • • •
Este bit es establecido por el procesador
cuando hay por lo menos otro nodo presente
en la red añadido al canal 1. De lo contrarior,
el bit permanece puesto a cero. Cuando el
nodo está activo, es un participante reconoĆ
cido en una red de paso de testigo DHĆ485.
 #"(%," '  "( ,"   #  ""# • • • •
"+! Cuando es establecido, este bit causa que el
procesador ponga a cero el bit de error mayor
detenido S:1/13 y los bits de error menor S:5/0 a
S:5/7 al momento de encendido; si el procesaĆ
dor había estado en el modo de marcha REM y
había estado con fallo. Luego, el procesador
intenta entrar en el modo de marcha REM.
Cuando este bit permanece puesto a cero (valor
predeterminado), el procesador permanece en un
estado de fallo mayor al momento de encendido.
Para programar esta característica, estaĆblezca
este bit usando la función de monitor de datos.
 #"(%," '   #  $%#',"  ""# • • •
"+! Cuando este bit se establece y la alim. eléc.
se desconecta y reconecta mientras el
procesador está en el modo de marcha REM,
el procesador ejecuta la rutina de fallo antes
de la ejecución del primer escán del programa.
Entonces usted tiene la opción de poner a
cero el bit de error mayor detenido S:1/13 para
reanudar la operación en el modo de marcha
REM. Si la rutina de fallo no restableĆ ce el bit
S:1/13, resultará el modo de fallo.
Para programar esta característica, use la función
de monitor de datos y programe la lógica de rutiĆna
de fallo en debida forma. Al ejecutar la rutina de
fallo de protección de encendido, S:6 (el código de
fallo de error mayor) contrendrá el valor 0016H.

B–9

Manual de referencia del juego de instrucciones


" " "   

   "
    "     • • • •
!        
Usted puede usar este bit para transferir un
programa de módulo de memoria al
procesador en caso de que un error de
memoria de procesador se detecte al
momento del encendido. Un error de memoria
significa que el procesador no puede ejecutar
el programa en el RAM porque el programa ha
sido alterado según fue detectado por un error
de paridad o suma de comprobación. Este
tipo de error es causado por el drenado de la
batería o del condensador, ruido o un
problema de alimentación eléctrica.
Usted  establecer S:1/10 en el archivo de
estado del programa en el módulo de
memoria. Cuando un módulo de memoria se
instala que tenga el bit S:1/10 establecido, un
error de memoria de procesador detectado al
momento de encendio causa que el programa
de módulo de memoria se transfiera al
procesador y que se entre en el modo de
marcha REM.
Cuando S:1/10 está puesto a cero en el
módulo de memoria, el procesador permanece
en una condición de fallo mayor si un error de
memoria se detecta al momento de
encendido, independientemente de la
existencia de un módulo de memoria.
Cuando S:1/10 es establecido en el archivo de
estado del programa de usuario en memoria
RAM, el módulo de memoria siempre  ser
instalado para entrar en los modos de marcha
REM y prueba REM.
Para programar esta característica, establezca
este bit usando la función de monitor de datos.
Luego, almacene el programa en el módulo de
memoria.

B–10
Archivo de estado SLC

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:1/11 Configuración Bit de siempre cargar módulo de memoria • • •
estática Cuando este bit es establecido, usted puede
sobrescribir un programa de procesador con un
programa de módulo de memoria desactivando
y volviendo a activar la alimentación eléctrica al
procesador. Un dispositivo de programación
no es necesario. A continuación se muestra el
modo de procesador después del encendido
para un procesador SLC 5/02, SLC 5/03 y SLC
5/04.
Modo antes Modo después
de la parada del encendido
Programa/prueba Programa REM
REM
Marcha REM Marcha REM
Fallo después de
programa/prueba
REM Programa REM
Fallo después de Marcha REM
marcha REM
Pausa REM Programa REM • •
Descarga REM Programa REM

Modo después del


Modo antes encendido (misma
de la parada posición de
interruptor de llave
Marcha MARCHA
Programa PROGrama
Pausa MARCHA
Fallo después de MARCHA
marcha
Fallo después de PROGrama
fallo

B–11
 
Manual de referencia del juego de instrucciones


 ( !( ! (   

"#( "
        • • • •
 
  
  
  
       
   
El (!   ! !     
      " 
        $
   '  #   ' 
 (!   #  
   %  !
$        '
  '  
!  %     
"       !! 

  (!     
         

 ! 

  !  ! ! "# 
! #% ! "!  "! !
"  $& # #!"
!" % $#$  " 
"( '" 
     & 
 $    !  !( 
     !  
   (!  
  !     " • •
    "

B–12
Archivo de estado SLC

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:1/12 Configuración Bit de carga de módulo de memoria y marcha • • •
estática Con este bit, usted puede sobrescribir un prograĆ
ma de procesador con un programa de módulo
de memoria desconectando y volviendo a conecĆ
tar la alim. eléc. al procesador. Un dispositivo de
programación no es necesario. El procesador
intentará entrar en el modo de marĆ cha REM, inĆ
dependientemente del modo que estaba vigente
antes de la desconexión y reconexión de la alim.
eléc.
Modo antes Modo después
de la parada del encendido
Prueba REM/prog rem Marcha REM
Marcha REM/fallo rem Marcha REM
Pausa REM/desc. rem Marcha REM

Modo después del enĆ • •


Modo antes cendido (misma posiĆ
de la parada ción de interr. de llave
Marcha MARCHA
Pausa Marcha
Programa/descarga PROGrama
Fallo después MARCHA
de marcha
Fallo después PROGrama
de programa

B–13
#
Manual de referencia del juego de instrucciones

 
#, $, $#!,   

 %&,  %
        • • • •
 
 
  
    
      
  
El módulo de memoria que usted instala en el
procesador debe tener el bit de archivo de
estado S:1/12 establecido. La carga se realiza
si la contraseña principal y/o la contraseña en
el módulo de procesador y memoria se
corresponden. La carga también se puede
realizar si el procesador no tiene contraseña ni
contraseña maestra.
Cuando S:1/12 también es establecido en el
archivo de estado del programa de usuario en
RAM, el módulo de memoria siempre debe ser
instalado para entrar en los modos de marcha
REM o prueba REM.
!  !,
Establezca S:1/11 y
S:1/12 para que se carguen automáticamente
y se ejecuten durante cada desconexión y
reconexión de alimentación eléctrica además
de que exijan la presencia del módulo de
memoria para entrar en los modos de marcha
REM o prueba REM.

 &$%   ,&   #


! $%   !# $  $ #$#-
%&# &) $ %$  % $
$ #!%  '* "& $ % )
'&'   %#  %,
+%#    $  
#   &#% 
$ (, ) # (,  
%, +%#

Para programar esta característica,


establezca este bit usando la función de
monitor de datos. Luego, almacene el
programa en el módulo de memoria. Esta
característica es especialmente útil
cuando usted localiza y corrige fallos de
hardware con repuestos (módulos de
repuesto). Use esta característica para
facilitar las actualizaciones de lógica de
aplicación en el campo sin dispositivo de
programación.

Usted puede elegir no sobrescribir los archivos • •


de datos por archivo.

B–14
Archivo de estado SLC


# # #   

   #
 de  !  • • • •
"
   establecido por el procesador
cuando se encuentra un error mayor. El
procesador entra en una condición de fallo.
La palabra S:6, código de fallo, contendrá un
código que se puede usar para diagnosticar la
condición de fallo. Cuando el bit S:1/13 se
establece, el procesador:
• coloca todas las salidas en un estado
seguro y activa el LED de fallo, o
• entra en la rutina de fallo de usuario con • • •
salidas activas, permitiendo así que la
lógica de escalera de la rutina de fallo
intente recuperarse de la condición de
fallo. Si la rutina de fallo determina que la
recuperación es necesaria, ponga a cero
S:1/13 usando la lógica de escalera antes
de salir de la rutina de fallo. Si la lógica de
escalera de la rutina de fallo no entiende el
código de fallo o si la rutina determina que
es preferible no continuar la operación,
salga de la rutina de fallo con el bit S:1/13
establecido. Las salidas se colocarán en
un estado seguro y el LED de fallo se
activará.
Cuando usted pone a cero el bit S:1/13 • • • •
usando un dispositivo de programación, el
modo de procesador cambia de fallo a
programa remoto o suspensión de pausa
remota, según el modo anterior del
procesador. Usted puede mover un valor a
S:6 y establecer S:1/13 en el programa de
escalera para generar un error mayor
específico para la aplicación.
:  &) !% '#$ % #$  
(" %#$  """  - !%
%#   ( $+  "  "
#$ $ " !%  "#"  $ %
$$      "" 

" 
 "% 
 *# 
 "  " &$" $" % -  """
# -  
  &%&  %#" # -#  """
#   #$  -#  """ 
   ,$%   -#  """
# ,# "   -
 
" #%# " # -# .#
#$ &$
!% %#$ % # """#   -
 """#  ##$ # 
%#  # -#  """   
" " # """# ("# # ,#
"   -

B–15
(
Manual de referencia del juego de instrucciones

 !%
 ( -$ ")   -$ )( & -$   


%$* $+ -$ Cuando usted pone a cero el bit S:1/13 • •
   usando un dispositivo de programación, el
modo de procesador cambia de fallo a
programa, marcha o suspensión de pausa
según el modo anterior del procesador. Puede
mover un valor a S:6 y establecer S:1/13 en el
programa de escalera para generar un error
mayor específico para la aplicación.
 +)* &%$  (% )*  * %$ "
! $*((+&*%(  "", $    "
&(%)%( $*( $# *#$* $
" #%%    
Puede borrar los fallos S:1/13 y S:6
desconectando y volviendo a conectar el
interruptor de llave PROGrama y luego a
MARCHA.

 
)*%  *  )% $% "%'+%  • • • •
Usted puede permitir o negar el acceso futuro
a un archivo de procesador. Establezca este
bit para negar el acceso. Esto indica que un
dispositivo de programación debe disponer de
una copia correspondiente al archivo de
procesador en memoria para monitorizar el
programa de escalera. Se negará el acceso a
un dispositivo de programación que no
disponga de una copia correspondiente del
archivo de procesador.
Para programar esta característica, seleccione
Acceso futuro no permitido" al guardar el
programa. Para proporcionar protección
contra modificaciones accidentales de monitor
de datos de la selección, programe una
instrucción OTL incondicional en la dirección
S:1/14 para negar el acceso futuro. Programe
una instrucción OTU incondicional en la
dirección S:1/14 para permitir el acceso futuro.
Cuando este bit se pone a cero, indica que
todo dispositivo de programación compatible
puede acceder al programa de escalera
(siempre que las condiciones de contraseña
se cumplan).
Cuando el acceso se niega, el dispositivo de
programación (APS o HHT) puede no acceder
al programa de escalera. Las funciones tales
como cambio de modo, borrado de memoria,
restauración de programa y transferencia de
módulo de memoria se permiten indepenĆ
dientemente de esta selección. Esta función
no afecta un dispositivo como DTAM.

B–16
Archivo de estado SLC

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:1/15 Estado Bit de primer paso • • • •
% %& bit para  *$ %' programa
según lo requiera la aplicación. Cuando este
bit es establecido por el procesador, indica
que el primer escán del programa de usuario
está en progreso (después del encendido en
el modo de MARCHA o la entrada en el modo
de marcha REM o prueba REM). El
procesador pone a cero este bit después del
primer escán.
Cuando este bit se pone a cero, indica que el
programa no está en el primer escán de un
modo de prueba REM o marcha REM.
Este bit se establece durante la ejecución de • • •
la rutina de fallo de protección de encendido.
Refiérase a S:1/9 para obtener más
información.
S:2/0 Estado Bit de STI (interrupción temporizada • • •
seleccionable) pendiente
Cuando es establecido, este bit indica que el
temporizador STI ha sobrepasado el límite de
tiempo y que la rutina STI espera la ejecución.
Este bit se pone a cero cuando comienza la
rutina STI, encendido, salida del modo de
marcha REM o ejecución de una instrucción
STS verdadera.
El bit de STI pendiente no se establece si el •
temporizador STI caduca durante la ejecución
de la rutina de fallo.
Este bit se establece si el temporizador STI • •
caduca durante la ejecución de la subrutina
DII o rutina de fallo.

B–17
%
Manual de referencia del juego de instrucciones

%-"  &-" &%$-" #   


  #"(%-" '   "'%%($-" '!$#%* • • •
&'+' & #"   '
*+ bit se establece en su condición predeterĆ
minada o cuando es establecido por la instrucĆ
ción STE o STS. Si es establecido, permite la
ejecución de la STI si el archivo STI (S:31) y el
punto de ajuste STI (S:30) son distintos de cero.
Si está puesto a cero, cuando ocurre una inteĆ
rrupción, la subrutina STI no se ejecuta y el bit
de STI pendiente se establece. El temporizador
STI continúa funcionando cuando está inhabiliĆ
tado. La instrucción STD pone a cero este bit.
#"(%-" Use la función del monitor de datos para estableĆ • •
"+! cer y poner a cero este bit o direccione este bit
con su programa de lógica de escalera. Este bit
se establece en su condición predeterminada o
cuando es establecido por la instrucción STE o
STS. Si es establecido, permite la ejecución de
la STI si el archivo STI (palabra 31) y velocidad
STI (palabra 30) son distintos de cero. Si está
puesto a cero, la subrutina STI no se ejecuta y el
bit de STI pendiente se establece. El
temporizador continúa funcionando. La
instrucción STD pone a cero este bit.
  &'# '  (-"  "'%%($-" • • •
'!$#%* & #" 
Cuando es establecido, este bit indica que el
temporizador ha sobrepasado el límite de
tiempo y que la subrutina STI se está ejecutĆ
ando actualmente. Este bit se pone a cero
cuando se termina la rutina STI, encendido o a
la entrada en el modo de marcha REM.
!$ #  (-" Usted puede
examinar este bit en su rutina de fallo para
determinar si su STI se estaba ejecutando
cuando ocurrió el fallo.
  #"(%-" '  ,!'  %)#  %-"  ," • • •
&'+' Cuando está puesto a cero, el registro de índiĆ
ce puede indexar solamente dentro del mismo
archivo de datos de la dirección de base espeĆ
cificada. Cuando es establecido, el registro de
índice puede indexar en todas partes desde el
archivo de datos B3:0 al final del último
archivo de datos declarado. Este bit se
seleccionado cuando se guarda el programa.
Los procesadores SLC 5/03 y SLC 5/04 le • •
permiten indexar desde 0:0 al último archivo de
datos.
Nota: Recomendamos cambiar este bit en el
modo fuera de línea solamente. Guarde el
programar después de cambiar el bit.

B–18
Archivo de estado SLC

Fijo,
#( Clasificación Descripción 5/02 5/03 5/04
5/01
S:2/4 Configuración Bit de guardado con prueba de un solo paso • • •
estática habilitado
' ! % !$$  ' -  !!  ' 
"$'  ' %!! "%! ! %&+ %"!  
!$$! &,   #' !% $%&$!% 
"'$-  
   ! ' !   ' !
% %&  "$!$ "' ' ! $ 
 !!  "$'  ' %!! "%!  %
%$"! %   
   ' ! %
%&! %' "$!$ $#'$ 
"$%   %&$'-  )&% "!$ $ -
 !$ !  %& & % %! 
 '$$  "$!$$
Nota:          • •

  
       
        
         
S:2/5 Estado Bit de comando entrante pendiente (canal 1) • • •
%& & % %& ' !  "$!%!$
&$  #' !&$! !!   $ 
%!&!  !$- !   "$!"!$! !
' ! ! %& & % "' %&$ 
&!! ! &! %& & % "!   $!
' !  "$!%!$   %$(!  
"&- ! ! !
% %& & !! ! -  ' 
 %&$'-  "$ !$$  " 
!' !  "$!%!$
S:2/6 Estado Bit de respuesta de mensaje pendiente • • •
(canal 1)
%& & % %& ' ! !&$! !!  
$  "$!"!$! !   !$- #' '%&
%!&-    %&$'-   "$!%!$
%& & % "!   $! ' !  "$!%!$
    !$- ) &'* 
 %&$'- 
% %& & !! ! -  ' 
 %&$'-  "$ !$$  " 
!' -  "$!%!$

B–19
%
Manual de referencia del juego de instrucciones

#
%+"  &+" &%$+"





 ''(& '  #!"#  !"&  &  • • •
$""' " 
Este bit se establece cuando h 6 3,- - +81
mensajes habilitados 6 #$ espera en el
programa, pero no se transmite un mensaje. En
cuanto "-+($,7 * 20 ,1+(1(;, #$ 3, mensaje,
el bit se pone a cero. Des.391 #$ *
20 ,1+(1(;, $* !(2 1$ 43$*4$ $12 !*$"$0 1( ' 6
-20-1 +$,1 )$1 #$ $1.$0  $0+ ,$"$ .3$12-
"$0- 1( ,- ' 6 +81 +$,1 )$1 #$ $1.$0 
1$ $12$ !(2 "-+- "-,#("(;, #$ 3, (,1203""(;,
 . 0 +$)-0 0 * "-+3,(" "(;, #$*
.0-"$1 #-0
 #"(%+" ##  %#"!"'#  %)#  • • •
"*! "'% #!,"
$ .*(" *-1 .0-"$1 #-0$1    

6   
12$ !(2 "-,20-* $* +-#- 31 #- .-0 *-1 .0-"$1 <
#-0$1     
6   . 0
#(0$""(-, 0 $*$+$,2-1 $, $* 0"'(4-   0"'(4-
#$ # 2-1  "3 ,#- 1$ .0-"$1 3, .$2("(;, #$
"-+3,(" "(;,
-#- #$ #(0$""(;, #$ . * !0  4(&$,2$ "3 ,#-
$* !(2 1$ .-,$ "$0-  12$ $1 $* +-#-
.0$#$2$0+(, #- "-+. 2(!*$ "-, -20-1 #(1.-1(2(4-1
  $, * 0$# < 
-#- #$ #(0$""(;, #$ !62$  4(&$,2$ "3 ,#- $*
!(2 1$ $12 !*$"$  12$ +-#- 1$ 31 "3 ,#-
*-1 .0-"$1 #-0$1     
6 
 0$"(!$, 3, +$,1 )$ #$1#$ 3, #(1.-1(2(4- $,
* 0$# .-1(!*$+$,2$ .-0 3, .3$,2$ - & 2$< 5 6
12$ $12 !*$"(+($,2- $1 "-+. 2(!*$ "-, *
"-+3,(" "(;, #$ (,2$0.0-"$1 #-0  #$
**$,<0 #*$6
 #"(%+" #!$%+"  $%#%!  !+( #  • •
&'*' !!#%
3 ,#- $12$ !(2 $1 $12 !*$"(#- #$,20- #$ 3,
.0-&0 + 48*(#- "-,2$,(#- $, 3, +;#3*- #$
+$+-0(  ,- 1$ .$0+(2$ * +-#(%(" "(;, #$ *-1
0"'(4-1 #$ .0-&0 + #$ 313 0(-  12-
(,"*36$ *-1 "-+ ,#-1 #$ $#("(;, $, *:,$ 
#$1" 0& #$ .0-&0 + 6 !-00 #- #$ +$+-0( 
1$ $12 " 0 "2$0:12(" . 0 $4(2 0 /3$ 3,
#(1.-1(2(4- #$ .0-&0 + "(;, +-#(%(/3$ $*
.0-&0 +  #$1#$ $* .0-&0 + "-,2$,(#-
$, $* +;#3*- #$ +$+-0(  ( 3, +;#3*- #$
+$+-0( 1$ (,12 * "-, $12$ !(2 $12 !*$"(#- 6 3,
.0-&0 + #$ 313 0(-  #(%$0$,2$ $1
"-,2$,(#- $,  $* .0-"$1 #-0 ,- $,20 $,
$* +-#- #$ + 0"'  12$# #$!$ 20 ,1%$0(0 $*
.0-&0 + #$ +;#3*- #$ +$+-0( 
. 0 $,20 0 $, $* +-#- #$ + 0"' 

B–20
Archivo de estado SLC

Fijo,
$)! Clasificación Descripción 5/02 5/03 5/04
5/01
S:2/10 Configuración Bit de selección de resolución STI • •
estática (1 ms ó 10 ms)
Este bit e*+1 'uesto a cero predeterminadaĆ
mente. Cuando e*+1 'uesto a cero, este bit usa
una base de tiempo de  ms para el valor del
punto de ajuste  S:30). Por ejemplo, el valor
4 usa un punto de ajuste STI de 40 ms.
Cuando es establecido, este bit usa una base de
tiempo de 1 ms para el punto de ajuste STI
(S:30). Por ejemplo el valor 4 usa un punto de
ajuste STI de 4 ms. Para programar esta
característica, use la función de monitor de datos
para establecer, poner a cero o direccionar este
bit con el programa de escalera.
S:2/11 Estado Bit de interrupción de entrada discreta • •
pendiente
Cuando es establecido, este bit indica que el
acumulador DII (S:52) es igual al valor DII
predeterminado (S:50) y que el número de
archivo de escalera especificado por el
número de archivo DII (S:46) espera su
ejecución. Se pone a cero cuando el número
de archivo DII 9S:46) comienza a ejecutarse o
cuando sale del modo de marcha REM o
prueba REM.
S:2/12 Configuración Bit de interrupción de entrada discreta • •
dinámica habilitada
Para programar esta característica, use la
función de monitor de datos para establecer,
poner a cero o direccionar este bit con el
programa de escalera. Este bit se establece
en su condición predeterminada. Si es
establecido, permite la ejecución de la
subrutina DII si el archivo DII (S:46) es distino
de cero. Si está puesto a cero, cuando ocurre
la interrupción, la subrutina DII no se ejecuta y
el bit de DII pendiente se pierde. La función
DII continúa funcionando cuando el archivo DII
(S:46) es distinto de cero. Si el bit pendiente
se establece, el bit de habilitación se examina
al próximo final de escán.
S:2/13 Estado Bit de ejec. de interrupción de entrada discreta • •
Cuando es establecido, este bit indica que la
interrupción DII ha ocurrido y que la subrutina DII
se está ejecutando. Este bit se pone a cero
cuando se termina la rutina DII, durante el
encendido o a la entrada en el modo de marcha
REM.
Ejemplo de aplicación: Usted puede
examinar este bit en la rutina de fallo para
determinar si la DII estaba ejecutándose
cuando ocurrió el fallo.

B–21

Manual de referencia del juego de instrucciones


$ $ $   

   $
 de $  !" # • • •
# $ -)'" ),/ -.,"$/ #,.$/ SLC 502, SLC
5/03 4 SLC 5/04.
Establezca este bit cuando usted vaya a a
usar la adición o resta de 32 bits. Cuando
S:2/14 es establecido y el resultado de una
instrucción ADD, SUB, MUL o DIV no se
puede representar en la dirección de destino
(underflow u overflow),
• el bit de overflow S:0/1 se establece,
• el bit de interrupción por overflow S:5/0 se
establece, y
• la dirección de destino contiene los 16 bits
sin signo truncados y menos significativos
del resultado.
La condición predeterminada de S:2/14 se
restablece (0). Cuando S:2/14 se restablece y
el resultado de una instrucción ADD, SUB,
MUL o DIV no se puede representar en la
dirección de destino (underflow u overflow),
• el bit de overflow S:0/1 se establece,
• el bit de interrupción por overflow S:5/0 se
establece, y
• la dirección de destino contiene 32767 si el
resultado es positivo o -32768 si el
resultado es negativo.
Nota: El estado de bit S:2/14 no afecta la
instrucción DDV. Además, no afecta el
contenido del registro matemático cuando se
usan instrucciones MUL y DIV.
Para programar esta característica, use la
función de monitor de datos para establecer o
pone a cero este bit. Para proporcionar
protección contra la modificación accidental de
monitor de datos de su selección, programe
una instrucción OTL incondicional en la
dirección S:2/14 para asegurar la operación de
overflow matemático nuevo. Programe una
instrucción incondicional OTU en la dirección
S:2/14 para asegurar la operación de overflow
matemático original.
Vea el capítulo 3 de este manual para obtener
un ejemplo de matemática de 32 bits con
signo .

B–22
Archivo de estado SLC

Fijo,
#) $) $#") 5/02 5/03 5/04
5/01
S:2/15 Configuración Bit de selección de servicio de • • •
dinámica comunicaciones (canal 1 de DH+ para SLC
5/04) (canal 1 DH485 para SLC 5/03)
Cuando este bit es establecido, solamente una
petición/comando de comunicación puede recibir
servicio por END, TND, REF o SVC. Cuando se
pone a cero, todas las peticiones/comandos de
comunicación de entrada o salida pueden recibir
servicio según END, TND, REF o SVC. Cuando
se pone a cero, la transferencia de comunicación
se incrementa. Sin embargo, el tiempo de escán
se incrementa si varias peticiones/comandos de
comunicación se reciben en el mismo escán.
Una petición/comando de comunicación consiste
en un comando de entrada, una respuesta de
mensaje o un comando de mensaje de salida.
Vea S:2/5, S:2/6 y S:2/7 y S:33/7 (procesadores
SLC 5/03 y SLC 5/04).
Para programar esta característica, use la
función de monitor de datos para establecer o
poner a cero este bit. Para proporcionar
protección contra la modificación accidental del
monitor de datos de su selección, programe una
instrucción OTL incondicional en la dirección
S:2/15 para asegurar la operación de una
petición/comando o programe una instrucción
OTU incondicional en la dirección S:2/15 para
asegurar la operación de peticiones/comandos
múltiples. Como alternativa, su programa puede
cambiar el estado de este bit usando la lógica de
escalera si la aplicación requiere la selección
dinámica de esta función.
Ejemplo de aplicación: Digamos que usted
tiene un sistema que consiste en un
procesador SLC 5/02, SLC 5/03 ó SLC 5/04,
un programador APS y un DTAM. El tiempo
de escán del programa para el programa de
usuario es sumamente extenso. Por eso, el
dispositivo de programación o DTAM tarda
muchísimo tiempo para actualizar la pantalla.
Usted puede mejorar este tiempo de
actualización poniendo a cero S:2/15.
En tal caso, el tiempo adicional tomado por el
procesador para dar servicio a toda la
comunicación al final del escán es de
insignificante en comparación con el tiempo
requerido para finalizar un escán. Usted
podría incrementar la transferencia de
comunicación aun más usando una instrucción
SVC. Vea el capítulo 8 en este manual para
obtener más información.

B–23

Manual de referencia del juego de instrucciones

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:3L Estado Tiempo de escán de 10 ms actual/último • •
El +!$'  () byte le informa cuánto tiempo
transcurre durante un ciclo de programa. Un
ciclo de programa incluye:
• el escán del programa de escalera,
• la limpieza,
• el escán de E/S, y
• el servicio para el puerto de comunicación.
El valor de byte se pone a cero por el
procesador durante cada escán justo antes de
la ejecución de renglón 0 del archivo de
programa 2 (archivo de programa principal) o
cuando retorna de la instrucción REF. Desde
ese punto en adelante, el byte se incrementa
cada 10 ms, la cantidad de tiempo
transcurrido en cada ciclo de programa. Si
este valor es igual al valor en el control
(watchdog) S:3H, se declara un error mayor
de control (watchdog) de usuario (código
0022).
La resolución del valor de tiempo de escán es
+0 a ±10 ms. Ejemplo: El valor 9 indica que
80-90 ms han transcurrido desde el inicio del
ciclo de programa.
Nota: Cuando las instrucciones SVC o REF • • •
son contenidos en el programa, este valor
parecer ser irregular cuando usted lo
monitoriza con un dispositivo de
programación. Esto se debe a que las
instrucciones SVC o REF permiten que este
valor se lea en medio del escán mientras
todavía se está incrementando.

B–24
Archivo de estado SLC

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
continuación
Ejemplo de aplicación: Su )
de S:3L
requiere que cada escán de programa se
ejecute dentro del mismo lapso de tiempo.
Usted mide los tiempos de escán máximo y
mínimo y descubre que son 40 ms y 20 ms.
Puede hacer que cada escán sea
exactamente igual a 50 ms programando los
renglones siguientes como los últimos
renglones del programa.

1 MOV
]LBL[ MOVE
Source S:3

Dest N7:0

AND
BITWISE AND
Source A 255

Source B N7:0

Dest N7:0

LES 1
LESS THAN (JMP)
Source A N7:0

Source B 5

Este ejemplo asume que el escán de E/S y el


servicio para la comunicación toman menos
de 10 ms. Si excede 10 ms, la resolución del
tic de +0 a ±1 (10 ms) se debe añadir al
tiempo de escán.

B–25
$
Manual de referencia del juego de instrucciones

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:3H Configuración Byte de tiempo de escán de control • • • •
dinámica (watchdog)
Este valor de 1- ('-# ' % '5& +(  -#,
 10 &, *. , ) +&#- *. (.++' .+'-
.' #%(  programa. El valor predeterminado
es 10 (100 ms), pero usted puede incremenĆ
tarlo a 250 (2.5 segundos) o disminuirlo a 2,
según lo requiera la aplicación. Si el valor de
escán de programa S:3L es igual al valor de
control (watchdog), un error mayor de control
(watchdog) se realiza (código 0022). Este
valor se aplica a cada END, TND o REF.
S:4 Estado Reloj de marcha libre •
Solamente los 8 primeros bytes (valor de byte)
de esta palabra son evaluados por el
procesador. Este valor se pone a cero al
momento de encendido en el modo de marcha
REM.
Usted puede usar cualquier bit individual de
este byte en el programa de usuario como bit
de reloj de ciclo de trabajo de 50%. Las
velocidades de reloj para S:4/0 a S:4/7 son:
20, 40, 80, 160, 320, 640, 1280 y 2560 ms
La aplicación que usa el bit se debe evaluar a
una velocidad dos veces más rápida que la
velocidad de reloj del bit. Esto se ilustra en el
ejemplo siguiente para los procesadores
SLC 5/02, SLC 5/03 y SLC 5/04.

B–26
Archivo de estado SLC

Fijo,
Continuación Clasificación Descripción 5/02 5/03 5/04
5/01
continuación Configuración ,",0 ),0 16 '10 "# #01 -) / 0,+ • • •
de S:4 dinámica #3)2",0 -,/ #) -/,!#0",/. El valor de esta
palabra se pone a cero al momento de
encendido en el modo de marcha REM o
cuando entra en el modo de marcha REM o
prueba REM. A partir de entonces, se
incrementa cada 10 ms.
Nota de aplicación: Usted puede escribir
cualquier valor a S:4. Comenzará a
incrementarse a partir de este valor.
Puede usar cualquier bit individual de esta
palabra en el programa de usuario como bit
de reloj de ciclo de trabajo de 50%. Las
velocidades de reloj para S:4/0 a S:4/15 son:
20, 40, 80, 160, 320, 640, 1280, 2560,
5120, 10240, 20480, 40960, 81920,
163840, 327680 y 655360 ms
La aplicación que usa el bit se debe evaluar a
una velocidad dos veces más rápida que la
velocidad de reloj del bit. En el ejemplo
siguiente, el bit S:4/3 alterna cada 80 ms, lo
cual produce una velocidad de reloj de
160 ms. Para mantener la exactitud de este
bit en la aplicación, la instrucción que usa el
bit S:4/3 (en este caso O:1/0) se debe evaluar
por lo menos una vez cada 79.999 ms.

S:4 O:1
160 ms ] [ ( )
3 0
El S:4/3 y la salida
O:1/0 alternan cada
ciclo de S:4/3: 160 ms
80 ms. O:1/0 se debe
evaluar por lo menos
una vez cada
79.999 ms.

S:5 Bit de error menor • • • •


Los bits de esta palabra son establecidos por
el procesador para indicar que un error menor
ha ocurrido en el programa de escalera. Los
errores menores, bits 0 a 7, vuelve a ser el
error mayor 0020H si un bit se detecta como
establecido al final del escán. Al usuario HHT:
Si el procesador está con fallo con el código
de error 0020H, debe poner a cero los bits de
error menor S:5/0-7 junto con S:1/13 para
intentar una recuperación de error.

B–27
 
Manual de referencia del juego de instrucciones


 ' !' ! '   

  # ' "  " #'  $ % • • • •
& Cuando este bit es establecido por el
procesador, indica que un overflow
matemático ha ocurrido en el programa de
escalera. Vea S:0/1 para obtener más
información.
Si este bit se establece cuando se ejecuta la
instrucción END, TND o REF, un error mayor
(0020) se realiza. Para evitar la coincidencia
de este tipo de error mayor, examine el estado
de este bit después de una instrucción
matemática (ADD, SUB, MUL, DDV, NEG,
SCL, TOD o FRD), tome la acción más
adecuada y, luego, ponga a cero el bit S:5/0
usando una instrucción OTU con S:5/0 ó una
instrucción CLR con S:5.
  
! $ • • • •
  # ' "     !"   "  • • • •
& Las instrucciones LFU, LFL, FFU, FFL, BSL,
BSR, SQO, SQC y SQL son capaces de
generar este error. Cuando el bit S:5/2 se
establece, indica que el bit de error de la
instrucción de control ha sido establecido.
Si este bit se establece cuando se ejecuta la
instrucción END, TND o REF, el error mayor
(0020) se realiza. Para evitar la coincidencia
de este tipo de error mayor, examine el estado
de este bit a continuación de una instrucción
de registro de control, tome la acción más
adecuada y, luego, ponga a cero el bit S:5/2
usando una instrucción OTU con S:5/2 ó una
instrucción con S:5.

B–28
Archivo de estado SLC

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:5/3 Configuración Bit de error mayor detectado durante la • • •
dinámica ejecución de rutina de fallo de usuario
Cuando es establecido este bit, el código de
error mayor (S:6) representa el error mayor
que ocurrió durante el procesamiento de la
rutina de fallo debido a otro error mayor.
Si este bit se establece cuando se ejecuta la
instrucción END, TND o REF, el error mayor
(0020) se realiza. Para evitar la coincidencia
de este tipo de error mayor, examine el estado
de este bit dentro de la rutina de fallo, tome la
acción más adecuada y, luego, ponga a cero
el bit S:5/3 usando una instrucción OTU con
S:5/3 ó una instrucción CLR con S:5.
Ejemplo de aplicación: Supongamos que
usted ejecuta una rutina de fallo para el código
de fallo 0016H de protección de encendido.
En el renglón 3 dentro de esta rutina de fallo,
un TON que contiene un valor
preseleccionado negativo se ejecuta. Cuando
el renglón 4 se ejecuta, el código de fallo
0016H se sobrescribe para indicar el código
0034H y S:5/3 se establece.
Si su rutina de fallo no determinó que S:5/3 se
estableció, el error mayor 0020H se realizaría
al final del primer escán. Para evitar este
problema, examine S:5/3, seguido por S:6,
antes de retornar de la rutina de fallo. Si S:5/3
se establece, tome la acción más adecuada
para remediar el fallo y, luego, ponga a cero
S:5/3.
S:5/4 Configuración Bit de M0-M1 indicados en ranura • • •
dinámica inhabilitada
Este bit se establece cuando una instrucción
hace referencia a un elemento de archivo de
módulo M0 ó M1 para una ranura que se
inhabilitó (vía el bit de habilitación de ranura
de E/S). Cuando es establecido, el bit indica
que una instrucción no se pudo ejecutar
correctamente debido a la falta de
disponibilidad de los datos M0 ó M1
direccionados.
Si este bit se establece cuando se ejecuta la
instrucción END, TND o REF, el error mayor
(0020) se realiza. Para evitar la coincidencia
de este tipo de error mayor, examine el estado
de este bit después de una instrucción de
M0-M1 referenciada, tome la acción más
adecuada y, luego, ponga a cero el bit S:5/4
usando una instrucción OTU con S:5/4 ó una
instrucción CLR con S:5.

B–29
* !
Manual de referencia del juego de instrucciones

"#'
"* "3& $+"!""3&  +*"("3&   


     + *.' • • • •
  Reservado para los errores menores que
vuelven a ser errores mayores al final del
escán.
  +,' ",  **&)-  $ %3-$'  % %'*" • • • •
Cuando este bit es establecido por el
procesador, indica que un programa de módulo
de memoria ha sido transferido al procesador.
Este bit no es puesto a cero por el procesador.
El programa puede examinar el estado de este
bit cuando entra en el modo de marcha REM
para determinar si el contenido del módulo de
memoria ha sido transferido. El bit S:1/15 se
establece para indicar la entrada en el modo de
marcha REM. Esta información es útil cuando
usted tiene una aplicación que contiene datos
retentivos y un módulo de memoria con
solamente el bit S:1/10 establecido (módulo de
memoria de carga en el error de memoria). Use
este bit para indicar que los datos retentivos se
han perdidos. Este bit también es útil cuando se
usan los bits S:1/11 (módulo de memoria de
carga permanente) o S:1/12 (módulo de
memoria de carga permanente y marcha) para
diferenciar una entrada en el modo de marcha
REM al momento de encendido de una entrada
en el modo de programa REM (o prueba REM)
a modo de marcha REM.
  +,' ",  '** +('& &" "&'** ,  • • • •
'&,*+ 2+  %3-$'  % %'*"
Este bit se establece cuando se entra en el
modo de marcha REM cuando la carga desde
el módulo de memoria es especificada
(palabra 1, bits 11 ó 112) y el programa de
usuario del procesador tiene protección con
contraseña y el programa de módulo de
memoria no corresponde a dicha contraseña.
Use este bit para indicarle al programa de
aplicación que un módulo de memoria de
carga automática se encuentra instalado pero
no se cargó debido a una desigualdad de
contraseñas.
  +,' ",  '. *!$'/  "&, ** , %('*"0 • • •
+ $ "'&$ 
Este bit es establecido cuando el temporizador
STI caduca durante la ejecución o inhabilit. de la
rutina STI  el bit pendiente ya es establecido.
  +,' ",  , *1 # • • •
Este bit se establece cuando el LED de
batería baja se ilumina. El bit se pone a cero
cuando el LED de batería baja se apaga.

B–30
Archivo de estado SLC


& & &   

  
  !"   &   • •

Este bit se establece cuando ocurre la
interrupción DII dudrante la ejecución de la
subrutina DII o cuando la interrupción DII
ocurre durante el estado pendiente o
inhabilitado.
   &  &   %#    • •
$ &
Este bit se establece cuando se intenta cargar
el módulo de memoria del sistema operativo y
ésa resulta sin éxito. Las cargas sin éxito
pueden ocurrir cuando falta el puente de
protección o está en la posición protegida, o si
el módulo de memoria del sistema de
operación no es compatible con la plataforma
de hardware de los procesadores SLC 5/03 ó
SLC 5/04. Examine el estado de este bit con
su programa de usuario para diagnosticar la
condición.

B–31

Manual de referencia del juego de instrucciones


"  "  "   

  ! "   0  • •
34& #*4 *.%*$" &, &34"%/ %&, -<%&- $/.&$4"%/
", $".", 0 05&24/ &. 3&2*& RS232). El estado
de este bit es determinado por:
• el protocolo para el cual el canal 0
ha sido configurado
• la línea de control seleccionada
• los estados de DCD (detección de portador
de datos) y DSR (conjunto de datos
listo)
Si el bit es establecido, el módem no está bien
conectado al canal 0 ó está en un estado
donde pueden ocurrir cambios de
comunicación no confiables vía el canal 0.
Las condiciones siguientes se aplican:
• Si el canal 0 se inhabilita o se configura
para DH485, el bit siempre se pone a cero.
• Si el canal 0 se configura para uno de los
protocolos DF1 en el modo de sistema o modo
de usuario de ASCII genérico, la selección de
la línea de control determina cómo DCD y
DSR afectan el estado de módem:
- Si la línea de control = NINGUNA
COMUNICACION: El bit siempre es
establecido.
- Si la línea de control = FULL DUPLEX o
HALF DUPLEX SIN ACARREO CONSTANTE:
El bit se restablece si DSR está inactivo y
puesto a cero cuando DSR se activa. (En este
caso, DCD no afecta el estado de módem.)
  ! Manejo de la cadena
  • •
Este bit se aplica a los procesadores SLC 5/03
con OS301, OS302 y SLC 5/04 con OS400,
OS401.
Este bit se establece a 1 cuando se intenta
procesar una cadena usando una instrucción
ASCII que exceda la longitud de 82
caracteres.

B–32
Archivo de estado SLC


 
      

  
      • • • •
Un código hexadecimal se introduce en esta
palabra por el procesador cuando un error
mayor se realiza. Refiérase a S:1/13. El
código define el tipo de fallo según lo indicado
en las páginas siguientes. Esta palabra no es
borrada por el procesador.
Los códigos de error son presentados,
almacenados y mostrados en formato
hexadecimal. Refiérase al apéndice A para
obtener más información acerca del sistema
de numeración hexadecimal.
Si usted introduce un código de fallo como • • •
parámetro en una instrucción del programa de
escalera, debe convertir el código en decimal.
Por ejemplo, si programa una instrucción EQU
que se haga verdadera cuando ocurra un error
0016, introduzca S:6 como fuente A y 22, 
  
  de 0016H, como fuente B.

EQU
EQUAL
Source A S:6

Source B 22

B–33
Preface
Manual de referencia del juego de instrucciones

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
continuación Ejemplo de aplicación: Usted puede
de S:6 declarar su propio fallo mayor específico
para la aplicación escribiendo un valor único
a S:6 y, luego, estableciendo el bit S:1/13.
     
   :
Interrogue el valor de S:6 en la rutina de
fallo para determinar el tipo de fallo que
ocurrió. Si el programa se guardó con la
prueba de un solo paso habilitada, también
puede interrogar S:20 y S:21 para precisar
el renglón exacto que se ejecutó cuando
ocurrió el fallo.
Clasificaciones de fallo: Los fallos se
clasifican como no atribuibles al usuario, no
recuperables y recuperables.

Fallo no Fallo de
atribuible Fallo de usuario usuario
al usuario no recuuperable recuperable
La rutina  rutina de fallo La rutina de
de fallo se ejecuta durante fallo puede
no se 1 paso. (Usted borrar el
ejecuta. puede iniciar una fallo
instrucción MSG a poniendo a
otro nodo para cero el bit
identificar la S:1/13.
condición de fallo
del procesador.)

Las descripciones y clasificaciones del • • • •


código de error aparecen en las páginas
B-35 a B-43. Las categorías son:
• errores de encendido
• errores de ida a marcha
• errores de tiempo de ejecución
• errorres de instrucción del programa
de usuario
• errores de E/S
Vea el capítulo 12 de este manual para
obtener información acerca de la causa y
recuperación de fallos.

B–34
Archivo de estado SLC

Clasificación de fallo Procesador

Usuario
Código
DirecĆ No No RecuĆ Fijo
de error Errores de encendido 5/02 5/03 5/04
ción usuario recuperable perable 5/01
(hex)
S:6 0001 
  X • • • •
"  
    
0002
     
X • • • •
 
    #
    
0003  !   X • • •
      
    
0005   X • •
0006   X • •
      
0007
 #   
X • •

0008      X • •


0009       X • •

B–35
)
Manual de referencia del juego de instrucciones

$*"""-&  $$' )'*')

*+)"'
-" '
"). ' ' "#'
 ))') ))')*  "  %)! +( 5/02 5/03 5/04
"-& +*+)"' )+()$ 5/01
!,
El procesador no cumple con
 
el nivel de revisión requerido.
 • • • •
El archivo de programa

ejecutable no. 2 está austente.
 • • • •
El programa de escalera

tiene un error de memoria.
 • • • •
• El módulo de memoria
requerido está ausente, o
 • S:1/10 ó S:1/11 no es  • • • •
establecido como lo
requiere el programa.
 Error de archivo interno.  • • • •
Error de archivo de


configuración.
 • • • •
Protección de encendido
después de la pérdida de
alim. eléc. Condición de error
 existe al momento de  • • •
encendido cuando el bit S:1/9
se establece y la interrupción
ocurrió durante la ejecución.
Desigualdad del programa
 de usuario de módulo de  • •
memoria/NVRAM
Programa de usuario no
compatible -Desigualdad de
 tipo de sistema operativo.  • •
Este error también puede
ocurrir durante el encendido.
Se detectó etiqueta faltante

o duplicada.
 • •
Un problema de integridad
 de programa durante una  • •
sesión de edición en línea.
Error de memoria ocurrió en

el modo de marcha.
 • • •
Un bit de error menor se
establece al final del escán.

Refiérase a los bits S:5 de
 • • • •
error menor.

B–36
Archivo de estado SLC

%,# ##5'  %%( +(,(+

,.+#(
5#!(
#+6 ++(+,  -#&)(  ( ( #$(
 ++(+ .)  

#5' $.#5' .,.+#( +.)+% 
"0
       ! 
      "
 
"
(-   ! "
" "! " (
 ! (  )
!   "!  
' " " ")
"   (  
   !   &

 $ 
 #% 
(   (
 ! (  )
!      
"!   ' 
+(,(+, (&6
! )-(, 1  
    ,# % %%(
 %#& %4 +&(-
(.++#5 &#'-+, *.
% )+(,(+ ,-.6  • • • •
/#+ ' % &(( 
&+"  % ++(+
  .,+3 *. %
#-  ++(+ &1(+
-'#( 
 ,
)('!  +( .+'-
% )+50#&( ''#(
% ",#, %(%
+(,(+, 
 1   
 ( , ',+#(
,('-+ 1 /(%/+
 ('-+ % %#&
%4 % ",#, %(%
)+ +'.+ %
&((  &+"
 ' /2 *. %
",#, +&(-( ,
+-#/ % 
/.%/  #'##+ %
,#,-&
      
         • • • •
   
  "



    


 • • •

B–37
Manual
-"#de"referencia del juego de instrucciones

(.&#&  &5* !" #((+ -+ ".!+-

.0-&+
5!&$+
&-" 6 --+-". !" /&"),+ !" + + &'+
!" "--+- " 0,   

&5* "'" 0 &5* 0.0-&+ -" 0,"-(" 


%"2
Intervalo de interrupción STI
 
no válido (mayor que 2550  • • •
ms o negativo).
Exceso de profundidad de
 pila/llamadas JSR para la  • • •
rutina STI.
Exceso de profundidad de
 pila/llamadas JSR para la  • • •
rutina de interrupción de E/S.
Exceso de profundidad de
 pila/llamadas JSR para la  • • •
rutina de fallo de usuario.
Valor de archivo de rutina de
fallo de protección de

encendido" inválido o no
 • • •
existente.
Referencia de dirección
indexada fuera de todo el
espacio de archivo de datos
(límite de B3:0 al último  •
archivo).

 ( ,-+ ".!+-


!   0. 0*
1(+- !" 4*!& "
!" "-+ ,- (
&*./-0 &5* +*  • •
#((+ !".,03. !"
( -" 0,"- &5*
!" "--+-

La referencia de dirección
indexada se encuentra fuera
 de los límites del archivo de  • • •
datos referenciado
específico.
El número de archivo existe,
pero no es el tipo de archivo

correcto o el número de
 • •
archivo no existe.

B–38
Archivo de estado SLC

Clasificación de fallo Procesador

Usuario
Código
DirecĆ Errores de tiempo de No No Fijo,
de error Recup. 5/02 5/03 5/04
ción ejecución usuario recuperable 5/01
(hex)
  !&" "! $$!
!$& !" )%& #$" 
&#"  $(" % "$$&" *
S:6 002C
)%& "$  #"
X • •
   #$" 
%" !& ( %& 
! %' !&" &! '!
$$! !"$$& " % 
002D
$+" '! $$!
X • •
!$&  '! $(" 
!'$  !&$ !"
002E
(,
X • •

$("  !&$$'#-!
002F
!" (, " !" )%&!&
X • •

B–39
Manual de referencia del juego de instrucciones
3()$&(

3313(4 '( !

" !  "  77  #


!     Los caracteres xx en los códigos
siguientes representan el número de ranura en hexadecimal. $0 77 $0 77 $0 77 $0 77
Si la ranura exacta no se puede determinar, los caracteres xx       
se convierten en 1F.       
     
! " ! (Procesadores SLC 5/02, SLC


   
 
5/03 y SLC 5/04): Muchos fallos de E/S son recuperables.
      
Para recuperalos, usted debe inhabilitar la ranura
 
    
especificada, xx, en la rutina de fallo de usuario. Si no
   
 
inhabilita la ranura xx, el procesador estará con fallo al final
   
  
del escán.
* Este valor indica que la ranura no se encontró (procesadores
15$ Una tarjeta de E/S que está muy dañada, puede SLC 501, SLC 5/02, SLC 5/03 y SLC 5/04).
causar que el procesador indique la existencia de un error en
el renglón 1 aunque la tarjeta dañada se encuentre ** Este valor indica que la ranura no se encontró (controlador
instalada en un renglón distinto de 1. fijo 500).

.$4,),&$&,80 '( )$..1 31&(4$'13

"46$3,1
8',*1
,3(&9 3313(4 '( ,04536&&,80 '(. 1 1 ,-1
'( (3313 (&62  

&,80 231*3$/$ '( 646$3,1 646$3,1 3(&62(3$%.( 
+(7
Se intentó saltar a un archivo
de subrutina anidado en
exceso de uno. Este código
! 

también puede significar que
# • • • •
un programa tiene rutinas
posiblemente recursivas.
Se detectó una referencia de


instrucción no soportada.
# • • • •

Una parámetro de longitud/


posición de secuenciador


indica más allá del final de
# • • • •
un archivo de datos.
La longitud de una
instrucción LFU, LFL, FFU,


FFL, BSL o BSR indica más # • • • •


allá del final de un archivo de
datos.

B–40
Archivo de estado SLC

Clasificación de fallo Procesador

Usuario
Código
DirecĆ Errores de instrucción del No No Fijo,
de error Recup. 5/02 5/03 5/04
ción programa de usuario usuario recuperable 5/01
(hex)
Se ((. un valor negativo
para un acumulador de
S:6 0034
temporizador o valor
X • • • •
preseleccionado.
Los procesadores fijos con
entradas dd 24 VCC
solamente: Se detectó un
HSC preseleccionado
X •
negativo o de cero en una
instrucción HSC.
Instrucción TND, SVC o REF
se llama dentro de una rutina
0035
de interrupción o fallo de
X • • •
usuario.
Un valor no válido se usa
0036 para un parámetro de X • • •
instrucción PID.
Una instrucción RET se
0038 detectó en un archivo que no X • • • •
es una subrutina.
Se intentó escribir una
dirección indirecta ubicada
xx3A en un archivo que tiene la X • •
protección constante de
archivo de datos.
Una longitud de cadena no
1f39 válida se detectó en un X • •
archivo de cadena.
Un error de chasis de datos
xx50
se detecta.
X • • • •
Un error de tiempo de
ejecución atascado" se
xx51
detecta en un módulo de
X • • • •
E/S.
Un módulo requerido para el
programa de usuario se
xx52
detecta como faltante o
X • • • •
eliminado.

B–41
* !
Manual de referencia del juego de instrucciones

&+$!$$.'  !&&( *( +(*

+,*$(
.$"(
$* / ( ( $%(
 **(* **(* +    ,)   

$.' ,+,*$( * ,) *& 


# -
Cuando está en ida a marcha,
un programa de usuario
declara una ranura como no
usada y dicha ranura se
 -- detecta como si tuviera un  • • • •
módulo de E/S insertado.
Esto también puede significar
que un módulo de E/S se ha
restablecido.
Se intentó entrar en el modo
de marcha o prueba con un  • •
chasis vacío.
Un módulo requerido para el
--
programa de usuario se deĆ  • • • •
tecta como el tipo incorrecto.
Un módulo de E/S discretas
requerido para el programa
de usuario se detecta como
si tuviera el conteo de E/S
--
incorrecto. Este código
 • • • •
también puede significar que
un variador de tarjeta
especial es erróneo.
La configuración de chasis
especificado en el programa
--
de usuario se detecta como
 • • • •
errónea.
Un módulo de E/S especial no
ha respondido a un comando
-- de memoria compartida de  • • • •
bloqueo dentro del límite de
tiempo requerido.
Un módulo de E/S especial
ha generado un fallo
--  genérico. El bit de fallo de  • • • •
tarjeta se establece (1) en el
byte de estado del módulo.
Un módulo de E/S especial
no ha respondido a un
--  comando como finalizado  • • • •
dentro del límite de tiempo
requerido.
Problema de interrupción de
-- 
hardware.
 • • •

B–42
Archivo de estado SLC

%*# ##-&  %%' )'*')

*+)#'
-#!'
#). ' ' #$'
 ))') ))')*   +(   

#-& +*+)#' )+()% 


",

""" de configuración de
archivo G - el tamaño de
 ,,  archivo G de programa de  • • •
usuario excede la capacidad
del módulo.
Error de configuración de
archivo M0-M1 - el tamaño
,,  de archivo de programa  • • •
M0-M1 excede la capacidad
del módulo.
El procesador no tiene
,,  capacidad para el servicio de  • • •
interrupción solicitado.
Error de variador de E/S del
,, 
procesador (software).
 • • •
Identifica un error mayor
,,  recuperable específico para el
 módulo de E/S. Refiérase al  • • •
,,  manual de usuario proporcioĆ
nado con el módulo especial.
Identifica un error mayor no
,,  recuperable específico para el
 módulo de E/S. Refiérase al  • • •
,,  manual de usuario proporcioĆ
nado con el módulo especial.
Problema de interrupción en
,,
una ranura inhabilitada.
 • • •
Una ranura inhabilitada está
,,
con fallo.
 • • •
Un archivo de subrutina de
,, interrupción 9ISR) de móduĆ  • • •
lo no válido o no existente.
Error de mayor específico
,, para el módulo de E/S no  • • •
soportado.
En el modo de marcha REM
o prueba REM, un módulo
ha sido detectado como
,,
insertado con la alim. eléc.  • • •
conectada. También puede
significar que un módulo de
E/S se ha restablecido.

B–43
&
Manual de referencia del juego de instrucciones

 $
&,# !',# '&%,#   



 '($ ,$  ')'%#',#&*$  ')'%#',# • • • •


+ Cuando un valor distinto de cero aparece en
   !%! (, # !%*+),!3%  !%+!!
'&) *+ -#&)  *!& -#, &$& -))
/ (, # $&&  ',*  *,*'%*!3% *
-!%+ *+& *)! ')!*$%+#*
&%!!&%* % # '#!!3% (, ,*)&% #
$&&  ',*  *,*'%*!3% *+ -#&) %&
* &))& '&) # ')&*&)
 '#)  &%+!% # %4$)&  ) !-&
 ')&)$ % (, * ,! ,% !%*+),!3%
 -)) *+ -#&) %& * &))& '&)
# ')&*&)
* # !%*+),!3%  &% # #&#!0!3% /
&))!3%  ##&*  %%!& & &$&
!%3*+!&*  +!$'&  ",!3% ') #
+!3%  ))&)* # *!*+$
 "%!$  %!,# *+ &%*!) (,
#&* !%+)),'+&)*  !%#  ))) &%+5
&*     %& * ',% +!-)
*!$,#+1%5 $%+ ')& # ')&)$ 
'#!!3% * &$'&)+ &$& *! *& ,)
'&*!# ) +)$!%) # .!*+%!  ,%
')&#$ # !%+)),'+&)  !%#  ))) &
')&#$  #3!  *#) 2 #
)%#3% *!,!%+ # ')&)$

I:1.0 I:1.0 SUS


] [ ] [ SUSPEND
0 1 Suspend ID 1

! # ')&)$ %+) % # $&&  ',* 


 ') # 3!&  ,%& ,*+ ",+ #
')&)$ +!% ,% ')&#$ # !%+)),'+&) 
!%#  ))) *! # $&&  ',*  
') # 3!&  %& &,)) +!% ,% ')&#$
 #3!  *#)

 '($ $$' (*$' #! %&$'$&' • • •


+   
 *+* &* '#)* *&% $'* % !+* ')
)')*%+) #&*  %&&* '&*!#* % ,% )
5
    
)')*%+% #*
!)!&%*  %&&  *+&* !+* *&%
*+#!&* '&) # ')&*&) ,%& ,% %&&
.!*+ % # ) 5
# ,# *+1 &%+&
# ')&*&) &* !+* *&% &))&* ,%& ,%
%&& %& *+1 ')*%+ % # )

B–44
Archivo de estado SLC

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
  Configuración Habilitaciones de ranuras de  • • • •
y dinámica Estas dos palabras son mapeadas con bits
  para representar las 30 ranuras posibles de
E/S en un sistema SLC 500. S:11/0
representa la ranura 0 de E/S para los
sistemas de E/S fijas. (La ranura 0 se usa
para la computadora en sistemas modulares.)
S:11/1 a S:12/14 representan las ranuras de
E/S 1-30. S:12/15 no se usa.
Cuando un bit se establece (condición
predeterminada), permite que el módulo de
E/S contenido en la ranura referida se
actualice en el escán de E/S del ciclo de
operación del procesador.
Cuando se pone a cero el bit, se ignora el
módulo de E/S en la ranura referida. Es decir,
un valor de habilitación de ranura de E/S de 0
causa que los datos de imagen de entrada de
un módulo de entrada se inmovilicen en su
último valor. Además, las salidas de un
módulo de salida se inmovilizarán, indepenĆ
dientemente de los valores contenidos en la
imagen de salida. Las salidas permanecen
inmovilizadas hasta que:
• la alim. eléc. se desconecte,
• se salga del modo de marcha REM, o
• un fallo mayor ocurra.
En ese momento las salidas se ponen a cero
hasta que la ranura se vuelva a habilitar
(establecer).
Las ranuras inhabilitadas no deben
armonizarse con la configuración de programa
de usuario.

%,$%  $ ( !"


! !  "!" "% &"% 
!&$ #"!$  $" '! & 
&+!  $!'$ !&% 
$" !  #+!

"& Los procesadores SLC 5/02, SLC 5/03 • • •


y SLC 5/04 informan a cada módulo de E/S
especial que se ha habilitado/inhabilitado.
Algunos módulos de E/S pueden efectuar
otras acciones cuando se inhabilitan o vuelven
a habilitarse. Refiérase a la información para
el usuario proporcionada con el módulo de E/S
especial para ver las posibles diferencias de
las descripciones anteriores.

B–45
'
Manual de referencia del juego de instrucciones

 !%
 ' -$ "(   -$ (' & -$   


%$) $* -$ • •
   +    $()'* -$  $%  (% "
! ()%   " ) -$ $ " ) -$ 
'$*' % !*) "  $ *$ '$*'
%$ ""%  &"  "  $ *$ '$*'
$ " ) " $)''*& -$ %*'' ',
 $ #'% " #$  $)' $%
'"!', " ()% )*"  " )'!)
()  ) ( &"  " #%#$)% 
) -$  *$  ) 
'%$ *' -$   ("  
  + "  $"   (,$
  % 

B–46
Archivo de estado SLC


"
" "   

 
"  ! • • • •
  1$ $12$ 0$&(120- doble para producir
  ! operaciones de 32 bits de #(4(1(;, 6
+3*2(.*(" "(;, "-, signo, operaciones de
#(4(1(;, precisa o #(4(1(;, doble 6
conversiones BCD #$ 5 dígitos.
Estas dos palabras se usan conjuntamente
con las instrucciones + 2$+82(" 1 MUL, DIV,
DDV  6  * 4 *-0 #$ 0$&(120-
+ 2$+82("- $1 $4 *3 #- * +-+$,2- #$
$)$"3"(;, #$ * (,1203""(;, 6 .$0+ ,$"$ 48*(#-
' 12 /3$ * .0;5(+ (,1203""(;,  
  -  1$ $)$"32$ $, $* .0-&0 +
#$ 313 0(-
, $5.*(" "(;, #$ ";+- %3,"(-, $* 0$&(120-
+ 2$+82("- 1$ (,"*36$ "-, * 1 #$%(,("(-,$1 #$
(,1203""(;,
( 312$# *+ "$, 4 *-0$1 #$ # 2-1 #$
!(21
"-, 1(&,- $)$+.*- $, * .8&(,
  #$!$
+ ,$) 0 $12$ 2(.- #$ # 2-1 1(, 63# #$ 3,
2(.- #$ # 2-1 #$
!(21 1(&, #-1 -0
$)$+.*- "-+!(,$  6  . 0 "0$ 0 3,
4 *-0 #$ # 2-1 "-, 1(&,- #$
!(21
$"-+$,# +-1 /3$ + ,2$,& 2-#-1 *-1
# 2-1 "-, 1(&,- #$
!(21 $, 3, 0"'(4- #$
# 2-1 <,("- 6 /3$ "-+($,"$ 2-#-1 *-1 4 *-0$1
#$
!(21 $, 3, *9+(2$ #$ . * !0 . 0 - (+. 0
. 0 % "(*(2 0 * .*(" "(;, 6 * 4(13 *(7 "(;,
#$+81 0$"-+$,# +-1 /3$ #(1$:$
#-"3+$,2$ 6 4$ $* "-,2$,(#- #$ # 2-1 #$

!(21 "-, 1(&,- $, * 0 97 '$5 #$"(+ * - !(, 0( 
$ $* " .923*-
. 0 -!2$,$0 +81
(,%-0+ "(;, "$0" #$ ";+- " # (,1203""(;,
%$"2 $* 0$&(120- + 2$+82("-
3 ,#- 3, 032(, #$ % **-  0 ,30 #$  • • •
- % **- (,2$003+.$ * $)$"3"(;, ,-0+ * #$*
.0-&0 +  $* 4 *-0 -0(&(, * #$* 0$&(120-
+ 2$+82("- 1$ 0$12 30 "3 ,#- * $)$"3"(;,
1$ 0$ ,3#  -2$ /3$ 
6  ,- 1$ 31 ,
"3 ,#- * %3$,2$ - #$12(,- 1$ #$%(,$ "-+-
# 2-1 #$ .3,2- "-+  %*-2 ,2$
3 ,#- 3,  (,2$003+.$ * $)$"3"(;, • •
,-0+ * #$* .0-&0 +  $* 4 *-0 -0(&(, * #$*
0$&(120- + 2$+82("- 1$ 0$12 30 "3 ,#- *
$)$"3"(;, 1$ 0$ ,3# 

B–47
Preface
Manual de referencia del juego de instrucciones

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:15L Configuración Dirección de nodo • • • •
estática Este valor de byte contiene la dirección de
nodo del procesador en la red DHĆ485 ó DH+.
Cada dispositivo en la red DHĆ485 debe tener
una dirección única entre los valores
decimales de 0-31. Cada dispositivo en la red
DH+ debe tener una dirección única entre los
valores decimales de 0-163. Para cambiar la
dirección de nodo de un procesador, escriba
un valor entre 1-31 para DHĆ485 y 1-63 para
DH+ usando el monitor de datos o la función
de nodo del programador, luego desconecte y
vuelva a conectar la alimentación eléctrica al
procesador..
La dirección de nodo predeterminada de un
procesador es 1. La dirección de nodo
predeterminada de APS y el programador
HHT es 0. Para proporcionar protección de
tiempo de ejecución contra la modificación
accidental del monitor de datos de su
selección, programe este valor usando una
instrucción MVM incondicional. Use la
instrucción MOV en lugar de MVM si también
desea proteger la velocidad en baudios. El
ejemplo siguiente muestra la protección de
tiempo de ejecución de la dirección de nodo 3.

MOV
MOVE
Source 3

Dest N7:100

MVM
MASKED MOVE
Source N7:100

Mask 00FF

Dest S:15

Cuando un comando de canal de • •


configuración se recibe para el canal 1, la
dirección de nodo se sobrescribe con el valor
contenido en la configuración de canal.

B–48
Archivo de estado SLC

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:15H Configuración Velocidad en baudios • • • •
estatica Este valor de byte contiene un código usado
para seleccionar la velocidad en baudios del
procesador en la red DHĆ485.
Los procesadores SLC 5/01 y fijos
proporcionan una velocidad en baudios de
19200 ó 9600 solamente.
Los procesadores SLC 5/02 proporcionan
una velocidad en baudios de 19200, 9600,
2400 ó 1200.
Los procesadores SLC 5/04 OS401
proporcionan una velocidad en baudios de
57.6, 115.2 y 230.4.
Para cambiar la velocidad en baudios del
valor predeterminado de 19200, use el
monitor de datos o la función de baudios del
programador. El procesador usa el código 1
para 1200 baudios, código 2 para 2400
baudios, código 3 para 9600 baudios,
código 4 para 19200 baudios, código 11
para 57.6 baudios, código 12 para 115.2
baudios y código 13 para 230.4 baudios.
Ejemplo que muestra la protección de
tiempo de ejecución de velocidad en
baudios de 19200 (código 4):

MOV
MOVE
Source 1024

Dest N7:100

MVM
MASKED MOVE
Source N7:100

Mask FF00

Dest S:15

S:15H es igual a 4
= 1024 decimal = 0400 hex
= 0000 0100 0000 0000 binario

B–49
'
Manual de referencia del juego de instrucciones

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:15H Ejemplo que muestra la protección de tiempo
(cont.) de ejecución para la velocidad en baudios de
19200 6" '  0 $ "*"6&  &''


MOV
MOVE
Source 1027

Dest S:15

  + " -$  0   + " -$ 

   "%$   
!/    
 *"'
-&' -& '%&'  &$  • •
'&" -*"6& + *" (* $ &$  $
.$'" & -"'+ + +'*+*" '& $
.$'* '&,&"' & $ '&" -*"6&  &$
S:16 Estado Prueba de un solo paso - Inicie el paso en - • • •
y Renglón/archivo
S:17 +,'+ * "+,*'+ "&"& $ &7%*'  *& $6&
($*   0 *!".' ($* 
#-,$ )- $ (*'+'* #-,*3
(*6/"%%&, -&' -&"'& & $ %'' 
(*-  -& +'$' (+' * !"$",* +,
*,*5+," -+,  +$"'&* $
'("6&  (*-  -& +'$' (+' $ %'%&,'
& )- -* $ (*' *%
+,'+ .$'*+ + ,-$"1&  $ "&$"1"6& 
 *& $6& "4*+  $ ($*  
(* ',&* %3+ "&'*%"6& $ "+('+",".'
 (*' *%"6& "&,**'  +, .$'* 0
(*'('*"'&* "&'*%"6&  $5&  +,'
 2"&"" $ (+' & *!".' / *& $6& 0 '
/"+, &"& 7& -+' '&'"' (* +,
*,*5+," -&' + "*"'& ('* $
(*' *%  +$*
+, *,*5+," + "&'*('* & $'+ • •
(*'+'*+  
0    
+$"6& &' + &+*"

B–50
Archivo de estado SLC

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:18 Configuración Prueba de un solo paso - Punto de • • •
y de estado y interrupción - Renglón/archivo
S:19 dinámica Estos registros indican el número de renglón
($* S:18) y archivo (palabra S:19)
ejecutable delante del cual el procesador se
debe detener al ejecutar el modo de prueba de
un solo paso. Para habilitar esta
característica, usted debe seleccionar la
opción de prueba de un solo paso al momento
de guardar el programa.
Si los números de renglón y archivo son 0, el
procesador pasará al próximo renglón
solamente; si no, el procesador continuará
hasta encontrar un renglón/archivo que sea
igual al valor S:18/S:19.
El procesador se detiene y pone a cero S:18 y
S:19 cuando encuentra una correspondencia
durante su permanencia en el modo de prueba
de un solo paso. El procesador funcionará
indefinidamente si no encuentra el final de
renglón/archivo que usted ha introducido.
Funciona hasta encontrar una igualdad, recibir
un cambio de modo o apagarse. Vea S:2/4.
El dispositivo de programación interroga este
valor cuando proporcionar la información de
línea de estado de termine el paso antes del
archivo x, renglón y". También el dispositivo
de progamación escribe este valor cuando le
da el comando establezca el renglón final".
No existe ningún uso conocido para esta
característica cuando es direccionada por el
programa de escalera.
Esta característica se incorpora en los • •
procesadores SLC 5/03 y SLC 5/04. La
selección no es necesaria.

B–51
Preface
Manual de referencia del juego de instrucciones

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:20 Estado Prueba - Fallo/apagado - Renglón/archivo • • •
y +,'+ registros indican el número de renglón
S:21 (palabra   / archivo (palabra  
ejecutable que el procesador ejecutó
últimamente antes de ocurrir un error mayor o
apagado. * habilitar esta característica,
usted debe seleccionar la opción de prueba de
un solo paso al momento de guardar el
programa. Puede usar estos registros para
describir con precisión el punto de ejecución
del procesador a la última entrada en la rutina
de apagado o fallo. Esta función también está
activa en el modo de marcha REM. Vea S:2/4.
Ejemplo de aplicación: Supongamos que el
programa contiene varias instrucciones TON.
TON T4:6 en el archivo 2, renglón 25, a veces
obtienen un valor preseleccionado negativo.
La recuperación del fallo preseleccionado
negativo es posible colocando el valor
preseleccionado a 100 y volviendo a
establecer el temporizador.
Coloque el renglón siguiente en la rutina de
fallo para realizar lo anterior. El bit B3/0 está
enclavado como evidencia de que una
recuperación de aplicación ha sido iniciada.
Esta característica se incorpora en los • •
procesadores SLC 5/03 y SLC 5/04. No es
necesiario seleccionarla.

EQU EQU EQU MOV


EQUAL EQUAL EQUAL MOVE
Source A S:6 Source A S:20 Source A S:21 Source 100

Source B 52 Source B 25 Source B 2 Dest T4:6.PRE

T4:6
(RES)
El valor 52 es igual a 0034 No. de renglón No. de archivo
hex. Este es el código de B3
error para un valor (L)
preseleccionado negativo del 0
temporizador. S:1
(U)
13
(RET)

B–52
Archivo de estado SLC

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:22 Estado Tiempo de escán máximo observado • • •
+, palabra indica el intervalo máximo
observado entre escanes consecutivos.
Los escanes consecutivos se definen como
intervalos entre el archivo 2/renglón 0 y la
instrucción END, TND o REF. Este valor
indica, en incrementos de 10 ms, el tiempo
transcurrido en el ciclo de programa más largo
del procesador. El procesador compara cada
valor del último escán con el valor contenido
en S:22. Si el procesador determina que el
valor del último escán es mayor que el valor
almacenado en S:22, el valor del último escán
se escribe a S:22.
La resolución del valor de tiempo de escán
máximo observado es +0 a ±10 ms. Por
ejemplo, el valor 9 indica que 80-90 ms fueron
observados como el ciclo de programa más
largo.
Interrogue este valor usando la función del
monitor de datos si usted tiene que determinar
o verificar el tiempo de escán más largo del
ciclo de programa.
Nota:  escán de E/S, overhead del
procesador y servicio de comunicación no se
incluyen en esta medición.
El bit de selección del tiempo de escán • •
(S:33/13) determina la base de tiempo usada
para los tiempos de escán promedios y
máximos. Cuando se pone a cero, la
operación es como se describe anteriormente.
Cuando se establece, la base de tiempo se
expresa en incrementos de 1 ms (en vez de
incrementos de 10 ms). Cuando S:33/13 se
establece, el valor de la resolución del tiempo
de escán máximo observado es +0 a ±1 ms.
Por ejemplo, el valor 9 indica que 8 a 9 ms
fueron observados como el ciclo de programa
más largo.

B–53
Manual de referencia del juego de instrucciones
&

 $
&,# !',# '&%,#  



'($ "%$  '*# %&$"$ • • •
Esta palabra indica un tiempo promedio
ponderado de ejecución. El valor indica, en
incrementos de 10 ms, el tiempo transcurrido
en el ciclo de programa promedio del
procesador. Para cada escán :
&$" = %&$"   + '*#

La resolución del valor de tiempo de escán
promedio es +0 a ±10 ms. Por ejemplo, el
valor 2 indica que 10 a 20 ms fueron
calculados como el ciclo de programa
promedio.
$(  escán de E/S, overhead del
procesador y servicio de comunicación no se
incluyen en esta medición.
El bit de selección de tiempo de escán S:33/13 • •
determina la base de tiempo usada para el
tiempo de escán promedio. Cuando se pone a
cero, la operación es como se describe
anteriormente. Cuando se establece, la base
de tiempo se expresa en incrementos de 1 ms
(en vez de incrementos de 10 ms). Cuando
S:33/13 se establece, la resolución del valor
de tiempo de escán promedio es +0 -1 ms.
Por ejemplo, el valor 2 indica que 1 a 2 ms
fueron calculados como el ciclo de programa
promedio.
 $#)&,# '(&$  +# • • •
#*" Esta palabra indica el offset de elemento
usado en el direccionamiento indexado.
Cuando una rutina STI, ranura de E/S o fallo
interrumpe la ejecución normal del programa,
el valor original de este registro se restaura
cuando la ejecución se reanuda.
Cuando una DII interrumpe la ejecución • •
normal del programa, el valor original de este
registro se restaura cuando la ejecución se
reanuda.

B–54
Archivo de estado SLC

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:25 Estado Interrupción de E/S pendiente • • •
y Estas dos palabras son mapeadas en bits a
S:26 las 30 ranuras de E/S. Los bits S:25/1 a
S:26/14 hacen referencia a las ranuras 1-30.
Los bits S:25/0 y S:26/14 están reservadas.
El bit pendiente asociado con una ranura de
interrupción se establece cuando el bit de
habilitación de interrupción de ranura de E/S
correspondiente se pone a cero al momento
de una petición de interrupción. Se pone a
cero cuando el bit de habilitación de interrupĆ
ción de evento de E/S se establece o cuando
una instrucción RPI asociada se ejecuta.
El bit pendiente para la ejecución de una
subrutina de interrupción de E/S permanece
puesto a cero cuando la ISR es interrumpida
por una STI o rutina de fallo. De manera
semejante, el bit pendiente permanece puesto
a cero si el servicio de interrupción se solicita
al momento en que una interrupción de
prioridad mayor o igual se está ejecutando
(rutina de fallo, STI u otra ISR).
Las interrupciones de E/S se tratan en el
capítulo 11 de este manual.
El bit pendiente asociado con una ranura de • •
interrupción se establece cuando el bit de
habilitación de interrupción de ranura de E/S
se pone a cero al momento de una petición de
interrupción. Se pone a cero cuando el bit de
habilitación de interrupción de evento de E/S
correspondiente se establece o cuando una
instrucción RPI asociada se ejecuta. El bit
pendiente siempre será establecido cuando el
servicio de interrupción se solicita y el
procesador está ejecutando una interrupción
de prioridad igual o mayor. La prioridad de
interrupción no afecta el establecimiento de
estos bits.
Por ejemplo, durante la ejecución de una
subrutina STI, la ranura 5 solicita una
interrupción de evento de E/S. La STI la
ejecutará hasta el final; sin embargo, el bit de
ranura 6 pendiente (S:25/6) no se establecerá
dentro de la ejecución de la STI. Examine el
estado de estos bits dentro de las subrutinas
de interrupción si la aplicación requiere esta
información.

B–55
$
Manual de referencia del juego de instrucciones

"
Dirección Clasificación Descripción   

  %&" !&$$'#+!   & • • •
) Estas dos palabras son mapeadas con bits a
 
las 30 ranuras de E/S. Los bits S:27/1 a
S:28/14 corresponden a las ranuras 1-30.
Los bits S:27/0 y S:28/15 están reservadas.
El valor predeterminado de cada bit es 1
(establecido). El bit de habilitación asociado
con una ranura de interrupción se debe
establecer cuando la interrupción ocurre para
permitir que la ISR correspondiente se
ejecute. De lo contrario, la ISR no se
ejecutará y el bit de interrupción de ranura de
E/S pendiente asociado no se establecerá.
Los cambios efectuados a estos bits usando la
función del monitor de datos o instrucciones
de escalera que son distintas de IID o IIE
entran en vigencia en el siguiente final de
escán.
Las interrupciones de E/S se tratan en el
capítulo 11 de este manual.
"!'$+! Estos bits pueden ser • •
!*  establecidos/restablecidos por el programa de
usuario, comms. o con la instrucción IIE o IID.
Los cambios efectuados a estos bits cuando la
función del monitor de datos de la terminal de
programación o toda instrucción de escalera
entrarán en vigencia inmediatamente.
  "!'$+! , $"  $("  $'&!  "  • • •
!*  '%'$"
Usted introduce un número de archivo de
programa (3-255) que se debe usar en todos
los errores mayores recuperables y no
recuperables. Programe la lógica de escalera
de la rutina de fallo en el archivo que ha
especificado. Escriba un valor de 0 para
inhabilitar la rutina de fallo.
Para proporcionar protección contra la
modificación accidental del monitor de datos
de la selección, programe una instrucción
MOV incondicional que contenga el número de
archivo de programa de la rutina de fallo a
S:29 o programe una instrucción CLR en S:29
para evitar la operación de la rutina de fallo.
La rutina de fallo se trata en el capítulo 11 de
este manual.

B–56
Archivo de estado SLC

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:30 Configuración Interrupción temporizada seleccionable - • • •
dinámica Punto de ajuste
Usted introduce la base de tiempo, en
décimos de milisegundos, que se debe usar
en la interrupción temporizada seleccionable.
La rutina  + #-, + 6& $ .$'* )-
"&,*'- +*" -& .$'*  *' (*
"&!"$",* $ 
* (*'('*"'&* (*',"5& '&,* $
%'"""5& "&,$ $ %'&",'*  ,'+
 $ +$"5& (*' *% -& "&+,*-"5&
 "&'&""'&$ )- '&,"& $ .$'* 
(-&,'  #-+,  $  & 
 ' (*' *%
-& "&+,*-"5&  & 
 (* .",* $
'(*"5& 
" $  + "&"" -*&, $ %''  %*!
 * &' $'+ * "+,*'+  +,' $
"&,**-("5& '%"&1  ,%('*"1*  (*,"* $
"&$ $ +2&  (*' *% & )- $'+
* "+,*'+  +,' + * *'&
+ "&,**-("'&+ ,%('*"1+
+$"'&$+ + ,*,& & $ (4,-$'  
+, %&-$
 +  ,"%(' $ (-&,'  #-+,  • •
(- +*  %+ 5  %+ + 6& $ .$'* $ ",
 +$"5&  (-&,'  #-+,   
-&' + ('&  *' $ '(*"5& + '%'
+ +*" &,*"'*%&, -&' +
+,$ $ +  ,"%(' + /(*+ &
"&*%&,'+   %+   !"$", $
"&+,*-"5&  0 $  $ "&!"$",
S:31 Configuración Interrupción temporizada seleccionable - • • •
dinámica Número de archivo
+, "&,*'- -& &6%*'  *!".' 
(*' *% 
  )- +  -+* '%' $
+-*-,"&  "&,**-("5& ,%('*"1
+$"'&$ +*" -& .$'*   (*
"&!"$",* $ 
* (*'('*"'&* (*',"5& '&,* $
%'"""5& "&,$ $ %'&",'*  ,'+
 $ +$"5& (*' *% -& "&+,*-"5&
 "&'&""'&$ )- '&,&  $ .$'* 
&6%*'  *!".'  $  & 
 5
(*' *% -& "&+,*-"5&  & 
 (*
.",* $ '(*"5& 
+ "&,**-("'&+ ,%('*"1+
+$"'&$+ + ,*,& & $ (4,-$'  
+, %&-$

B–57

Manual de referencia del juego de instrucciones


#  #  #   


   ! "#  !"#   • • •
Esta palabra indica el número de ranura del
módulo de E/S especial que generó la
ejecución actual de ISR. Este valor se borra
cuando la entrada en el modo ISR, marcha
REM se finaliza o al momento de encendido.
Usted puede interrogar esta palabra dentro de
la subrutina STRI o rutina de fallo si desea
saber si estas interrupciones de prioridad
mayor han interrumpido la ejecución de una
ISR. También puede usar este valor para
diferenciar la identidad de la ranura de
interrupción al multiplexar dos o más
interrupciones de módulo de E/S especial a la
misma ISR.
Las interrupciones de E/S se tratan en el
capítulo 11 de este manual.
Usted puede interrogar esta palabra dentro de • •
la subrutina DII si desea saber si estas
interrupciones de prioridad mayor han
interrumpido la ejecución de ISR. También
puede usar este valor para diferenciar la
identidad de la ranura de interrupción al
multiplexar dos o más interrupciones de
módulo de E/S especial es a la misma ISR.
   !   ! !   • •
Este bit se establece cuando el procesador
determina que otro nodo en la red de canal 0
ha solicitado información o ha proporcionado
un comando a dicho bit. Este bit puede ser
establecido en todo momento. Este bit se
pone a cero cuando el procesador da servicio
a la petición (o comando).
Use este bit como condición de una
instrucción SVC para mejorar la capacidad de
comunicación del procesador.
   !  " !    !   • •
Este bit se establece cuando otro nodo en la
red de canal 0 ha proporcionado la
información que usted ha solicitado en la
instrucción MSG del procesador. Este bit se
pone a cero cuando el procesador almacena
la información y actualiza la instrucción MSG.
Use este bit como condición de una
instrucción SVC para mejorar la capacidad de
comunicación del procesador.

B–58
Archivo de estado SLC


" " "   


        • •
 

! bit se establece cuando uno o más
mensajes de canal  en el programa se
habilitan $ esperan, pero no se transmite
ningún mensaje en ese momento. En cuanto
comienza la transmisión de un mensaje, el bit
se pone a cero. Después de la transmisión, el
bit se vuelve a establecer si hay más
mensajes esperando o permanece puesto a
cero si no hay más mensajes esperando.
     "   • •
Cuando se restablece, este bit indica que el
puerto de comunicación de canal 0 está en el
modo de sistema (modo DF1). Cuando es
establecido, este bit indica que el canal 0 está
en el modo de usuario (modo ASCII). Use la
utilidad de configuración de canal de los
dispositivos de programación para cambiar
esta selección.
 
   !   • •
Este bit es establecido por el procesador
cuando por lo menos un nodo más está activo
en el canal 0. De lo contrario, el bit
permanece puesto a cero.

B–59
Preface
Manual de referencia del juego de instrucciones

Fijo,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:33/5 Configuración Selección de servicio de comunicaciones • •
dinámica (canal 0)
Cuando es establecido, solamente una
petición/comando de comunicación de canal 0
recibe servicio según la instrucción END, TND,
REF o SVC. Cuando se pone a cero, todas
las peticiones/comandos de comunicación
entrantes o salientes, que pueden recibir
servicio, lo reciben según la instrucción END,
TND REF o SVC.
Una petición/comando de comunicación
consiste en un comando entrante de canal 0,
respuesta de mensaje de canal 0 ó comando
de mensaje saliente de canal 0. Refiérase a
las palabras S:33/0, S:33/1, S:33/2 y S:33/6
para obtener más información.
Nota: Cuando se pone a cero, la
transferencia de comunicación se incrementa.
El tiempo de escán también se incrementa si
varios comandos/peticiones de comunicación
se reciben en el mismo escán.
Para programar esta característica, use la
función del monitor de datos para establecer y
poner a cero este bit. Para proporcionar
protección contra la modificación accidental
del monitor de datos de la selección, programe
una instrucción OTL incondicional en la
dirección S:33/5 para asegurar la operación de
una petición/comando o programe una
instrucción OTU incondicional en la dirección
S:33/5 para asegurar la operación de
peticiones/comandos múltiples. Como
alternativa, el programa puede cambiar el
estado de este bit usando la lógica de esclera
si la aplicación requiere la selección dinámica
de esta función.
S:33/6 Configuración Selección de servicio de mensaje (canal 0) • •
dinámica Este bit solamente es válido cuando la
selección de servicio de comunicaciones
(S:33/5) del canal 0 se borran (lo cual
selecciona todos los comandos de servicio).
Cuando S:33/6 se establece y S:33/5 se pone
a cero, todas las instrucciones MSG salientes
de canal 0 reciben servicio según la
instrucción END, TND, SVC o REF. De lo
contrarior, solamente un comando o respuesta
MSG saliente de canal 0 recibirá servicio
según la instrucción END, TND, SVC o REF.

B–60
Archivo de estado SLC

Comp.,
"( Clasificación Descripción 5/02 5/03 5/04
5/01
S:33/7 Configuración Selección de servicio de mensaje (canal 1) • •
dinámica 12% "(2 1-*!+%,2% %1 48*($- #3!,$- %* "(2 $%
1%*%##(;, $% 1%04(#(- $% #-+3,(#!#(-,%1  
$%* #!,!* 1 1% .-,% a c%0- %* c3!* 1%*%##(-,! *-1
#-+!,$-1 de 1%04(#(- 2-2!*. C3!,$- S  %1
%12!"*%#($- 6  %128 .3%12- a c%0- 2-$!1 *!1
(,1203##(-,%1  de #!,!* 1 1!*(%,2%1 0%#("%,
1%04(#(- 1%'<, *! (,1203##(;, END,    -
 % *- #-,20!0(- 1-*!+%,2% 3, #-+!,$- -
0%1.3%12!  $% #!,!*  1!*(%,2% 0%#("% 1%04(=
#(- 1%'<, *! (,1203##(;,     - 
S:33/8 Configuración Bit de control de latencia de interrupción • •
estática 3!,$- 1% %12!"*%#% *! *!2%,#(! $% (,2%003.#(;,
-#300% .!0! (,2%003.#(-,%1 $% 313!0(-   6
%4%,2- $%  12- 1(',(&(#! /3% #3!,$-
-#300% 3,! (,2%003.#(;, 1% *% '!0!,2(7! %12!0 %,
%* 0%,'*;,  $% *! 13"032(,! $% (,2%003.#(;,
$%,20- $%* .%0:-$- $% *!2%,#(! $% (,2%003.#(;,
$%#*!0!$- 1(%+.0% /3% 3,! (,2%003.#(;, $%
.0(-0($!$ ('3!* - +!6-0 1% %129 %)%#32!,$-
12%$ $%"% 1%*%##(-,!0*- !* '3!0$!0 %*
.0-'0!+! %&(90!1% !* !.9,$(#%  %, %* Manual
de usuario de software de programación
avanzada, .3"*(#!#(;, 
= 
 .!0! -"2%,%0
(,&-0+!#(;, !#%0#! $% #;+- #!*#3*!0 *! *!2%,#(!
$% (,2%003.#(;,
3!,$- 1% .-,% ! #%0- *!1 (,2%003.#(-,%1 $%
313!0(- 1-*!+%,2% .3%$%, (,2%003+.(0 %*
.0-#%1!$-0 ! .3,2-1 .0%$%&(,($-1 $% %)%#3#(;,
%, %* #(#*- $% .0-'0!+! $% 313!0(- !
*!2%,#(! $% (,2%003.#(;, 1% $%&(,% #-+- %*
.%0:-$- $% 2(%+.- +81 *!0'- /3% .3%$%
20!,1#300(0 %,20% $-1 .3,2-1 .0%$%&(,($-1
3!,$-   1% .-,% ! #%0- 312%$ $%"%
!,!*(7!0 #!$! .0-'0!+! $% 313!0(- * "(2 1%
.-,% ! #%0- .0%$%2%0+(,!$!+%,2%
-1 .3,2-1 1('3(%,2%1 1-, *-1 <,(#-1 .3,2-1
%, /3% 1% .%0+(2% /3% *!1 13"032(,!1 $%
(,2%003.#(;, $% 313!0(- 1% %)%#32%, #3!,$-
  1% .-,% ! #%0-
• !* (,(#(- $% #!$! 0%,'*;,
• $%1.391 $% $!0 1%04(#(- ! *! #-+3,(#!#(;,
• %,20% 0!,30!1 $30!,2% *! !#23!*(7!#(;, $% *!
(+!'%, $% %,20!$! - 1!*($! - #3!*/3(%0
2!0)%2! $%  %1.%#(!*
S:33/9 Estado Bit de alternador de escán • •
12% "(2 1% .-,% ! #%0- !* +-+%,2- $% %,20!0
%, %* +-$- $%  12% "(2 #!+"(! $%
%12!$- $30!,2% #!$! %)%#3#(;, $% 3,!
(,1203##(;,   -  1% %12% "(2 %,
%* .0-'0!+! $% 313!0(- .!0! !.*(#!#(-,%1 2!*
#-+- *! %)%3#(;, $% 13"032(,! $% +3*2(.*%5

B–61
Preface
Manual de referencia del juego de instrucciones


! ! !   


 !   !  !  • •
   
Establezca este bit con el programa de
usuario o la terminal de programación para
causar que la función DII se reconfigure en la
próxima ocurrencia de interrupción o al final de
cada escán (END, TND o REF). Este bit se
aplica a la salida de DII ISR, rutina de fallo,
STI ISR o ISR de evento.
Lo siguiente ocurre cuando la DII se
reconfigura:
1. El acumulador DII se borra (S:52).
2. Los parámetros DII ubicados en las
palabras S:46 a S:50 se aplican.
3. El bit de reconfiguración DII está puesto a
cero por el procesador.
Por ejemplo, use la estructura de escalera
siguiente para provocar una reconfiguración
DII desde el archivo de escalera principal cada
vez que la entrada 0 se desconecte y se
vuelva a conectar.
I:1/0 B3/0 S:33/10
] [ [OSR] (L)

Use la estructura de escalera siguiente para


provocar una reconfiguración DII desde una
subrutina basada en evento. La subrutina se
ejecuta solamente una vez, cada vez que es
posible la reconfiguración DII.
I:1/0 S:33/10
] [ (L)

B–62
Archivo de estado SLC

Comp.,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:33/11 y Estado Estado de edición en línea • •
S:33/12 Estos dos   representan los cuatro estados
de edición en línea posibles:
Bit 12 Bit 11 Estado de
edición
en línea

0 0 No existen
ediciones en
línea

0 1 La edición
en línea
inhabilitada

1 1 Prueba de
ediciones
en línea

1 0 no usado
Examine el estado de estos bits con el
programa de usuario para contar el número
de sesiones de edición en línea, indicar una
alarma o colocar la aplicación en un estado
especial diseñado para sesiones de edición
en línea.
S:33/13 Configuración Selección de base de tiempo del tiempo de • •
estática escán
Este bit determina la base de tiempo usada para
promediar el tiempo de escán (S:23) y el tiempo
de escán máximo (S:22). Cuando se pone a
cero, el valor contenido en los tiempos de escán
promedio y máximo representan el número de
incrementos de 10 ms que han ocurrido.
Cuando se establece, el valor contenido en los
tiempos de escán promedio y máximo represenĆ
tan el número de incrementos de 1 ms que han
ocurrido. Este valor se borra predeterminaĆ
damente (base de tiempo de 10 ms).

B–63
Manual de referencia del juego de instrucciones
!

 
!' "' "! '   


 
$!' #  #!    • •
& Este bit se usa para habilitar el discado DTR.
Cuando se pone a cero, la señal DTR de canal
0 (pin 4) es controlada directamente por el
variador de comunicación estándar. Cuando
se establece, se puede efectuar el discado
DTR escribiendo a S:33/15, bit de forzados
DTR.
El bit S:33/14 se examina y se aplica al final
de cada escán (END, TND o REF). Cuando
está en el modo de programa, suspensión o
fallo, DTR está habilitado y permanece
habilitado hasta que una secuencia de
desconexión automática sea detectada por el
controlador de comunicación.
Una desconexión automática ocurre si el
controlador de comunicación detecta que la
señal CD de canal 0 (pin 1) ha estado ausente
durante más de 10 segundos o si la señal
DSR de canal 0 (pin 6) se ha inhabilitado.
Refiérase al bit de módem perdido de canal 0
S:5/14 para obtener más información.
Durante una desconexión automática, el
variador de comunicación estándar mantiene
el DTR inhabilitado hasta que se habilite la
señal DSR de canal 0 ó transcurran 5
segundos.
# Cuando el canal 0 está configurado
para DH485, S;33/14 se debe poner a cero
para un funcionamiento adecuado.
  $!' #  !%"    • •
& Este bit se usa para forzar el pin DTR alto o
bajo. Cuando S:33/14 se establece, la señal
DTR de canal 0 (pin 4) se aplica al final de
cada escán (END, TND o REF) usando el
estado de S:33/15. Cuando S:33/14 se pone
a cero, este bit no afecta DTR.
Cuando S:33/15 se establece, DTR es forzado
alto. Cuando se pone a cero (predeterminado),
DTR es forzado bajo. Cuando está en el modo
de prueba REM o marcha REM, este bit se
aplica solamente al final de escán (END, TND o
REF). Cuando está en el modo de programa,
suspensión o fallo (o al momento de encendido),
DTR se establece a menos que el controlador
de comunicación esté efectuando una
desconexión automática.

B–64
Archivo de estado SLC

Comp.,
"( Clasificación Descripción 5/02 5/03 5/04
5/01
S:34/0 Configuración Bit de transferencia de DH+ a DHĆ485 •
estática inhabilitada
Este bit proporciona la capacidad de transferir
paquetes recibidos entre canales. Cuando se
establece, el procesador no tiene capacidad
para la transferencia. Cuando se restablece,
el procesador permite que los paquetes se
transfieran de un canal a otro. El canal 0
(RSĆ232) se debe configurar para el protocolo
DHĆ485. Solamente los paquetes que
contienen la capa de red de Internet y cuya
identidad de vínculo de destino es igual al
especificado para el canal opuesto serán
transferidos. El valor predeterminado es el
restablecimiento.
La identidad del vínculo predeterminado para
el canal 0 es uno. La identidad del vínculo
predeterminado para el canal 1 es dos.
S:34/1 Configuración Bit de habilitación de tabla de nodo activo DH+ •
estática Este bit habilita el procesamiento de la tabla
de nodo activo DH+. Cuando se establece, la
tabla de nodo activo DH+ se procesa. Cuando
se pone a cero, la tabla de nodo activo DH+
no se procesa. El valor predeterminado es
puesto a cero.
Este bit es evaluado durante cada entrada en
el modo de marcha REM. Note que el
procesador actualiza las palabras de estado
individuales S:83 a S:86.
S:34/2 Configuración Bit de habilitación del indicador matemático • •
dinámica de punto (coma) flotante
Este bit inhabilita el procesamiento de
indicadores matemáticos cuando se usa el punto
(coma) flotante matemático (F8:). Los
indicadores matemáticos afectados son overflow
(S:0/1), cero (S:0/2), signo (S:0/3) y el bit de
interrupción por overflow de error menor (S:5/0).
Cuando el bit se pone a cero, los indicadores
matemáticos se procesan. Cuando el bit se
establece, los indicadores matemáticos son
borrados excepto por el bit de interrupción por
overflow de error menor, el cual permanece en
su último estado. El indicador de acarreo (S:0/0)
está reservado para uso interno durante todas
las operaciones de punto (coma) flotante. El
valor predeterminado es puesto a cero.
Las instrucciones afectadas por el punto
(coma) flotante incluyen ADD, SUB, MUL, DIV,
NEG, SQR y MOV. El establecer este bit
reduce los tiempos de ejecución de las
instrucciones anteriores. Este bit es evaluado
durante la ejecución de cada instrucción.

B–65
,"#de"referencia del juego de instrucciones
Manual

*(+
&," &2) '-&#&  &2) "- ,&+ &2)  




*)#&$/, &2) &. !" %&'&. &2) !" .,)-(&-&2) !" +', •
!&)1(&  !" "-.!* $'*'     -*'(")."
Cuando este bit se establece, la palabra de
estado global a S:99 se transmite con cada
paso de testigo DH+. Cuando se pone a cero,
el testigo se pasa sin la palabra de estado
global.

 *)#&$/, &2) &. !" %&'&. &2) !" ," "+ &2) !" +', !" •
!&)1(&  "-.!* $'*'     -*'(")."
Cuando este bit se establece, el procesador
recolecta la palabra de estado global
transmitida por otros dispositivos en la red
DH+ y la almacena en el archivo de estado
global (S:100-S:163). Cuando se pone a
cero, el procesador no hace caso de la
información de estado global proveniente de
otros dispositivos en la red.

 *)#&$/, &2) &. !" .,)-#",") & !"    %&'&.! •
!&)1(&      -*'(")."
Cuando este bit se establece, la operación de
transferencia se habilita entre el canal 0 y el
canal 1. El canal 0 se debe configurar para el
protocolo de full duplex DF1.

-.!* &"(+* !"' 3'.&(* "- 1) !"  (- • •
El valor de esta palabra le informa cuánto
tiempo ha transcurrido durante un ciclo de
programa. Un ciclo de programa incluye el
programa de escalera, limpieza, escán de
E/S y servicio al puerto de comunicación.
Este valor de palabra es actualizado por el
procesador solamente una vez durante cada
escán inmediatamente antes de la ejecución
del renglón 0, archivo 2 (o al retorno de una
instrucción REF).

   "-",0!* • •



B–66
Archivo de estado SLC

Comp.,
"' Clasificación Descripción 5/02 5/03 5/04
5/01
S:36/8 Estado DII perdido • •
Este bit se establece cuando ocurre una
interrupción ) el bit de pendiente
(S:2/11) también se establece. Cuando esto
ocurre, se le comunica que una interrupción
DII ha sido perdida. Por ejemplo, la
interrupción se perdió debido a que una
interrupción previa ya estaba pendiente y
esperando la ejecución. Examine este bit en
el programa de usuario y tome la acción más
adecuada si la aplicación no puede tolerar
esta condición. Luego, ponga a cero este bit
con el programa de usuario como preparación
para la próxima ocurrencia posible de este
error.
S:36/9 Estado STI perdido • •
Este bit se establece cuando una interrupción
STI ocurre y el bit de STI pendiente (S:2/0)
también se establezca. Cuando esto ocurre,
se le comunica que una interrupción STI ha
sido perdida. Por ejemplo, la interrupción se
perdió debido a que una interrupción previa ya
estaba pendiente y esperando la ejecución.
Examine este bit en el programa de usuario y
tome la acción más adecuada si la aplicación
no puede tolerar esta condición. Luego,
ponga a cero este bit con el programa de
usuario como preparación para la próxima
ocurrencia posible de este error.
S:36/10 Estado Protección de sobrescritura del archivo de • •
datos del módulo de memoria
Use este bit para determinar la validez de
datos retentivos después de la transferencia
del módulo de memoria. Este bit siempre se
establece ccuando una transferencia del
módulo de memoria hacia el procesador
ocurre con la protección de sobrescritura del
archivo de datos seleccionada y los archivos
protegidos se sobrescriben. Los archivos
protegidos son sobrescritos cuando un
programa de módulo de memoria no coincide
con el programa del procesador al momento
de la transferencia. Este bit no está puesto a
cero por el procesador.

B–67
$
Manual de referencia del juego de instrucciones

" #
$,! %,! %$#,!   


   %$(" #$ $$"$% !"$% • •

 "!%
 "!'$,! "+" !$" • •
!)  Este valor contiene el valor del año en el
reloj/calendario. El límite válido es 0-65535.
Para inhabilitar el reloj/calendario, escriba cero
a todas las palabras de reloj/calendario (S:37
a S:42).
 "!'$,! "!$"  % • •
!)  Este valor contiene el valor del mes del
reloj/calendario. El límite válido es 1-12.
Para inhabilitar el reloj/calendario, escriba
ceros a todas las palabras del reloj o
calendario (S:37 a S:41). Enero es igual al
valor de 1.
 "!'$,! "!$"  * • •
!)  Este valor contiene el valor de día del
reloj/calendario. El límite válido es 1-31.
Para inhabilitar el reloj/calendario, escriba
ceros a todas las palabras de reloj o
calendario (S:37 a S:41). El primer día del
mes es igual al valor de 1.
 "!'$,! "!$"  "$% • •
!)  Este valor contiene el valor de hora del
reloj/calendario. El límite válido es 0-23.
Para inhabilitar el reloj/calendario, escriba
ceros a todas las palabras de reloj o
calendario (S:37 a S:41). Las 0000 horas
equivalen al valor de 0.
 "!'$,! "!$"  !'&"% • •
!)  Este valor contiene el valor de minuto del
reloj/calendario. El límite válido es 0-59.
Para inhabilitar el reloj/calendario, escriba
ceros a todas las palabras de reloj o
calendario (S:37 a S:41).
 "!'$,! "!$"  %'!"% • •
!)  Este valor contiene el valor de segundos el
reloj/calendario. El límite válido es 0-59.
Para inhabilitar el reloj/calendario, escriba cero
a todas las palabras de reloj o calendario
(S:37 a S:41).

B–68
Archivo de estado SLC

Comp.,
Dirección Clasificación Descripción 5/02 5/03 5/04
5/01
S:43 Estado Interrupción temporizada seleccionable - • •
S:44 Temporizador de 10 µs

S:45 Interrupción de evento de E/S -


Temporizador de 10 µs
Interrupción de entrada discreta -
Temporizador 10 µs
Este valor de 16 !(21 $1 #$ 8+ 0"' *(!0$ 6 1$
31 . 0 +$#(0 * " ,2(# # #$ 2($+.- /3$
20 ,1"300$ $,20$ * 1 $)$"3"(-,$1 "-,1$"32(4 1
#$ 13!032(, #$ (,2$003."(:, $, (,"0$+$,2-1
#$  µ1 12$ 4 *-0 1$ "23 *(7 " #
$,20 # $, * 13!032(, #$ (,2$003."(:, *
2$+.-0(7 #-0 #$  µ1 (,#(" /3$ $* 2($+.-
+95(+- /3$ .3$#$ 20 ,1"300(0 $,20$ #-1
(,2$003."(-,$1 1(, (,4 *(# 0 3, +$#("(:, #$
2($+.- $1 
 1$&3,#-1
  !(21 "-, 1(&,-   µ1 =
 
 = 
 1$&3,#-1
* 2$+.-0(7 #-0 #$  µ1 $1 "-+;, *
(,2$003."(:,  * (,2$003."(:, #$  #$
$4$,2- 6 * (,2$003."(:, 
S:46 Configuración Interrupción de entrada discreta - Número • •
dinámica de archivo
12$# (,20-#3"$ 3, ,;+$0- #$ 0"'(4- #$
.0-&0 +  
 /3$ 1$ #$!$ 31 0 "-+- *
13!032(, #$ (,2$003."(:, #$ $,20 # #(1"0$2 
1"0(! 3, 4 *-0 #$  . 0 (,' !(*(2 0 *
%3,"(:, 12$ 4 *-0 1$ .*(" #30 ,2$ *
#$2$""(:, #$ 3, !(2 #$ 0$"-,%(&30 "(:, 
" # 1 *(# #$   6 " # %(, * #$ $1"9,
  - 
 %(, #$ .0-.-0"(-, 0 .0-2$""(:, "-,20 *
+-#(%(" "(:, ""(#$,2 * #$* +-,(2-0 #$ # 2-1
#$ * 1$*$""(:, .0-&0 +$ 3, (,1203""(:,
 (,"-,#("(-, * /3$ "-,2$,& $* 4 *-0 #$
,;+$0- #$ 0"'(4- #$ *  $,   :
.0-&0 +$ 3, (,1203""(:,  $,   . 0
$4(2 0 * -.$0 "(:, 

B–69
#
Manual de referencia del juego de instrucciones

!
#( $( $#"(   

 
! &#( %##&"(   %# $#%  )#!  • •
 ' # &#
01#" '+1/,"2!# #) +:*#/, "# /+2/   
.2# !,+1'#+# #) *9"2), "#  "'0!/#10 .2#
0# "# #+ 20/ !,*, ) /+2/ "# '+1#//2-!'9+
"# #+1/" "'0!/#1 ) -/,!#0",/ #01/7 !,+
$)), 0' ) /+2/ #017 3!8 , !,+1'#+# 2+
*9"2), "#  +, "'0!/#10 ,/ #(#*-), 2+
*9"2), +)9%'!, !20 .2# ,!2// 2+ $)), "#
-/,!#0",/ 01# '1 0# -)'! ) *,*#+1, "#
"#1#!!'9+ "#) '1 "# /#!,+$'%2/!'9+ 
01# 3),/ 0# -)'! 0,)*#+1# ) *,*#+1, "#
#(#!2!'9+ "# ) $2+!'9+ "# /#!,+$'%2/!'9+ 
#01 )#!'#+", #) '1    9  ) #+1/" #+
#) *,", "# */!&  !,+ #) '1 "#
& ')'1!'9+  

#01 )#!'",
 $'+ "# -/,-/,!',+/ -/,1#!!'9+ !,+1/ )
*,"'$'!!'9+ !!'"#+1) "#) *,+'1,/ "# "1,0
"# 02 0#)#!!'9+ -/,%/*# 2+ '+01/2!!'9+
 '+!,+"'!',+) .2# !,+1#+% #) 3),/ "#
+:*#/, "# /+2/ "# )  #+  
  ! &#(  %##&"(   %# $#%  '$# • •
 '  %
01#" '+1/,"2!# 2+ 3),/ *-#", !,+ '10
.2# !,//#0-,+"#  ),0 '10 .2# "#0#
*,+'1,/'5/ #+ #) *9"2), "#  "'0!/#10
,)*#+1# ),0 '10   0# 20+ #+ ) $2+!'9+
 ) #01 )#!#/ 2+ '1 '+"'! .2# 201#"
"#0# '+!)2'/ #) '1 #+ ) !,*-/!'9+ "# )
1/+0'!'9+ "# '1 "#) *9"2), "#  "'0!/#10 )
3),/ "# !,*-/!'9+    ) -,+#/ 
!#/, #) '1 '+"'! .2# #) #01", "# 1/+0'!'9+
"#) '1 #+ !2#01'9+ !,+01'124# 2+ '1 "# 6+,
'*-,/1 01# 3),/ 0# -)'! ) *,*#+1, "#
"#1#!!'9+ "# 2+ '1 "# /#!,+$'%2/!'9+ 
!" 0)'" "#   4 ) $'+) "# !" #0!7+
  , 
 $'+ "# -/,-,/!',+/ -/,1#!!'9+ !,+1/ )
*,"'$'!!'9+ !!'"#+1) "#) *,+'1,/ "# "1,0
"# ) 0#)#!!'9+ -/,%/*# 2+ '+01/2!!'9+
 '+!,+"'!',+) .2# !,+1#+% #) 3),/ "#
*70!/ "# '1 "# )  #+  

B–70
Archivo de estado SLC

Fijo,
$ Clasificación Descripción 5/02 5/03 5/04
5/01
S:49 Configuración Interrupción de entrada de comparación - • •
dinamica Valor de comparación
01#" '+1/,"2!# 2+ 3),/ *-#", !,+ '10
.2# !,//#0-,+"#  )0 1/+0'!',+#0 "# '1 .2#
"# #+ ,!2//'/ #+ ) 1/(#1 "# E/S "'0!/#10
-/ .2# ,!2// 2+ !,+1#, , interrupción.
Solamente los bits 0 a 7 se usan en la $2+!'8+
 ) #01 )#!#/ 2+ '1 '+"'! .2# #) '1 "# #
&!#/ ) 1/+0'!'8+ "# 0  1 -/ !2*-)'/ !,+ )
!,+"'!'8+ "# !,*-/!'8+ -/ "'!&, bit. E)
-,+#/  !#/, #) '1 '+"'! .2# #) '1 "# # &!#/
) 1/+0'!'8+ "# 1  0 -/ !2*-)'/ !,+ )
!,+"'!'8+ "# !,*-/!'8+ -/ "'!&, bit. Una
'+1#//2-!'8+ , !,+1#, 0# %#+#/ ) *,*#+1,
"# 1/+0'!'8+ "#) 9)1'*, '1 "#) 3),/ "#
comparación. 01# 3),/ 0# -)'!  )
"#1#!!'8+ "# 2+ '1 "# /#!,+$'%2/!'8+ 
!" 0)'" "#   5 !" $'+) "# #0!7+
  , 
 $'+ "# -/,-,/!',+/ -/,1#!!'8+ !,+1/ )
*,"'$'!!'8+ !!'"#+1) "#) *,+'1,/ "# "1,0
"# ) 0#)#!!'8+ -/,%/*# 2+ '+01/2!!'8+
 '+!,+"'!',+) .2# !,+1#+% #) 3),/ "#
!,*-/!'8+ "# )  #+ 

S:50 Configuración Interrupción de entrada discreta - Valor • •
dinámica preseleccionado
2+", #01# 3),/ #0 '%2)   8  2+
'+1#//2-!'8+ #0 %#+#/" !" 3#6 .2# 0#
01'0$!#+ )0 -) /0 #0-#!'$'!"0 
 5

 2+", #01# 3),/ #017 #+1/#  5  
2+ !,+1#, ,!2//'/7 !" 3#6 .2# )
!,*-/!'8+ "# '1 0# 01'0$% +
'+1#//2-!'8+ 0#/7 %#+#/" !2+", #) 3),/ "#
!2*2)",/ )!+!#  8 #4!#" #) 3),/
-/#0#)#!!',+", 01# 3),/ 0# -)'! )
*,*#+1, "# "#1#!!'8+ "#) '1 "#
/#!,+$'%2/!'8+  !" 0)'" "#   5 )
$'+) "# !" #0!7+   , 
 $'+ "# -/,-,/!',+/ -/,1#!!'8+ !,+1/ )
*,"'$'!!'8+ !!'"#+1) "#) *,+'1,/ "# "1,0
"# ) 0#)#!!'8+ -/,%/*# 2+ '+01/2!!'8+
 '+!,+"'!',+) .2# !,+1#+% #) 3),/
-/#0#)#!!',+", "# )  #+  

B–71
&
Manual de referencia del juego de instrucciones

 $
&.# !'.# '&%.#   

  '($ #(&&)%.#  #(& '&(  -'& • •
 &($&#$
La máscara de retorno se actualiza inmediataĆ
mente antes de la entrada en la subrutina DII.
Este valor contiene el mapa con bits de las
transiciones de bits que causaron la interrupĆ
ción. El bit se establece si se apareció en la
lista de transiciones de bits que causaron la
interrupción (especificado para transición en
las comparaciones S:48 y S:49). El bit se
pone a cero si se enmascaró. Este valor es
borrado por el procesador al momento de salir
de la subrutina DII.
Use este valor para validar las transiciones de
interrupción. O bien, cuando reconfigure
(secuencie) dinámicamente la DII, usted puede
usar este valor dentro de la subrutina DII para
facilitar determinar o validar su posición en la
secuencia.
  '($ #(&&)%.#  #(& '&(  • •
)")!$&
El acumulador DII contiene el número de
conteos que han ocurrido (vea S:50). Cuando
un conteo ocurre y el acumulador es mayor o
igual que el valor preseleccionado, una
interrupción DII se genera.
  ,    '&*$ • •
 '($ !("$ ("%$  '-#  #(&&)%.#  • •
#(& '&(
Este valor indica, en incrementos de 1 ms, el
tiempo transcurrida durante la subrutina DII
más reciente. La resolución de este valor es
+0 a ±1 ms.

'($ "%$  '-#  #(& '&( • •
"-+"$ $'&*$
Este valor indica, en incrementos de 1 ms, el
tiempo máximo transcurrido durante una
ejecución de subrutina DII. El procesador
compara cada valor de último escán DII (S:55)
al valor de scán DII máximo contenido en
S:56. Si el procesador determina que el valor
del último escán DII es mayor que el valor
almacenado en S:56, el valor del último escán
(S:55) se escribe a S:56, el cual así se
convierte en el nuevo tiempo de escán DII
máximo. La resolución de este valor es +0 a
±1 ms.
Interrogue este valor usando una función del
monitor de datos del dispositivo de
programación si necesita determinar o verificar
el tiempo de escán más extenso del programa.

B–72
Archivo de estado SLC

Fijo,
#*#1' Clasificación Descripción 5/02 5/03 5/04
5/01
S:57 Estado Número de catálogo del sistema de operación • •
Indica el número de catálogo del sistema de
operación. Por ejemplo, el valor de 300 indica
el sistema de operación ĆOS300, el valor de
301 indica ĆOS301.
S:58 Estado Serie del sistema de operación • •
Indica la serie del sistema de operación. Por
ejemplo, el valor de 0 indica una serie A y el
valor de 1 indica una serie B.
S:59 Estado FRN del sistema de operación • •
Indica el número de versión de firmware del
sistema de operación. Por ejemplo, el valor
de 1 indica FRN1 y el valor de 2 indica FRN2.
S:60 Estado Número de catálogo del procesador • •
Indica el número de catálogo del procesador.
Por ejemplo, el valor de 523 indica ĆL532 y el
valor de 534 indica ĆL534.
S:61 Estado Serie del procesador • •
Indica la serie del procesador. Por ejemplo, el
valor de 0 indica la serie A y el valor de 1
indica la serie B.
S:62 Estado Revisión del procesador • •
Indica la revisión del procesador. Por ejemplo,
el valor de 1 indica REV1 y el valor de 2 indica
REV2.
S:63 Estado Tipo de programa de usuario • •
Indica el dispositivo de programación que creó
el programa de usuario.
S:64 Estado Indice de funcionabilidad del programa de • •
usuario
Indica el nivel de funcionabilidad contenido en
un tipo de programa determinado.
S:65 Estado Tamaño de RAM de usuario • •
Indica el tamaño de NVRAM en palabras de
instrucción. Por ejemplo, el valor 64 es igual a
palabras de instrucción de 64 K de NVRAM.
(Se aplica a los procesadores SLC 5/03
OS302 y SLC 5/04 OS401.)
S:66 Estado Tamaño de Flash EEPROM • •
Indica el tamaño de memoria del sistema
operativo en miles (K) de palabras de 16 bits.
Por ejemplo, el valor de 128 es igual a 128 K
palabras de memoria.

B–73
-"#de"referencia del juego de instrucciones
Manual

Fijo,
&-" &5* (.&#&  &5* ". -&, &5* 5/02 5/03 5/04
5/01
S:67 y S:68 Estado Canal 0 de nodos activos DHĆ485 • •
S:69 a S:82 NA Tabla de nodo activo de half duplex DF1 • •
S:83 a S:86 Estado Canal 1 de nodos activos DH+ •
-.- 4 palabras son mapeadas con bits para
representar los 4 ())- *osibles en una red
DH+. S:83 a S:86/15 representan direcciones de
nodo 0-63 (0-77 octal). Estos bits son
establecidos por el procesador cuando existe un
nodo en la red DH+ a la cual está conectado el
procesador. Estos bits se ponen a cero cuando
un nodo no está presente en la red.
Note que S:34/1 se debe establecer a fin que
las palabras anteriores funcionen.
S:87 a S:96 NA Reservado •
S:97 a S: 98 NA Reservado (se aplica los procesadores SLC
5/04 OS401)
S:99 Configuración Palabra de estado global (SLC 5/04 OS401 •
dinámica solamente)
Los datos colocados en esta ubicación de
memoria se transmiten como la palabra de
estado global del procesador y se envían a
todos los otros dispositivos en la red DH+
cada vez que el procesador pasa el testigo
DH+.
S:100 a Configuración Archivo de estado global (SLC 5/04 OS401 •
S:163 estática solamente)
Cuando un procesador pasa el testigo DH+ al
próximo nodo, también envía una palabra de 16
bits llamada la palabra de estado global (S:99 y
posteriores). Todos los nodos en la red leen la
palabra de estado global transmitida por cada
procesador y guardan la palabra en memoria.
Cada procesador tiene una tabla (archivo de
estado global) en memoria donde se
almacenan las palabras de estado global de los
otros procesadores. Esta tabla se actualiza
completamente durante cada rotación de
testigo. (Ejemplo: La palabra desde el nodo x"
se coloca en S:100 + x.)
Usted puede usar el archivo de estado global
como mensaje de difusión de alta velocidad
para el paso de estado y sincronización de los
procesadores.

B–74
Uso de memoria y tiempos de ejecucion de instruccion

C Uso de memoria y tiempos de


ejecución de instrucción
Este apéndice proporciona:
• palabras de instrucción y tiempos de ejecución de instrucción para los
controladores MicroLogix 1000
• palabras de instrucción y tiempos de ejecución de instrucción para los
procesadores compactos, SLC 5/01, SLC 5/02, SLC 5/03 y SLC 5/04
• ejemplos de cómo estimar el uso total de memoria del sistema para los
controladores MicroLogix 1000 y todos los procesadores SLC

 
       


    

   




  


  


  



C–1
 
Manual de referencia del juego de instrucciones

Tiempos de ejecución de instrucción y uso de memoria


de instrucción
Controladores MicroLogix 1000

La tabla siguiente lista los tiempos de ejecución y uso de memoria para las
instrucciones del controlador MicroLogix 1000. Toda instrucción que tome más de
15 µs (tiempo de ejecución verdadero o falso) para ejecutarse, crea una encuesta
para las interrupciones de usuario.
      
        
    
  

        
µ   µ    

ADD 6.78 33.09 1.50 Añadir Matemática


AND 6.78 34.00 1.50 Y Manejo de datos
53.71 + 5.24 x Desplazamiento Específica a la
BSL 19.80 2.00
valor de posición de bit a la izq. aplicación
53.34 + 3.98 x Desplazamiento Específica a la
BSR 19.80 2.00
valor de posición de bit a la der. aplicación
CLR 4.25 20.80 1.00 Borrar Matemática
COP 6.60 27.31 + 5.06/pal. 1.50 Copia de archivo Manejo de datos
CTD 27.22 32.19 1.00 Conteo regresivo Básica
CTU 26.67 29.84 1.00 Conteo progresivo Básica
Descodificar 4 a 1
DCD 6.78 27.67 1.50 Manejo de datos
de 16
DDV 6.78 157.06 1.00 División doble Matemática
DIV 6.78 147.87 1.50 División Matemática
Codificar (encode)
ENC 6.78 54.80 1.50 Manejo de datos
1 a 16 de 4
EQU 6.60 21.52 1.50 Igual Comparativa
FFL 33.67 61.13 1.50 Carga FIFO Manejo de datos
73.78 + 4.34 x
FFU 34.90 1.50 Descarga FIFO Manejo de datos
valor de posición
FLL 6.60 26.86 + 3.62/pal. 1.50 Llenar el archivo Manejo de datos
FRD 5.52 56.88 1.00 Convertir de BCD Manejo de datos
GEQ 6.60 23.60 1.50 Mayor o igual que Comparativa

C–2
Uso de memoria y tiempos de ejecucion de instruccion

Tiempo de Tiempo de Uso de memoria


ejecución falso ejecución Tipo de
Mnemónico (aprox. verdadero (aprox. (palabras de Nombre instrucción
µsegundos) µsegundos) usuario)

GRT 6.60 23.60 1.50 Mayor que Comparación


Contador de alta Contador de alta
HSC 21.00 21.00 1.00
velocidad velocidad
Inhab. de interrupĆ
Contador de alta
HSD 7.00 8.00 1.25 ción de contador
velocidad
de alta velocidad
Hab. de interrupĆ
Contador de alta
HSE 7.00 10.00 1.25 ción de contador
velocidad
de alta velocidad
Carga de contador Contador de alta
HSL 7.00 66.00 1.50
de alta velocidad velocidad
Entrada inmediata Control de flujo de
IIM 6.78 35.72 1.50
con máscara programa
Subrutina de Específico a la
INT 0.99 1.45 0.50
interrupción aplicación
Salida inmediata Control de flujo de
IOM 6.78 41.59 1.50
con máscara programa
Control de flujo de
JMP 6.78 9.04 1.00 Saltar a etiqueta
programa
Control de flujo de
JSR 4.25 22.24 1.00 Saltar a subrutina
programa
Control de flujo de
LBL 0.99 1.45 0.50 Etiqueta
programa
LEQ 6.60 23.60 1.50 Menor o igual que Comparativa
LES 6.60 23.60 1.50 Menor que Comparativa
LIM 7.69 36.93 1.50 Prueba lím Comparativa
LFL 33.67 61.13 1.50 Carga LIFO Manejo de datos
LFU 35.08 64.20 1.50 Descarga LIFO Manejo de datos
Restablecimiento Control de flujo de
MCR 4.07 3.98 0.50
control maestro programa
Comparación con
MEQ 7.69 28.39 1.50 máscara para Comparativa
igual
MOV 6.78 25.05 1.50 Mover Manejo de datos
MUL 6.78 57.96 1.50 Multiplicación Matemática

C–3
 
Manual de referencia del juego de instrucciones

      


        
           
  
  
µ   µ    

+1#- !+*
   
 *#'+ "# "/+.
)3.!-
   
 ) &+ "# .&%*+ *#'+ "# "/+.
   
 
 &$#-#*/# +),-/&1
     + *#'+ "# "/+.
   
  *#'+ "# "/+.
* $-#*/#
    3.&!
.!#*"#*/#
     
!/&1!&5* "# .(&" 3.&!
 !/0( "# !0) +*/"+- "# (/
!+*/"+- "# (/   
"# &)%#* "#
1#(+!&"" !+*/"+- (/ 1#( 1#(+!&""

   
*!(1 "# .(&" 3.&!
   
#.#*!(1 .(&" 3.&!
!0)0("+- "# +*/"+- "# (/
 
  -#./  "# !+*/"+-
"# (/ 1#( 1#(+!&""

 /#),+6 

  #./ (#!&)&#*/+ 3.&!
-&2"+- !+*/"+-
 !+*/"+- "# 
  #./ ( "#( !+*/6 +*/"+- "# (/
(/ 1#(+!&"" "+- "# (/ 1#( 1#(+!&""

   


 #/+-*+ "# +*/-+( "# $(0'+ "#
.0 -0/&* ,-+%-)
#),+-&2"+-
       3.&!
-#/#*/&1+

  

 0 -0/&* +*/-+( "# $(0'+ "#
,-+%-)
    
.!(- "/+. /#)3/&!

    
  #!0#*!&"+- "# .,#!4$&!  (
!+),-!&5* ,(&!!&5*

  
   -% .#! .,#!4$&!  (
,(&!!&5*
#!0#*!&"+- "# .,#!4$&!  (
    
 
.(&" ,(&!!&5*
  

42 !0"-" /#)3/&!

C–4
Uso de memoria y tiempos de ejecucion de instruccion

Tiempo de Tiempo de Uso de memoria


ejecución falso ejecución Tipo de
Mnemónico (aprox. verdadero (aprox. (palabras de Nombre instrucción
µsegundos) µsegundos) usuario)

Específica a la
STD 3.16 6.69 0.50 Desactivar STI
aplicación
Específica a la
STE 3.16 10.13 0.50 Activar STI
aplicación
Específica a la
STS 6.78 24.59 1.25 Comenzar STI
aplicación
SUB 6.78 33.52 1.50 Resta Matemática
Control de flujo de
SUS 7.87 10.85 1.50 Suspend
programa
Control de flujo de
TND 3.16 7.78 0.50 Fin temporal
programa
TOD 6.78 49.64 1.00 Convertir a BCD Manejo de datos
Temporizador a la
TOF 31.65 39.42 1.00 Básica
desconexión
Temporizador a la
TON 30.38 38.34 1.00 Básica
conexión
Examina si
XIC 1.72 1.54 0.75 Básica
cerrado
XIO 1.72 1.54 0.75 Examina si abierto Básica
Operación O
XOR 6.92 33.64 1.50 Manejo de datos
esclusiva

Latencia de interrupción de usuario

La latencia de interrupción de usuario es el tiempo máximo transcurrido desde el


momento en que ocurre una condición de interrupción (por ejemplo, la STI caduca o
la HSC preseleccionada se alcanza) hasta el momento en que la subrutina de
interrupción de usuario comience a ejecutarse (se asume la ausencia de otras
condiciones de interrupción).

Si usted se comunica con el controlador, la latencia de interrupción de usuario


máxima es 872 µs. Si usted no se comunica con el controlador, la latencia de
interrupción de usuario máxima es 838 µs.

C–5

Manual de referencia del juego de instrucciones

Cómo estimar el uso de memoria para el sistema de control MicroLogix 1000

Use lo siguiente para calcular el uso de memoria para el sistema de control


MicroLogix 1000.

4. Determine el total de palabras de instrucción usadas


por las instrucciones en el programa e introduzca el
resultado. Refiérase a la tabla en la pág. C–2.

5. Multiplique el no. total de renglones entre 0.75 e


introduzca el resultado. No cuente los renglones
END en cada archivo.

177 6. Para contabilizar el overhead del controlador,


use 177.
110 7. Para contabilizar los datos de aplicación,
use 110.
Uso de memoria 8. Sume los pasos 1–4. Este es el uso de memoria
total: total estimado del sistema de aplicación.
Recuerde que se trata de un cálculo aproximado.
Los programas reales compilados pueden diferir
un máximo de ±12%.
9. Para determinar la cantidad aproximada de
memoria que resta en el controlador que usted ha
seleccionado, haga lo siguiente:
1024 Reste el uso de memoria total de 1024.
Uso de memoria total
(de la suma anterior) -

Memoria total El resultado de este cálculo será la memoria total


remanente: aproximada remanente en el controlador
seleccionado.

Nota El uso de memoria calculado puede variar del


programa real compilado en ±12%.

C–6
Uso de memoria y tiempos de ejecucion de instruccion

Hoja de trabajo de tiempo de ejecución del controlador MicroLogix 1000

Use esta hoja de trabajo para calcular el tiempo de ejecución del programa de
escalera.

   ! !


   !     !         210
µs

    !  

A. Cuente el número de renglones de programa en el programa de escalera.


B. Sume los tiempos de ejecución del programa cuando todas las instrucciones sean verdaderas. Incluya µs
rutinas de interrupción en este cálculo.À

    !  

A. Sin comunicaciones, sume las secciones 1 y 2 µs

B. Con comunicaciones, sume las secciones 1 y 2 y multiplique por 1.05 µs

     !          ! !   ms

À Si una rubrutina se ejecuta más de una vez por escán, incluya el tiempo de escán de cada ejecución de subrutina.

C–7
Preface
Manual de referencia del juego de instrucciones

Descripción general del uso de memoria para los


procesadores SLC
Los controladores SLC 500 tienen las capacidades de memoria de usuario
siguientes:

Capacidad de memoria de
Tipo de procesador Tipo de controlador
usuario
Controladores de E/S fijos
Compacto y SLC 5/01 Controladores modulares 1024 palabras de instrucción
1747ĆL511
Controladores modulares
SLC 5/02 4096 palabras de instrucción
1747ĆL524
Controladores modulares
SLC 5/03 12,288 palabras
1747ĆL532
Controladores modulares
1747ĆL541 20,480 palabrasÀ
SLC 5/04
1747ĆL542
1747ĆL543

À Cuando el programa de escalera es mayor que 12 K palabras, usted debe separar el programa en
dos archivos. Se requieren un archivo principal (archivo 2) y por lo menos un archivo de subrutina
(3-2155).

Las definiciones siguientes se aplican al calcular el uso de memoria:


• compacto, SLC 5/02 y SLC 5/02 – 1 palabra de instrucción = 4 palabras de
datos = 8 bytes
• SLC 5/03 y SLC 5/04 – 1 palabra de instrucción = 1 palabra de datos

C–8
Uso de memoria y tiempos de ejecucion de instruccion

Tiempos de ejecución de instrucción y uso de memoria


de instrucción
Procesadores fijos y SLC 5/01

El número de palabras de instrucción usadas por una instrucción se indica en la tabla


siguiente. Puesto que el programa es compilado por el programador, sólo es posible
establecer cálculos aproximados para las palabras de instrucción usadas por las
instrucciones individuales. El uso de memoria calculado generalmente es mayor
que el uso de memoria real debido a la optimización del compilador.
Tiempo de Tiempo de Uso de memoria
ejecución falso ejecución Tipo de
Mnemónico (palabras de Nombre
(aprox. verdadero (aprox. instrucción
µsegundos) µsegundos) usuario)

ADD   1.5 Suma !3%,83)#!


  87 1.5 Operador lógico Manejo de datos

BSL 12 144 + 24 por 2.00 Desplazamiento a Específica a la


palabra la izquierda aplicación

BSR 12 134 + 24 por 2.00 Desplazamiento a Específica a la


palabra la derecha aplicación
CLR 12 40 1.00 Borrar Matemática

COP 12 45 + 21 por 1.50 Copiar archivo Manejo de datos


palabra
CTD 12 111 1.00 Contador - Básica
CTU 12 111 1.00 Contador + Básica

DCD 12 80 1.50 Descodificar 4 a 1 Manejo de datos


de 16
DDV 12 650 1.00 Doble división Matemática
DIV 12 400 1.50 División Matemática
EQU 12 60 1.50 Igual Comparativa

FLL 12 37 + 14 por 1.50 Llenar archivo Manejo de datos


palabra
FRD 12 223 1.00 Convertir de BCD Manejo de datos
GEQ 12 60 1.50 Mayor o igual que Comparativa
GRT 12 60 1.50 Mayor que Comparativa
Contador de alta Contador de alta
HSC 12 60 1.00
velocidad velocidad

C–9
 
Manual de referencia del juego de instrucciones

      


        
    
  

        
µ   µ    

Entrada inmediata Control de flujo de


 12 372 1.50
con máscara programa
Salida inmediata Control de flujo de
IOM 12 475 1.50
con máscara programa
Control de flujo de
JMP 12 38 1.00 Saltar a etiqueta
programa
Control de flujo de
JSR 12 46 1.00 Salta a subrutina
programa
Control de flujo de
LBL 2 2 0.50 Etiqueta
programa
LEQ 12 60 1.50 Menor o igual que Comparativa
LES 12 60 1.50 Menor que Comparativa
Restablecimiento Control de flujo de
MCR 10 10 0.50
control maestro programa
Comparación con
MEQ 12 75 1.50 Comparativa
máscara para igual
MOV 12 20 1.50 Mover Manejo de datos
MUL 12 230 1.50 Multiplicación Matemática
Mover con
MVM 12 115 1.50 Manejo de datos
máscara
NEG 12 110 1.50 Cambio de signo Manejo de datos
NEQ 12 60 1.50 Diferente Comparativa
Operación Not
NOT 12 66 1.00 Manejo de datos
lógico
Operación O
OR 12 87 1.50 Manejo de datos
lógico
Un frente
OSR 12 34 1.00 Básica
ascendente
Activación de
OTE 18 18 0.75 Básico
salida
OTL 19 19 0.75 Enclav. salida Básico
OTU 19 19 0.75 Desenclav. salida Básico
RES 12 40 1.00 Restablecimiento Básico

C–10
Uso de memoria y tiempos de ejecucion de instruccion

Tiempo de Tiempo de Uso de memoria


ejecución falso ejecución Tipo de
Mnemónico (palabras de Nombre
(aprox. verdadero (aprox. instrucción
µsegundos) µsegundos) usuario)

RET 12 34 0.50 &4/2./ %& /.42/, %& ',5+/ %&


35#254*." 02/(2"-"

 12 
 1.00 &-0/2*9"%/2 Básica
2&4&.4*6/

SBR 2 2 0.50 Subrutina Control de flujo de


programa

SQC 12 225 2.00 Secuenciador de Específica a la


comparación aplicación

SQO 12 225 2.00 Secuenciador de Específica a la


salida aplicación
SUB 12 125 1.50 Resta Matemática

SUS 12 12 1.50 Suspender Control de flujo de


programa
Control de flujo de
TND 12 32 0.50 Fin temporal
programa
TOD 12 200 1.00 Convertir a BCD Manejo de datos

TOF 12 140 1.00 Temporizador a la Básica


desconexión

TON 12 135 1.00 Temporizador a la Básica


conexión

XIC 4 4 1.00 Examina si Básica


cerrado
XIO 4 4 1.00 Examina si abierto Básica
Operador O
XOR 12 87 1.50 Manejo de datos
exclusivo
À Estas instrucciones toman tiempo de ejecución cero si hay condiciones que las preceden garantizando el estado del
renglón. La lógica de escalera se resuelve de izquierda a derecha. Las bifurcaciones se resuelven de arriba hacia
abajo.

Ejemplo
Para el ejemplo de renglón siguiente:
1 2 6 8
1) Si la instrucción 1 es falsa, las instrucciones 2, 3, 4, ][ ][ ][ ()
5, 6, 7 toman tiempo de ejecución cero.
Tiempo de ejecución = 3 7
4 + 18 = 22 microsegundos. ][ ][
2) Si la instrucción 1 es verdadera, 2 es verdadera y 5 4
es verdadera, entonces las instrucciones 3, 4, 5, 7 ][
toman tiempo de ejecución cero. Tiempo de
ejecución = 4 = 4 = 4 = 18 = 30 microsegundos. 5
][

C–11

Manual de referencia del juego de instrucciones

Cómo estimar el uso de memoria total del sistema usando un procesador


compacto o SLC 5/01
1. Calcule el total de palabras de instrucción usadas por las instrucciones en el
programa e introduzca el resultado. Refiérase a la tabla en la página C–9.

2. Multiplique el no. total de renglones por .375 e introduzca el resultado.

3. Multiplique el no. total de palabras de datos (excluyendo las palabras del archivo
de estado y datos de E/S) por .25 e introduzca el resultado.

4. Añada 1 palabra por cada archivo de tabla de datos e introduzca el resultado.

5. Multiplique por 2 el archivo de programa con el no. más alto usado e introduzca
el resultado.

6. Multiplique por .75 el no. total de palabras de datos de E/S e introduzca el


resultado.
7. Multiplique el no. total de ranuras de E/S, usadas o no usadas, por .75 e
introduzca el resultado.
8. Para contabilizar el overhead del procesador, introduzca 65 si usted usa un
controlador fijo; introduzca 67 si usa un 1747-L511 ó 1747-L514.

Total: 9. Sume los pasos 1 a 8. Este es el uso de memoria total aproximado del sistema de
aplicación. Recuerde que se trata de un cálculo aproximado. Los programas
reales compilados podrían diferir ±12%.
10. Si usted desea determinar la cantidad de memoria aproximada remanente en el
procesador que ha seleccionado, haga lo siguiente:
Si usa un controlador compacto ó 1747-L511, reste el total de 1024. Si usa un
1747-L514, reste el total de 4096.

El resultado de este cálculo será la memoria total aproximada remanente en el


procesador seleccionado.

Nota El uso de memoria calculado puede diferir del programa compilado real en ±12%.

C–12
Uso de memoria y tiempos de ejecucion de instruccion

Continuación de procesadores fijos y SLC 5/01

Ejemplo

Controlador de E/S fijo L20B


42 XIC y XIO 42 x 1.00 = 42.00
10 instrucciones OTE 10 x 0.75 = 7.50
10 instrucciones TON 10 x 1.00 = 10.00
1 instrucción CTU 1 x 1.00 = 1.00
1 instrucción RES 1 x 1.00 = 1.00
Uso de instrucciones 61.50
21 renglones 21 x.375 = 7.87
37 palabras de datos 37 x.250 = 9.25
Total del programa de usuario 78.62
2 palabras de datos de E/S 2 x 0.75 = 1.50
1 ranura 1 x 0.75 = 0.75
Overhead 65.00
Total de configuración de E/S 67.25
Uso de memoria total estimado: 145.87
(redondee a 146)

1024 – 146 = 878 palabras de instrucción


remanentes en el procesador

C–13
!
Manual de referencia del juego de instrucciones

Continuación de procesadores fijos y SLC 5/01

Ejemplo

!"! 

& $!%   !$!"  
 &    
 &  
$!%  # 

&   
 &  
 &
50 XIC y XIO 50 x 1.00 = 50.00
15 instrucciones OTE 15 x 0.75 = 11.25
5 instrucciones TON 5 x 1.00 = 5.00
3 instrucciones GRT 3 x 1.50 = 4.50
1 instrucción SCL 1 x 1.75 = 1.75
1 instrucción TOD 1 x 1.00 = 1.00
3 instrucciones MOV 3 x 1.50 = 4.50
10 instrucciones CTU 10 x 1.00 = 10.00
10 instrucciones RES 10 x 1.00 = 10.00
Uso de instrucciones 98.00
30 renglones 30 x 0.375 = 11.25
100 palabras de datos 100 x 0.25 = 25.00
10 es el no. de archivo de tabla
de datos más alto 10 x 1 = 10.00
4 es el no. de archivo de programa
más alto 4 x 2 = 8.00
Total del programa de usuario 163.50
49 palabras de datos de E/S 49 x 0.75 = 36.75
30 ranuras 30 x 0.75 = 22.50
Overhead 67.00
Total de configuración de E/S 126.25
Uso de memoria total estimado: 289.75
(redondee a 290)

4096 – 290 = 3806 palabras de instrucción que


restan en el procesador

C–14
Uso de memoria y tiempos de ejecucion de instruccion

Procesador SLC 5/02

El número de palabras de instrucción usadas por una instrucción se indica en la tabla


siguiente. Ya que el programa es compilado por el programador, sólo es posible
establecer cálculos aproximados para las palabras de instrucción usadas por las
instrucciones individuales. El uso de memoria calculado generalmente es mayor
que el uso de memoria real debido a la optimización del compilador.
Tiempo de Tiempo de Uso de memoria
ejecución falso ejecución Tipo de
Mnemónico (palabras de Nombre
(aprox. verdadero (aprox. instrucción
µsegundos) µsegundos) usuario)

 
6.# Matemática
AND 7 55 1.5 Operdor Y lógico Manejo de datos
Desplazamiento a Específica a la
BSL 36 89 +14 por pal. 2.00
la izquierda aplicación
Desplazamiento a Específica a la
BSR 36 83 +14 por pal. 2.00
la derecha aplicación
CLR 7 26 1.00 Borrar Matemática
COP 7 29 + 13 por pal. 1.50 Copiar archivo Manejo de datos
CTD 7 69 1.00 Conteo - Básica
CTU 7 69 1.00 Conteo + Básica
Descodificar 4 a 1
DCD 7 50 1.50 Manejo de datos
de 16
DDV 7 392 1.00 Doble división Matemática
DIV 7 242 1.50 División Matemática
EQUÀ 38 38 1.50 Igual Comparativa
FFL 51 150 1.50 Carga FIFO Manejo de datos
150 +11 x valor de
FFU 51 1.50 Descarga FIFO Manejo de datos
posición
FLL 7 25 + 8 por pal. 1.50 Llenar archivo Manejo de datos
FRD 7 136 1.00 Convertir de BCD Manejo de datos
GEQÀ 38 38 1.50 Mayor o igual que Comparativa
GRTÀ 38 38 1.50 Mayor que Comparativa
Comprensión de
Interrupción de
IID 7 39 1.25 las rutinas de
E/S inhabilitar
interrupción

C–15
 
Manual de referencia del juego de instrucciones

      


        
           
  
  
µ   µ    

Comprensión de
Interrupción de

 1.25 las rutinas de
E/S habilitar
interrupción
Entrada inmediata Control de flujo de
IIM 1 340 1.50
con máscara programa
Subrutina de Específico a la
INT 0 0 0.50
interrupción aplicación
Salida inmediata Control de flujo de
IOM 7 465 1.50
con máscara programa
Control de flujo de
JMP 7 23 1.00 Saltar a etiqueta
programa
Control de flujo de
JSR 7 28 1.00 Saltar a subrutina
programa
Control de flujo de
LBL 1 4 0.50 Etiqueta
programa
LEQÀ 38 38 1.50 Menor o igual que Comparativa
LESÀ 38 38 1.50 Menor que Comparativa
LIM 7 150 1.50 Prueba lím Comparativa
LFL 51 180 1.50 Carga LIFO Manejo de datos
LFU 51 45 1.50 Descarga LIFO Manejo de datos
Restablecimiento Control de flujo de
MCR 6 6 0.50
control maestro programa
Comparación con
MEQÀ 7 47 1.50 máscara para Comparativa
igual
MOV 7 14 1.50 Mover Manejo de datos
MSG 48 180Á 34.75 Mensaje Comunicación
MUL 7 140 1.50 Multiplicación Matemática
Mover con
MVM 7 71 1.50 Manejo de datos
máscara
NEG 7 68 1.50 Cambio de signo Manejo de datos
NEQÀ 38 38 1.50 Diferente Comparativa

C–16
Uso de memoria y tiempos de ejecucion de instruccion

Tiempo de Tiempo de Uso de memoria


ejecución falso ejecución Tipo de
Mnemónico (palabras de Nombre
(aprox. verdadero (aprox. instrucción
µsegundos) µsegundos) usuario)

Operador Not
NOT
  Manejo de datos
lógico
Operador O
OR 7 55 1.50 Manejo de datos
inclusivo
Un frente
OSR 11 20 1.00 Básica
ascendente
Activación de
OTE 11 11 0.75 Básica
salida
Enclavamiento de
OTL 11 11 0.75 Básica
salida
Desenclavamiento
OTU 11 11 0.75 Básica
de salida
Derivada
PID 90 3600 23.25 PID
proporcional
Comprensión de
REF 4 240 + 180 por pal. 0.50 Regenerar las rutinas de
interrupción
RES 7 26 1.00 Restablecimiento Básica
Retorno de Control de flujo de
RET 7 20 0.50
subrutina programa
Restablecer Comprensión de
RPI 7 240 1.25 interrupción las rutinas de
pendiente interrupción
Temporizador
RTO 30 30 1.00 Básica
retentivo
Control de flujo de
SBR 1 4 0.50 Subrutina
programa
SCL 7 480 1.75 Escalar datos Matemática
Secuenciador de Específico a la
SQC 36 137 2.00
comparación aplicación
Carga de Específico a la
SQL 36 135 2.00
secuenciador aplicación

C–17
Preface
Manual de referencia del juego de instrucciones

Tiempo de Tiempo de Uso de memoria


ejecución falso ejecución Tipo de
Mnemónico (palabras de Nombre
(aprox. verdadero (aprox. instrucción
µsegundos) µsegundos) usuario)

 36 137 2.00 Secuenciador de Específica a la


salida aplicación
SQR 7 162 1.25 Raíz cuadrada Matemática

STD 4 9 0.50 Desactivar STI Específica a la


aplicación

STE 4 9 0.50 Activar STI Específica a la


aplicación

STS 7 72 1.25 Comenzar STI Específicoaa la


aplicación
SUB 7 77 1.50 Resta Matemática

SUS 7 7 1.50 Suspend Control de flujo de


programa

SVC 4 240 Servicio de Comunicación


comunicaciones

TND 7 22 0.50 Fin temporal Control de flujo de


programa
TOD 7 122 1.00 Convertir a BCD Manejo de datos

TOF 36 86 1.00 Temporizador a la Básica


desconexión

TON 36 83 1.00 Temporizador a la Básica


conexión
XICÀ 2.40 2.4 1.00 Examina si cerrado Básica
XIOÀ 2.40 2.4 1.00 Examina si abierto Básica
XOR 7 55 1.50 Oper. O exclusivo Manejo de datos
À Estas instrucciones toman tiempo de ejecución cero si hay condiciones que las preceden garantizando el estado del
renglón. La lógica de renglón se resuelve de izquierda a derecha. Las bifurcaciones se resuelven desde abajo
hacia arriba.
Á Esto incluye solamente la cantidad de tiempo requerida para configurar" la operación solicitada. No incluye el
tiempo necesario para dar servicio a las comunicaciones mismas.
Ejemplo
Para el ejemplo de renglón siguiente: 1 2 6 8
1) Si la instrucción 1 es falsa, las instrucciones 2, 3, 4, 5, 6, 7 ][ ][ ][ ()
toman tiempo de ejecución cero.
Tiempo de ejecución = 2.4 + 11 = 13.4 microsegundos. 3 7
][ ][
2) Si la instrucción 1 es verdadera, 2 es verdadera y 6 es
verdadera, entonces las instrucciones 3, 4, 5, 7 toman 4
tiempo de ejecución cero. Tiempo de ][
ejecución = 2.4 + 2.4 + 2.4 + 11 = 18.2 microsegundos.
5
][

C–18
Uso de memoria y tiempos de ejecucion de instruccion

Continuación de procesador SLC 5/02

Cómo estimar el uso de memoria total del sistema usando un procesador


SLC 5/02
1. Calcule el total de palabras de instrucción usadas por las instrucciones en el
programa e introduzca el resultado. Refiérase a la tabla en la pág. C–15.

2. Multiplique el no. total de renglones por .375 e introduzca el resultado.

3. Si usa un 1747-L524 y ha habilitado el modo de prueba de un solo paso,


multiplique el no. total de renglones por .375 e introduzca el resultado.

4. Multiplique por .25 el no. total de palabras de datos (excluyendo las


palabras del archivo de estado y datos de E/S) e introduzca el resultado.

5. Añada 1 palabra por cada archivo de tabla de datos usada e introduzca el


resultado.
6. Multiplique por 2 el archivo de programa con el no. más alto usado e
introduzca el resultado.
7. Multiplique por .75 el no. total de palabras de datos de E/S e introduzca el
resultado.
8. Multiplique por .75 el no. total de ranuras de E/S, usadas o no usadas, e
introduzca el resultado.
9. Para contabilizar el overhead del procesador, introduzca 204.

Total: 10. Sume los pasos 1 a 9. Este es el uso de memoria total estimado del sistema
de aplicación. Recuerde que se trata de un cálculo aproximado. Los
programas compilados reales pueden diferir en ±12%.

11. Si usted desea determinar la cantidad de memoria aproximada remanente en


el procesador que ha seleccionado, haga lo siguiente:

Si usa un 1747-L524, reste el total de 4096.


El resultado de este cálculo será la memoria total aproximada remanente en
el procesador seleccionado.

Nota El uso de memoria calculado puede diferir del programa compilado real en ±12%.

C–19
Preface
Manual de referencia del juego de instrucciones

Continuación de procesador SLC 5/02

Ejemplo

Procesador 1747-L524 de serie C, configuración de 30 ranuras, (15)


1746-IA16,(10) 1746-OA8, (1) 1747-DCM de configuración completa, (1)
1746-NI4, (1) 1746-NIO4I
50 XIC y XIO 50 x 1.00 = 50.00
15 instrucciones OTE 15 x 0.75 = 11.25
5 instrucciones TON 5 x 1.00 = 5.00
3 instrucciones GRT 3 x 1.50 = 4.50
1 instrucción SCL 1 x 1.75 = 1.75
1 instrucción TOD 1 x 1.00 = 1.00
3 instrucciones MOV 3 x 1.50 = 4.50
10 instrucciones CTU 10 x 1.00 = 10.00
10 instrucciones RES 10 x 1.00 = 10.00
Uso de instrucción 98.00
30 renglones 30 x 0.375 = 11.25
100 palabras de datos 100 x 0.25 = 25.00
10 es el no. de archivo de
tabla de datos más alto 10 x 1 = 10.00
4 es el no. de archivo de
programa más alto 4 x 2 = 8.00
Total del programa de usuario 163.50
49 palabras de datos de E/S 49 x 0.75 = 36.75
30 ranuras 30 x 0.75 = 22.50
Overhead 204.00
Total de configuración de E/S 263.25
Uso de memoria total estimado: 426.75
(redondee a 427)

4096 – 427 = 3669 palabras de instrucción


remanentes en el procesador

C–20
Uso de memoria y tiempos de ejecucion de instruccion

Continuación de procesador SLC 5/02

Instrucciones que tienen direcciones indexadas

Por cada operando que tienen una dirección indexada, añada 30 microsegundos al
tiempo de ejecución de una instrucción verdadera. Por ejemplo, si una instrucción
MOV tiene una dirección indexada para la fuente y el destino, el tiempo de
ejecución cuando la instrucción es verdadera es 14 + 30 + 30 = 74 microsegundos.

Instrucciones que tienen direcciones de archivo de datos M0 y M1

Por cada instrucción de bit o palabra, añada 1157 microsegundos al tiempo de


ejecución. Por cada instrucción de palabras múltiples, añada 950 microsegundos
más 400 microsegundos por palabra.

M0:2.1 M1:3.1 M0:2.1 MOV


] [ ]/[ ( ) MOVE
1 1 10 Source M1:10.7

Dest N7:10

Ejemplo

COP
COPY FILE
Source #B3:0
Dest #M0:1.0
Length 34

Por la instrucción de palabras múltiples anterior, añada 950 microsegundos más 400
microsegundos por palabra. En este ejemplo, 34 palabras son copiadas desde #B:3.0
hacia M0:1.0. Añada 950 + (400 x 34) = 14550 microsegundos al tiempo de
ejecución listado en la página C–15. Esto resulta en una suma de 471 más 14550 =
15021 microsegundos totales, o bien 15.0 milisegundos.

C–21
 
Manual de referencia del juego de instrucciones

Procesador SLC 5/03


El número de palabras usadas por una instrucción se indica en la tabla siguiente.
Además, las instrucciones que tienen capacidad para el punto (coma) flotante
aparecen en una nota al pie de la tabla. Cuando se usa un procesador SLC 5/03, es
importante tener en mente que 1 palabra de instrucción es igual a 1 palabra de datos.
      
        
    
  

        
µ   µ    


    Búfer de prueba ASCII
para línea
ABS 0.75 9.95 2.00 Absoluto Matemática

ACB 39.70 140.7 2.00 No. de caracteres ASCII


en búfer
ACI 0.22 86.62 2.00 Cadena a entero ASCII
Borrado del búfer
ACL 0.22 367.50 2.00 ASCII de recepĆ ASCII
ción y/o transmisión
Concatendado de
ACN 0.22 69.4 + (2.1/car.) 3.00 ASCII
cadenas
ACS 0.75 510.85 2.00 Arco coseno Matemática
ADD 0.75 1.70 3.00, 4.00 Suma Matemática

AEX 0.22 56.2 + (4.7/car.) 4.00 Extracción de ASCII


cadena

AHL 39.70 138.70 4.00 Líneas de ASCII


comunica. ASCII
AIC 0.22 103.40 2.00 Entero a cadena ASCII
AND 0.75 1.70 3.00 Operador Y lógico Manejo de datos

ARD 39.70 181.8 3.00 Lectura de ASCII


caracteres ASCII

ARL 39.70 190.00 3.00 Lectura ASCII de ASCII


línea

ASC 0.22 53.4 + (1.8/car.) 4.00 Búsqueda de ASCII


cadena
ASN 0.75 483.05 2.00 Arco seno Matemática

ASR 0.22 49.69 3.00 Comparación de ASCII


cadenas
ATN 0.75 387.05 2.00 Arco tangente Matemática

C–22
Uso de memoria y tiempos de ejecucion de instruccion

Tiempo de Tiempo de Uso de memoria


ejecución falso ejecución Tipo de
Mnemónico (palabras de Nombre
(aprox. verdadero (aprox. instrucción
µsegundos) µsegundos) usuario)

6'5-785% ASCII
$ 39.7 365.50 3.00 ASCII
'21 %1):2
$! 39.7 263.80 3.00 6'5-785% ASCII ASCII
)63/%<%0-)172 % 63)'>*-'% % /%
BSL 15.00 50 + 
 3%/%&5% 
/% -<48-)5(% %3/-'%'-?1
)63/%<%0-)172 % 63)'>*-'% % /%
     
 3%/%&5% 
/% ()5)',% %3/-'%'-?1
     255%5 %7)0=7-'%
    

3%/%&5%  23-%5 %5',-92 %1).2 () (%726
  
 26)12 %7)0=7-'%
!  À Á %/'8/%5 %7)0=7-'%
!      217)2  =6-'%
!"      217)2  =6-'%
)6'2(-*-'%5 %
   
 %1).2 () (%726
() 
#   
 2&/) (-9-6-?1 %7)0=7-'%


 5%(26 %1).2 () (%726
# 
   -9-6-?1 %7)0=7-'%
"Â 

 +8%/ 203%5%7-9%

   %5+%  %1).2 () (%726
"
   

3%/%&5%  )6'%5+%  %1).2 () (%726
 
  
3%/%&5%  /)1%5 %5',-92 %1).2 () (%726
   
 219)57-5 ()  %1).2 () (%726
 

 %;25 2 -+8%/ 48) 203%5%7-9%
! 

 %;25 48) 203%5%7-9%
2035)16-?1 ()
17)5583'-?1 ()
   
 /%6 587-1%6 ()
 ()6%'7-9%
-17)5583'-?1

C–23
 
Manual de referencia del juego de instrucciones

      


        
    
  

        
µ   µ    

Comprensión de
Interrupción de
IIE   16.00 2.00 las rutinas de
E/S activa
interrupción
Entrada inmediata Control de flujo de
IIMÆÇ 0.50 51.85 6.00
con máscara programa
Subrutina de Específico a la
INT 0.25 0.25 1.00
interrupción aplicación
Salida inmediata Control de flujo de
IOMÆÈ 0.50 70.90 6.00
con máscara programa
Control de flujo de
JMP 0.25 44.45 1.00 Saltar a etiqueta
programa
Control de flujo de
JSR 0.25 131.00 1.00 Saltar a subrutina
programa
Control de flujo de
LBL 0.25 0.25 2.00 Etiqueta
programa
LEQÂ 1.25 1.25 3.00 Menor o igual que Comparativa
LESÂ 1.25 1.25 3.00 Menor que Comparativa
LFL 27.00 66.00 3.00 Carga LIFO Manejo de datos
LFU 27.00 1.95 3.00 Descarga LIFO Manejo de datos
LIMÁ 1.95 58.00 1.00 Prueba lím Comparativa
LN 0.75 392.00 2.00 Logaritmo natural Matemática
Logaritmo en
LOG 0.75 390.80 2.00 Matemática
base 10
Restablecimiento Control de flujo de
MCR 8.00 4.00 1.00
control maestro programa
Comparación con
MEQÂ 38.00 38.00 4.00 máscara para Comparativa
igual
MOV 0.50 1.25 2.00 Mover Manejo de datos
MSGÃ 60.00 203.00 20.00 Mensaje Comunicación
MUL 0.75 20.00 3.00 Multiplicación Matemática
Mover con
MVM 0.75 19.00 3.00, 4.00 Manejo de datos
máscara

C–24
Uso de memoria y tiempos de ejecucion de instruccion

Tiempo de Tiempo de Uso de memoria


ejecución falso ejecución Tipo de
Mnemónico (palabras de Nombre
(aprox. verdadero (aprox. instrucción
µsegundos) µsegundos) usuario)

     ",#). %& 1)(-. "-&*. %& %"2.1


    )'&0&-2& .,/"0"2)4"

     /&0"%.0 .2 "-&*. %& %"2.1


+8()$.

     /&0"%.0  "-&*. %& %"2.1


)-$+31)4.

    !- '0&-2& 61)$"


"1$&-%&-2&

     $2)4"$)8- %& 61)$"


1"+)%"

     -$+"4",)&-2. %& 61)$"


1"+)%"

 !    &1&-$+"4",)&-2. 61)$"


%& 1"+)%"

      0./.0$).-"+ 


)-2&(0"+%&0)4"%"
    "%)"-&1 "-&*. %& %"2.1

  Å  &(&-&0"0 .,/0&-1)8- %&


032)-"1 %& )-2&003/
 
 
  &12"#+&$),)&-2. 61)$"

     &2.0-. %& .-20.+ %& '+3*. %&


13#032)-" /0.(0","
&12"#+ )-2&003/9 .,/0&-1)8- %&
      0"-30" 
$)8- /&-%)&-2& 032)-"1 %& )-2&003/

  
 
  &,/.0)5"%.0 61)$"
0&2&-2)4.

    3#032)-" .-20.+ %& '+3*. %&


/0.(0","
  
 1$"+"0 %"2.1 "2&,62)$"

    1$"+"0 $.- "2&,62)$"


/"06,&20.1
    &-. "2&,62)$"

     &$3&-$)"%.0 %& 1/&$7')$" " +"


$.,/"0"$)8- "/+)$"$)8-

   


 "0(" 1/&$7')$" " +"
1&$3&-$)"%.0 "/+)$"$)8-

C–25
 
Manual de referencia del juego de instrucciones

      


        
    
  

        
µ   µ    

!,*;,4*0(+58 +, Específico a la
! 15.00 70.00 5.00
9(20+( aplicación
SQR 0.50 32.00 2.00, 3.00 Raíz cuadrada Matemática
Específica a la
STD 0.25 4.00 1.00 Desactivar STI
aplicación
Específica a la
STE 0.25 5.00 1.00 Activar STI
aplicación
Específica a la
STS 0.75 58.00 3.00 Comenzar STI
aplicación
SUB 0.75 1.70 3.00 Resta Matemática
Control de flujo de
SUS 0.50 12.00 2.00 Suspender
programa
Servicio de
SVC 0.25 Å 1.00 Comunicación
comunicaciones
SWP 0.75 24 + 13.09/palabra 2.00 Intercambiar Matemática
TAN 0.75 406.35 2.00 Tangente Matemática
Control de flujo de
TND 0.25 12.00 1.00 Fin temporal
programa
TOD 0.50 38.00 2.00 Convertir a BCD Manejo de datos
Temporizador a la
TOF 1.40 1.40 1.00 Básica
desconexión
Temporizador a la
TON 1.40 1.40 1.00 Básica
conexión
XICÂ 0.44 0.44 1.00 Examina si cerrado Básica
XIOÂ 0.44 0.44 1.00 Examina si abierto Básica
XOR 0.75 1.70 3.00 Oper. O exclusivo Manejo de datos
XPY 0.75 699.30 3.00 X a la pot. de Y Matemática

À Para obtener el tiempo de ejecución total para una instrucción CPT, tome el tiempo de ejecución CPT más cada
tiempo de ejecución de instrucción matemática adicional, más el número de instrucciones matemáticas multiplicados
por 3.01. Por ejemplo, si una instrucción CPT llama una instrucción ADD y una instrucción SUB, el cálculo es: 8.8 +
1.70 + 1.70 + 2(3.01) = 18.22
Á Para calcular el uso de memoria, haga los siguiente: Tome 2 más el no. de palabras de instrucción para cada
operación realizada más el no. de operaciones realizadas en el cálculo. Por ejemplo, 2 + ADD + SUB + 2 = 10.
 Estas instrucciones toman un tiempo de ejecución cero si hay condiciones que las preceden garantizando el estado
del renglón. La lógica de renglón se resuelve de la izquierda a la derecha. Las bifurcaciones se resuelven de arriba
hacia abajo.

C–26
Uso de memoria y tiempos de ejecucion de instruccion

à Esto sólo incluye la cantidad de tiempo necesaria para configurar" la operación solicitada. No incluye el tiempo
necesario para dar servicio a las comunicaciones mismas.
Ä Esta instrucción efectúa un final de escán completo. Esto incluye un escán de entrada/salida, servicio de
comunicación y limpieza. Vea la hoja de trabajo D en el apéndice ** para calcular el tiempo de ejecución real.
Å canal 1 = 150 µs sin comandos pendientes
canal 2 = 170 µs sin comandos pendientes
Añada 1 ms por cada comando que ha recibido servicio.
Æ Los tiempos listados se aplican a los módulos de E/S discretas. Cuando usted use los módulos de E/S de 32
puntos, añada los microsegundos siguientes a todas las operaciones IIM e IOM:
• 15 µs IIM cuando es verdadera
• 30 µs IOM cuando es verdadera
Ç Cuando usted use los módulos siguientes y la instrucción IIM en el programa, añada los
microsegundos siguientes
• Entradas del módulo analógico o termopar, añada 450 a 550 µs
• Entradas del módulo BASIC, añada 500 a 550 µs
• Otras entradas especiales, añada 425 a 957 µs
È Cuando usted use los módulos siguientes y la instrucción IOM en el programa, añada los
microsegundos siguientes
• Entradas del módulo analógico o termopar, añada 390 a 416 µs
• Entradas del módulo BASIC, añada 440 a 466 µs
• Otras entradas especiales, añada 590 a 989 µs

Ejemplo
Para el ejemplo de renglón siguiente:
1) Si la instrucción 1 es falsa, las instrucciones 2, 3, 4, 5, 6, 7 toman un tiempo de ejecución cero.
Tiempo de ejecución = .44 + .63 = 1.07 microsegundos.
2) Si la instrucción 1 es verdadera, 2 es verdadera y 6 es verdadera, entonces las instrucciones 3,
4, 5, 7 toman un tiempo de ejecución de cero.
Tiempo de ejecución = .44 + .44 + .44 + .63 = 1.95 microsegundos.

1 2 6 8
] [ ] [ ] [ ( )
3 7
] [ ] [
4
] [
5
] [

C–27
 
Manual de referencia del juego de instrucciones

Tiempos de ejecución de punto (coma) flotante del procesador SLC 5/03

Los tiempos de punto (coma) flotante se aplican a los procesadores SLC 5/03
OS301 y OS302.

Los tiempos matemáticos de punto (coma) flotante en la tabla siguiente se aplican


cuando S:34/2 no es establecido. Cuando S:34/2 es establecido, los indicadores
matemáticos se actualizan después de que la instrucción se ha ejecutado y 4–8 µs se
añaden al tiempo de ejecución. S:34/2 se puede cambiar dinámicamente (es decir,
por el programa y mientras que el programa se ejecute). Por cada parámetro de
entero, añada 10 µs en consideración de la conversión de entero a punto (coma)
flotante.
      
        
    
  

        
µ   µ    

ABSÀ 0.75 5.20 2.00 Absoluto Matemática


ADD 0.22 38.44 4.00 Suma Matemática
CLR 0.22 6.62 1.00 Borrar Matemática
DIV 0.22 57.56 4.00 División Matemática
EQU 0.75 12.94 3.00 Igual Comparativa
GEQ 0.75 14.81 3.00 Mayor o igual que Comparativa
GRT 0.75 14.82 3.00 Mayor que Comparativa
LEQ 0.75 13.19 3.00 Menor o igual que Comparativa
LES 0.75 13.19 3.00 Menor que Comparativa
LIM 0.75 22.81 1.00 Test lím Comparativa
MOV 0.22 12.19 2.00 Mover Manejo de datos
MUL 0.22 39.05 3.00 Multiplicación Matemática
NEG 0.22 12.38 3.00 Cambiar el signo Manejo de datos
NEQ 0.75 13.25 3.00 Diferente Comparativa
Escalar con
SCPÀ 0.75 196.10 6.00 Matemática
parámetros
SQR 0.22 70.00 3.00 Raíz cuadrada Matemática
SUB 0.22 38.19 4.00 Resta Matemática

À Se aplica a los procesadores SLC 5/03 OS302 solamente.

C–28
Uso de memoria y tiempos de ejecucion de instruccion

Si usted necesita realizar operaciones con punto (coma) flotante usando una
combinación de parámetros de punto (coma) flotante y enteros (valores y
direcciones de fuente/destino), calcule la cantidad de palabras de instrucción según
las pautas siguientes:

1. Comience con la cantidad de palabras para la instrucción del punto (coma)


flotante.

2. Añada 2 palabras por el primer parámetro de entero (dirección de valor o


fuente/destino).

3. Añada 1 palabra por cada parámetro de entero subsiguiente.

Estas palabras adicionales son necesarias para las conversiones de entero a punto
(coma) flotante.

Por ejemplo, esta instrucción requiere 7 palabras de instrucción:

ADD
ADD
Source A F8:8

Source B N7:7

Dest N7:10

• 4 palabras por la instrucción ADD de punto (coma) flotante


• +2 palabras por la dirección de entero N7:7
• +1 palabra por la segunda dirección de entero N7:10

C–29

Manual de referencia del juego de instrucciones

Continuación de procesador SLC 5/03

Cálculo aproximado del uso de memoria del sistema usando un procesador


SLC 5/03
1. Añada el no. total de palabras de archivo de datos usadas (excluyendo las
palabras del archivo de estado y datos de E/S) e introduzca el resultado.
2. Multiplique por 2 el no. total de palabras de datos de E/S e introduzca el
resultado.
3. Multiplique por 3 el no. total de ranuras de E/S, usadas o no usadas, e
introduzca el resultado
4. Para contabilizar el overhead del procesador, introduzca 236 e introduzca
el resultado.
5. Multiplique por 5 el archivo de tabla de datos con el número más alto e
introduzca el resultado.
6. Multiplique por 5 el archivo de programa con el número más alto e
introduzca el resultado.
Subtotal: 7. Sume los pasos 1 a 6. Introduzca esto como el subtotal (uso de palabra
4096 adicional de 4K).
– (paso 7) 8. Reste el valor en el paso 7 de 4096; si el resultado es positivo, introduzca
12,288 en el paso 14. Si el resultado es negativo, reste el valor absoluto de
12,288 e introduzca el resultado en el paso 14. (Esto disminuye el valor.)

9. Calcule el no. total de palabras usadas por la instrucción en el programa e


introduzca el resultado. Refiérase a la tabla en la página C–15.

10. Añada el no. total de renglones (1 palabra por renglón) e introduzca


el resultado.
11. Añada 1 palabra por cada referencia de dirección indexada e introduzca
el resultado.
12. Añada 2 palabras por renglón por cada renglón que contiene una referencia
dirección indexada e introduzca el resultado.
Subtotal: 13. Añada los pasos 9 a 12 e introduzca el resultado.

14. Introduzca el resultado del paso 8. Esta es la memoria disponible.

15. Introduzca el resultado del paso 13. Este es el número total de palabras
usadas.
Total: 16. Reste el paso 15 del paso 14.
Esta es la cantidad de memoria disponible en el sistema.

C–30
Uso de memoria y tiempos de ejecucion de instruccion

Continuación de procesador SLC 5/03

Ejemplo

Procesador 1747-L532, configuración de 30 ranuras, (15) 1746-IA16,


(10) 1746-OA8, (1) 1747-DCM de configuración completa, (1) 1746-NI4,
(1) 1746-NIO4I
100 palabras de datos 100 x 1.00 =100.00
49 palabras de datos de E/S 49 x 3.00 =147.00
30 ranuras 30 x 3.00 = 90.00
Overhead 236.00
10 es el número de tabla de
datos más alto 10 X 5 = 50.00
4 es el número de archivo de
programa más alto 4 X 5 = 20.00
Subtotal 643.00
Considere 4K adicionales para espacio de datos

4096 – 643 = 3453 (el resultado es positivo;


por lo tanto, 12,288 palabras están
disponibles)

50 XIC y XIO 50 x 1.00 = 50.00


15 instrucciones OTE 15 x 1.00 = 15.00
5 instrucciones TON 5 x 1.00 = 5.00
3 instrucciones GRT 3 x 3.00 = 9.00
1 instrucción SCL 1 x 4.00 = 4.00
1 instrucción TOD 1 x 2.00 = 2.00
3 instrucciones MOV 3 x 2.00 = 6.00
10 instrucciones CTU 10 x 1.00 = 10.00
10 instrucciones RES 10 x 1.00 = 10.00
Uso de instrucción 111.00
30 renglones 30 x 1.00 = 30.00
00 dirección indexada = 0.00
00 referencia de dirección indexada = 0.00
Subtotal 141.00

Memoria disponible 12,288.00


Palabras usadas – 141.00

Mem. total calculada aprox. disponible: 12,147.00

C–31
Preface
Manual de referencia del juego de instrucciones

Continuación de procesador SLC 5/03

Comparación de palabra de usuario entre el procesador SLC 5/03 ó


SLC 5/04 y el procesador SLC 5/02

El procesador SLC 5/03 ó SLC 5/04 y el procesador SLC 5/02 acumulan palabras de
usuario de modo diferente durantel a creación de un programa de usuario. El
procesador SLC 5/02 generalmente es más eficiente con respeto al uso de palabra
que los procesadores SLC 5/03 y SLC 5/04. Sin embargo, es difícil calcular el uso
de palabras del procesador SLC 5/02 ya que se encuentra ligado a la arquitectura del
microprocesador.

Los procesadores SLC 5/03 y SLC 5/04 acumulan palabras, de modo que resulta ser
más fácil de comprender y calcular que el procesador SLC 5/02. Los procesadores
SLC 5/03 y SLC 5/04 acumulan palabras de igual manera que un PLC-5. El
procesador SLC 5/03 ofrece 12,288 palabras. El procesador SCL 5/04 ofrece
20,480 palabras.

El procesador SLC 5/02 ofrece 4096 palabras de usuario. Es importante tener en


cuenta de que esto no significa que un procesador SLC 5/03 ó SLC 5/04 puede
mantener un programa de usuario que sea tres veces más grande que un programa
SLC 5/02 equivalente. Use la información siguiente para determinar el tamaño del
programa de usuario según los programs SLC 5/02 existentes.

Palabras de instrucción
Algunas instrucciones usan la misma cantidad de memoria en tanto que otras
instrucciones no usan la misma cantidad de memoria. Por ejemplo, una instrucción
CTU siempre usa 1 palabra. Sin embargo, una instrucción ADD en un procesador
SLC 5/02 usa 1.5 palabra; en un procesador SLC 5/03 ó SLC 5/04 una instrucción
ADD usa 3 palabras. También note las diferencias adicionales que siguen:
Palabras      
Condición
SLC 5/02
 5/03
 5/04

 renglón 0.375 1 1
Cada archivo de programa
1 5 5
adicional
Cada archivo de datos
1 5 5
adicional
Cada ranura de E/S 0.75 3 3
Overhead 216 236 250

El contenido exacto del programa determina la diferencia del tamaño de programa.


Un programa SLC 5/03 consume el 20% al 150% más de palabras de instrucción
que un SLC 5/02 equivalente.

C–32
Uso de memoria y tiempos de ejecucion de instruccion

Continuación de procesador SLC 5/03

Palabras de datos – Archivos 0 y 1

En el procesador SLC 5/02, cada palabra de datos de E/S consume 0.75 palabras de
memoria. En el procesador SLC 5/03, cada palabra de datos de E/S consume 3
palabras de datos.

Palabras de datos – Archivo 2

El uso de palabra del archivo de estado está contenido en los valores de overhead
para los procesadores SLC 5/02 y SLC 5/03.

Palabras de datos – Archivo 3 a 255

En el procesador SLC 5/02, 4 palabras de datos consumen la misma cantidad de


memoria que 1 palabra de instrucción. Por eso, se dice que el procesador SLC 5/02
ofrece 4K de palabras de instrucción ó 16K de palabras de datos. Esta cantidad
dinámica de almacenamiento de palabras de datos se debe a la arquitectura del
microprocesador SLC 5/02.

C–33
Preface
Manual de referencia del juego de instrucciones

Continuación de procesador SLC 5/03

Instrucciones con direcciones indexadas

Por cada operando con una dirección indexada, añada 25 microsegundos al tiempo
de ejecución para una instrucción verdadera. Por ejemplo, si una instrucción MOV
tiene una dirección indexada para la fuente y el destino, el tiempo de ejecución
cuando la instrucción es verdadera es 19 + 25 + 25 = 69 microsegundos.

Instrucciones con direcciones de archivo de datos M0 y M1

Los tiempos de ejecución de las instrucciones con direcciones de archivo de datos


M0 y M1 se varían. Los tiempos de ejecución siguientes representan los valores
máximos esperados.
Tiempo de ejecución
Tipo de instrucción
(µs)
XIC o XIO 782
OTU, OTE u OTL 925
COP al archivo M 772 + 23 por palabra
COP del archivo M 760 + 22 por palabra
FLL 753 + 30 por palabra
MVM al archivo M 894
cualquier dirección de archivo M de fuente o
730
destino

Ejemplo

COP
COPY FILE
Source #B3:0
Dest #M0:1.0
Length 34

Para la instrucción de palabras múltiples anterior, añada 772 microsegundos más 23


microsegundos por palabra. En este ejemplo, 34 palabras se copian desde #B3:0
hacia M0:10. Añada 772 + (23 x 34) = 1554 microsegundos al tiempo de ejecución
listado en la página ??. Esto resulta en 104.8 (calculado de la tabla de la página ??)
más 1554 = 1658.8 microsegundos totales, o sea 1.6 milisegundo.

C–34
Uso de memoria y tiempos de ejecucion de instruccion

Procesador SLC 5/04


El número de palabras usadas por una instrucción se indica en la tabla siguiente.
Además, las instrucciones que tienen capacidad para el punto (coma) flotante
aparecen en notas al pie de la tabla. Cuando se usa un procesador SLC 5/04, es
importante tener en mente que 1 palabra de instrucción es igual a 1 palabra de datos.
Tiempo de Tiempo de Uso de memoria
ejecución falso ejecución Tipo de
Mnemónico (palabras de Nombre
(aprox. verdadero (aprox. instrucción
µsegundos) µsegundos) usuario)

ABL 35.00 156.00 2.00 Prueba de búfer ASCII


por línea
ABS 0.562 8.60 2.00 Absoluto Matemática

ACB 35.00 131.00 2.00 No. de caracteres ASCII


en búfer
ACI 0.187 56.00 2.00 Cadena a entero ASCII
Borrado del búfer
ACL 0.187 332.80 2.00 ASCII de recepĆ ASCII
ción y/o transmisión

ACN 0.187 56 + (2.5/car.) 3.00 Concatenado de ASCII


cadenas
ACS 0.562 51.90 2.00 Arco coseno Matemática
ADD 0.562 1.50 3.00, 4.00 Suma Matemática

AEX 0.187 43.4 + (4.0/car.) 4.00 Extracción de ASCII


cadena
AHL 35.00 115.10 4.00 Líneas com. ASCII ASCII
AIC 0.187 110.00 2.00 Entero a cadena ASCII
AND 0.562 1.50 3.00 Operdor Y lógico Manejo de datos

ARD 35.00 156.00 3.00 Lectura de caracĆ ASCII


teres ASCII

ARL 35.00 156.00 3.00 Lectura ASCII de ASCII


línea

ASC 0.187 43.5 + (2.5/car.) 4.00 Búsqueda de ASCII


cadena
ASN 0.562 41.45 2.00 Arco seno Matemática

ASR 0.187 43.50 3.00 Comparación de ASCII


cadenas ASCII
ATN 0.562 40.15 2.00 Arco tangente Matemático

AWA 35.00 307.80 3.00 Escritura ASCII ASCII


con anexo

C–35
 
Manual de referencia del juego de instrucciones

      


        
    
  

        
µ   µ    

$! 
   6'5-785%    

      

3%/  )63/%;%0-)172 % 63)'=*-'% % /%
/% -;48-)5(% %3/-'%'->1

      
 3%/  )63/%;%0-)172 % 63)'=*-'% % /%
/% ()5)',% %3/-'%'->1
  
    255%5 %7)0<7-'%
  


 
 3%/  23-%5 %5',-92 %1).2 () (%726
  


 26)12 %7)0<7-'%
!  
À Á %/'8/%5 %7)0<7-'%
! 

 217)2  <6-'2
!" 

 217)2  <6-'2

   
 )6'2(-*-'%5 % %1).2 () (%726
() 
#  

 2&/) (-9-6->1 %7)0<7-'%
  


 5%(26 %1).2 () (%726
#  

   -9-6->1 %7)0<7-'%
"Â 

 +8%/ 203%5%7-9%
    %5+%  %1).2 () (%726
"    
3%/  )6'%5+%  %1).2 () (%726
  

  
 3%/  /)1%5 %5',-92 %1).2 () (%726
  

 219)57-5 ()  %1).2 () (%726
 

 %:25 2 -+8%/ 48) 203%5%7-9%
! 

 %:25 48) 203%5%7-9%
2035)16->1 ()
   
 17)5583'->1 () /%6 587-1%6 ()
 ()6%'7-9% -17)5583'->1
2035)16->1 ()
   
 17)5583'->1 () /%6 587-1%6 ()
 %'7-9% -17)5583'->1

ÆÇ     175%(% -10)(-%7% 21752/ () */8.2 ()


'21 0<6'%5% 352+5%0%

C–36
Uso de memoria y tiempos de ejecucion de instruccion

Tiempo de Tiempo de Uso de memoria


ejecución falso ejecución Tipo de
Mnemónico (palabras de Nombre
(aprox. verdadero (aprox. instrucción
µsegundos) µsegundos) usuario)

INT 0.187 0.187 1.00 Subrutina de Específica a la


(,2%003.#(7, aplicación

IOMÆÈ 0.375 75.74 6.00 Salida inmediata Específica a la


con máscara aplicación

JMP 0.187 37.44 1.00 !*2!0 ! etiqueta Específica a la


aplicación

JSR 0.187 112.00 1.00 !*2!0 ! subrutina -,20-* de &*3)- de


programa

LBL 0.187 0.187 1.00 Etiqueta Control de flujo de


programa
LEQÂ 1.25 1.125 3.00 Menor o igual que Comparativa
LESÂ 1.25 1.125 3.00 Menor que Comparativa
LFL 18.00 40.70 3.00 Carga LIFO Manejo de datos
LFU 18.00 34.70 3.00 Descarga LIFO Manejo de datos
LIMÂ 1.95 1.687 1.00 T%12 *6+ Comparativa
LN 0.562 51.35 2.00 Logaritmo natural Matemática

LOG 0.562 54.55 2.00 Logaritmo en base !2%+52(#!


10

MCR 7.00 3.00 1.00 Restablecimiento -,20-* de &*3)- de


control maestro programa
Comparación con
MEQÂ NA 22.75 4.00 máscara para Comparativa
igual
MOV 0.375 1.125 2.00 Mover Manejo de datos
MSGÃ  183.00 20.00 %,1!)% Comunicación
MUL 0.562 17.75   3*2(.*(#!#(7, !2%+52(#!

MVM 0.562 17.40 3.00 Mover con Manejo de datos


máscara
NEG 0.562 1.50 3.00 Cambio de signo Manejo de datos
NEQÂ 1.25 1.125 3.00 Diferente Comparativa
NOT 0.562 1.50 3.00 .%0 Not lógico Manejo de datos
OR 0.562 1.50 3.00 .%0. O inclusivo Manejo de datos

OSR 5.75 9.10 2.00 Un &0%,2% Básica


ascendente

C–37
 
Manual de referencia del juego de instrucciones

      


        
           
  
  
µ   µ    

OTE 0.562 0.562 1.00 Activ. de salida Básica


OTL 0.562 0.562 1.00 Enclav. salida Básica
OTU 0.562 0.562 1.00 Desenclav. salida Básica
Proporcional/
PID 14.31 169.82 26.00 PID
integral/derivada
RAD 0.562 24.65 2.00 Radianes Manejo de datos

REF 0.187 200 1.00 Regenerar Comprensión de


rutinas de interrup.
RES 1.312 1.312 1.00 Restablecimiento Básica

RET 0.187 20.00 1.00 Retorno de Control de flujo de


subrutina programa

RPI 0.375 91 + (56/ranura) 2.00 Restablecer Comprensión de


interrup. pendiente rutinas de interrup.

RTO 1.312 1.312 1.00 Temporizador Básica


retentivo

SBR 0.187 0.187 1.00 Subrutina Control de flujo de


programa
SCL .748 33.06 4.00 Escalar datos Matemática

SCP 0.562 29.85 6.00 Escalar con Matemática


parámetros
SIN 0.562 38.05 2.00 Seno Matemática

SQC 7.10 33.20 5.00 Secuenciador de Específica a la


comparación aplicación

SQL 7.10 33.20 4.00 Carga Específica a la


secuenciador aplicación

SQO 7.10 44.10 5.00 Secuendiador de Específica a la


salida aplicación
SQR 0.375 28.80 2.00, 3.00 Raíz caudrada Matemática

STD 0.187 3.56 1.00 Desactivar STI Específica a la


aplicación

STE 0.187 5.00 1.00 Activar STI Específica a la


aplicación

STS 0.562 44.38 3.00 Comenzar STI Específica a la


aplicación
SUB 0.562 1.50 3.00, 4.00 Restar Matemática

C–38
Uso de memoria y tiempos de ejecucion de instruccion

Tiempo de Tiempo de Uso de memoria


ejecución falso ejecución Tipo de
Mnemónico (aprox. verdadero (aprox. (palabras de Nombre instrucción
µsegundos) µsegundos) usuario)

!#!   
 !;96,4+,8 54:852 +, -2;15 +,
685.8(3(

SVC 0.187 200 1.00 Servicio de Comunicación


comunicaciones
SWP 0.562 22.6 + 12.13/pal. 2.00 Intercambiar Matemática
TAN 0.562 43.00 2.00 Tangente Matemática

TND NA 13.05 1.00 Fin temporal Control de flujo de


programa
TOD 0.375 34.06 2.00 Convertir a BCD Manejo de datos

TOF 1.312 1.312 1.00 Temporizador a la Básica


desconexión

TON 1.312 1.312 1.00 Temporizador a la Básica


conexión

XICÂ 0.375 0.375 1.00 Examina si Básica


cerrado
XIOÂ 0.375 0.375 1.00 Examina si abierto Básica

XOR 0.562 1.50 3.00 Operación O Manejo de datos


exclusivo
XPY 0.562 335.10 3.00 X a la pot. de Y Matemática
À Para obtener el tiempo total de ejecución para una instrucción CPT, tome el tiempo de ejecución CPT más cada
tiempo de ejecución de instrucción matemática adicional, más el número de instrucciones matemáticas entre 3.01.
Por ejemplo, si una instrucción CPT llama una instrucción ADD y una instrucción SUB, el cálculo es: 8.8 + 1.70 +
1.70 + 2(3.01) = 18.22.
Á Para calcular el uso de memoria, haga lo siguiente: Tome 2 más el número de palabras de instrucción para cada
operación realizada más el número de operaciones realizadas en el cálculo. Por ejemplo, 2 + ADD + SUB + 2 = 10.
 Estas instrucciones toman tiempo de ejecución cero si hay condiciones que las preceden garantizando el estado del
renglón. La lógica de renglón se resuelve de izquierda a derecha. Las bifurcaciones se resuelven de arriba hacia
abajo.
à Esto solamente incluye la cantidad de tiempo necesaria para configurar" la operación solicitada. No incluye el
tiempo necesario para dar servicio a las comunicaciones mismas.
Ä Esta instrucción realiza un fin de escán completo. Esto incluye un escán de entrada/salida, servicio de
comunicación y limpieza. Vea la hoja de trabajo D en el apéndice ?? para calcular el tiempo de ejecución real.
Å canal 1 = 150 µs sin comandos pendientes
canal 2 = 170 µs sin comandos pendientes
Añada 1 ms por cada comando que ha recibido servicio.
Æ Los tiempos listados son para módulos de E/S discretas. Cuando use los módulos de E/S de 32 puntos, añada los
microsegundos siguientes a las instrucciones IIM e IOM.
• 15 µs IIM cuando verdadero
• 30 µs IOM cuando verdadero

C–39

Manual de referencia del juego de instrucciones

Ç Cuando use los módulos siguientes y las instrucciones IIM en el programa, añada los microsegundos
siguientes
• Entradas de módulo analógico o termopar, añada 450 a 550 µs
• Entradas de módulo BASIC, añada 500 a 550 µs
• Otras entradas especiales, añada 425 a 957 µs
È Cuando use los módulos siguientes y la instrucción IOM en el programa, añada los microsegundos
siguientes
• Entradas de módulo analógico o termopar, añada 390 a 416 µs
• Entradas de módulo BASIC, añada 440 a 466 µs
• Otras entradas especiales, añada 590 a 989 µs

Ejemplo
Para el ejemplo de renglón siguiente:
1) Si la instrucción es falsa, las instrucciones 2, 3, 4, 5, 6 ,7 toman un tiempo de ejecución cero.
Tiempo de ejecución = .375 + .562 = .937 microsegundos.
2) Si las instrucciones 1, 2, 6 son verdaderas, entonces las instrucciones 3, 4, 5, 7 toman un
tiempo de ejecución cero. Tiempo de ejecución = 0.375 + .375 + .374 + .562 = 1.687
microsegundos.
1 2 6 8
] [ ] [ ] [ ( )
3 7
] [ ] [
4
] [
5
] [

C–40
Uso de memoria y tiempos de ejecucion de instruccion

Tiempos de ejecución de punto (coma) flotante del procesador SLC 5/04

Los tiempos de punto (coma) flotante se aplican a los procesadores SLC 5/04
OS400 y OS401.

Los tiempos matemáticos de punto (coma) flotante en la tabla siguiente se aplican


cuando S:34/2 no es establecido. Cuando S:34/2 es establecido, los indicadores
matemáticos no se actualizan después de la ejecución de la instrucción y después de
que 4-8 ms se restan del tiempo de ejecución. S:34/2 se puede cambiar dinámica-
mente (es decir, por el programa durante la ejecución del programa). Por cada
parámetro de entero, añada 10 ms en consideración de la conversión de entero a
punto (coma) flotante.
Tiempo de Tiempo de Uso de memoria
ejecución falso ejecución Tipo de
Mnemónico (palabras de Nombre
(aprox. verdadero (aprox. instrucción
µsegundos) µsegundos) usuario)

ABSÀ 0.75 4.35 2.00 Absoluto Matemática


ADD 0.187 18.22 4.00 Sumar Matemática
CLR 0.187 5.94 1.00 Borrar Matemática
DIV 0.187 23.27 4.00 División Matemática
EQU 0.562 12.50 3.00 Igual Comparativa
GEQ 0.562 14.31 3.00 Mayor o igual que Comparativa
GRT 0.562 12.62 3.00 Mayor que Comparativa
LEQ 0.562 13.93 3.00 Menor o igual que Comparativa
LES 0.562 13.94 3.00 Menor que Comparativa
LIM 0.562 20.19 1.00 Prueba lím Comparativa
MOV 0.187 11.44 2.00 Mover Manejo de datos
MUL 0.187 21.94 3.00 Multiplicación Matemática
NEG 0.187 11.87 3.00 Cambiar signo Manejo de datos
NEQ 0.562 12.18 3.00 Diferente Comparativa
Escalar con
SCPÀ 0.75 94.15 6.00 Matemática
parámetros
SQR 0.187 18.87 3.00 Raíz cuadrada Matemática
SUB 0.187 19.50 4.00 Restar Matemática

À Se aplica a los procesadores SLC 5/04 OS401 solamente.

C–41

Manual de referencia del juego de instrucciones

Si usted necesita realizar operaciones de punto (coma) flotante usando una


combinación de parámetros de punto (coma) flotante y enteros (valores y
direcciones de fuente/destino), calcule la cantidad de palabras de instrucción según
las pautas siguientes:

1. Comience con la cantidad de palabras para la instrucción de punto (coma)


flotante.

2. Añada 2 palabras para el primer parámetro de entero (valor o dirección de


fuente/destino).

3. Añada 1 palabra por cada parámetro de entero subsiguiente.

Estas palabras adicionales son necesarias para las conversiones de entero a punto
(coma) flotante.

Por ejemplo, esta instrucción requiere 7 palabras de instrucción:

ADD
ADD
Source A F8:8

Source B N7:7

Dest N7:10

• 4 palabras para la instrucción ADD de punto (coma) flotante (según la tabla en


la página C–41).
• más 2 palabras para la dirección de entero N7:7
• más 1 palabra para segunda direccion de entero N7:10

C–42
Uso de memoria y tiempos de ejecucion de instruccion

Continuación de procesador SLC 5/04

Cálculo aproximado del uso de memoria del sistema usando un procesador


SLC 5/04
1. Añada el no. total de palabras de archivo de datos usadas (excluyendo las palabras
del archivo de estado y datos de E/S) e introduzca el resultado.
2. Multiplique por 3 el no. total de palabras de datos de E/S e introduzca el resultado.

3. Multiplique por 3 el no. total de ranuras de E/S, usadas o no usadas, e introduzca el


resultado.
4. En consideración del overhead del procesador, introduzca 250 e introduzca el
resultado.
5. Multiplique por 5 el archivo de tabla de datos con el no. más alto usado e introduzca
el resultado.
6. Multiplique por 5 el archivo de programa con el no. más alto usado e introduzca el
resultado.
Subtotal: 7. Sume los pasos 1 a 6. Introduzca esto como el subtotal (uso de palabra de 4K
4096 adicionales).

(paso 7) 8. Reste el valor en el paso 7 de 4096; si el resultado es positivo, introduzca 20,480 en
el paso 14. Si el resultado es negativo, reste el valor absoluto de 20,480 e
introduzca el resultado en el paso 14. (Esto disminuye el valor.)

9. Calcule el no. total de palabras usadas por las instrucciones del programa e
introduzca el resultado. Refiérase a la tabla en la página C–41.

10. Añada el no. total de renglones (1 palabra por renglón) e introduzca el resultado.

11. Añada 1 palabra por cada referencia de dirección indexada e introduzca el resultado.

12. Añada 2 palabras por renglón por cada renglón que contiene una referencia de
dirección indexada e introduzca el resultado.

Subtotal: 13. Sume los pasos 9 a 12 e introduzca el resultado.

14. Introduzca el resultado del paso 8. Esta es la memoria disponible.

15. Introduzca el resultado del paso 13. Esta es la cantidad total de palabras usadas.
Total: 16. Reste el paso 15 del paso 14.
Este número es la cantidad de memoria disponible en el sistema.

C–43
Preface
Manual de referencia del juego de instrucciones

SLC 5/04 Processor Continued

Instrucciones con direcciones indexadas

Por cada operando con una dirección indexada, añada 25 µs al tiempo de ejecución
para una instrucción verdadera. Por ejemplo, si una instrucción MOV tiene una
dirección indexada para la fuente y el destino, el tiempo de ejecución cuando la
instrucción es verdadera es 19 + 25 + 25 = 69 microsegundos.

Instrucciones con direcciones de archivo de datos M0 y M1

Los tiempos de ejecución de las instrucciones con direcciones de archivo de datos


M0 y M1 varían. Los tiempos de ejecución siguientes representan los valores
máximos esperados.

Tiempo de ejecución
Tipo de instrucción
(µs)
XIC o XIO 743
OTU, OTE o OTL 879
COP a archivo M 735 + 23 por palabra
COP de archivo M 722 + 22 por palabra
FLL 716 + 30 por palabra
MVM a archivo M 850
cualquier dirección de archivo M de fuente o
694
destino

Ejemplo

COP
COPY FILE
Source #B3:0
Dest #M0:1.0
Length 34

Añada 735 microsegundos más 23 segundos por apalbra para la instrucción anterior
de palabras múltiples. En este ejemplo, 34 palabras se copian de #B3:0 a M0:10.
Añada 735 + (23 x 34) = 1517 microsegundos al tiempo de ejecución listado en la
página ??. Este total es 88.54 + 1517 = 1605.5 microsegundos o bien 1.6
milisegundos.

C–44
Uso de memoria y tiempos de ejecucion de instruccion

Instrucciones con direcciones indirectas a nivel de palabra

Busque la forma de la dirección indirecta para la mayor parte de instrucciones con


dirección(es) indirecta(s) y añada aquel tiempo al tiempo de ejecución de la
instrucción.

Si se usa en una
Operando de Operando de
Forma de instrucción de tipo de
fuente (µs) destino (µs)
direcciónÀ archivo
SLC 5/03 SLC 5/04 SLC 5/03 SLC 5/04 SLC 5/03 SLC 5/04
   


 



    


    

   

 

  
   

 

  
                
     
     
           
  
         
   
         
   
   
 
  
    
     


 
 
     


  

   

  

 
   

  

 
         


   
   
    
        
         
      
    
  
      
    
  
     
     
 

À     ! !      !  !

C–45


Manual de referencia del juego de instrucciones

Ejemplos
ADD
  ADD
ADD 1.70
Source A N7:[*]
!  

Source B T4:[*].ACC
!   

Dest N7[*]:[*]   



 
µ
BSL
  BIT SHIFT LEFT (EN)
File #B3[*]:1 (DN)
 
    
Control R6:2 " 

Bit Address B3/[*] #    


Length 32   µ

C–46
Uso de memoria y tiempos de ejecucion de instruccion

Instrucciones con direcciones a nivel de bit

Las direcciones de bit se basan en la forma de la dirección indirecta y el tipo de


instrucción de bit. Use las dos tablas siguientes para calcular el tiempo de ejecución
de una instrucción de bit.

   µ


  

 
 
  
   
  
   
        
      



     

    

     
      
     
        
        
       

  
          
 

          
          
       
          
       
       
   
 

C–47
Preface
Manual de referencia del juego de instrucciones

Tiempos de ejecución de instrucción

Tiempo de ejecución (µs)


Instrucción
SLC 5/03 SLC 5/04
   
     
    

  
    
   

Ejemplo

Para calcular el tiempo de ejecución de una instrucción XIC a B3/[N7:0] usando un


procesador SLC 5/03, sume lo siguiente:

10.20 + 96.70 = 106.90

C–48
Tiempo de escán estimado

D Tiempo de escán estimado

Este apéndice contiene hojas de trabajo que le permiten calcular aproximadamente


el tiempo de escán para la configuración y programa su controlador en particular. El
cálculo de tiempo de escán para un ejemplo de controlador y programa se incluye
como ayuda.

Usted utilizará los tieimpos de ejecución de instrucción enumerados en el apéndice


B.

D–1

Manual de referencia del juego de instrucciones

Ciclo de operación del procesador


El diagrama y tabla siguientes separan el ciclo de operación del procesador en
eventos. Las instrucciones para calcular el tiempo de escán de estos eventos
aparecen en las hojas de trabajo.

Input Scan
Program Scan
Output Scan
Communications
Processor Overhead

    
 
   

  

    
 

 


      

 



    
        
  
       
 


        
         
 
 
 

        
  
     



   
 

      
 






      
   


   

  
    
  
       
           
    
  

  

  
 
       




D–2
Tiempo de escán estimado

Tiempos de acceso para los datos M0/M1

Durante el escán de programa, el procesador debe acceder a la tarjeta de E/S


especial para leer/escribir los datos M0 ó M1. Este tiempo de acceso se debe añadir
al tiempo de ejecución de cada instrucción con referencia a los datos M0 ó M1. La
tabla siguiente muestra los tiempos de acceso aproximados por instrucción o palabra
de datos para los procesadores SLC 5/02, SLC 5/03 y SLC 5/04.

Tiempo de acceso por Tiempo de acceso por


Procesador instrucción de bit o palabra instrucción de palabras
de datos múltiples

        

            

              

D–3

Manual de referencia del juego de instrucciones

Latencia de interrupción
La latencia de interrupción es el intervalo entre la detección de interrupción y el
comienzo de la subrutina de interrupción. Durante este plazo de tiempo, el
procesador SLC 500 realiza operaciones que no se pueden interrumpir.
Nota Si usted usa un procesador SLC 5/03 y S:33/8 es restablecido (0), las interrupciones
no pueden recibir servicio dentro del período de latencia de interrupción calculado.
(Vea la página siguiente.) Esto se aplica a las instrucciones siguientes:
• Interrupción de entrada discreta (DII)
• Interrupción temporizada seleccionable (STI)
• Interrupción de E/S

D–4
Tiempo de escán estimado

Cómo calcular la latencia de interrupción para SLC 5/03

Use la hoja de trabajo siguiente para calcular la latencia de interrupción. Estos


ejemplos suponen que el bit de control de latencia de interrupción S:33/8 es
establecido.
Interrupción temporizada seleccionable
288 µs Tiempo de entrada
 µs Overhead fijo
Overhead de comunicación de fondo de canal 0
Overhead de comunicación de fondo de canal 1
Latencia de interrupción total (máx.)

Interrupción de entrada discreta


 µs Tiempo de entrada
 µs Overhead fijo
Overhead de comunicación de fondo de canal 0
Overhead de comunicación de fondo de canal 1
Latencia de interrupción total (máx.)

Interrupción de evento de E/S


608 µs Tiempo de entrada
 µs Overhead fijo
Overhead de comunicación de fondo de canal 0
Overhead de comunicación de fondo de canal 1
Latencia de interrupción total (máx.)

Use los tiempos de ejecución siguientes para calcular la latencia de interrupción.


 

    
       
DH-485 300 µs
DF1 half-Duplex
650 µsÀ
maestro/esclavo
DF1 full-Duplex 655 µsÀ
À Los tiempos anteriores incluyen la comunicación de hardware. Estos tiempos también suponen que existe
comunicación de módem segura. Si las líneas de módem son ruidosas, añada 8 µs al tiempo específico.

D–5
Preface
Manual de referencia del juego de instrucciones

Cómo calcular la latencia de interrupción para SLC 5/04


Use la hoja de trabajo siguiente para calcular la latencia de interrupción. Estos
ejemplos suponen que el bit de control de latencia de interrupción S:33/8 es
establecido.
Interrupción temporizada seleccionable
237 µs Tiempo de entrada
60 µs Overhead fijo
Overhead de comunicación de fondo de canal 0
Overhead de comunicación de fondo de canal 1
Latencia de interrupción total (máx.)

Interrupción de entrada discreta


278 µs Tiempo de entrada
60 µs Overhead fijo
Overhead de comunicación de fondo de canal 0
Overhead de comunicación de fondo de canal 1
Latencia de interrupción total (máx.)

Interrupción de evento de E/S


472 µs Tiempo de entrada
60 µs Overhead fijo
Overhead de comunicación de fondo de canal 0
Overhead de comunicación de fondo de canal 1
Latencia de interrupción total (máx.)

Use los siguientes tiempos de ejecución para ayudarle a calcular la latencia de


interrupción
Configuración de canal Tiempo de overhead de fondo
DH-485 220 µs
DF1 half-duplex
553 µsÀ
maestro/esclavo
DF1 full-duplex 553 µsÀ
DH+ 260 µs
À Los tiempos anteriores incluyen la comunicación de hardware. Estos tiempos también asumen que existe
comunicación de módem segura. Si las líneas de módem son ruidosas, añada 8 µs al tiempo específico.

D–6
Tiempo de escán estimado

Ejemplo – Interrupción temporizada seleccionable del procesador SLC 5/03

Configuración: Canal 0 desactivado


Canal 1 DH–485
 µ Tiempo de entrada
 µ Overhead fijo
µ Overhead de comunicación de fondo de canal 0
 µ Overhead de comunicación de fondo de canal 1
 µ Latencia de interrupción total (máx.)

Ejemplo – Interrupción temporizada seleccionable del procesador SLC 5/04

Configuración: Canal 0 DH–485


Canal 1 desactivado
 µ Tiempo de entrada
 µ Overhead fijo
 µ Overhead de comunicación de fondo de canal 0
µ Overhead de comunicación de fondo de canal 1
 µ Latencia de interrupción total (máx.)

D–7
Preface
Manual de referencia del juego de instrucciones

Hojas de trabajo de tiempo de escán


Las hojas de tiempo A, B, C, D y E en las páginas siguientes se deben usar con los
sistemas SLC 500 según lo siguiente:
• Hoja de trabajo A – Controladores compactos
• Hoja de trabajo B – Procesador 1747-L511 ó 1747-L514
• Hoja de trabajo C – Procesador 1747-L524
• Hoja de trabajo D – Procesador 1747–L532
• Hoja de trabajo E – Procesador 1747–L542

Estas hojas de trabajo se presentan para ayudarle a calcular el tiempo de escán de la


aplicación. Refiérase al apéndice B para obtener los tiempos de ejecución de
instrucción. Refiérase a la Descripción general del sistema de la familia SLC 500,
publicación 1747-2.30ES, para obtener los números y tamaños de piezas del módulo
de E/S.

Un ejemplo del cálculo de tiempo de escán aparece en la página D–25.

Definición de terminología de la hoja de trabajo

Cuando usted trabaje con las hojas de trabajo, encontrará los términos siguientes:

Término: Definición:
Ocurre cuando el procesador está conectado a una red activa.
Comunicación de fondo Durante este evento, el procesador acepta caracteres de la
red y los coloca en un búfer de paquete.
Ocurre solamente cuando hay otro nodo conectado, o cuando
otro procesador envía una instrucción MSG al procesador.
Comunicación de primer plano Durante este evento, el procesador realiza los comandos de
comunicación contenidos en los paquetes finalizados
construidos durante las comunicaciones de fondo.
Overhead de forzado de Este valor se incluye en el tiempo de escán cuando los
entrada forzados se habilitan en el programa.
Este valor se incluye en el tiempo de escán cuando los
Overhead de forzado de salida
forzados se habilitan en el programa.
El mantenimiento interno del procesador se efectúa. Las
Tiempos de overhead del acciones incluyen la realización del escán previo de programa
procesador y la actualización de la base de tiempo interna y el archivo de
estado.

D–8
Tiempo de escán estimado

Término: Definición:
1 :8'7 +89' ,:3)/B3 )43 :3 574)+8'*47 # 
 #  B
#   5:+*+ +0+):9'7 +1 574-7'2' :3 7+3-1B3 4 :3'
Un solo paso
8+))/B3 individualmente. Esta función se usa para propósitos
de depuración.
Un ejemplo de módulos de palabras múltiples es DCM,
Módulo de palabras múltiples
analógico y DSN.

Hoja de trabajo A – Cómo estimar el tiempo de escán del controlador fijo


Procedimiento Tiempo de escán Tiempo de escán
mínimo máximo
1. Estime el tiempo de escán de  (µs).
1.1 Determine el tipo de controlador que usted tiene
Si tiene un procesador de E/S 20, escriba 313 en la línea (A)
Si tiene un procesador de E/S 30 ó 40, escriba 429
en la línea (A). A.)________

1.2 Calcule el escán de entrada de procesador de los módulos de entrada


discreta (es un cero si no se usa el chasis de expansión)
No. de módulos de 8 puntos ________ x 197 = B.)________
No. de módulos de 16 puntos ________ x 313 = C.)________
No. de módulos de 32 puntos ________ x 545 = D.)________

1.3 Calcule el escán de entrada de procesador de los módulos de E/S


especiales (es un cero si no se usa el chasis de expansión)
No. de 1/4 DCM o comb. analógica ________ x 652 = E.)________
No. de 1/2 DCM, entrada analógica
ó 1746-HS ________ x 1126 = F.) ________
No. de 3/4 DCM ________ x 1600 = G.)________
No. de DCM lleno, BASIC,
ó 1747-DSN ________ x 2076 = H.)________
No. de 1747-KE ________ x 443 = I.) ________
No. de 1746-NT4 ________ x = J.) ________

1.4 Sume las líneas A a J. Coloque este valor en la línea (K).


Añada 101 al valor en la línea (K).
Esta suma es el tiempo de escán de entrada mínimo.
K.)________ + 101 = L L)________

1.5 Calcule el tiempo de escán de entrada mínimo:


Tiempo de escán de entrada máximo (M) = M)________
Tiempo de escán de entrada mínimo (K) + (No. de módulos de E/S especiales x 50)

1.6 Calcule el overhead de entrada forzado: Overhead de entrada forzado = (N) N)________ N)________
(No. de módulos de entrada x 180) + 140 por palabra adicional para
módulos de palabras múltiples (por ej., DMC, analógico, DNS)
Cuando los forzados se inhabilitan, este valor es 0.

Continúa en la página siguiente

D–9
&
Manual de referencia del juego de instrucciones

&$ " #($  "%$  '.# "/#  "%$  '.# ".+


 !)! ! ( "%$  '.#  salida µ'
2.1 Determine el tipo de controlador que usted tiene.
Si tiene un procesador de E/S 20, escriba 173 en la línea (A)
Si tiene un proc. de E/S 30 ó 40, escriba 272 en la línea (A). A.)________

2.2 Calcule el escán de salida de procesador de los módulos de salida discreta.


No. de módulos de 8 puntos ________ x 173 = B.)________
No. de módulos de 16 puntos ________ x 272 = C.)________
No. de módulos de 32 puntos ________ x 470 = D.)________

2.3 Calcule el escán de salida de procesador de los módulos de E/S especiales.


No. de 1/4 DCM ó comb. analógica ________ x 620 = E.)________
No. de 1/2 DCM, salida analógica
ó 1746-HS ________ x 1028 = F.) ________
No. de 3/4 DCM ________ x 1436 = G.)________
No. de DCM completo, BASIC,
ó 1747-DSN ________ x 1844 = H.)________

2.4 Sume las líneas A a H. Coloque este valor en la línea (I).


Sume 129 al valor en la línea (I). Esta suma es el tiempo de escán de salida mínimo.
I.)________ + 129 = (J) 

2.5 Calcule el tiempo de escán de salida máximo:


Tiempo de escán de salida máixmo (K) = 
Tiempo de escán mínimo (J) + (No. de módulos de E/S especiales x 50)

2.6 Calcule el overhead de salida forzado: Overhead de salida forzado = (L)  
(No. de módulos de salida x 172) + 140 por palabra adicional
para módulos de palabras múltiples (por ej., DCM, analógico, DSN)
Cuando los forzados se inhabilitan, este valor es 0.
 '( " ! ( "%$  '.#  programa '( .!)!$ %&$+ "$ ')%$# ! $%& 1#
 ($' !' #'(&) $#' )# *- %$&  '#  $%& 1#
3.1 Cuente el no. de renglones en el programa APS. Coloque el valor en la línea (A).  

3.2 Calcule el tiempo de ejecución de programa máximo (B) cuando todas las instrucciones 
son verdaderas.
3.3 Calcule el tiempo de ejecución de programa mínimo (C) usando los tiempos asociados 
con una instrucción cuando ésta es falsa. (Vea el apéndice A para hacer esto.)

 )" !$' *!$&' # !' $!)"#'  ( "%$  '.# "/# "$ , ".+ "$  subtotal  subtotal
 0 ! ( "%$  $*& ! procesador 
%& ( "%$  '.# "/# 
%& + 178 + 278
( "%$  '.# ".+  !$' ')($(!' !)!$' # ! %'$   
Use estos subtotales nuevos para calcular el overhead de comunicación en el paso 6. subtotal subtotal
 !)! ! $*&  comunicación:
6.1 Calcule el overhead de comunicación de fondo cuando no haya comunicación:
multiplique el subtotal para el tiempo de escán mín. (A) (estimado en el paso 5) entre 1; x 1.000  x 1.140
multiplique el subtotal para el tiempo de escán máx. (B) entre 1.140
 µs  µs
(el valor máx. toma en cuenta la red activa DHĆ485) cuando haya comunicación.

6.2 Calcule el overhead de comunicación de primer plano:


para el tiempo de escán mín. (C), añada 0; para el tiempo de escán máx. (D), añada + 0  + 2310
2310.
(El tiempo de escán máx. toma en cuenta  µs  µs
/ 1000 / 1000
6.3 Convierta los µseg. en mseg, divida entre 1000.

D–10
Tiempo de escán estimado

Tiempos de escán mín. y máx. calculados para la aplicación del controlador fijo:    

D–11
Preface
Manual de referencia del juego de instrucciones

Hoja de trabajo B – Cómo estimar el tiempo de escán del procesador


1747-L511 ó 1747-l514
Procedimiento Tiempo de escán mín. Tiempo de escán máx.
1. Calcule el tiempo de escán de entrada (µs).
1.1 Calcule el escán de entrada de procesador de los módulos de entrada discreta.
No. de módulos de 8 puntos ________ x 197 = A.)________
No. de módulos de 16 puntos ________ x 313 = B.)________
No. de módulos de 32 puntos ________ x 545 = C.)________

1.2 Calcule el escán de entrada de procesador de los módulos de E/S especiales.


No. de 1/4 DCM o comb. analógica ________ x 652 = D.)________
No. de 1/2 DC, entrada analógica
ó 1746-HS ________ x 1126 = E.)________
No. de 3/4 DCM ________ x 1600 = F)________
No. de DCM completo, BASICO
ó 1747-DSN ________ x 2076 = G.)________
No. de 1747-KE ________ x 443 = H.)________
No. de 1746-NT4 ________ x = I.)________

1.3 Sume las líneas A a I. Coloque este valor en la línea (J)


Sume 101 al valor en la línea (J). Esta suma es el tiempo de escán de entrada mín.
J.)________ + 101 = K K)_________
1.4 Calcule el tiempo de escán de entrada máximo:
Tiempo de escán de entrada máximo (L) =
Tiempo de escán mínimo (K) + (No. de módulos de E/S especiales x 50) L)_________

1.5 Calcule el overhead de entrada forzado: Overhead de entrada forzado = (M) M)_________
(No. de módulos de entrada x 180) + 140 por palabra adicional para
módulos de palabras múltiples (por ej., DMC, analógico, DSN)
2. Estime el tiempo de escán de salida (µs).
2.1 Calcule el escán de salida de procesador de los módulos de salida discreta.
No. de módulos de 8 puntos ________ x 173 = A.)________
No. de módulos de 16 puntos ________ x 272 = B.)________
No. de módulos de 32 puntos ________ x 470 = C.)________

2.2 Calcule el escán de salida de procesador de los módulos de salida discreta.


No. de 1/4 DCM ó comb. analógica ________ x 620 = D.)________
No. de 1/2 DCM, salida analógica
ó 1746-HS ________ x 1028 = E.)________
No. de 3/4 DCM ________ x 1436 = F) ________
No. de DCM completo, BASIC,
ó 1747-DSN ________ x 1844 = G.)________

2.3 Sume las líneas A a G. Coloque este valor en la línea (H).


Sume 129 al valor en la línea (H). Esta suma es el tiempo de escán de salida mín.
H)________ + 129 = I I)________
2.4 Calcule el iempo de escán de salida máximo. J)_________
Tiempo de escán de salida máximo (J) =
Tiempo de escán mínimo (I) + (No. de módulos de E/S especiales x 50)

2.5 Calcule el overhead de salida forzado: Overhead de salida forzado = K K)_________


(No. de módulos de salida x 172) + 140 por palabra adicional para
módulos de palabras múltiples (por ej., DCM, analógico, DSN)
Continúa en la página siguiente

D–12
Tiempo de escán estimado

Procedimiento Tiempo de escán Tiempo de escán


mínimo máximo
3. Estime el tiempo de escán de  . Este cálculo aproximado supone e la
operación de todas las instrucciones una vez por cada escán de operación.
3.1 Cuente el no. de renglones en el programa APS. Coloque el valor en la línea (A). A)__________ A)_________
3.2 Calcule el tiempo de ejecución de programa (B) cuando todas las instrucciones son
verdaderas. (Vea el apéndice A para hacer esto.) B)__________ B)_________
___________ _________
4. Sume los valores en las columnas de tiempo de escán mínimo y máximo. subtotal subtotal
5. Sume el tiempo de overhead del  
 (178 para tiempo de escán mínimo; 278 + 178 + 278
para tiempo de escán máximo) a los subtotales estimados en el paso 4. __________ _________
Use estos subtotales nuevos para calcular el overhead de comunicaciones en el paso 6.
subtotal subtotal
6. Calcule el overhead de    x 1.000 x 1.140
6.1 Calcule el overhead de comunicación de fondo: __________ µseg _________ µseg
multiplique el subtotal para el tiempo de escán mín. (estimado en el paso 5) entre 1; + 0 + 2310
multiplique el subtotal para el tiempo de escán máx. entre 1.140
(el valor máx. toma en cuenta la red activa DHĆ485)..
__________ µseg _________ µseg
/ 1000 / 1000
6.2 Calcule el overhead de comunicación de primer plano:
por el tiempo de escán mínimo, añada 0;
por el tiempo de escán máximo, añada 2310.
(El tiempo de escán máximo toma en cuenta que el programador está
conectado al procesador.)

6.3 Convierta µseg a mseg y divida entre 1000.


  
        

   
1747ĆL5100 ó mseg mseg
1747ĆL514:

D–13
Preface
Manual de referencia del juego de instrucciones

Hoja de trabajo C – Cómo estimar el tiempo de escán del procesador


1747-L524
Procedimiento Tiempo de escán Tiempo de escán
mínimo máximo
1. Calcule el tiempo de escán de  (µs).
1.1 Calcule el escán de entrada de procesador de los módulos de entrada discreta.
No. de módulos de 8 puntos ________ x 126 = A.)________
No. de módulos de 16 puntos ________ x 195 = B.)________
No. de módulos de 32 puntos ________ x 335 = C.)________
1.2 Calcule el escán de entrada de procesador de los módulos de E/S discretas.
No. de 1/4 DCM o comb. analógica ________ x 375 = D.)________
No. de 1/2 DCM, entrada analógica
ó 1746-HS ________ x 659 = E.)________
No. de 3/4 DCM ________ x 944 = F)________
No. de DCM completo, config. pequeña BASIC
o DSN de 7 bloques ________ x 1228 = G.)________
No. de 1747-KE ________ x 250 = H.)________
No. de 1746-NT4 ________ x = I.)_________
1.3 Calcule el escán de entrada de procesador de los módulos de E/S especiales.
No. de config. larga BASIC,
1746-HSCE ________ x 1557 = J.)________
No. de DSN de escáner RS/O
o de 30 bloques ________ x 4970 = K.)________
1.4 Sume las líneas A a K. Coloque este valor en la línea (L).
Sume 121 al valor en la línea (L). Esta suma es el tiempo de escán de entrada mín.
L.)________ + 121 = M M)_________
1.5 Calcule el tiempo de escán de entrada máximo:
Tiempo de escán mín. (M) + (No. de módulos de E/S especiales en la sección 1.2 x 30) +
(No. de módulos de E/S especiales en la sección 1.3 x 120) = (N) N)_________

1.6 Calcule el overhead de entrada forzado ()) = (No. de módulos de entrada x 108) + O)_________
140 por palabra adicional para los módulos de palabras múltiples

Continúa en la página siguiente

D–14
Tiempo de escán estimado

$" !&"  #"  %,!  #"  %,!


-! " ,) "
 '  & #"  %,!  salida µ%
2.1 Calcule el escán de salida de procesador de los módulos de salida discreta.
No. de módulos de 8 puntos ________ x 104 = A.)________
No. de módulos de 16 puntos ________ x 164 = B.)________
No. de módulos de 32 puntos ________ x 282 = C.)________

2.2 Calcule el escán de salida de procesador de los módulos de E/S especiales.


No. de 1/4 DCM o comb. analógica ________ x 372 = D.)________
No. de 1/2 DCM, salida analógica
1746-HS ________ x 617 = E.)________
No. de 3/4 DCM ________ x 862 = F.)________
No. de DCM completo , config. pequeña BASIC
o DSN de 7 bloques ________ x 1047 = G.)________

2.3 Calcule el escán de salida de procesador de los módulos de E/S especiales.


No. de config. largas BASIC,
1746-HSCE ________ x 1399 = H.)________
No. de DSN de escáner RI/O
o de 30 bloques ________ x 4367 = I.)________

2.4 Sume las líneas A a I. Coloque este valor en la línea (J).


Sume 138 al valor en la línea (J). Esta suma es el tiempo de escán de salida mín.
J.)________ + 138 = K 

2.5 Calcule el tiempo de escán de salida máximo = L 


Tiempo de escán mínimo (K) + (No. de módulos de E/S especiales en parte B x 30) +
(No. de módulos de E/S especiales en parte C x 120)

2.6 Calcule el overhead de salida forzado (M)= (No. de módulos de salida x 104) + 
140 por palabra adicional para los módulos de palabras múltiples
 '  & #"  %,!  #$"$  %& ,'" #$") " %'#"! 
"#$/!  &"% % !%&$'"!% '! (+ #"$  %,!  "#$/!
3.1 Cuente el no. de renglones en el programa APS. Coloque el valor en la línea (A).
 
3.2 Multiplique el valor en la línea (A) entre 6. (Si usted guardó el programa con un 
solo paso habilitado, multiplique el valor en la línea (A) entre 66.)  
A.)________ x 6 =  subtotal
subtotal
3.3 Calcule el tiempo de ejecución de programa cuando todas las instrucciones
sean verdaderas. (Vea el apéndice A para hacer esto.)

 '  "% ("$% ! % "' !%  & #"  %,! -! " * ,) "
 .  & #"  "($  procesador 
 #$ & #"  %,! -! 
 #$ + 180 + 280
& #"  %,! ,)  "% %'&"&% '"% !  #%"  subtotal 
Use estos subtotales nuevos para calcular el overhead de comunicación en el paso 6. subtotal
Continúa en la página siguiente

D–15
Preface
Manual de referencia del juego de instrucciones

Procedimiento Tiempo de escán Tiempo de escán


mínimo máximo
6. Calcule el overhead de comunicación: x 1040 x 1140
6.1 Calcule el overhead de comunicación de fondo: _________ µseg. _________ µseg
multiplique el subtotal para el tiempo de escán mín. (estimado en el paso 5) por 1040; + 2286
+ 0
multiplique el subtotal para el tiempo de escán máx. por 1140
(el valor máximo toma en cuenta la red activa DHĆ485). __________ µseg _________ µseg
/ 1000 / 1000
6.2 Calcule el overhead de comunicaciones de primer plano:
para el tiempo de escán mínimo, añada 0;
para el tiempo de escán máximo, añada 2286.
(El tiempo de escán máximo toma en cuenta que el programador está
conectado al procesador.)

6.3 Convierta µseg a mseg y divida entre 1000.


Tiempos de escán mínimo y máximo calculados de la aplicación 1747ĆL524: mseg mseg
7. Estime el tiempo de escán para la aplicación 1747ĆL524 de serie B; divida los valores / 0.60 / 0.60
para la aplicación de serie C entre 0.60. mseg mseg
Tiempos de escán mínimo y máximo estimados de la aplicación 1747ĆL524 de serie B:

D–16
Tiempo de escán estimado

Hoja de trabajo D – Cómo calcular el tiempo de escán del procesador


1747-L532
Procedimiento Tiempo de escán mín. Tiempo de escán máx.
1. Tiempo de escán de  (µs).
1.1 Calcule el escán de entrada de procesador de los módulos de entrada discreta.
No. de módulos de 8 puntos _______ x 26 = A.)________
No. de módulos de 16 puntos _______ x 26 = B.)________
No. de módulos de 32 puntos _______ x 52 = C.)________
No. de módulos de comb. de E/S _______ x 74 = D.)________

1.2 Calcule el escán de entrada de procesador de los módulos de E/S especiales.


No. de 1746-HS _______ x 332 = E.)________
No. de 1/4 DCM _______ x 317 = F.)_________
No. de 1/2 DCM _______ x 352 = G.)________
No. de 3/4 DCM _______ x 478 = H.)________
No. de DCM completo _______ x 420 = I)________
No. de 1747-KE _______ x 443 = J)________

No. de 1746-NI4 _______ x 316 = K.)________


No. de 1746-NIO4I, NIO4V _______ x 272 = L.)________
No. de 1746-NT4 _______ x 385 = M.)________
No. de DSN de 7 bloques ______ _x 423 = N.)________
No. de DSN de 30 bloques _______ x 1051 = O.)________
No. de 1746-BAS
(configuración SLC 5/01) _______ x 451 = P.)________

1.3 No. de 1747-SN _______ x 1218 = Q.)________


No. de 1746-HSCE _______ x 506 = R.)________
No. de 1746-BAS
(configuración SLC 5/02 y SLC 5/03) _______ x 605 = S.)________

1.4 Si S:33/8 se ha puesto a cero, sume 92 µs por ranura de entrada configurada


_______ x 92 = T.)________

1.5 Sume las líneas A a T. Coloque este valor en la línea (W).


Sume 31 al valor en la línea (W). Este es el escán de entrada mínimo.
W.) ______ + 31 = X X)________ X)________
1.6 Calcule el tiempo de escán máximo de entrada de E/S especiales: R1)_______
Tiempo de escán de entrada (R1) = No. de módulos de E/S especiales en sec. 1.2 x 50

1.7 Calcule el tiempo de escán máximo de entrada de E/S para la sección 1.3:
Tiempo de escán de entrada (R2) = No. de módulos de E/S especiales en sec. 1.3 x 200 R2)______

1.8 Calcule el overhead de entrada forzado:


Overhead de entrada forzado = No. de módulos de entrada discreta a 3.5 µs por pal.
Sume 20 + 4/por palabra por cada módulo de E/S especial
Y)_______ Y)_______
(por ejemplo, BASIC tiene 8 entradas = 20 + 4 x 8 = 52) = Y

1.9.0 Sume los valores en las columnas de tiempo de escán mínimo; subtotal_______
coloque los valores en el subtotal del tiempo de escán mínimo.

1.9.1 Sume los valores en las columnas de tiempo de escán máximo; subtotal_______
coloque los valores en el subtotal del tiempo de escán máximo.

Continúa en la página siguiente

D–17
Preface
Manual de referencia del juego de instrucciones

Procedure Min Scan Time Max Scan Time


2. Calcule el tiempo de escán de  (µs).
 Calcule el escán de salida de procesador de los módulos de salida discreta.
No. de módulos de 8 puntos ________ x 31 = A.)________
No. de módulos de 16 puntos ________ x 31 = B.)________
No. de módulos de 32 puntos ________ x 62 = C.)________
No. de módulos de comb. de E/S ________ x 82 = D.)________

2.2 Calcule el escán de salida de procesador de los módulos de E/S especiales.


No. de 1746-HS _______ x 369 = E.)________
No. de 1/4 DCM _______ x 335 = F.)________
No. de 1/2 DCM _______ x 380 = G.)________
No. de 3/4 DCM _______ x 424 = H.)________
No. de DCM completo _______ x 469 = I.)________
No. de 1746-NIO4I & NIO4V _______ x 297 = J.)________
No. de 1746-NO4I & NO4V _______ x 342 = K.)_________

No. de DSN de 7 bloques _______ x 469 = L.)________


No. de DSN de 30 bloques _______ x 1224 = M.)________
No. de 1746-BAS
(configuración SLC 5/01) _______ x 500 = O.)________

2.3 Calcule el escán de salida de procesador de los módulos de E/S especiales.


No. de 1747-SN _______ x 1395 = P.)________
No. de 1746-HSCE _______ x 394 = Q.)________
No. de 1746-BAS
(configuración SLC 5/02 y SLC 5/03) _______ x 656 = R.)_________

2.4 Si S:33/8 está puesto a cero,


sume 92 µs por ranura de
salida configurada _______ x 92 = S.)________

2.5 Sume las líneas A a S. Coloque este valor en la línea (T).


Sume 30 al valor en la línea (T). Este es el escán de salida
X)_______ X)_______
mínimo de las E/S especiales. T.)________ + 30 =X
R1)_______
2.6 Calcule tiempo de escán de salida special máximo:
Tiempo de escán de salida (R!) = No. de módulos de E/S especiales en 2.2 x 50

2.7 Calcule el tiempo de escán de salida máximo para la sección 2.3: R2)______
Escán de salida (R2) = No. de módulos de E/S especiales x 200

Y)_______ Y)_______
2.8 Calcule el overhead de salida forzado:
Overhead de salida forzado = No. de módulos de salida discreta a 3.0 µs por palabra
Sume 20 + 4/por palabra por cada módulo de E/S especial
(por ejemplo, BASIC tiene 8 palabras de entrada = 20 + 4 x 8 = 52) subtotal_______
2.9.0 Sume los valores en las columnas de tiempo de escán mínimo; coloque los valores
en el subtotal de tiempo de escán mínimo

2.9.1 Sume los valores en las columnas de tiempo de escán máximo; coloque los valores subtotal_______
en el subtotal de tiempo de escán máximo

Continúa en la página siguiente

D–18
Tiempo de escán estimado

*( $&$ ',( $ &)(  +1' &2' i &)(  +1' &1/


 %-% % ,$ &)(  +1'    . Este cálculo aproximado supone la
operación de todas las instrucciones una vez por cada escán de operación.
3.1 Cuente el no. renglones en el programa de escalera. Multiplique este no. por 0.25. Renglones)_____ Renglones)_____
Coloque el valor en la línea Renglones".
+ +
3.2 Calcule el tiempo de ejecución de programa cuando todas las instrucciones sean Tiempo)______ Tiempo)______
verdaderas. (Vea el apéndice B para hacer esto.) Coloque este valor en la
línea Tiempo".
3.3 Sume los valores de 3.1 y 3.2; coloque esta suma en la línea de subtotal. subtotal______ subtotal______
4. Tiempo de overhead     (S:33/8 = 1 añada 752 µs; S:33/8 = 0 añada 844 µs) subtotal subtotal
5. Calcule el overhead de  :
5.1 Calcule el overhead de comunicaciones de fondo usando la tabla siguiente.
El overhead mín. se aplica cuando los dispositivos  están conectados al canal.
Canal 0 Canal 1 Overhead de comunicación de fondo
(RS232) (DH485)
Mínimo Máximo
DF1 full-duplex DH-485 1026 1180 (1280)
DF1 half-duplex DH-485 1025 1175
DH-485 DH-485 1040 1160
DF1 full-duplex Parada 1006 1100 (1200)
DF1 half-duplex Parada 1005 1095
DH-485 Parada 1020 1080
Use los números entre paréntesis cuando se usen instrucciones MSG en
el canal DF1 full-duplex. Overhead Overhead
+ +
5.2 Calcule el overhead de comunicaciones de primer plano: 0 1027
por el tiempo de escán mínimo, añada 0;
por el tiempo de escán máximo; añada 1027 por canal.
(El tiempo de escán máx. toma en cuenta que el programador está subtotal subtotal
conectado el procesador.)
6. Sume todos los valores de los subtotales de pasos 1-5
(escán de entrada mín. y máx., escán de salida, escán de programa, overhead de
µseg µseg
procesador y overhead de comunicación).

7. Convierta µseg en mseg dividiendo entre 1000. / 1000 / 1000

               mseg mseg
Nota El tiempo de escán anterior no toma en cuenta las bifurcaciones. Vea el ejemplo
siguiente acerca de cómo calcular el tiempo de escán adicional cuando se usan
bifurcaciones.

Bifurcaciones anidadas

Esto toma ≈ 1.5 µs

Bifurcaciones extendidas

Esto toma ≈ .5 µs

D–19
Preface
Manual de referencia del juego de instrucciones

Hoja de trabajo E – Cómo calcular el tiempo de escán del procesador


1747-L542
Procedimiento Tiempo de escán mín. Tiempo de escán máx.
1. Calcule el tiempo de escán de  (µs).
1.1 Calcule el escán de entrada de procesador de los módulos de entrada discreta.
No. de módulos de 8 puntos _______ x 26 = A.)________
No. de módulos de 16 puntos _______ x 26 = B.)________
No. de módulos de 32 puntos _______ x 52 = C.)________
No. de módulos de comb. de E/S _______ x 74 = D.)________

1.2 Calcule el escán de entrada de procesador de los módulos de E/S especiales.


No. de 1746-HS _______ x 312 = E.)________
No. de 1/4 DCM _______ x 297 = F.)_________
No. de 1/2 DCM _______ x 332 = G.)________
No. de 3/4 DCM _______ x 366 = H.)________
No. de DCM completo _______ x 400 = I)________
No. de 1747-KE _______ x 423 = J)________

No. de 1746-NI4 _______ x 296 = K.)________


No. de 1746-NIO4I, NIO4V _______ x 252 = L.)________
No. de 1746-NT4 _______ x 365 = M.)________
No. de DSN de 7 bloques _______ x 403 = N.)________
No. de DSN de 30 bloques _______ x 1031 = O.)________
No. de 1746-BAS
(configuración SLC 5/01) _______ x 431 = P.)________

1.3 No. de 1747-SN _______ x 1198 = Q.)________


No. de 1746-HSCE _______ x 486 = R.)________
No. de 1746-BAS
(confniguración SLC 5/02 y SLC 5/03) _______ x 585 = S.)________

1.4 If S:33/8 is clear,


add 78 µs per configured input slot _______ x 78 = T.)________

1.5 Sume las líneasA a T. Si hay valores en E a S que son > 0, añada 6.
Coloque este valor en la línea (W).
Sume 15 al valor en la línea (W). Este es el escán de entrada mínimo. X)________ X)________
W.) ______ + 15 = X

1.6 Calcule el tiempo de escán máximo de entrada de E/S especiales:


Tiempo de escán de entrada (R1) = No. de módulos de E/S especiales en sec. 1.2 x 50 R1)_______

1.7 Calcule el tiempo de escán máximo de entrada de E/S para la sección 1.3 x 200
Tiempo de escán de entrada (R2) = No. de módulos de E/S especiales en sec. 1.3 x 200 R2)______

1.8 Calcule el overhead de entrada forzado:


Overhead de entrada forzado = No. de módulos de entrada discreta a 3.5 µs por pal.
Añada 16.35 + 4.3 por palabra por cada módulo de E/S especial
(por ej., BASIC tiene 8 entradas = 16.35 + 4.3 x 8 = 50.75) = Y Y)_______ Y)_______

1.9.0 Sume los valores en las columnas de tiempo de escán máximo;


coloque los valores en el subtotal del tiempo de escán mínimo. subtotal_______

1.9.1 Sume los valores en las columnas de tiempo de escán mínimo; subtotal_______
coloque los valores en el subtotal del tiempo de escán máximo.

Continúa en la página siguiente

D–20
Tiempo de escán estimado

Procedimiento Tiempo de escán mín. Tiempo de escán máx.


2. Calcule el tiemp de escán de  (µs).
2.1 Calcule el escán de salida de procesador de los módulos de salida discreta.
No. de módulos de 8 puntos ________ x 31 = A.)________
No. de módulos de 16 puntos ________ x 31 = B.)________
No. de módulos de 32 puntos ________ x 62 = C.)________
No. de módulos de comb. de E/S ________ x 82 = D.)________

2.2 Calcule el escán de salida de procesador de los módulos de E/S especiales.


No. de 1746-HS _______ x 349 = E.)________
No. de 1/4 DCM _______ x 315 = F.)________
No. de 1/2 DCM _______ x 360 = G.)________
No. de 3/4 DCM _______ x 404 = H.)________
No. de DCM completo _______ x 449 = I.)________
No. de 1746-NIO4I & NIO4V _______ x 277 = J.)________
No. de 1746-NO4I & NO4V _______ x 322 = K.)_________

No. de DSN de 7 bloques _______ x 449 = L.)________


No. de DSN de 30 bloques _______ x 1204 = M.)________
No. de 1746-BAS
(configuración SLC 5/01) _______ x 480 = O.)________

2.3 Calcule el escán de salida de procesador de los módulos de E/S especiales.


No. de 1747-SN _______ x 1375 = P.)________
No. de 1746-HSCE _______ x 374 = Q.)________
No. de 1746-BAS
(configuración SLC 5/02 y SLC 5/03) _______ x 636 = R.)_________

2.4 Si S:33/8 está puesto a cero, sume 78 µs


por ranura de entrada configurada _______ x 78 = S.)________

2.5 Sume las líneas A a S. Si hay valores en E a R que son >0, sume 6.
Coloque este valor en la línea (T). Sume 12 al valor en la línea (T).
Este es el escán de salida mínimo de las E/S especiales.
X)_______ X)_______
. T.)________ + 12 =X

2.6 Calcule el tiempo de escán máximo de salida especial:


Tiempo de escán de salida (R1) = No. de módulos de E/S especiales en 2.2 x 50) R1)_______

2.7 Calcule el tiempo de escán máximo de salida para la sección 2.3:


Escán de salida (R2) = No. de módulos de E/S especiales en x 200 R2)______

2.8 Calcule el overhead de salida forazado:


Overhead de salida forzado = No. de módulos de salida discreta a 3.0 µs por palabra
Sume 16.35 + 4.3 por palabra por cada módulo de E/S especial
(por ej., BASIC tiene 8 entradas = 16.35 + 4.3 x 8 = 50.75) = Y Y)_______ Y)_______

2.9.0 Sume los valores en las columnas de tiempo de escán mínimo; coloque los valores
en el subtotal del tiempo de escán mínimo.
subtotal_______
2.9.1 Sume los valores en las columnas de tiempo de escán máximo; coloque los valores
en el subtotal del tiempo de escán máximo. subtotal_______
Continúa en la página siguiente

D–21
Preface
Manual de referencia del juego de instrucciones

Procedimiento Tiempo de escán Tiempo de escán


mínimo máximo
3. Calcule el tiempo de escán de programa. Este cálculo estimado supone la operación
de todas las instrucciones una vez por cada escán de operación. Renglones)_____ Renglones)_____
3.1 Cuente el no. de renglones en el programa de escalera. Multiplique este no. + +
por 0.187. Coloque el valor en la línea Renglones".
Tiempo)______ Tiempo)______
3.2 Calcule el tiempo de ejecución de programa cuando todas las instrucciones sean subtotal______ subtotal______
verdaderas. (Vea el apéndice B para hacer esto.) Coloque este valor en
la línea Tiempo".

3.3 Sume los valores de 3.1 y 3.2; coloque esta suma en la línea de subtotal.
4. Tiempo de overhead de procesador (S:33/8 = 1 añada 665 µs; S:33/8 = 0 añada 742 µs) subtotal subtotal

5. Estime el overhead de comunicación:


5.1 Calcule el overhead de comunicaciones de fondo usando la tabla siguiente.
El overhead mínimo se aplica cuando los dispositivos  están conectados a un canal.
Canal 0 Canal 1 Overhead de comunicación de fondo
(RS232) (DH+)
Mínimo Máximo
DF1 full-duplex DH+ 1006 1110 (1280)
DF1 half-duplex DH+ 1005 1100
DH-485 DH+ 1020 1090
DF1 full-duplex Parada 1006 1090 (1200)
DF1 half-duplex Parada 1005 1080
DH-485 Parada 1020 1070
Use los números entre paréntesis cuando se usen las instrucciones MSG en el
canal DF1 full-duplex.

5.2 Calcule el overhead de comunicaciones de fondo: Overhead Overhead


para el tiempo de escán mínimo, añada 0;
+ +
para el tiempo de escán máximo, añada 1027 por canal.
(El tiempo de escán máx. toma en cuenta que el programador está 0 1027
conectado al procesador.)

Si S:34/1 es establecido para habilitar la actualización activa de la tabla de nodo,


sume 400 por comando subtotal subtotal
Si el destino del paquete que ha recibido servicio es el otro canal, sume 400 por comando.
6. Sume todos los valores de los subtotales de pasos 1-5.
(escán de entrada mínimo y máximo, escán de salida, overhead de procesador y
µseg µseg
overhead de comunicación).

7. Convierta µseg a mseg dividiendo entre 1000. / 1000 / 1000

Tiempos de escán mínimo y máximo calculados para su aplicación  mseg mseg

D–22
Tiempo de escán estimado

Use los tiempos de escán máximos siguientes para calcular los tiempos de escán de
entrada y salida. Refiérase a la hoja de trabajo D en este apéndice.

Procesador SLC 5/03

Tiempo de escán Tiempo de escán


Módulo de E/S
de entrada máx. de entrada mín.
Entrada discreta de 8 puntos 1746 26 NA
Salida discreta de 8 puntos 1746 NA 31
Entrada discreta de 16 puntos 1746 26 NA
Salida discreta de 16 puntos 1746 NA 31
Entrada discreta de 32 puntos 1746 52 NA
Salida discreta de 32 puntos 1746 NA 62
Combinación de E/S discretas 1746
74 82
IO4, -IO8, -IO12
Módulo de servocontrolador HS IMC 110 1746 332 369
Módulo de comunicación directa DCM 1747 - configuración de 1/4 chasis 317 335
Módulo de comunicación directa DCM 1747 - configuración de 1/2chasis 352 380
Módulo de comunicación directa DCM 1747 - configuración de 3/4 chasis 386 424
Módulo de comunicación directa DCM 1747 - configuración de chasis completo 420 469
Módulo de entrada analógica NI4 1746 316 NA
Módulos de combinación analógica
272 297
NIO4I, NIO4V 1746
Módulos de salida analógica
NA 342
NO4I, NO4V 1746
Módulo de escáner de E/S distribuidas DSN 1747 - configuración de 7 bloques 423 469
Módulo de escáner de E/S distribuidas DSN 1747 - configuración de 30 bloques 1051 1224
Módulo BASIC BAS 1746
451 500
Configuración SLC 5/01
Módulo de codificador de contador de alta velocidad HSCE 1746 506 394
Módulo de escáner de E/S remotas SN 1747 1218 1395
Módulo BASIC BAS 1746
605 656
Configuración SLC 5/02 y SLC 5/03

D–23
Preface
Manual de referencia del juego de instrucciones

Procesador SLC 5/04

 
   
 





 

 
Entrada discreta de 8 puntos 1746 26 NA
Salida discreta de 8 puntos 1746 NA 31
Entrada discreta de 16 puntos 1746 26 NA
Salida discreta de 16 puntos 1746 NA 31
Entrada discreta de 32 puntos 1746 52 NA
Salida discreta de 32 puntos 1746 NA 62
Combinación de E/S discretas
74 82
IO4, -IO8, -IO12 1746
Módulo de servocontrolador HS IMC 110 1746 312 349
Módulo de comunicación directa DCM 1747 - configuración de 1/4 chasis 297 315
Módulo de comunicación directa DCM 1747 - configuración de 1/2 chasis 332 360
Módulo de comunicación directa DCM 1747 - configuración de 3/4 chasis 366 404
Módulo de comunicación directa DCM 1747 - configuración de chasis completo 400 449
Módulo de entrada analógica NI4 1746 296 NA
Módulos de combinación analógica
252 277
NIO4I, NIO4V 1746s
Módulos de salida analógica
NA 322
NO4I, NO4V 1746
Módulo de escáner de E/S distribuidas 1747 - configuración de 7 bloques 403 449
Módulo de escáner de E/S distribuidas 1747 - configuración de 30 bloques 1031 1204
Módulo BASIC BAS 1746
431 480
Configuración SLC 5/01
Módulo de codificador de contador de alta velocidad HSCE 1746 486 374
Módulo de escáner de E/S remotas SN 1747 1198 1375
Módulo BASIC BAS 1746
585 636
Configuración SLC 5/02 y SLC 5/03

D–24
Tiempo de escán estimado

Ejemplo de cálculo de tiempo de escán


Supongamos que usted tiene un sistema que consiste en los componentes siguientes:

Configuración del sistema


Descripción
No. de catálogo Cantidad

1747-L514 1 Procesador de 4K
1746-IA8 2 Módulo de entrada de 120 VCA de 8 puntos
1746-IB16 1 Módulo de entrada drenador de 24 VCC de
16 puntos
1746-OA16 3 Módulo de salida de relé de 120 VCA de
16 puntos
1746-OB8 1 Módulo de salida de fuente de 24 VCC de
16 puntos
1746-NIO4V 1 Módulo de combinación analógica de 4
canales

Puesto que se usa el procesador 1747-L514, se debe llenar la hoja de trabajo B.


Dicha hoja se muestra en la página D–11.

El programa de escalera siguiente se usa en esta aplicación. Los tiempos de


ejecución para las instrucciones (estado verdadero) han sido tomados del apéndice B
y sumados para cada renglón. El tiempo de ejecución total, 465 microsegundos, se
introduce en la hoja de trabajo en la página D–27.

La hoja de trabajo indica que el tiempo de escán total estimado es 3.85 milisegundos
mínimos y 8.9 milisegundos como máximo.

D–25
Preface
Manual de referencia del juego de instrucciones

Tiempos de ejecución:
B3 B3 B3 T4:0 O:1.0
] [ ]/[ ] [ ]/[ ( ) 38 microsegundos
0 1 45 DN 0
B3
] [
9
T4:0 TON
]/[ TIMER ON DELAY (EN) 139 microsegundos
Timer T4:0
DN
Time Base 0.01 (DN)
Preset 6000
Accum

T4:0 B3 GRT TOD


] [ ]/[ GREATER THAN TO BCD 288 microsegundos
Source A T4:0.ACC Source T4:0.ACC
DN 1
Source B 5999 Dest S:13 Total: 465 microsegundos

MOV
MOVE
Source S:13

Dest O:1.0

END

D–26
Tiempo de escán estimado

Ejemplo: Hoja de trabajo B – Cómo calcular el tiempo de escán de una


aplicación del procesador 1747-L511 ó 1747-L514
Procedimiento: Tiempo de escán mín. Tiempo de escán máx.
1. Calcule el tiempo de escán de entrada (µs).
1.1 Calcule el escán de entrada de procesador de los módulos de entrada discreta.
No. de módulos de 8 puntos 2 x 197 = A.) 394
No. de módulos de 16 puntos 1 x 313 = B.) 313
No. de módulos de 32 puntos 0 x 545 = C.) 0

1.2 Calcule el escán de entrada de procesador de los módulos de E/S especiales.


No. de 1/4 DCM o comb. analógica 1 x 652 = D.) 652
No. de 1/2 DCM, entrada analógica
ó 1746-HS 0 x 1126 = E.) 0
No. de 3/4 DCM 0 x 1600 = F.) 0
No. de DCM completo, BASIC
ó 1747-DSN 0 x 2076 = G.) 0
No. de 1747-KE 0 x 443 = H.) 0

1.3 Sume las líneas A a H. Coloque este valor en la línea (I).


Sume 101 al valor en la línea (I). Esta suma es el tiempo de escán de entrada mín.
I.) 1359 + 101 = 1460
1.4 Calcule el tiempo de escán de entrada máximo:
Tiempo de escán de entrata máximo = Tiempo de escán mínimo + 1510
(No. de módulos de E/S especiales x 50)

1.5 Calcule el overhead de entrada forzado:


Overhead de entrada forzado = (No. de módulos de entrada x 180) + 140 por 860
palabra adicional por módulos de palabras múltiples (por ej., DCM, analógico, DSN)
2. Calcule el tiempo de escán de salida (µs).
2.1 Calcule el escán de salida de procesador de los módulos de salida.
No. de módulos de 8 puntos 1 x 173 = A.) 173
No. de módulos de 16 puntos 3 x 272 = B.) 816
No. de módulos de 32 puntos 0 x 470 = C.) 0

2.2 Calcule el escán de salida de procesador de los módulos de E/S especiales.


No. de 1/4 DCM o comb. analógica 1 x 620 = D.) 620
No. de 1/2 DCM, entrada analógica
ó 1746-HS 0 x 1028 = E.) 0
No. de 3/4 DCM 0 x 1436 = F.) 0
No. de DCM completo, BASIC
ó 1747-DSN 0 x 1844 = G.) 0

2.3 Sume las líneas A a G. Coloque este valor en la línea (H).


Sume 129 al valor en la línea (H). Esta suma es el tiempo de escán de salida mín.
H.) 1609 + 129 = 1747
2.4 Calcule el tiempo de escán de salida máximo:
Tiempo de escán de salida máximo = 1788
Tiempo de escán mínimo + (No. de módulos de E/S especiales x 50)

2.5 Calcule el overhead de salida forzado:


Overhead de salida forzado = (No. de módulos de salida x 172) + 140 por palabra
adicional por módulos de palabras múltiples (por ej., DMC, analógico, DSN) 1000

Continúa en la página siguiente

D–27
"
Manual de referencia del juego de instrucciones

" $  !  #* + !  #* *'


 %  $!  #*  programa #$ *% #$ #%!   !",
 $ # # #$"% # % &) ! "  #*  !",
3.1 Cuente el no. de renglones en el programa APS. Coloque el valor en la línea (A).
 
3.2 Calcule el tiempo de ejecución de programa (B) cuando toda las instrucciones sean
verdaderas. (Vea el apéndice A para hacer esto.) 


 %  # & "#  #  %#  $!  #* + ( *'  
subtotal

subtotal
 %  $!  &"  procesador  !" $!  #* +  !" + 178 + 278
$!  #* *'   # #%$ $# #$ #   !#    
Use estos subtotales nuevos para calcular el overhead de comunicación en el paso 6. subtotal subtotal

 %  &"  comunicación: x 1.000 x 1.140


6.1 Calcule el overhead de comunicación de fondo:   µseg

 µseg
multiplique el subtotal para el tiempo de escán mín. (estimado en el paso 5) entre 1; + 2310
+ 0
multiplique el subtotal para el tiempo de escán máx. entre 1.140
(el valor máx. toma en cuenta la red activa DHĆ485).   µseg  µseg
/ 1000 / 1000
6.2 Calcule el overhead de comunicación de primer plano:
por el tiempo de escán mínimo, añada 0;
por el tiempo de escán máximo, añada 2310.
(El tiempo de escán máximo toma en cuenta que el programador está
conectado al procesador.)

6.3 Convierta µseg en mseg dividiendo entre 1000.


Los tiempos de escan mínimo y máximo calculados para su aplicación 1747ĆL511 ó  mseg  mseg
1747ĆL514:

D–28
Referencias de instrucciones de programación

E Referencias de instrucciones
de programación
Este apéndice lista todas las instrucciones de programación disponibles además de
los parámetros, modos de direccionamiento válidos y tipos de archivo de las
mismas.

E–1

Manual de referencia del juego de instrucciones

Modos de direccionamiento válidos y tipos de archivo


Los modos de direccionamiento siguientes están disponibles:

        
  
#%! N7:0
Directo indexado #N7:0
Indexado N7:[N10:3]
Indirecto indexado #N7:[N10:3]

Los tipos de archivo siguientes están disponibles:


• O Salida
• I Entrada
• S Estado
• B Binario
• T Temporizador
• C Contador
• R Control
• N Entero
• F FlotarÀ
• A ASCIIÀ
• ST CadenaÀ
• M M0/M1Á
• Inmediato — indica que una constante es un tipo de archivo válido
À Apoyado solamente por los procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401.
Á No apoyado por los controladores MicroLogix 1000.

E–2
Referencias de instrucciones de programación

Cómo comprender los modos de direccionamientos diferentes

Las descripciones siguientes le ayudarán a comprender cómo estructurar un tipo


específico de dirección.

Direccionamiento directo

Los datos almacenados en la dirección especificada se usa en la instrucción. Por


ejemplo:
N7:0 T4:8.ACC
ST20:5

Direccionamiento indexado

Usted puede especificar una dirección como indexada colocando el carácter “#” al
frente de la dirección. Cuando una dirección de esta forma se encuentra en el
programa, el procesador toma el número de elemento de la dirección y lo suma al
valor contenido en el registro de índice S:24 y usa el resultado como la dirección
real. Por ejemplo:
#N7:10 donde S:24 = 15
La dirección real usada por la instrucción es N7:25.

Direccionamiento indirecto

Usted puede especificar una dirección como indirecta reemplazando el número de


archivo, el número de elemento o el número de subelemento con un símbolo
[Xf:e.s]. La dirección de palabra dentro de los corchetes es encuestada en busca de
un valor. Luego, el valor encuestado se convierte en la porción de archivo, elemento
o subelemento de la dirección indirecta. Por ejemplo:
B3:[N10:2] declara que la dirección de elemento del archivo de bit 3 es
contenida en la dirección N10:2. Por lo tanto, si N10:2 contiene el valor 5,
B3:[N10:2] se refiere indirectamente a la dirección B3:5. Otros ejemplos
incluyen:
N7:[N7:0] N[N7:0]:[N7:1]
N7[T4:0.ACC] C5:[N7:0]

Direccionamiento indirecto indexado

Usted puede especificar una combinación de direccionamiento indirecto e indexado.


El procesador primero resuelve la porción indirecta de la dirección y luego, añade el
offset del registro de índice S:24 para crear la dirección final. Por ejemplo:
#N7:[N10:3] donde N10:3 = 20 and S:24 = 15
La dirección real usada por la instrucción es N7:35.

E–3
Preface
Manual de referencia del juego de instrucciones

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

ABLÀ Búfer de prueba ASCII canal 0


para línea

control directo R ningunos

caracteres 0-1024

ABSÁ Valor absoluto fuente directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, F, A, ST, M fĆmin-fĆmax

destino directo, directo indexado, O, I, S, B, T, C, R, ningunos


indirecto, indirecto indexado N, F, A, ST, M

ACBÀ Número ASCII de canal 0


caracteres en búfer

control directo R ningunos

caracteres 0-1024

ACIÀ Cadena ASCII a entero fuente directo, indirecto ST ningunos

destino directo, directo indexado, O, I, S, B, T, C, R, ningunos


indirecto, indirecto indexado N, A, ST, M

ACLÀ Búfer de borrado ASCII canal 0

búfer de 0=no ó 1=sí


transmisión

búfer de recepción 0=no ó 1=sí

ACNÀ Concatenado de fuente A directo, indirecto ST ningunos


cadena ASCII

fuente B directo, indirecto ST ningunos

destino directo ST ningunos

ACSÁ Arco coseno fuente directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, F, A, ST M fĆmin-fĆmax

destino directo, directo indexado, O, I, S, B, T, C, R, ningunos


indirecto, indirecto indexado N, F, A, ST, M

À Soportado solamente por los procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401.
Á Soportado solamente por los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.

E–4
Referencias de instrucciones de programación

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

ADD /(, $/#).# A "&,#!.* "&,#!.* &)"#0"* O, I, S, B, T, C, R, -32,768-32,767


&)"&,#!.* &)"&,#!.* &)"#0"* N, F, A, ST, M fĆmin-fĆmax

fuente B directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, F, A, ST, M fĆmin-fĆmax

destino directo, directo indexado, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, F, A, ST, M

AEXÀ Extracción de cadena fuente directo, indirecto ST ninguno


ASCII

índice directo, directo indexado, O, I, S, B, T, C, R, 1-82


indirecto, indirecto indexado N, A, ST, M

número directo, directo indexado, O, I, S, B, T, C, R, 1-82


indirecto, indirecto indexado N, A, ST, M

destino directo ST ninguno

AHLÀ Líneas de comunicaĆ canal 0


ción de establecimiento/
restablecimiento ASCII

Máscara Y directo, directo indexado, O, I, S, B, T, C, R, 0-FFFF


indirecto, indirecto indexado N, A, ST, M

Máscara O directo, directo indexado, O, I, S, B, T, C, R, 0-FFFF


indirecto, indirecto indexado N, A, ST, M

control directo R ninguno

estado de canal 0-001F

AICÀ Entero ASCII a cadena fuente directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, A, ST, M

destino directo ST ninguno

AND Ooperador Y lógico fuente A directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, A, ST, M

fuente B directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, A, ST, M

destino directo, directo indexado, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, A, ST, M

À Soportado solamente por los procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401.

E–5
Preface
Manual de referencia del juego de instrucciones

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

ARDÀ Lectura de )  %# 

*+"%& ")+&  %"%!,%&

&%+)&# ")+&  %"%!,%&

#&%!"+,  %  

)+)* #0&*  

À +,)  #0%  %# 

*+"%& ")+&  %"%!,%&

&%+)&# ")+&  %"%!,%&

#&%!"+,  %  

)+)* #0&*  

À 2*(,  #0% ,%+ ")+& "%")+&  %"%!,%&




0%" ")+& ")+& "%-&         


"%")+& "%")+& "%-&    

2*(, ")+& "%")+&  %"%!,%&

)*,#+& ")+& ")+& "%-&        %"%!,%&


"%")+& "%")+& "%-&    

Á )& *%& ,%+ ")+& ")+& "%-&         


"%")+& "%")+& "%-&      3$0% 3$/-

*+"%& ")+& ")+& "%-&        %"%!,%&


"%")+& "%")+& "%-&     

À &$')"1%  ,%+  ")+& "%")+&  %"%!,%&


% 

,%+  ")+& "%")+&  %"%!,%&

Á )& +%!%+ ,%+ ")+& ")+& "%-&         


"%")+& "%")+& "%-&      3$0% 3$/-

*+"%& ")+& ")+& "%-&        %"%!,%&


"%")+& "%")+& "%-&     
À '&.& *&#$%+ '&) #&* ')&*&)* 
   . 
    
Á '&.& *&#$%+ '&) #&* ')&*&)* 
  . 
  

E–6
Referencias de instrucciones de programación

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

 À Escritura ASCII con canal 0


anexo

fuente directo ST ninguno

control directo R ninguno

longitud de cadena 0-82

carac. transmitidos 0-82

AWTÀ Escritura ASCII canal 0

fuente directo ST ninguno

control directo R ninguno

longitud de cadena 0-82

carac. transmitidos 0-82

BSL Desplazamiento a la archivo directo indexado, O, I, S, B, N, A, ST ninguno


izquierda indirecto indexado

control directo R ninguno

dirección de bit directo, indirecto O, I, S, B, T, C, R, ninguno


N, A, ST, M

longitud 0-2048

BSR Desplazamiento a la archivo directo indexado, O, I, S, B, N, A, ST ninguno


derecha indirecto indexado

control directo R ninguno

dirección de bit directo, indirecto O, I, S, B, T, C, R, ninguno


N, A, ST, M

longitud 0-2048

CLR Borrar destino directo, directo indexado, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, F, A, ST, M

À Soportado solamente por los procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401.

E–7
Preface
Manual de referencia del juego de instrucciones

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

 Copiar archivo fuente directo indexado, O, I, S, B, T, C, R, ninguno


indirecto indexado N, F, A, ST, M

destino directo indexado, O, I, S, B, T, C, R, ninguno


indirecto indexado N, F, A, ST, M

longitud 1-128

COSÁ Coseno fuente directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, F, A, ST, M fĆmín-fĆmáx

destino directo, directo indexado, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, F, A, ST, M

CPTÁ Calcular destino directo, directo indexado, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, F, A, ST, M

expresión <expresión>

CTD Conteo - contador directo C ninguno

preseleccionado -32,768-32,767

acumulador -32,768-32,767

CTU Conteo + contador directo C ninguno

preseleccionado -32,768-32,767

acumulador -32,768-32,767

DCD Descodificar 4 a 1 de fuente directo, directo indexado, O, I, S, B, T, C, R, ninguno


16 indirecto, indirecto indexado N, A, ST, M

destino directo, directo indexado, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, A, ST, M

DDV Doble división fuente directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, A, ST, M

destino directo, directo indexado, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, A, ST, M

DEGÁ Radianes a grados fuente directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, F, A, ST, M fĆmín-fĆmáx

destino directo, directo indexado, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, F, A, ST, M

Á Soportado solamente por los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.

E–8
Referencias de instrucciones de programación

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

 '1'.'6* %0$*/$  #'-$"/+ #'-$"/+ '*#$2!#+        


 
 
'*#'-$"/+ '*#'-$"/+ '*#$2!#+      %7)5*%7)42

%0$*/$  #'-$"/+ #'-$"/+ '*#$2!#+        


 
 
'*#'-$"/+ '*#'-$"/+ '*#$2!#+      %7)5*%7)42

#$./'*+ #'-$"/+ #'-$"/+ '*#$2!#+        *'*&0*+


'*#'-$"/+ '*#'-$"/+ '*#$2!#+     

 +#'%'"!- $*"+#$  #$ %0$*/$ #'-$"/+ #'-$"/+ '*#$2!#+        *'*&0*+


 ! '*#'-$"/+ '*#'-$"/+ '*#$2!#+    

#$./'*+ #'-$"/+ #'-$"/+ '*#$2!#+        *'*&0*+


'*#'-$"/+ '*#'-$"/+ '*#$2!#+    

 &0!( %0$*/$  #'-$"/+ #'-$"/+ '*#$2!#+        *'*&0*+


'*#'-$"/+ '*#'-$"/+ '*#$2!#+     

%0$*/$  #'-$"/+ #'-$"/+ '*#$2!#+        


 
 
'*#'-$"/+ '*#'-$"/+ '*#$2!#+      %7)5*%7)42

à !-&!  %0$*/$ #'-$"/+ #'-$"/+ '*#$2!#+        


 
 
'*#'-$"/+ '*#'-$"/+ '*#$2!#+    Æ

&!)!  #'-$"/+ '*#$2!#+       *'*&0*+


'*#'-$"/+ '*#$2!#+

"+*/-+(  #'-$"/+  *'*&0*+

(+*&'/0#  

,+.'"'6*  

à $."!-&!  &!)!  #'-$"/+ '*#$2!#+       *'*&0*+


'*#'-$"/+ '*#$2!#+

#$./'*+ #'-$"/+ #'-$"/+ '*#$2!#+        *'*&0*+


'*#'-$"/+ '*#'-$"/+ '*#$2!#+    Æ

"+*/-+(  #'-$"/+  *'*&0*+

(+*&'/0#  

,+.'"'6*  

 +,+-/!#+ .+(!)$*/$ ,+- (+. "+*/-+(!#+-$. '"-++&'2 


à +,+-/!#+ .+(!)$*/$ ,+- (+. ,-+"$.!#+-$.     
3   3 "+*/-+(!#+-$. '"-++&'2 
Æ ( #'-$""'+*!)'$*/+ '*#$2!#+ *+ .$ ,$-)'/$ "0!*#+ .$ 0.!* #'-$""'+*$.    + 

E–9
Preface
Manual de referencia del juego de instrucciones

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

 *%,!0 !0#()4- &3%,2% $)0%#2- ),$)0%#2- O, I, S, B, T, C, R, -32,768-32,767


N, F, A, ST, M &9+8,&9+75

$%12),- $)0%#2- ),$%5!$- O, I, S, B, T, C, R, ,),'3,-


),$)0%#2- ),$%5!$- N, F, A, ST, M

*-,')23$ 1-128

FRD De BCD a "),!0)- &3%,2% (SLC 5/01) $)0%#2- O, I, S, B, T, C, R, ,),'3,-


N, A, ST, M

&3%,2% (SLC 5/02, $)0%#2- $)0%#2- ),$%5!$-        ,),'3,-


SLC 5/03, SLC ),$)0%#2- ),$)0%#2- ),$%5!$- 
5/04, controladores
)#0--')5 

$%12),- $)0%#2- $)0%#2- ),$%5!$-        ,),'3,-


),$)0%#2- ),$)0%#2- ),$%5!$-     

 !6-0 - )'3!* /3% &3%,2%  $)0%#2- $)0%#2- ),$%5!$-        ,),'3,-


),$)0%#2- ),$)0%#2- ),$%5!$-      

&3%,2%  $)0%#2- $)0%#2- ),$%5!$-        


 
 
),$)0%#2- ),$)0%#2- ),$%5!$-       &9+8,&9+75

 !6-0 /3% &3%,2%  $)0%#2- $)0%#2- ),$%5!$-        ,),'3,-


),$)0%#2- ),$)0%#2- ),$%5!$-      

&3%,2%  $)0%#2- $)0%#2- ),$%5!$-        


 
 
),$)0%#2- ),$)0%#2- ),$%5!$-       &9+8,&9+75

Å -,2!$-0 $% !*2! #-,2!$-0 ,),'3,-


4%*-#)$!$  

.0%1%*%##)-,!$- 
 

 -,2!$-0 $% !*2! 4%*-# 2).- 

#-,2!$-0 $)0%#2-  ,),'3,-

.0%1%*%##)-,!$- 
 
 

!#3+3*!$-0 
 
 

 ,2%00  $%1!#2)4! #-,2!$-0 $)0%#2-  ,),'3,-

 ,2%00  !#2)4! #-,2!$-0 $)0%#2-  ,),'3,-


 -.-02!$- 1-*!+%,2% .-0 *-1 #-,20-*!$-0%1 )#0--')5 
Å -.-02!$- 1-*!+%,2% .-0 *-1 .0-#%1!$-0%1   
 !,$   #-, %,20!$!1 $% 

E–10
Referencias de instrucciones de programación

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

 Carga  #-,2!$-0 $)0%#2-  ,),'3,-

&3%,2% $)0%#2- 6 ,),'3,-

*-,')23$ 1)%+.0% 5

IIDÆ ,2%003.#)8, $%  0!,30!1 .!*!"0! (%5 $-"*%


$%1!#2)4! *)12! $% 0!,30!1

Æ ,2%003.#)8, $%  0!,30!1 .!*!"0! (%5 $-"*%


!#2)4! *)12! $% 0!,30!1

 ,20!$! ),+%$)!2! #-, 0!,30! $)0%#2-  ,),'3,-


+71#!0!

+71#!0! $)0%#2- $)0%#2- ),$%5!$-        


 
 
),$)0%#2- ),$)0%#2- ),$%5!$-     

*-,')23$ 

 
6
  

 Ã ,2%003.#)8, $%  ,),'3,-

 !*)$! ),+%$)!2! #-, 0!,30! $)0%#2-  ,),'3,-


+71#!0!

+71#!0! $)0%#2- $)0%#2- ),$%5!$-        


 
 
),$)0%#2- ),$)0%#2- ),$%5!$-     

*-,')23$ 

 
6
  

 !*2!0 ,- $% %2)/3%2! 

 !*2!0 ! 13"032),! ,9+%0- $% !0#()4-



$% 13"032),!

 2)/3%2! ,- $% %2)/3%2! 

 -.-02!$- 1-*!+%,2% .-0 *-1 #-,20-*!$-0%1 )#0--')5 


à -.-02!$- 1-*!+%,2% .-0 *-1 .0-#%1!$-0%1     
6   6 *-1 .0-#%1!$-0%1 )#0--')5 
Æ -.-02!$- 1-*!+%,2% .-0 *-1 .0-#%1!$-0%1     
6   

E–11
Preface
Manual de referencia del juego de instrucciones

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

 $+,0 , '&2 ) .2$ %2$+1$  #'/$"1, #'/$"1, '+#$3 #,        +'+&2+,
'+#'/$"1, '+#'/$"1, '+#$3 #,     

%2$+1$  #'/$"1, #'/$"1, '+#$3 #,        


 
 
'+#'/$"1, '+#'/$"1, '+#$3 #,      %8*6+%8*53

 $+,0 .2$ %2$+1$  #'/$"1, #'/$"1, '+#$3 #,        +'+&2+,0


'+#'/$"1, '+#'/$"1, '+#$3 #,     

%2$+1$  #'/$"1, #'/$"1, '+#$3 #,        


 
 
'+#'/$"1, '+#'/$"1, '+#$3 #,      %8*6+%8*53

à /&  %2$+1$ #'/$"1, #'/$"1, '+#$3 #,        


 
 
'+#'/$"1, '+#'/$"1, '+#$3 #,    Ä

& *  #'/$"1, '+#$3 #,       +'+&2+,


'+#'/$"1, '+#$3 #,

",+1/,)  #'/$"1,  +'+&2+,

),+&'12#  

-,0'"'7+  

à $0" /&  & *  #'/$"1, '+#$3 #,       +'+&2+,
'+#'/$"1, '+#$3 #,

#$01'+, #'/$"1, #'/$"1, '+#$3 #,        +'+&2+,


'+#'/$"1, '+#'/$"1, '+#$3 #,    Ä

",+1/,)  #'/$"1,  +'+&2+,

),+&'12#  

-,0'"'7+  

à $01 )6* "'/" )6*'1$ ! (, #'/$"1, #'/$"1, '+#$3 #,        


 
 
'+#'/$"1, '+#'/$"1, '+#$3 #,      %8*6+%8*53

-/2$! #'/$"1, #'/$"1, '+#$3 #,        


 
 
'+#'/$"1, '+#'/$"1, '+#$3 #,      %8*6+%8*53

)6*'1$ )1, #'/$"1, #'/$"1, '+#$3 #,        


 
 
'+#'/$"1, '+#'/$"1, '+#$3 #,      %8*6+%8*53

à ,-,/1 #, 0,) *$+1$ -,/ ),0 -/,"$0 #,/$0     


4   4 ),0 ",+1/,) #,/$0 '"/,,&'3 
Ä ) #'/$""',+ *'$+1, '+#$3 #, +, 0$ -$/*'1$ "2 +#, 0$ 20 + #'/$""',+$0    , 

E–12
Referencias de instrucciones de programación

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

LNÁ Logaritmo natural fuente directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, F, A, ST, M fĆmín-fĆmáx

destino directo, directo indexado, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, F, A, ST, M

LOGÁ Logaritmo en base 10 fuente directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, F, A, ST, M fĆmín-fĆmáx

destino directo, directo indexado, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, F, A, ST, M

MCR Restab. control maestro ninguno

MEQ Comparación con fuente directo, directo indexado, O, I, S, B, T, C, R, ninguno


máscara para igual indirecto, indirecto indexado N, A, ST, M

máscara de fuente directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, A, ST, M

comparación directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, A, ST, M

MOV Mover fuente directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, F, A, ST, M fĆmín-fĆmáx

destino directo, directo indexado, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, F, A, ST, M

MSG Mensaje lectura/escritura 0=lect.,1=escrit.


(5/02 only)
dispositivo destino 2=500CPU,
4=485CIF

bloque de control directo N ninguno

long. bloque contr. 7

dirección local directo O, I, S, B, T, C, R, ninguno


N, A

nodo destino 0-31

dirección destino directo O, I, S, B, T, C, R, 0-255


N, A

longitud de T, C, R 1-13
mensaje
I, O, S, B, N 1-41
Á Soportado solamente por los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.

E–13
Preface
Manual de referencia del juego de instrucciones

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

 Mensaje tipo 2%, ! 2%,


(5/03 7y 5/04
 

2.+!,%-3% +%#341!%2#1)341! +%#3 %2#1)3

$)2/.2)3)5. $%23)-.   


  


+.#!+1%,.3.  +.#!+

1%,.3.

"+.04% $% #.-31.+ $)1%#3.  -)-'4-.

+.-' "+.04% #.-31 

-. $% #!-!+ 9

-.$. $%23)-. 

 )&  

 $% 58-#4+. $%  
/4%-3% 1%,.3.  #4!-$. +.#!+

$)1%##)9- $% -.$. 
$% /4%-3% 1%,.3.  #4!-$. +.#!+

$)1%##)9- $% -.$.   6


$% /4%-3% +.#!+ #4!-$. +.#!+

$)1%##)9- $% $)1%#3.        -)-'4-.2


!1#()5. +.#!+     Ç

$)1%##)9- $% $)1%#3.        
!1#()5. $%23)-.     Ç

+.-')34$ $%      Ç 

,%-2!*%
Ç  

 
9
2)    

  

Ç 9 2)   

+8, 3,/. 2."1%: 


/!2!$. ,%-2!*%
Ç .2 3)/.2 $% !1#()5.   7  2% !/+)#!- 2.+!,%-3% !  

 9 /.23%1).1%2 7   

E–14
Referencias de instrucciones de programación

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

 *")!&"!!/$ *$)  !')% !')% !$,%     


  
!$!')% !$!')% !$,%      0#.$0#-,

*$) !')% !')% !$,%     


  
!$!')% !$!')% !$,%      0#.$0#-,

()!$% !')% !')% !$,%     


  $!$ *$%
!$!')% !$!')% !$,%     

 %+' %$ #-(' *$) !')% !')% !$,%     


  $!$ *$%
!$!')% !$!')% !$,%    

#-('  *$) !')% !')% !$,%     


  
!$!')% !$!')% !$,%    

()!$% !')% !')% !$,%     


  $!$ *$%
!$!')% !$!')% !$,%    

 
#!%  (! $% *$) !')% !')% !$,%     
  $!$ *$%
!$!')% !$!')% !$,%     

()!$% !')% !')% !$,%     


  $!$ *$%
!$!')% !$!')% !$,%     

  !'$) *$)  !')% !')% !$,%     


  $!$ *$%
!$!')% !$!')% !$,%     

*$) !')% !')% !$,%     


  
!$!')% !$!')% !$,%      0#.$0#-,

 &'%' % "/ !% *$) !')% !')% !$,%     


  $!$ *$%
!$!')% !$!')% !$,%    

()!$% !')% !')% !$,%     


  $!$ *$%
!$!')% !$!')% !$,%    

 &'%'  !$"*(!+% *$)  !')% !')% !$,%     


  
!$!')% !$!')% !$,%    

*$) !')% !')% !$,%     


  
!$!')% !$!')% !$,%    

()!$% !')% !')% !$,%     


  $!$ *$%
!$!')% !$!')% !$,%    

 $ '$) ($$) !'!/$  !) !')% !$!')%     


  $!$ *$%
  

E–15
Preface
Manual de referencia del juego de instrucciones

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

! Activación de salida dirección de bit directo, indirecto O, I, S, B, T, C, R, ninguno


N, A, ST, M

OTL Enclavamiento de dirección de bit directo, indirecto O, I, S, B, T, C, R, ninguno


salida N, A, ST, M

OTU Desenclavamiento de dirección de bit directo, indirecto O, I, S, B, T, C, R, ninguno


salida N, A, ST, M

PIDÆ PID bloque de control directo N ninguno

variable de directo, indirecto O, I, B, T, C, R, N, ninguno


proceso A

variable de control directo, indirecto O, I, B, T, C, R, N, ninguno


A

long. bloque contr. 23 siempre

RACÂ Acumulador de contador directo C ninguno


restablecimiento HSC

fuente directo, indirecto O, I, S, B, T, C, R, -32,768-32,767


N, A, ST, M fĆmín-fĆmáx

RADÁ Grados a radianes fuente directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, F, A, ST, M fĆmín-fĆmáx

destino directo, directo indexado, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, F, A, ST, M

REFÆ Regenerar E/S canal 0 (SLC 5/03 0=no, 1=sí


y SLC 5/04)

canal 1 (SLC 5/03 0=no, 1=sí


y SLC 5/04)

RES Restablecimiento de estructura directo T, C, R ninguno


temporizador/contador

RET Retorno ninguno

RPIÆ Restablecer ranuras palabra de hex


interrupción pendiente doble (lista de
ranuras)

Á Soportado solamente por los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.
 Soportado solamente por los controladoresMicroLogix 1000.
Æ Soportado solamente por los procesadores SLC 5/02, SLC 5/03 y SLC 5/04.

E–16
Referencias de instrucciones de programación

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

 "'*)+%2!)+ +"-"(-%/) -"'*)+%2!)+ !%+" -)  ninguno


a &
la )("0%5(
base de tiempo  ,)&'"(-"
 

," !" -%"'*)  5 


   

   
)(-+)&!)+",
% +))$%0 

*+","&" %)(!) 
 

 .'.&!)+ 
 

 .+.-%( (%($.()

à , &+ #."(-" !%+" -) !%+" -) %(!"0!)        (%($.()


%(!%+" -) %(!%+" -) %(!"0!)    

/"&) %!! !%+" -) !%+" -) %(!"0!)        


 
 
%(!%+" -) %(!%+" -) %(!"0!)    

)##,"- !%+" -) !%+" -) %(!"0!)        


 
 
%(!%+" -) %(!%+" -) %(!"0!)    

!",-%() !%+" -) !%+" -) %(!"0!)        (%($.()


%(!%+" -) %(!%+" -) %(!"0!)    

Á , &+ )( *+3'"-+), "(-+! !%+" -) !%+" -) %(!"0!)        (%($.()


%(!%+" -) %(!%+" -) %(!"0!)     

"(-+! '4( !%+" -) !%+" -) %(!"0!)        


 
 
%(!%+" -) %(!%+" -) %(!"0!)      #6'4(#6'30

"(-+! '30 !%+" -) !%+" -) %(!"0!)        


 
 
%(!%+" -) %(!%+" -) %(!"0!)      #6'4(#6'30

", & '4( !%+" -) !%+" -) %(!"0!)        


 
 
%(!%+" -) %(!%+" -) %(!"0!)      #6'4(#6'30

", & '30 !%+" -) !%+" -) %(!"0!)        


 
 
%(!%+" -) %(!%+" -) %(!"0!)      #6'4(#6'30

,&%! )( ", & !%+" -) !%+" -) %(!"0!)        (%($.()


%(!%+" -) %(!%+" -) %(!"0!)     

Á )*)+-!) ,)&'"(-" *)+ &), *+) ",!)+",  



 1    
à )*)+-!) ,)&'"(-" *)+ &), *+) ",!)+",     
1   1 )(-+)&!)+", % +))$%0 

E–17
Preface
Manual de referencia del juego de instrucciones

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

SINÁ Seno fuente directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, F, A, ST, M fĆmín-fĆmáx

destino directo, directo indexado, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, F, A, ST, M

SQC Secuenciador de archivo directo, directo indexado, O, I, S, B, N, A, ST ninguno


comparación indirecto, indirecto indexado

máscara directo, directo indexadoÄ, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, A, ST, M

fuente directo, directo indexadoÄ, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, A, ST, M

control directo R ninguno

longitud 1-255

posición 0-255

SQLÃ Carga secuenciador archivo directo indexado, O, I, S, B, N, A, ST ninguno


indirecto indexado

fuente directo, directo indexadoÄ, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, A, ST, M

control directo R ninguno

longitud 1-255

posición 0-255

Á Soportado solamente por los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.
à Soportado solamente por los procesadores SLC 5/02, SLC 5/03 y SLC 5/04 y controladores MicroLogix 1000.
Ä El direccionamiento indexado no se permite cuando se usan direcciones T, C, R o M.

E–18
Referencias de instrucciones de programación

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

 #!1#*!' "+. "# / ('" .!&'2+ "'.#!0+ indexado, O, I, S, B, N, A, ST ninguno


indirecto indexado

máscara directo, directo indexadoÄ, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, A, ST, M

destino directo, directo indexadoÄ, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, A, ST, M

control directo R ninguno

longitud 1-255

posición 0-255

SQRÃ Raíz cuadrada fuente directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, F, A, ST, M fĆmín-fĆmáx

destino directo, directo indexado, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, F, A, ST, M

STDÃ Desactivar STI ninguno

STEÃ Activar STI ninguno

STSÃ Comenzar STI archivo directo, directo indexado, O, I, S, B, T, C, R, 0, 3-255


indirecto, indirecto indexado N, A, ST, M excepto que los
controladores
MicroLogix 1000
siempre son
iguales a 5

tiempo directo, directo indexado, O, I, S, B, T, C, R, 0-255 (SLC 5/02


indirecto, indirecto indexado N, A, ST, M y MicroLogix
1000), 0-32,767
(SLC 5/03 y
5/04)

SUB Resta fuente A directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,76


indirecto, indirecto indexado N, F, A, ST, M fĆmín-fĆmáx

fuente B directo, directo indexado, O, I, S, B, T, C, R, -32,768-32,767


indirecto, indirecto indexado N, F, A, ST, M fĆmín-fĆmáx

destino directo, directo indexado, O, I, S, B, T, C, R, ninguno


indirecto, indirecto indexado N, F, A, ST, M

à Soportado solamente por los procesadores SLC 5/02, SLC 5/03 ySLC 5/04 y controladores MicroLogix 1000.
Ä El direccionamiento indexado no se permite cuando se usan direcciones T, C, R o M.

E–19
Preface
Manual de referencia del juego de instrucciones

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

SUS 31/'-&'0  de 131/'-1*:- -32,768-32,767

!Æ '04*%*. &' %#-+   


6 -. 19
%.,3-*%#%*.-'1   

%#-#+   
-. 19
6   

"Á -2'0%#,$*#0 (3'-2' &*0'%2. *-&'5#&.     -*-)3-.


*-&*0'%2. *-&'5#&.

+.-)*23&   $*2


  '-2'0.
  %#&'-#
  

Á #-)'-2' (3'-2' &*0'%2. &*0'%2. *-&'5#&.        


 
 
*-&*0'%2. *-&*0'%2. *-&'5#&.      (;,9-(;,85

&'12*-. &*0'%2. &*0'%2. *-&'5#&.        -*-)3-.


*-&*0'%2. *-&*0'%2. *-&'5#&.     

 *- 2',/.0#+ -*-)3-.

 .-4'02*0 #  (3'-2'   &*0'%2.        -*-)3-.




(3'-2'    &*0'%2. &*0'%2. *-&'5#&.       


 
 *-&*0'%2. *-&*0'%2. *-&'5#&.    
  

&'12*-. &*0'%2.        -*-)3-.


   

 ',/.0*7#&.0 # +# 2',/.0*7#&.0 &*0'%2.  -*-)3-.


&'1%.-'5*:-

E–20
Referencias de instrucciones de programación

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

base de tiempo 0.01 solamente


(SLC 5/01)

base de tiempo 0.01 ó 1.00


(SLC 5/02, SLC
5/03, SLC 5/04,
controladores
MicroLogix 1000)

preseleccionado 0-32,767

acumulador 0-32,767

Á Soportado solamente por los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.
Æ Soportado solamente por los procesadores SLC 5/02, SLC 5/03 y SLC 5/04.

E–21
Preface
Manual de referencia del juego de instrucciones

Instrucción Descripción Parámetro de Modo(s) de Tipos de archivo Valores


instrucción direccionamiento válidos inmediatos
válido(s)

N $),+-'4 #+- ( /$),+-'4 #+- #'-$"/+  *'*&0*+


"+*$2'7*

! .$ #$ /'$),+  .+( )$*/$


 

! .$ #$ /'$),+  7 


   

   
"+*/-+( #+-$.
'"-++&'2 

,-$.$($""'+* #+ 
 

"0)0( #+- 
 

 2 )'* .' "$-- #+ !'/ #$ %0$*/$ #'-$"/+ '*#'-$"/+        *'*&0*+


$2 )'* .' "+*/ "/+    
"$-- #+

 2 )'* .' !'$-/+ !'/ #$ %0$*/$ #'-$"/+ '*#'-$"/+        *'*&0*+


$2 )'* .' "+*/ "/+    
!'$-/+

 ,$- "'7*  $2"(0.'1+ #'-$""'7*  #'-$"/+ #'-$"/+ '*#$2 #+        


 
 
'*#'-$"/+ '*#'-$"/+ '*#$2 #+    

#'-$""'7*  #'-$"/+ #'-$"/+ '*#$2 #+        


 
 
'*#'-$"/+ '*#'-$"/+ '*#$2 #+    

#$./'*+ #'-$"/+ #'-$"/+ '*#$2 #+        *'*&0*+


'*#'-$"/+ '*#'-$"/+ '*#$2 #+    

Á  ( ,+/$*"' #$  %0$*/$  #'-$"/+ #'-$"/+ '*#$2 #+        


 
 
'*#'-$"/+ '*#'-$"/+ '*#$2 #+      %8)'*%8) 2

%0$*/$  #'-$"/+ #'-$"/+ '*#$2 #+        


 
 
'*#'-$"/+ '*#'-$"/+ '*#$2 #+      %8)6*%8)52

#$./'*+ #'-$"/+ #'-$"/+ '*#$2 #+        *'*&0*+


'*#'-$"/+ '*#'-$"/+ '*#$2 #+     

Á +,+-/ #+ .+( )$*/$ ,+- (+. ,-+"$. #+-$.  



 3    

E–22
Organización y direccionamiento de archivo de datos

F Organización y direccionamento
del archivo de datos
Este capítulo trata los temas siguientes:
• la organización y direccionamiento del archivo de datos
• cómo especificar el direccionamiento indexado
• cómo especificar el direccionamiento indirecto (procesadores SLC 5/03 OS302
y SLC 5/04 OS401)
• cómo direccionar instrucciones de archivo (usando el no. de indicador de
archivo)
• las constantes numéricas
• los archivos M0-M1, archivos G (procesadores SLC 5/02, SLC 5/03 y SLC 5/04
con módulos de E/S especiales)

F–1
Preface
Manual de referencia del juego de instrucciones

Descripción de la organización del archivo

El procesador proporciona control por medio de un programa que usted crea


llamado un archivo de procesador. Este archivo contiene otros archivos que
separan el programa en secciones que son más fáciles de manejar.

Descripción general del archivo de procesador

La mayor parte de las operaciones que realiza con el dispositivo de programación


involucra el archivo de procesador y los dos componentes creados con éste: los
archivos de programa y los archivos de datos.
Archivo de procesador

Archivos de programa Archivos de datos

El dispositivo de programación almacena los archivos de procesador en un disco


duro (o disco flexible). La monitorización y edición de los archivos de procesador
se efectúan en el espacio de trabajo de la computadora. Después de seleccionar y
editar un archivo del disco, usted guarda el archivo en el disco duro reemplazando la
versión de disco original con la versión editada. El disco duro es el lugar
recomendado para un archivo de procesador.

DISPOSITIVO DE PROGRAMACION
 
  
 


01 01
02
03
04
Archivos de procesador
con nombres únicos

Los archivos de procesador se crean en el modo fuera de línea usando el dispositivo


de programación. Luego, estos archivos se restauran (se descargan) al procesador
para la operación en línea.

F–2
Organización y direccionamiento de archivo de datos

Archivos de programa

Los archivos de programa contienen información del controlador, el programa de


escalera principal, subrutinas de interrupción y programas de subrutina. Estos
archivos son:
• Programa de sistema (archivo 0) – Este archivo contiene información relativa
al sistema y información programada por el usuario tal como el tipo de
procesador, configuración de E/S, nombre del archivo de procesador y
contraseña.
• Reservado (archivo 1) – Este archivo está reservado.
• Programa de escalera principal (archivo 2) – Este archivo contiene
instrucciones programadas por el usuario que definen cómo el controlador debe
funcionar.
• Programa de escalera de subrutina (archivo 3-255) – Estos archivos son
creados por el usuario y accedidos según las instrucciones de subrutina que
residen en el archivo de programa de escalera principal.
Los archivos de programa siguientes son específicos a los controladores
MicroLogix 1000:
• Rutina de fallo de error de usuario (archivo 3) – Este archivo se ejecuta
cuando un fallo recuperable ocurre.
• Interrupción de contador de alta velocidad (archivo 4) – Este archivo se
ejecuta cuando una interrupción HSC ocurre. También se puede usar para un
programa de escalera de subrutina.
• Interrupción temporizada seleccionable (archivo 5) – Este archivo se ejecuta
cuando una STI ocurre. También se puede usar para un programa de escalera de
subrutina.
• Programa de escalera de subrutina (archivos 6 – 15) – Estos archivos se usan
según las instrucciones de subrutina que residen en el archivo de programa de
escalera principal u otros archivos de subrutina.
Archivos de datos
Los archivos de datos contienen la información de estado asociada con instrucciones
de E/S y todas las otras instrucciones que usted usa en los archivos de programa de
escalera principales y de subrutina. Además, estos archivos almacenan información
acerca de la operación del procesador. También puede usar los archivos para
almacenar “recetas” y buscar tablas, si fuese necesario.
Estos archivos están organizados según el tipo de datos que contienen. Los tipos de
archivo de datos son:
• Salida (archivo 0) – Este archivo almacena el estado de las terminales de salida
para el controlador.
• Entrada (archivo 1) – Este archivo almacena el estado de las terminales de
entrada para el controlador.
• Estado (archivo 2) – Este archivo almacena información de operación del
controlador. Este archivo es útil para localizar y corregir fallos de la operación
del controlador y programa.

F–3

Manual de referencia del juego de instrucciones

• Bit (archivo 3) – Este archivo se usa para el almacenamiento de la lógica de relé


interno.
• Temporizador (archivo 4) – Este archivo almacena los valores del acumulador
de temporizador y preseleccionados además de los bits de estado.
• Contador (archivo 5) – Este archivo almacena los valores del acumulador de
temporizador y preseleccionados además de los bits de estado.
• Control (archivo 6) – Este archivo almacena la longitud, posición de puntero y
bits de estado para instrucciones específicas tales como registros de
desplazamiento y secuenciadores.
• Entero (file 7) – Este archivo se usa para almacenar valores numéricos o
información de bit.
• Punto (coma) flotante (archivo 8) – Este archivo almacena los números de 32
bits no extendidos de precisión úncia. Se aplica a los procesadores SLC 5/03
OS301, OS302 y SLC 5/04.

Acceso y almacenamiento de los archivos de


procesador
El controlador programable MicroLogix 1000 usa dos dispositivos para almacenar
los archivos de procesador: RAM y EEPROM. El RAM proporciona el
almacenamiento de acceso fácil (es decir, los datos se pierden al apagar el sistema)
mientras que el EEPROM proporciona el almacenamiento de largo plazo (es decir,
los datos no se pierden al apagar el sistema). El diagrama siguiente muestra cómo la
memoria es asignada en el procesador el microcontrolador.

  
       

     


     



F–4
Organización y direccionamiento de archivo de datos

El dispositivo de memoria usado depende de la operación que se efectúe. Esta


sección describe cómo se almacena en la memoria y cómo se obtiene acceso a la
misma durante las operaciones siguientes:
• descarga
• operación normal
• apagado
• encendido

Descarga

Cuando el archivo de procesador se descarga al microcontrolador, primero se


almacena en la RAM volátil. Luego, se transfiere al EEPROM no volátil donde se
almacena como datos de copia de seguridad y datos retentivos.

  RAM

Datos seguridad Esp. trab. CPU


Datos retentivos Datos retentivos
Archivos prog Archivos prog.



Dispositivo de
programación

Nota Si usted desea asegurarse que los datos de copia de seguridad sean los mismos para
cada microcontrolador que esté usando, guarde el programa en el disco antes de
descargarlo a un microcontrolador.

F–5

Manual de referencia del juego de instrucciones

Operación normal

Durante la operación normal, el microcontrolador y el dispositivo de programación


pueden obtener acceso a los archivos de procesador almacenados en la RAM.
Cualesquier cambios de los datos retentivos que ocurran debido a la ejecución de
programas o comandos de programación afectan solamente los datos retentivos en la
RAM.

Los archivos de programa nunca se modifican durante la operación normal. Sin


embargo, la CPU y el dispositivo de programación pueden leer los archivos de
programa almacenados en la RAM.

EEPROM RAM
Datos seguridad Esp. trab. CPU
Datos retentivos Datos retentivos
Archivos prog Archivos prog.

CPU
Dispositivo de
programación

Apagado

Cuando ocurre el apagado, solamente los datos retentivos se transfieren desde la


RAM hacia el EEPROM. (No es necesario que los archivos de programa se guarden
en el EEPROM ya que no se pueden modificar durante la operación normal.) Si,
por algún motivo, la alimentación eléctrica se interrumpe antes de que todos los
datos retentivos se guarden en el EEPROM, los datos retentivos se perderán. Esto
puede ocurrir debido a un restablecimiento inesperado o un problema de hardware.

EEPROM RAM
Datos seguridad Esp. trab. CPU
Datos retentivos Datos retentivos
Archivos prog Archivos prog.

CPU
Dispositivo de
programación

F–6
Organización y direccionamiento de archivo de datos

Encendido

Durante el encendido, el microcontrolador transfiere los archivos de programa desde


el EEPROM hacia la RAM. Los datos retentivos también se transfieren al RAM,
siempre que no se perdieran duante la parada, y la operación normal comienza.

EEPROM RAM
Datos seguridad Esp. trab. CPU
Datos retentivos Datos retentivos
Archivos prog Archivos prog.

CPU
Dispositivo de
programación

Si los datos retentivos se perdieron durante la parada, los datos de seguridad del
EEPROM se transfieren a la RAM y se usan como datos retentivos. Además, el bit
de archivo de estado S2:5/8 (datos retentivos perdidos) se establece y un error
mayor recuperable ocurre previo a la puesta en marcha.

EEPROM RAM
Datos seguridad Esp. trab. CPU
Datos retentivos Datos retentivos
Archivos prog Archivos prog.

CPU
Dispositivo de
programación

F–7
Preface
Manual de referencia del juego de instrucciones

Cómo direccionar los archivos de datos


Para fines de direccionamiento, cada tipo de archivo de datos se identifica con una
letra (identificador) y un número de archivo.

Los números de archivo 0 a 7 son los archivos predeterminados que los


procesadores fijos, SLC 5/01, SLC 5/02 y SLC 5/03 OS300 y los controladores
MicroLogix 1000 crean por usted. El número de archivo 8 se aplica a los
procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401. Si necesita
almacenamiento adicional, puede crear archivos especificando el identificador
correspondiente y un número de archivo de 9 a 255. Refiérase a las tablas
siguientes:

Tipos, identificadores y números de archivos de datos (archivos de datos en la memoria del procesador)

Tipo de Número Archivos definidos por el usuario


archivo Identificador de archivo Tipo de Número de
 O 0 archivo Identificador archivo
Entrada I 1
Estado S 2 Bit B
Bit B 3 Temporiz. T
Temporiz. T 4 Contador C
Contador C 5 Control R 9-255
Control R 6 Entero N
Entero N 7 Flotar F
Flotar F 8 Cadena St
ASCII A

Nota Los tipos de archivo de punto (coma) flotante, cadena y ASCII están disponibles
únicamente cuando se usan los procesadores SLC 5/03 0S301, 0S302 y SLC 5/04
OS400, OS401.

Cómo especificar direcciones lógicas

Usted asigna direcciones lógicas a instrucciones desde el nivel más alto (elemento)
hasta el nivel más bajo (bit). Los ejemplos de direccionamiento se muestran en la
tabla siguiente.

F–8
Organización y direccionamiento de archivo de datos

Para especificar la
     À
dirección 

% '#( %*(&  +% N 7 : 2


( !,& %*(&
!'&  ( !,&
No. de archivo
Delimit. archivo
No. de palabra

Una palabra dentro de un T 4 : 7 . ACC


archivo de estructura
(por ej., un archivo de Tipo de archivo
temporizador) No. de archivo
Delimit. archivo
No. de estructura
Delimitador
Palabra

Un bit dentro de un archivo N 7 : 2 / 5


entero
Tipo de archivo
No. de archivo
Delimit. archivo
No. de palabra
Delimitador bit
No. de bit

Un bit dentro de un archivo B 3 / 31


de bit
Tipo de archivo
No. de archivo
Delimitador bit
No. de bit
Los archivos de bit son archivos de flujo de bit continuo y, por lo
tanto, puede direccionarlos de dos maneras: por palabra y por bit,
o por bit solamente.

Bit dentro de un archivo de R 6 : 7 / DN


estructura (por ej., un
archivo de control) Tipo de archivo
No. de archivo
Delimitador archivo
No. de estructura
Delimitador
Mnemónico
À Algunos dispositivos de programación tienen capacidad para el direccionamiento corto. Esto le permite eliminar el
número de archivo y el delimitador de archivo de las direcciones. Consulte el manual de usuario de programación
del dispositivo para obtener información acerca de las capacidades de direccionamiento. (Por ejemplo: N7:2 = N2;
T4:12.ACC = T12.ACC; B3:2/12 = B2/12)

Usted también puede direccionar al nivel de bit usando los mnemónicos como tipos
de datos de temporizador, contador o control.

F–9
'
Manual de referencia del juego de instrucciones

Direccionamiento de E/S para un controlador de E/S fijo

En la figura siguiente, un controlador de E/S fijo tiene 24 entradas y 16 salidas. Se


ha añadido un chasis expansor. La ranura 1 del chasis contiene un módulo con 6
entradas y 6 salidas. La ranura 2 contiene un módulo con 8 salidas.

Las figura siguiente ilustra cómo estas entradas y salidas se configuran en los
archivos de datos 0 y 1. Para estos archivos, el tamaño de elemento siempre es 1
palabra.
-#'%(  '$*'

  

   $ $)'( " (


 


  $*$ 

%$)'%"%'  ( (
  !% ,&$(%'

' +%  )%(   #$  (" 


15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

" (  '$*'    X 


" (  '$*'    INVALID 
" (  '$*'    INVALID X 

' +%  )%(   #$  $)'


15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
$)'(  '$*'    X 
$)'(  '$*'     INVALID X 
$)'(  '$*'    INVALID X 
X       

La tabla en la página siguiente explica el formato de direccionamiento para las


salidas y entradas. Observe que el formato especifica e como número de ranura y s
como número de palabra. Cuando use las instrucciones de archivo, refiérase al
elemento como e.s (ranura y palabra), combinados.

F–10
Organización y direccionamiento de archivo de datos

Asigne las direcciones de E/S a controladores de E/S fijos según se muestra en la


tabla siguiente:

#%!'# *$ -"

 Salida

 &,*

: Delimitador de elemento

No. de
ranura Controlador de  "#' 
"%$

 &-* "0)-"* $ !+"+ /(&+'*


& &-* *! $ !+"+ /(&+'*

$"%",'*  ($* )-*"' +5$' +" -& &6%*'  ($* + &+*"'


& 
+ 6& $' %&"'&'  '&,"&-"5&

)-*"' +" $ &6%*'  &,*+ ' +$"+ /& 


' 
& (* $ *&-* 4%", 
$ $4%", ,"& $- * (*
($*
1,*#,+ +("$+  ($*+ %6$,"($+

 $"%",'*  ",

'  &,*+ 7 5  
 *&-* 

,*%"&$ $"+ 7

!$ #& $  &  #"'%# #% !#&'%# "  $," 

 $"  '&,*'$'* *&-* 


  $"  *&-*
$ !+"+ /(&+'*
 &,*  *&-* $ !+"+ /(&+'*
 &,*  '&,*'$'* *&-* 
 &,*  '&,*'$'*
",  ($*  *&-* 

 '%"') $%  %#"!"'#  '%!" &    + &($%#%&  6& + "&"5


&,*"'*%&, $ "*"5&  + ($"  $ ,*%"&$  &,*
 *&-*  %"3&
(- "*"'&* +, ,*%"&$ '%' 

%#"&  $ %

 $*  +$"  *&-*


 $*  &,*  *&-* 
 $*  &,*  *&-* 

 #%& $%'%!"#& $ "+('+",".'  (*' *%"5& %'+,**2 -& "*"5&  -&


%&* %2+ ,$$ '* #%($' -&' -+, +" & $ "*"5&   $ "+('+",".' 
(*' *%"5& $ %-+,* '%' I:1.0/4 *!".'  &,* *&-*  ($*  ,*%"&$ 

F–11
,!"!
Manual de referencia del juego de instrucciones

Direccionamiento de E/S para un controlador modular

Con los controladores modulares, el número de ranura 0 está reservado para el


módulo de procesador (CPU). La ranura 0 no es válida como una ranura de E/S.

La figura siguiente muestra una configuración de controlador modular que consiste


en un chasis de 7 ranuras interconectado con un chasis de 10 ranuras. La ranura 0
contiene la CPU. Las ranuras 1 a 10 contienen módulos de E/S. Las ranuras
remanentes se guardan para la expansión de E/S futura.

La figura indica el número de entradas y salidas en cada ranura y muestra asimismo


cómo estas entradas y salidas se organizan en los archivos de datos. Para estos
archivos, el tamaño de elemento siempre es 1 palabra.
4'!,)- ! ,(/,
 
   

/!(.! !  /!(.! !


&%' &%'
!&2       !&2    
1*(-%3( "/./,

)(.,)& ), ') /&, +/! /- /( $-%- !  ,(/,- %(.!,)(!. ) )( /( $-%- !  ,(/,-

,$%0) ! .)-   '#!( ! -&% 


15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

( (., - &% - &% - ! ,(/,    INVALID 


 &% - ! ,(/,
  X 


%(# &% - ! ,(/,  INVALID 

%(# 
(/,  -&% - ! *&,    X 
 
%(#
&% - ! ,(/,     
 %(# &).  )/.*/.-   
  %(#
&% - ! ,(/,    X 
  %(#
 %(# 
 %(#  ,$%0) ! .)-   '#!( ! !(., 
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

(., - ! ,(/,    INVALID 


(/,  !(., - ! *&,    
(/,  !(., - ! *&,    X  
&% - ! ,(/,  INVALID 
(., - ! ,(/,   
(., - ! ,(/,    X 
(., - ! ,(/,   INVALID 

X       

F–12
Organización y direccionamiento de archivo de datos

Cómo especificar direcciones indexadas

El símbolo de dirección indexada es el carácter #. Coloque el carácter # justo antes


del identificador de tipo de archivo en una dirección lógica. Puede usar más de una
dirección indexada en el programa de escalera.

Introduzca el valor offset en la palabra 24 del archivo de estado (S:24). Todas las
instrucciones indexadas usan la misma palabra S:24 para almacenar el valor offset.
El procesador inicia la operación a la dirección de base más el offset. Puede
manipular el valor offset en la lógica de escalera antes de cada operación de
dirección indexada.

Cuando especifique direcciones indexadas, siga estas pautas:


• Asegúrese que el valor de índice (positivo o negativo) no cause que la dirección
indexada exceda el límite del tipo de archivo.
• Cuando una instrucción usa más de dos direcciones indexadas, el procesador
usa el mismo valor de índice para cada dirección indexada.
• Establezca la palabra de índice al valor offset que desee justo antes de habilitar
una instrucción que use una dirección indexada.

Las instrucciones con un símbolo # en una dirección manipulan el valor offset


almacenado en S:24. Asegúrese de monitorizar o cargar el valor offset que
desee antes de usar una dirección indexada. De lo contrario, la máquina
podría funcionar de una manera inesperada lo que resultaría en daños
posibles al equipo y/o lesiones al personal.

Ejemplo de direccionamiento indexado

El ejemplo siguiente de mover con máscara (MVM) usa una dirección indexada en
las direcciones de fuente y destino. Si el valor offset es 10 (almacenado en S:24), el
procesador manipula los datos almacenados en la dirección de base más el offset.
MVM
MASKED MOVE
Source #N7:10
0
Mask 0033

Dest #N7:50
0

F–13
Preface
Manual de referencia del juego de instrucciones

En este ejemplo, el procesador usa las direcciones siguientes:


Valor: Dirección de base: Valor offset en S:24 Dirección offset:


  

   

Procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401 — Si la dirección
indexada es un archivo de datos de punto (coma) flotante (F8:), el valor offset de
índice en S:24 es el offset en elementos. Si la dirección indexada es un archivo de
datos de cadena (ST), el valor offset de índice en S:24 es el offset en subelementos.
Esto evita que los límites de elemento de cadena sean cruzados.

Note que las instrucciones de archivo (SQO, COP, LFL, por ejemplo) sobrescriben
S;24 cuando se ejecutan. Por eso, usted debe asegurarse que el registro de índice se
cargue con el valor propuesto antes de la ejecución de una instrucción indexada que
sigue a una instrucción de archivo.

Cómo crear datos para direcciones indexadas

Las tablas de datos no se expanden automáticamente para dar lugar a las direcciones
indexadas. Usted debe crear estos datos con la función del mapa de memoria. En el
ejemplo de la página anterior, las palabras de datos N7:3 a N7:12 y N11:6 a N11:15
se deben asignar. El no hacer esto resultará en una condición de sobrescritura no
deseada o un fallo mayor.

Intersección de los límites de archivo

Un valor offset puede extender la operación a una dirección fuera del límite del
archivo de datos. Usted puede permitir o negar el cruce de los límites de archivo.
Si selecciona negar la intersección de los límites de archivo, un error de tiempo de
ejecución ocurre si usa un valor offset que resultaría en la intersección de un límite
de archivo.

Específico para SLC 5/02 — Se le permite seleccionar la intersección de los límites


de archivo solamente si no existen direcciones indexadas en los archivos O: (salida),
I: (entrada) o S: (estado). Esta selección se realiza al momento en que usted guarda
el programa. El orden de archivo desde el comienzo hasta el final es:
• O0:, I1:, S2:, B3:, T4:, C5:, R6:, N7:, x9:, x10: . . .
• x9: y x10: . . . son archivos específicos a la aplicación donde x puede ser
del tipo B, T, C, R, N.

F–14
Organización y direccionamiento de archivo de datos

Procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401 - Cuando un
archivo de datos de cadena indexado se especifica, no se permite que el
direccionamiento indexado se traslape con un límite de elemento de cadena. Un
error de tiempo de ejecución ocurrirá si usted usa un valor offset que resulta en la
intersección de un límite de elemento de cadena.
Nota Si un archivo tiene protección constante, no se permite indexar a través de los
límites de archivo.

Ejemplo

La figura siguiente muestra el offset máximo para la dirección de palabra


#T4:3.ACC cuando se permite o se niega el cruce de los límites de archivo.

B3:0
Negativo
T4:0.ACC máximo
de -3
#T4:3.ACC
#T4:3.ACC
Positivo
T4:9.ACC máximo de 6

Final del archivo


No se permite la intersección de los límites de archivo más alto creado
Se permite la intersección de los límites de aerchivo

La intersección de los límites de archivo no se permite: En el ejemplo anterior, el


elemento con el número más alto en el archivo de datos del temporizador es T4:9.
Esto significa que #T4:3.ACC puede tener un offset negativo máximo de –3 y un
offset positivo máximo de 6.

La intersección de los límites de archivo se permite: El offset negativo máximo


se extiende al comienzo del archivo de datos 3. El offset positivo máximo se
extiende al final del archivo con el número más alto creado.

Cómo monitorizar las direcciones indexadas

El valor de la dirección indexada no se muestra cuando usted monitoriza una


dirección indexada. Por ejemplo, el valor en N7:2 aparece cuando monitoriza la
dirección indexada #N7:2.

F–15

Manual de referencia del juego de instrucciones

Ejemplo

Si la aplicación requiere que usted monitorice los datos indexados, le


recomendamos usar una instrucción MOV para almacenar el valor.

B3 MOV
] [ MOVE
1 Source #N7:2

Dest N10:2

ADD
ADD
Source A #N7:2

Source B T4:0.ACC

Dest T4:1.PRE

          




Instrucciones de archivo

El símbolo # también se requiere para direcciones en las instrucciones de archivo.


Las direcciones indexadas usadas en estas instrucciones de archivo también usan la
palabra S:24 para almacenar un valor offset al momento de finalización de la
instrucción de archivo. Refiérase a la página siguiente para ver una lista de
instrucciones de archivo que usan el símbolo # para el direccionamiento.

Las instrucciones de archivo manipulan el valor offset almacenado en la


palabra S:24. Asegúrese de descargar el valor offset correcto en S:24 antes de
usar una dirección indexada que sigue a una instrucción de archivo. De lo
contrario, podría ocurrir una operación inesperada lo que resultaría en
posibles lesiones personales y/o daños al equipo.

Efectos de interrupciones de programa en el registro de índice S:24

Cuando la operación de programa normal es interrumpida por el manejador de


errores de usuario, por una STI o por una interrupción de E/S, el contenido del
registro de índice S:24 se guarda; luego, cuando la operación de programa normal
se reanuda, el contenido del registro de índice S:24 se restaura. Esto significa que si
usted modifica el valor en S:24 en estas subrutinas de interrupción, el sistema
sobrescribirá esta modificación con el valor original contenido a la entrada en la
subrutina.

F–16
Organización y direccionamiento de archivo de datos

Cómo especificar una dirección indirecta

El direccionamiento indirecto le permite escribir programas de lógica de escalera


menos complicados y le ahorra espacio de memoria. Tiene la opción de usar
direcciones indirectas a nivel de palabra y a nivel de bit cuando usa los procesadores
SLC 5/03 OS302 y SLC 5/04 OS401. Las direcciones de bit indirectas se basan en
la forma de la dirección indirecta y el tipo de instrucción de bit.

Use el direccionamiento indirecto para aplicaciones tal como el indexado de


archivos de lote secuenciales en una operación de lotes múltiples. Por ejemplo, a la
finalización de cada operación, permita que un valor acumulado del contador llame
el próximo archivo de lote tal como:
N10, N11, N12,...N[C5:0.ACC].

Cuando especifique direcciones indirectas, siga estas pautas:


• Usted puede direccionar indirectamente:

– el número de archivo

– el número de palabra (elemento + subelemento)

– el número de bit (en un archivo binario)


• La dirección sustituta puede ser cualquier dirección especificada al nivel de
palabra.
• Introduzca la dirección sustituta entre los corchetes [ ].

Ejemplos

Dirección válida Variable Explicación


El número de palabra es el
N7:[C5:7.ACC] Número de palabra valor acumulador del contador
7 en archivo 5.
El número de bit se almacena
B3/[I:0.17] Número de bit
en la palabra de salida 17.
El número de archivo se
almacena en la dirección de
N[N7:0]:[N9:1] Número de archivo y palabra entero N7:0 y el número de
palabra en la dirección de
entero N9:1.
El número de elemento se
St10:[N7:0].1 Número de elemento
almacena en N7:0.
El número de ranura se
I:[N7:0].1/1 Número de ranura
almacena en N7:0.

F–17

Manual de referencia del juego de instrucciones

Cómo crear datos para direcciones indirectas

Las tablas de datos no se expanden automáticamente para dar lugar a las direcciones
indirectas. Usted debe crear estos datos con la función del mapa de memoria.

Intersección de los límites de archivo

Un valor offset puede extender la operación a una dirección fuera del límite de
archivo de datos. Puede permitir o no permitir la intersección de los límites de
archivo. Si selecciona no permitir la intersección de los límites de archivo, un error
de tiempo de ejecución ocurre si usa un valor offset que resulta en la intersección de
un límite de archivo.

Cómo monitorizar las direcciones indirectas

Un asterisco siempre se muestra cuando se monitoriza una dirección indirecta.

F–18
Organización y direccionamiento de archivo de datos

Instrucciones de archivo de direccionamiento – Cómo usar el indicador de


archivo (#)

Las instrucciones de archivo usan archivos creados por el usuario. Estos archivos
son direccionados con el símbolo #. Almacenan un valor offset en la palabra S:24,
al igual que el direccionamiento indexado tratado en la sección anterior.

 Copiar archivo  (Carga LIFO)*


 Llenar archivo  (Descarga LIFO)*
 Desplazamiento a la izquierda  Salida secuenciador
 Desplazamiento a la derecha  Comparación sec
 (Carga FIFO)*  Carga secuenciador*
 (Descarga FIFO)*
* Disponible en los procesadores SLC 5/02, SLC 5/03 y SLC 5/04.

Si usted usa instrucciones de archivo además del direccionamiento indexado,


asegúrese de monitorizar y/o cargar el valor offset correcto antes de usar una
dirección indexada. De lo contrario, una operación inesperada podría ocurrir
lo que resultaría en posibles lesiones personales y/o daños al equipo.

Los párrafos siguientes explican los archivos creados por el usuario según su
aplicación a las instrucciones de desplazamiento de bit, instrucciones de
secuenciador, instrucciones de copiar archivo y llenar archivo.

Instrucciones de desplazamiento de bit

La figura siguiente muestra un archivo definido por el usuario dentro del archivo de
datos de bit 3. Para este archivo definido por el usuario, usted introduciría los
parámetros siguientes al programar la instrucción:

!      
 


La dirección de la gama de bit
es  
 La longitud de la 
gama de bit es 58, introducida 
 

como parámetro separado en la 
instrucción de desplazamiento NO VALIDO 
de bit.

• #B3:2 La dirección del arreglo de bit. Esto define el bit inicial como bit 0 en el
elemento 2, archivo de datos 3.
• 58 Esta es la longitud del arreglo de bit: 58 bits. Note que los bits
“remanentes” en el elemento 5 no se pueden usar.

F–19

Manual de referencia del juego de instrucciones

Usted puede programar tantos arreglos de bit como desee en un archivo de bit.
Asegúrese de no traslapar estos arreglos.

Instrucciones de secuenciador

La figura siguiente muestra un archivo definido por el usuario dentro del archivo de
datos de bit 3. Para este archivo definido por el usuario, usted introduciría los
parámetros siguientes al programar la instrucción:

     


 

1
2
3
 
 
6 
  



 


La dirección del archivo definido por el usuario es #B3:4.


La longitud del archivo es 6 elementos más allá de la
dirección inicial (los elementos etiquetados 0Ć6 en el diagrama).

• #B3:4 La dirección del archivo. Esto define el elemento inicial como elemento
4, archivo de bit 3.
• 6 La longitud especificada del archivo, 6 elementos más allá de la dirección
inicial (total de 7 elementos).

Puede usar archivos enteros definidos por el usuario o archivos de bit con
instrucciones de secuenciador, según la aplicación. Puede programar un sinnúmero
de archivos dentro de otro archivo. Sin embargo, asegúrese de no traslapar estos
archivos.

F–20
Organización y direccionamiento de archivo de datos

Instrucciones de copiar archivo y llenar archivo

Estas instrucciones manipulan los archivos definidos por el usuario. Los archivos
son usados como parámetros de fuente o destino en las instrucciones de copiar
archivo o llenar archivo. Los archivos pueden ser archivos de salida, entrada,
estado, bit, temporizador, contador, control o enteros. Dos ejemplos se muestran en
la figura siguiente. Note que la longitud del archivo es el número especificado de
elementos del archivo de destino; esto es distinto de la especificación de longitud
del archivo para las instrucciones de secuenciador.

La figura siguiente muestra un archivo definido por el usuario dentro de un archivo


de datos 0 - imagen de salida. Hemos utilizado esta configuración de archivo de
datos con respeto al direccionamiento de E/S en la página F–12. Aquí definimos un
elemento con una longitud de 5 elementos.

Note que para el archivo de salida (además del archivo de entrada), un elemento
siempre es de una palabra, con referencia a la ranura y palabra combinados. Por
ejemplo, el elemento O:3.0 hace referencia al archivo de salida, ranura 3, palabra 0.
Retorna al valor predeterminado de O:3 donde la palabra 0 es implícita.
Archivo de datos 0 - Imagen de salida
 0
NO VALIDO O:1
O:3
NO VALIDO O:4
O:5 #O:3
O:5.1
O:9
O:10

El archivo #O:3 mostrado arriba tiene una longitud de 5 elementos: Elementos 3, 4, 5, 5.1, 9

F–21

Manual de referencia del juego de instrucciones

Constantes numéricas

Usted puede introducir constantes numéricas directamente en muchas de las


instrucciones que programa. El rango de valores para la mayor parte de las
instrucciones es –32,768 a +32,767. Estos valores se pueden mostrar o introducir en
varias raíces. Las raíces que se pueden mostrar son:
• Entero
• Binario
• ASCII
• Hexadecimal

Al introducir valores en un elemento de instrucción o tabla de datos, puede


especificar la raíz de lo que ha introducido usando el operador especial “&”. Las
raíces que se puden usar para introducir datos en un elemento de instrucción o tabla
de datos son:
• Entero (&N)
• Binario (&B)
• ASCII (&A)
• Hexadecimal (&H)
• BCD (&D)
• Octal (&O)

Las constantes numéricas se usan en lugar de los elementos de archivo de datos. No


pueden ser manipuladas por el programa de usuario. Usted debe introducir el editor
de programa fuera de línea para cambiar el valor de una constante.

F–22
Organización y direccionamiento de archivo de datos

Archivos de datos M0 y M1 – Módulos de E/S especiales


Los archivos M0 y M1 son archivos de datos que residen en los módulos de E/S
especiales únicamente. No hay imagen para estos archivos en la memoria del
procesador. La aplicación de estos archivos depende de la función del módulo de
E/S especial en cuestión. Para algunos módulos, el archivo M0 se considera como
archivo de salida de módulo y el archivo M1 se considera como archivo de entrada
de módulo. De todas maneras, los archivos M0 y M1 se consideran archivos de
lectura/escritura por los procesadores SLC 5/02, SLC 5/03 y SLC 5/04.

Los archivos M0 y M1 se pueden direccionar en el programa de escalera y también


el módulo de E/S especial puede actuar sobre estos archivos independientemente del
escán de procesador. Es importante que tenga en mente lo siguiente al crear y
aplicar la lógica de escalera:
Nota Durante el escán de procesador, los datos de M0 y M1 pueden ser cambiados por el
procesador según las instrucciones del diagrama de escalera que direccionan los
archivos M0 y M1. Durante el mismo escán, el módulo de E/S especial puede
cambiar los datos de M0 y M1 independientemente de la lógica de renglón
aplicada durante el escán.

Cómo direccionar los archivos M0–M1

El formato de direccionamiento para los archivos M0 y M1 aparece a continuación:

Mf:e.s/b

Donde M = módulo
f = tipo de archivo (0 ó 1)
e = ranura (1–30)
s = palabra (0 al máx. proporcionado por el módulo)
b = bit (0–15)

Restricciones relativas al uso de las direcciones de archvivo de datos M0-M1

Las direcciones de archivo de datos M0 y M1 se pueden usar en todas las


instrucciones con la excepción de la instrucción OSR y los parámetros de
instrucción mencionados en la tabla siguiente:
Parámetro (usa el indicador de
Instrucción
archivo #)
BSL, BSR Archivo (gama de bit)
SQO, SQC, SQL Archivo (archivo de secuenciador)
LFL, LFU LIFO (pila)
FFL, FFU FIFO (pila)

F–23

Manual de referencia del juego de instrucciones

Cómo monitorizar direcciones de bit

Procesadores SLC 5/02, SLC 5/03 y SLC 5/04 con la monitorización de M0 y M1 inhabilitada

Cuando usted monitoriza un programa de escalera en el modo de marcha o prueba,


las instrucciones de bit siguientes, direccionadas a un archivo M0 ó M1, se indican
como falsas, independientemente de su estado lógico verdadero/falso efectivo.

Mf:e.s Mf:e.s Mf:e.s Mf:e.s Mf:e.s


] [ ]/[ ( ) (L) (U)
b b b b b
f = archivo (0 ó 1)
Cuando usted monitoriza el programa de escalera en el modo de marcha o
prueba, la pantalla APS o HHT no muestra estas instrucciones como
verdaderas cuando el procesador las evalúa como verdaderas.

Procesadores SLC 5/03 y SLC 5/04 con la monitorización de M0 y M1 habilitada

Los procesadores SLC 5/03 y SLC 5/04 le permiten monitorizar el estado real de
cada dirección (o tabla de datos) M0/M1 direccionada. Los caracteres resaltados
aparecen normales cuando se comparan con el otro archivo de datos del procesador.
El rendimiento del SLC 5/03 será disminuido al grado de los datos de pantalla con
referencia a M0/M1. Por ejemplo, si la pantalla tiene solamente un elemento
M0/M1, la disminución será mínima. Si la pantalla tiene 69 elementos M0/M1, la
disminución será significativa.

Si usted necesita mostrar el estado del bit M0 ó M1 direccionado, puede transferir el


estado a un bit de procesador externo. Esto se ilustra en la figura siguiente, donde
un bit de procesador interno se usa para indicar el estado verdadero/falso de un
renglón.

F–24
Organización y direccionamiento de archivo de datos

B3 B3 EQU M0:3.0
] [ ] [ EQUAL ( )
0 1 Source A N7:12 1
Source B N7:3

Este renglón no muestra su estado de renglón verdadero porque la instrucción EQU


siempre se muestra como verdadera y la instrucción M0 siempre se muestra como falsa.

B3 B3 EQU B3
] [ ] [ EQUAL ( )
0 1 Source A N7:12 2
Source B N7:3 M0:3.0
( )
1

La instrucción OTE B3/2 ha sido añadida al renglón. Esta instrucción muestra el


estado verdadero o falso del renglón.

Cómo transferir datos entre los archivos de procesador y archivos M0 ó M1

Según se mencionó anteriormente, el procesador no contiene una imagen del


archivo M0 ó M1. Como resultado, usted debe editar y monitorizar los datos de
archivo M0 y M1 vía instrucciones en el programa de escalera. Por ejemplo, puede
copiar un bloque de datos desde un archivo de datos de procesador hacia un archivo
de datos M0 ó M1 ó viceversa usando la instrucción COP en el programa de
escalera.

Las instrucciones COP siguientes copian datos desde un archivo de bit de


procesador y un archivo entero hacia un archivo M0. Digamos que los datos son
información de configuración que afecta la operación del módulo de E/S especial.

S:1 COP
] [ COPY FILE
15 Source #B3:0
Primero escanee el bit. Dest #M0:1.0
Esto hace este renglón Length 16
verdadero solamente
durante el primer COP
escán después de COPY FILE
entrar en el modo de Source #N7:0
marcha. Dest #M0:1.16
Length 27

La instrucción COP siguiente copia datos desde un archivo de datos M1 hacia un


archivo entero. Este método se usa para monitorizar indirectamente el contenido de
un archivo de datos M0 ó M1 en un archivo de datos de procesador.

F–25

Manual de referencia del juego de instrucciones

COP
COPY FILE
Source #M1:4.3
Dest #N10:0
Length 6

Tiempo de acceso

Durante el escán de programa, el procesador debe obtener acceso a la tarjeta de E/S


especial para leer/escribir los datos M0 ó M1. Este tiempo de acceso se debe añadir
al tiempo de ejecución de cada instrucción que hace referencia a los datos M0 ó M1.
Refiérase al apéndice B en este manual para obtener los tiempos de acceso y un
ejemplo.

Cómo minimizar el tiempo de escán

Usted puede minimizar el tiempo de escán del procesador reduciendo el uso de


instrucciones que direccionan los archivos M0 ó M1. Por ejemplo, la instrucción
XIC M0:2.1/1 se usa en los renglones 1 y 2 de la figura siguiente, lo que añade
aproximadamente 2 ms al tiempo de escán si se usa un procesador de serie B.

M0:2.1 B3
1 ] [ ( )
1 10

B3 M0:2.1 B3
2 ] [ ] [ ( )
12 1 14


               
          !       
        

En los renglones equivalentes de la figura siguiente, la instrucción XIC M0:2.1/1 se


usa solamente en el renglón 1, reduciendo así el tiempo de escán en
aproximadamente 1 ms.

F–26
Organización y direccionamiento de archivo de datos

M0:2.1 B3
1 ] [ ( )
1 10
B3 B3 B3
2 ] [ ] [ ( )
12 10 14

Estos &" #"' $&#$#&#""  operación equivalente a los de la figura A


sustituyendo la instrucción XIC B3/10 con la instrucción XIC M0:2.1/1 en el
renglón 2. El tiempo de escán se reduce en aproximadamente 1 ms
(procesador de serie B).

La figura siguiente ilustra otro método de reducción. La instrucción COP


direcciona un archivo M1, lo que añade aproximadamente 4.29 ms al tiempo de
escán si se usa un procesador de serie B. La reducción del tiempo de escán se
realiza haciendo que este renglón sea verdadero periódicamente, según sea
determinado por el bit de reloj S:4/8. (Los bits de reloj son tratados en el apéndice
B de este manual.) Un renglón como éste se puede usar cuando usted desee
monitorizar el contenido de un archivo M1, sin embargo, no es necesario que la
monitorización sea continua.

S:4 B11 COP


] [ [OSR] COPY FILE
7 0 Source #M1:4.3
S:4/7 hace que el Dest #N10:0
archivo #M1:4.3 actuaĆ Length 6
lice el archivo #N10:0
cada 2.56 segundos.

Cómo capturar los datos de archivo M0–M1

Los dos primero diagramas de escalera en la última sección ilustran un método que
le permite capturar y usar los datos M0 ó M1 según existan en un momento
determinado. En la primera figura, el bit Mo:2.1/1 podría cambiar su estado entre
los renglones 1 y 2. Esto podría obstaculizar la lógica aplicada en el renglón 2. La
segunda figura evita el problema. Si el renglón 1 es verdadero, el bit B3/10 captura
esta información y la coloca en el renglón 2.

En el segundo ejemplo de la última sección, la instrucción COP se usa para


monitorizar el contenido de un archivo M1. Cuando la instrucción se hace
verdadera, las 6 palabras de datos en el archivo #M1:4.3 se capturan tal como
existen en aquel instante y se colocan en el archivo #N10.0.

F–27

Manual de referencia del juego de instrucciones

Módulos de E/S especiales con memoria retentiva

Ciertos módulos de E/S especiales retienen el estado de los datos M0–M1 después
de la desconexión de alimentación eléctrica. Vea el manual del usuario del módulo
de E/S especial. Esto significa que una instrucción OTE con una dirección M0 ó
M1 permanece activada si está activada cuando la alimentación eléctrica se
desconecta. Un renglón de mantenimiento como el ilustrado a continuación no
funcionará como debe si la instrucción OTE fuera no retentiva cuando se interrumpe
la alimentación eléctrica. Si el renglón es verdadero al momento en que la
alimentación eléctrica se desconecta, la instrucción OTE se enclava en vez de
interrumpirse; cuando la alimentación eléctrica se vuelve a conectar, el renglón se
evalúa como verdadero en lugar de falso.

B3 M0:2.1
] [ ( )
0 1

M0:2.1
] [
1

Cuando se usa con un módulo de E/S especial que tiene salidas retentivas, este
renglón puede causar el arranque inesperado durante el encendido.

Usted puede realizar la operación no retentiva desenclavando la salida retentiva con


el bit de primer paso al momento de encendido:

S:1 M0:2.1 Este renglón es


] [ (U) verdadero durante
15 1 el primer escán
después del
B3 M0:2.1 encendido para
] [ ( ) desenclavar
0 1 M0:2.1/1.
M0:2.1
] [
1

F–28
Organización y direccionamiento de archivo de datos

Archivos de datos G – Módulos de E/S especiales


Algunos módulos de E/S especiales usan archivos de G (confiGuración) (indicados
en el manual del usuario específico del módulo de E/S especial). Estos archivos se
pueden considerar como el equivalente en software de los microinterruptores.

Se puede obtener acceso al contenido de los archivos G además de editarlo fuera de


línea bajo la función de configuración de E/S. Usted no puede obtener acceso a los
archivos G bajo la función de archivo de monitor. Los datos que introduce en el
archivo G se pasan al módulo de E/S especial cuando descarga el archivo de
procesador e introduce el modo de marcha REM o cualquiera de los modos de
prueba REM.

La figura siguiente ilustra los tres formatos de datos de archivo G que puede
seleccionar. Las direcciones de palabra comienzan con el identificador de archivo G
y el número de ranura que ha asignado al módulo de E/S especial. En este caso, el
número de ranura es 1. Se han creado dieciseis palabras (direcciones G1:0 a
G1:15).

Archivo G de 16 palabras, ranura de E/S 1, formato decimal


address 0 1 2 3 4 5 6 7 8 9
G1:0 xxxx 0 0 0 0 0 0 0 0 0
G1:10 0 0 0 0 0 0

Archivo de G de 16 palabras, ranura de E/S 1, formato hexadecimal/bcd


address 0 1 2 3 4 5 6 7 8 9
G1:0 xxxx 0000 0000 0000 0000 0000 0000 0000 0000 0000
G1:10 0000 0000 0000 0000 0000 0000

Archivo G de 16 palabras, ranura de E/S 1, formato binario


address 15 data 0
G1:0 xxxx xxxx xxxx xxxx
G1:1 0000 0000 0000 0000
G1:2 0000 0000 0000 0000
G1:3 0000 0000 0000 0000
G1:4 0000 0000 0000 0000
G1:5 0000 0000 0000 0000
G1:6 0000 0000 0000 0000
G1:7 0000 0000 0000 0000
G1:8 0000 0000 0000 0000
G1:9 0000 0000 0000 0000
G1:10 0000 0000 0000 0000
G1:11 0000 0000 0000 0000
G1:12 0000 0000 0000 0000
G1:13 0000 0000 0000 0000
G1:14 0000 0000 0000 0000
G1:15 0000 0000 0000 0000

F–29

Manual de referencia del juego de instrucciones

Cómo editar los datos de archivo G

Los datos en el archivo G se deben editar según la aplicación y los requisitos del
módulo de E/S especial. Usted edita los datos fuera de línea bajo la función de
configuración de E/S únicamente. Con los formatos decimales y
hexadecimales/bcd, edita los datos al nivel de palabra:
• G1:1 = 234 (formato decimal)
G1:1 = 00EA (formato hexadecimal/bcd)
• Con el formato binario, edita los datos al nivel de bit:
G1/19 = 1

Nota La palabra 0 del archivo G está configurada automáticamente por el procesador


según el módulo de E/S especial en cuestión. La palabra 0 no se puede editar.

F–30
Sistemas numéricos

G Sistemas numéricos
Este apéndice:
• contempla los números binarios y hexadecimales
• explica el uso de una máscara hexadecimal para filtrar datos en instrucciones de
programación determinadas

G–1

Manual de referencia del juego de instrucciones

Números binarios
La memoria del procesador almacena números binarios de 16 bits. Como se indica
en la figura siguiente, cada posición en el número tiene un valor decimal, a partir de
la derecha con 20 hasta la derecha con 215.

Cada posición puede ser 0 ó 1 en la memoria del procesador. Un 0 indica un valor


de 0; un 1 indnica el valor decimal de la posición. El valor decimal equivalente del
número binario es la suma de los valores de posición.

Valores decimales positivos

La posición del extremo izquierdo siempre es 0 para los valores positivos. Como se
indica en la figura, esto limita el valor decimal positivo máximo a 32767. Todas las
posiciones son 1 excepto por la posición del extremo izquierdo.

Otros ejemplos:

0000 1001 0000 1110 +28+23+22+2

= 2048+256+8+4+2 = 2318

0010 0011 0010 1000 = 213+29+28+25+23

= 8192+512+256+32+8

= 9000

G–2
Sistemas numéricos

1x2 
 16384
1x213
  8192
1x212   4096
1x211 
2048
1x210  1024
1x2 = 512 512
1x28 = 256 256
1x27 = 128 128
1x26 = 64 64
1x25 = 32 32
1x24 = 16 16
1x23 = 8 8
1x22 = 4 4
1x21 = 2 2
1x20 = 1 1
32767
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0x215 = 0 Esta posición siempre es cero para los números


positivos.

Valores decimales negativos

Se usa la notación de complemento de 2. La posición del extremo izquierdo


siempre es 1 para los valores negativos. El valor decimal equivalente del número
binario se obtiene restando el valor de la posición del extremo izquierdo, 32768, de
la suma de los valores de las otras posiciones. En la figura siguiente, el valor es
32767 – 32768 = 1. Todas las posiciones son 1.

Otro ejemplo:

1111 1000 0010 0011 =

(214+213+212+211+25+21+20) - 2 =

 

 
     

      

Otro método más frecuente y más fácil de calcular un valor es localizar el último1
en la cadena de 1 a partir de la izquierda y restar su valor del valor total de las
posiciones a la derecha de aquella posición. Por ejemplo,

     


           

G–3
Preface
Manual de referencia del juego de instrucciones

1x214 = 16384 16384


1x213 = 8192 8192
1x212 = 4096 4096
1x211 = 2048 2048
1x210 = 1024 1024
1x29 = 512 512
1x28 = 256 256
1x27 = 128 128
1x26 = 64 64
1x25 = 32 32
1x24 = 16 16
1x23 = 8 8
1x22 = 4 4
1x21 = 2 2
1x20 = 1 1
32767
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1x215 = 32768 Esta posición siempre es 1 para los números


negativos.

G–4
Sistemas numéricos

Números hexadecimales
Los números hexadecimales usan caracteres individuales con valores decimales
equivalentes desde 0 hasta 15:

 0 1 2 3 4 5 6 7 8 9 A B C D E F

 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Los valores de posición de los números hexadecimales son potencias de 16, a partir
de 160 a la derecha:

   

Ejemplo

El número hexadecimal 218A tienen un valor equivalente decimal de 8586:

 
 

  
  
  
 
2 1 8 A

Los números hexadecimales y binarios tienen la equivalencia siguiente:

 2 1 8 A  

 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0  

   
   

G–5
Preface
Manual de referencia del juego de instrucciones

Ejemplo

El número decimal –8586 en formas binarias y hexadecimales equivalentes:

Binario 1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 0 = -8586

Hexadecimal D E 7 6 = 56950
(número negativo, -8586)

Número hexadecimal DE76 = 13x163+14x162+7x161+6x160 = 56950. Sabemos


que este es un número negativo porque excede el valor positivo máximo de 32767.
Para calcular su valor, reste 164 (la próxima potencia más alta de 16) de 56950:
56950 – 65536 = –8586.

G–6
Sistemas numéricos

Máscara hexadecimal
Este código de 4 caracteres introducido como parámetro en SQO, SQC y otras
instrucciones para excluir bits seleccionados de una palabra a fin de evitar que la
instrucción opere en los mismos. Los valores hexadecimales se usan en su forma
equivalente binaria según se indica en la figura siguiente. Además, la figura
muestra un ejemplo de un código hexadecimal en la palabra con máscara
correspondiente.

Valor Valor
hex. binario
Código
hexadecimal
 
  0 0 F F
 
 
  
 
  0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
 
9   Palabra con
A   máscara
B  
C 
D  
E 
F 

Los bits de la palabra con máscara que son establecidos (1) pasarán datos desde una
fuente hacia un destino. Los bits restablecidos (0) no lo harán. En el ejemplo
siguiente, los datos en bits 0–7 de la palabra de fuente son pasados a la palabra de
destino. Los datos en bits 8–15 de la palabra de fuente no son pasados a la palabra
de destino.

Palabra fuente 1 1 1 0 1 0 0 1 1 1 0 0 1 0 1 0

Palabra con máscara 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Palabra de destino 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0
(todos los bits son 0
inicialmente)

G–7

Manual de referencia del juego de instrucciones

Aritmética de punto (coma) flotante binario


Los procesadores SLC 5/03 de serie B y SLC 5/04 tienen capacidad para el uso del
punto (coma) flotante. Use el punto (coma) flotante cuando usted desee manipular
números fuera del límite de ±32768 a+32767 ó para una resolución más fina que
una unidad. Por ejemplo, 2.075. La aritmética de punto (coma) flotante no tiene
capacidad para números no normalizados, un número (NaN) e infinito. El límite
válido para un número de punto (coma) flotante es ±3.402824 x 1038 a ±1.1754944
x 10–38.

El ejemplo siguiente muestra la representación de un número de punto (coma)


flotante usando la norma IEEE 754 para el punto (coma) flotante de precisión única.

Esta figura es la representación espacial de los 32 bits en el registro.

exponente fracción
bit de
signo 

donde:
s = signo
x = exponente
m = mantisa

Cuando se convierte a la aritmética de punto (coma) flotante, lo siguiente se debe


ocurrir:

1. El bit de signo se debe establecer. Si el número es positivo, el bit de signo es 0


o desactivado. Si el número es netativo, el bit de signo es 1 ó activado.

2. El exponente se debe normalizar. Haga esto añadiendo siempre +127 al


exponente.

3. La mantisa se debe normalizar. Por ejemplo, el valor binario de 1010.01 es


igual a 1.01001.

4. La fracción se debe extraer de la mantisa. Por ejemplo, la parte fraccionaria de


1.01001 es .01001.

La representación del punto (coma) flotante de 32 bits de 10.25 decimal es igual a:

0 10000010 01001000000000000000000

G–8
Programas de ejemplo de aplicación

HProgramas de ejemplo de aplicación


Este apéndice está diseñado para ilustrar diversas instrucciones descritas
anteriormente en este manual. Los programas de ejemplo de aplicación incluyen:
• la perforadora de papel usando la mayor parte de instrucciones
• el secuenciador impulsado por tiempo usando las instrucciones TON y SQO
• el secuenciador impulsado por evento usando las instrucciones SQC y SQO
• la conexión/desconexión del circuito usando las instrucciones básicas, de flujo
de programa y específicas para la aplicación

Debido a la gran variedad de usos para esta información, el usuario y los


responsables de la aplicación de esta información deben estar satisfechos con
respeto a la utilización de cada aplicación y uso del programa. Bajo ninguna
circunstancia Allen-Bradley Company se responsabilizará ni será responsable de los
daños indirectos o consecuentes que resulten del uso de la aplicación de esta
información.

Las ilustraciones, diagramas y ejemplos que aparecen en este apéndice se presentan


a título de ilustración de los fundamentos del controlador y algunos de los métodos
usados para aplicar los mismos. Especialmente a causa de los muchos requisitos
asociados con cualquier instalación determinada, Allen-Bradley Company no puede
asumir responsabilidad del uso real basado en los usos y aplicaciones ilustrativos.

H–1

Manual de referencia del juego de instrucción

Ejemplo de aplicación de la perforadora de papel


Para obtener una explicación detallada sobre:
• las instrucciones XIC, XIO, OTE, RES, OTU, OTL y OSR, vea el capítulo 1.
• las instrucciones EQU y GEQ, vea el capítulo 2.
• las instrucciones CLR, ADD y SUB, vea el capítulo 3.
• las instrucciones MOV y FRD, vea el capítulo 4.
• las instrucciones JSR y RET, vea el capítulo 5.
• las instrucciones INT y SQO, vea el capítulo 11.
• las instrucciones HSC, HSCL y RAC, vea el capítulo 7.

Esta máquina puede perforar 3 configuraciones diferentes de orificios en manuales


encuadernados. El programa registra el desgaste de brocas y advierte al operador
que la broca se debe reemplazar. La máquina se detiene si la advertencia es
ignorada por el operador.

! 

3"13 I:1/6 3/0 


)".(& 1*,, //. )".(& 1*,, /6
 
 
!)4-#6)&&, '/1
1*,, )".(& &2&3 /,&
!)*$+.&22 *. 
*.

/,& /,&

&726*3$)
:
 

1*,, /-&
 1*,, .''  
1*,, &31"$3  
1*,, /16"1%  

1*,, &03) )/3/7& &2&3 


1*,,&% 
/4.3&1 /,% 
/,&2

4"%1"341&  .$/%&1 ".% 1*5& )/3/7&


  &',&$3/1
/.5&7/1 ."#,& 6*1&% *. 2&1*&2 3/ 3)& 1*5&  
/.5&7/1 1*5& 3"13 3/0 6*1&% *. 2&1*&2 3/ 3)& 1*5&   

H–2
Programas de ejemplo de aplicación

Descripción general de la operación de la perforadora


de papel
Los libros no perforados se colocan en un transportador, el cual los transporta a una
sola broca. Cada libro se desplaza en el transportador hasta alcanzar la primera
posición de perforación. El transportador deja de moverse, la broca desciende y
perfora el primer orificio. Luego, la broca se retrae y el transportdor mueve el
mismo libro a la segunda posición de perforación. El proceso de perforación se
repite hasta obtener la cantidad deseada de orificios en el libro.

Operación del mecanismo del taladro

Cuando el operador presiona el botón de arranque, el motor del taladro se pone en


marcha. Después de que el libro está en la primera posición de perforación, la
subrutina del transportador establece un bit de comienzo de secuencia de la broca y
la broca se mueve lentamente hacia el libro. Cuando la broca ha perforado el libro,
el cuerpo de la broca hace contacto con un interruptor de final de carrera, el cual
causa que la broca se retraiga hacia fuera del libro. Cuando el cuerpo de la broca
está completamente retraído, el cuerpo de la broca hace contacto con otro interruptor
de final de carrera, el cual indica que la broca está en su posición inicial. El
contacto con el segundo interruptor de final de carrera desenclava el bit de comienzo
de secuencia del taladro y causa que el transportador mueva el libro hacia la
próxima posición de perforación.

Operación del transportador

Cuando se presiona el primer botón de arranque, el transportador mueve los libros


hacia adelante. Cuando el primer libro se acerca a la broca, el libro activa un sensor
fotoeléctrico. Este le indica a la máquina dónde se encuentra el borde delantero del
libro. Según la posición del interruptor selector, el transprtador mueve el libro hasta
la primera posición de perforación. El bit de comienzo de secuencia de la broca se
establece y el primer orificio se perfora. Ahora el bit de comienzo de secuencia de
la broca se desenclava y el transportador mueve el mismo libro a la segunda
posición de perforación. El proceso de perforación se repite hasta que se obtenga la
cantidad deseada de orificios en el libro. Luego, la máquina espera hasta que otro
libro interrumpa el hazo de luz del sensor fotoeléctrico y el proceso se repite. El
operador puede cambiar el número de orificios perforados cambiando el interruptor
selector.

H–3

Manual de referencia del juego de instrucción

Cálculo y advertencia de la broca

El programa registra el número de orificios perforados y número de pulgadas de


material que han sido perforadas usando un interruptor preselector rotatorio. El
interruptor preselector rotatorio se establece al espesor del libro por 1/4 pulg. (Si el
libro tiene un espesor de 1 1/2 pulg., el operador posicionaría el interruptor
preselector rotatorio a 6.) Cuando 25,000 pulgadas se han taladrado, la luz piloto de
Cambiar la broca pronto se iluminará. Cuando 25,500 pulgadas se hayan taladrado,
la luz piloto de Cambiar la broca pronto parpadeará. Cuando 26,000 pulgadas se
hayan taladrado, la luz piloto de Cambiar la broca ahora se iluminará y la máquina
se detendrá. El operador cambia las brocas y restablece el contador de desgaste
interno de la broca girando el interruptor de llave de restablecimiento de cambio de
la broca.

H–4
Programas de ejemplo de aplicación

Programa de escalera de la perforadora de papel


Renglón 2:0
Estos renglones pondrán el transportador en movimiento cuando el botón de
arranque se presiona. Sin embargo, hay otras condiciones que se deben cumplir
antes de arrancar el transportador. Estas son: la broca debe estar en su posición
completamente retraída (inicial) y la broca no debe haber sobrepasado su vida
útil máxima. Estos renglones también detendrán el transportador cuando el botón
de detención se presione o cuando la vida útil de la broca se exceda.
| Botón de |Inicio Botón de |cambiar | Enclav. |
| ARRANQUE |broca LS parada |la broca | de MARCHA |
| |AHORA | máquina |
| I:1.0 I:1.0 I:1.0 O:3.0 B3:0 |
|–+––––] [––––––––] [–––––+––––]/[––––––––]/[––––––––––––––––––––––––––( )–––––|
| | 6 5 | 7 6 0 |
| | Enclav. | |
| | de MARCHA | |
| | máquina | |
| | B3:0 | |
| +––––] [––––––––––––––––+ |
| 0 |
Renglón 2:1
| Enclav. Motor |
| de MARCHA de la broca |
| máquina funciona |
| B3:0 O:3.0 |
|––––] [––––––––––––––––––––––––––––––––––––––––––––––––+––––––––––––( )–––––+–|
| 0 | 1 | |
| | Arr./deten.| |
| | transport. | |
| | | |
| | B3:0 O:3.0 | |
| +––[OSR]–––––(L)–––––+ |
| 1 0 |
Renglón 2:2
Detenga el transportador si existen condiciones que desenclavan el bit de
“enclavamiento de MARCHA de máquina”.
| Machine | Conveyor |
| RUN | Start/Stop |
| Latch | |
| B3:0 O:3.0 |
|––––]/[–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
| 0 0 |
Rung 2:3
Este renglón invoca la subrutina de secuencia del taladro. Esta subrutina maneja
la operación de una secuencia de perforación y vuelve a arrancar el transportador
a la finalización de la secuencia de perforación
| +JSR–––––––––––––––+ |
|–––––––––––––––––––––––––––––––––––––––––––––––––––––––––+JUMP TO SUBROUTINE+–|
| |SBR file number 6| |
| +––––––––––––––––––+ |

H–5

Manual de referencia del juego de instrucción

Renglón 2:4
Este renglón invoca la subrutina que registra la cantidad de desgaste en la
broca actual.
| +JSR–––––––––––––––+ |
|–––––––––––––––––––––––––––––––––––––––––––––––––––––––––+JUMP TO SUBROUTINE+–|
| |SBR file number 7| |
| +––––––––––––––––––+ |
Renglón 2:5
Hay alguna lógica de inicialización en la subrutina DII (archivo 4) que se debe
ejecutar antes de la primera interrupción DII. Por lo tanto, este renglón permite
que la DII se inicialice saltando a la subrutina DII cuando el procesador entra
en el modo de MARCHA.
| Primer |
| paso |
| S:1 +JSR–––––––––––––––+ |
|––––] [––––––––––––––––––––––––––––––––––––––––––––––––––+JUMP TO SUBROUTINE+–|
| 15 |SBR file number 4| |
| +––––––––––––––––––+ |
Renglón 2:6
| |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
| |

EL ARCHIVO 3 NO TIENE RENGLONES

H–6
Programas de ejemplo de aplicación

Renglón 4:0
Este renglón restablece los secuenciadores de conteo de orificios cada vez que el
procesador entra en el modo de MARCHA. Esto asegura que el primer valor preselec-
cionado se cargará en la DII preseleccionada durante cada entrada en el modo
de marcha.
| Primer Secuenciador |
| paso preselecc. |
| de 3 orif. |
| +INT––––––––––––––––––––+ S:1 R6:4 |
|–+INTERRUPT SUBROUTINE +––––] [––––––––––––––––––––––––––––––+–––(RES)––––+–|
| +–––––––––––––––––––––––+ 15 | | |
| | Secuenc. | |
| | preselecc. | |
| | de 5 orif. | |
| | R6:5 | |
| +–––(RES)––––+ |
| | | |
| | Secuenc. | |
| | preselecc. | |
| | de 7 orif. | |
| | R6:6 | |
| +–––(RES)––––+ |
| |
Renglón 4:1
Este renglón le indica a la DII que detecte la presencia de un libro en el sensor
fotoeléctrico y un impulso de codificador (encoder). Al dispararse con estas dos
condiciones, la DII solamente contará impulsos cuando haya un libro presente, de
lo contario, no se mantendrá en el número de conteos existente. S:49 es el valor
PRESELECCIONADO de DII.
| +MOV–––––––––––––––+ |
|–––––––––––––––––––––––––––––––––––––––––––––––––––––––––+MOVE +–|
| |Source 5| |
| | | |
| |Dest S:49| |
| | 0| |
| +––––––––––––––––––+ |

H–7

Manual de referencia del juego de instrucción

Renglón 4:2
Este renglón registra el número de orificio que se perfora y carga la próxima DII
correcta preseleccionada según el conteo de orificio. Este renglón está activo
solamente cuando el “interruptor selector de orificio” se encuentra en la posición
de “3 posiciones”. El secuenciador usa el paso 0 como un paso nulo al momento de
restablecimiento. Usa el último paso como “marcha permanente” en espera del “final
del manual”. El mover un 0 en S:49 le indica a la DII que dispare una interrupción
cuando se detecte el borde trasero del libro actual.
| bit de |bit de secuenciador |
| interr. |interr. preseleccionado |
| selector |selector de 3 orificios |
| de orif. 0|de orif. 1 |
| I:1.0 I:1.0 +SQO–––––––––––––––+ |
|––––]/[––––––––] [–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–|
| 9 10 | |File #N10:0+–(DN) | |
| | |Mask FFFF| | |
| | |Dest S:50| | |
| | |Control R6:4| | |
| | |Length 4| | |
| | |Position 0| | |
| | +––––––––––––––––––+ | |
| | | |
| | | |
| | forzar que | |
| | el secuenciador | |
| | incremente al | |
| | próximo escán | |
| | R6:4 | |
| +–––––––––––––––––––––––––(U)––––––––––––––––––––+ |
| | EN | |
| | Si está en | |
| | el último orificio, | |
| | indique a la DII | |
| | que busque el final del libro | |
| | +EQU–––––––––––––––+ +MOV–––––––––––––––+ | |
| +–+EQUAL +–+MOVE +––––––+ |
| |Source A R6:4.POS| |Source 0| |
| | 0| | | |
| |Source B 4| |Dest S:49| |
| | | | 0| |
| +––––––––––––––––––+ +––––––––––––––––––+ |

H–8
Programas de ejemplo de aplicación

Renglón 4:3
Este renglón es idéntico al renglón anterior, excepto que solamente está activo
cuando el “interruptor selector de orificio” está en la posición de
“5 orificios”.
| bit de |bit de secuenciador |
| interr. |interr. preseleccionado |
| selector |selector de 5 orificios |
| de orif. 0|de orif. 1 |
| I:1.0 I:1.0 +SQO–––––––––––––––+ |
|––––] [––––––––]/[–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–|
| 9 10 | |File #N10:5+–(DN) | |
| | |Mask FFFF| | |
| | |Dest S:50| | |
| | |Control R6:5| | |
| | |Length 6| | |
| | |Position 0| | |
| | +––––––––––––––––––+ | |
| | | |
| | forzar que | |
| | el secuenciador | |
| | incremente al | |
| | próximo escán | |
| | R6:5 | |
| +–––––––––––––––––––––––––(U)––––––––––––––––––––+ |
| | EN | |
| | Si está en | |
| | el último orificio, | |
| | indique a la DII | |
| | que busque el final del libro | |
| | +EQU–––––––––––––––+ +MOV–––––––––––––––+ | |
| +–+EQUAL +–+MOVE +––––––+ |
| |Source A R6:5.POS| |Source 0| |
| | 0| | | |
| |Source B 6| |Dest S:49| |
| | | | 0| |
| +––––––––––––––––––+ +––––––––––––––––––+ |

H–9

Manual de referencia del juego de instrucción

Renglón 4:4
Este renglón es idéntico a los 2 renglones anteriores, excepto que solamente está
activo cuando el “interruptor selector de orificio” se encuentra en la posición
de “7 orificios”.
| bit de |bit de secuenciador |
| interr. |interr. preseleccionado |
| selector |selector de 7 orificios |
| de orif. 0|de orif. 1 |
| I:1.0 I:1.0 +SQO–––––––––––––––+ |
|––––] [––––––––] [–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–|
| 9 10 | |File #N10:12+–(DN) | |
| | |Mask FFFF| | |
| | |Dest S:50| | |
| | |Control R6:6| | |
| | |Length 8| | |
| | |Position 0| | |
| | +––––––––––––––––––+ | |
| | forzar que | |
| | el secuenciador | |
| | incremente al | |
| | próximo escán | |
| | R6:6 | |
| +–––––––––––––––––––––––––(U)––––––––––––––––––––+ |
| | EN | |
| | | |
| | Si está en | |
| | el último orificio, | |
| | indique a la DII | |
| | que busque el final del libro | |
| | +EQU–––––––––––––––+ +MOV–––––––––––––––+ | |
| +–+EQUAL +–+MOVE +––––––+ |
| |Source A R6:6.POS| |Source 0| |
| | 0| | | |
| |Source B 8| |Dest S:49| |
| | | | 0| |
| +––––––––––––––––––+ +––––––––––––––––––+ |

H–10
Programas de ejemplo de aplicación

Renglón 4:5
Si el procesador está en esta subrutina por inicialización o debido a la
detección del borde trasero de un manual, retorne y omita la lógica que detiene
el transportador y arranca la secuencia del taladro.
| Primer para comentario |
| paso solamente |
| S:1 B3:0 |
|–+––––] [–––––––––––––––––––––––––––––––––––––+––––––+––––( )–––––––––––––––+–|
| | 15 | | 2 | |
| | | | | |
| | | | | |
| | bit de |bit de | | | |
| | interr. |interr. | | | |
| | selector |selector | | | |
| | de orif. 0|de orif. 1 | | | |
| | I:1.0 I:1.0 +EQU–––––––––––––––+ | | +RET–––––––––––––––+ | |
| +––––]/[––––––––] [–––––+EQUAL +–+ +–+RETURN +–+ |
| | 9 10 |Source A R6:4.POS| | +––––––––––––––––––+ |
| | | 0| | |
| | |Source B 1| | |
| | | | | |
| | +––––––––––––––––––+ | |
| | bit de |bit de | |
| | interr. |interr. | |
| | selector |selector | |
| | de orif. 0|de orif. 1 | |
| | I:1.0 I:1.0 +EQU–––––––––––––––+ | |
| +––––] [––––––––]/[–––––+EQUAL +–+ |
| | 9 10 |Source A R6:5.POS| | |
| | | 0| | |
| | |Source B 1| | |
| | | | | |
| | +––––––––––––––––––+ | |
| | bit de |bit de | |
| | interr. |interr. | |
| | selector |selector | |
| | de orif. 0|de orif. 1 | |
| | I:1.0 I:1.0 +EQU–––––––––––––––+ | |
| +––––] [––––––––] [–––––+EQUAL +–+ |
| 9 10 |Source A R6:6.POS| |
| | 0| |
| |Source B 1| |
| | | |
| +––––––––––––––––––+ |

H–11

Manual de referencia del juego de instrucción

Renglón 4:6
Este renglón detiene el transportador e indica al programa principal (archivo 2)
que inicie una secuencia de perforación. La subrutina de SECUENCIA DE PERFORACION
(archivo de programa 6) restablece el bit de comienzo de secuencia de perforación
y establece el bit de propulsión del transportador (O:3/0) a la finalización
de la secuencia de perforación.
| Comienzo |
| de la sec. |
| de perfor. |
| B3:2 |
|–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––+––––(L)–––––+–|
| | 0 | |
| | Conveyor | |
| | Start/Stop | |
| | | |
| | O:3.0 | |
| +––––(U)–––––+ |
| 0 |
Renglón 4:7
| |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
| |

EL ARCHIVO 5 NO TIENE RENGLONES

H–12
Programas de ejemplo de aplicación

Renglón 6:0
Esta sección de la lógica de escalera controla el movimiento ascendente/descendente
del taladro para la perforadora de libros.
Cuando el transportador posiciona el libro bajo el taladro, el bit de COMIENZO
DE SECUENCIA DE PERFORACION se establece. Este renglón usa este bit para
comenzar la operación de perforación. Puesto que el bit se establece para toda la
operación de perforación, se requiere que la OSR pueda desactivar la señal de
avance para que el taladro pueda retraerse.
| Com. |Subr. perf.| Avance |
| secuencia | OSR | broca |
| perforac. | |
| B3:2 B3:3 O:3.0 |
|––––] [–––––––[OSR]–––––––––––––––––––––––––––––––––––––––––––––––––––(L)–––––|
| 0 0 3 |
Renglón 6:1
Cuando el taladro ha perforado el libro, el cuerpo del taladro accionará el inte-
rruptor de final de carrera de PROFUNDIDAD DE PERFORACION. Cuando esto ocurre,
la señal de AVANCE DEL TALADRO se desactiva y la señal de RETRACCION DEL
TALADRO se activa.
| Prof. Avance |
| perfor. LS broca |
| I:1.0 O:3.0 |
|–+––––] [––––––––––––––––+–––––––––––––––––––––––––––––––––––––+––––(U)–––––+–|
| | 4 | | 3 | |
| | Primer |Origen | | Retracc. | |
| | paso |broca LS | | broca | |
| | S:1 I:1.0 | | O:3.0 | |
| +––––] [––––––––]/[–––––+ +––––(L)–––––+ |
| 15 5 2 |
Renglón 6:2
Cuando el taladro se retrae (después de perforar un orificio), el cuerpo del
taladro accionará el interruptor de fin de carrera de POSICION INICIAL DEL
TALADRO. Cuando esto ocurre, la señal de RETRACCION DE LA BROCA se desactiva, el
bit de COMIENZO DE SECUENCIA DE PERFORACION se desactiva para indicar que el
proceso de perforación se ha finalizado y el transportador se vuelve a arrancar.
| Origen |Retracc. Retracc. |
| broca LS |broca broca |
| I:1.0 O:3.0 O:3.0 |
|––––] [––––––––] [––––––––––––––––––––––––––––––––––+–––––––––––––––(U)–––––+–|
| 5 2 | 2 | |
| | Comienzo | |
| | de sec. | |
| | perforación| |
| | B3:2 | |
| +–––––––––––––––(U)–––––+ |
| | 0 | |
| | Enclav. |Arr./deten.| |
| | de MARCHA |transport. | |
| | máquina | | |
| | B3:0 O:3.0 | |
| +––––] [––––––––(L)–––––+ |
| 0 0 |
Renglón 6:3
| |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
| |

H–13

Manual de referencia del juego de instrucción

Renglón 7:0
Este renglón examina el número de miles de 1/4 pulg. que se han acumulado
durante la vida de la broca actual. Si la broca ha perforado entre 100,000–101,999
incrementos de 1/4 pulg. de papel, la luz de “cambiar la broca” se ilumina
constantemente. Cuando el valor está entre 102,000–103,999, la luz de “cambiar la
broca” parpadea a una velocidad de 1.28 segundo. Cuando el valor alcanza 105,000,
la luz de “cambiar la broca” parpadea y la luz de “cambiar la broca ahora” se
ilumina.
| Miles 100,000 |
| de 1/4 pulg. incrementos |
| de 1/4 pulg. |
| han |
| occurrido |
| +GEQ–––––––––––––––+ B3:1 |
|–––––––+–+GRTR THAN OR EQUAL+–––––––––––––––––––––––––––––––––––––––( )–––––+–|
| | |Source A N7:11| 0 | |
| | | 0| | |
| | |Source B 100| | |
| | | | | |
| | +––––––––––––––––––+ | |
| | Milésimos 102,000 | |
| | de 1/4 pulg. incrementos| |
| | de 1/4 pulg| |
| | han | |
| | ocurrido | |
| | +GEQ–––––––––––––––+ B3:1 | |
| +–+GRTR THAN OR EQUAL+–––––––––––––––––––––––––––––––––––––––( )–––––+ |
| | |Source A N7:11| 1 | |
| | | 0| | |
| | |Source B 102| | |
| | | | | |
| | +––––––––––––––––––+ | |
| | Milésimos cambiar la | |
| | de 1/4 pulg. broca | |
| | AHORA | |
| | +GEQ–––––––––––––––+ O:3.0 | |
| +–+GRTR THAN OR EQUAL+–––––––––––––––––––––––––––––––––––––––( )–––––+ |
| | |Source A N7:11| 6 | |
| | | 0| | |
| | |Source B 105| | |
| | | | | |
| | +––––––––––––––––––+ | |

H–14
Programas de ejemplo de aplicación

| | 100,000 |102,000 cambiar | |


| | incrementos|incrementos la broca | |
| | de 1/4 pulg|de 1/4 pulg pronto | |
| | han |han | |
| | ocurrido |occurrido | |
| | B3:1 B3:1 O:3.0 | |
| +–+–––––––––––––––––––––––] [––––––––]/[––––––––––––––––+––––( )–––––+ |
| | 0 1 | 4 |
| | 100,000 |102,000 |bit de | |
| | increm. de|increm. de|reloj de | |
| | 1/4 pulg |1/4 pulg |marcha | |
| | han |han |libre de | |
| | ocurrido |ocurrido |1.28 seg | |
| | B3:1 B3:1 S:4 | |
| +–––––––––––––––––––––––] [––––––––] [––––––––] [–––––+ |
| 0 1 7 |
Renglón 7:1
Este renglón restablece el número de incrementos de 1/4 pulg. y los miles
de 1/4 pulg. cuando el interruptor de llave de “restablecimiento de cambio de
broca” se activa. Esto debe ocurrir después de cada cambio de broca.
| interr. de llave Miles |
| de restablecimiento de 1/4 pulg |
| de cambio |
| de broca |
| I:1.0 +CLR–––––––––––––––+ |
|––––] [––––––––––––––––––––––––––––––––––––––––––––––+–+CLEAR +–+–|
| 8 | |Dest N7:11| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | incrementos | |
| | de 1/4 pulg | |
| | | |
| | +CLR–––––––––––––––+ | |
| +–+CLEAR +–+ |
| |Dest N7:10| |
| | 0| |
| +––––––––––––––––––+ |
Renglón 7:2
Esta sección describe la entrada del interruptor preselector rotatorio BCD
| bit de com de |
| de sección de |
| interr. pre- |
| selector rotat. |
| B3:1 |
|––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––( )–––––|
| 2 |

H–15

Manual de referencia del juego de instrucción

Renglón 7:3
Este renglón mueve el valor del interruptor preselector rotatorio BCD de un solo
dígito al registro entero interno. Esto se hace para alinear correctamente las
cuatro señales de entrada BCD antes de ejecutar la instrucción de BDC a entero
(FRD). El interruptor preselector rotatorio se usa para permitirle al operador
introducir el espesor del papel que se debe perforar. El espesor se introduce en
incrementos de 1/4 pulg. Esto proporciona un rango de 1/4 pulg. a 2.25 pulg.
| BCD bit 0 |FRD bit 0 |
| I:1.0 N7:14 |
|––––––––––––––––––––––––––––––––––––––––––––––––––––+––––] [––––––––( )–––––+–|
| | 11 0 | |
| | BCD bit 1 |FRD bit 1 | |
| | I:1.0 N7:14 | |
| +––––] [––––––––( )–––––+ |
| | 12 1 | |
| | BCD bit 2 |FRD bit 2 | |
| | I:1.0 N7:14 | |
| +––––] [––––––––( )–––––+ |
| | 13 2 | |
| | BCD bit 3 |FRD bit 3 | |
| | I:1.0 N7:14 | |
| +––––] [––––––––( )–––––+ |
| 14 3 |

H–16
Programas de ejemplo de aplicación

Renglón 7:4
Este renglón convierte el valor del interruptor preselector rotatorio BCD de BCD
en entero. Esto se hace porque el procesador opera en los valores enteros. Este
renglón también “neutraliza el rebote” el interruptor preselector rotatorio para
asegurar que la conversión ocurra solamente en los valores BCD válidos. Note que
los valores BCD inválidos pueden ocurrir mientras que el operador cambia el
interruptor preselector rotatorio BCD. Esto es debido a diferencias de retardo
de propagación del filtro de entrada entre los 4 circuitos de entrada que
proporcionan el valor de entrada BCD.
| bit de valor de
| primer entrada BCD valor BCD de
| paso del escán rebote neutralizado
| anterior
| S:1 +EQU–––––––––––––––+ +FRD–––––––––––––––+ |
|–+––––]/[–––––+EQUAL +–+–––––––––––+FROM BCD +–+––––+––––|
| | 15 |Source A N7:13| | |Source N7:14| | | |
| | | 0| | | 0000| | | |
| | |Source B N7:14| | | 0000| | | |
| | | 0| | |Dest N7:12| | | |
| | +––––––––––––––––––+ | | 1| | | |
| | | Matem. +––––––––––––––––––+ | | |
| | | Bit de Bit de | | |
| | | overflow error | | |
| | | matemático matemático | | |
| | | S:0 S:5 | | |
| | +––––] [––––––––––––––(U)––––––––+ | |
| | 1 0 | |
| | el valor | |
| | de entrada BCD | |
| | de este | |
| | escán | |
| | +MOV–––––––––––––––+ | |
| +––––––––––––––––––––––––––––––––––––––––––––––––––+MOVE +–+ |
| |Source N7:14| |
| | 0| |
| |Dest N7:13| |
| | 0| |
| +––––––––––––––––––+ |
Renglón 7:5
Este renglón asegura que el operador no pueda seleccionar un espesor de papel
de 0. Si eso se permitiera, el cálculo de la vida útil de la broca podría ser
anulado, lo que resultaría en orificios de mala calidad debido a una broca
desgastada. Por lo tanto, el espesor de papel mínimo que se usará para calcular
el desgaste de la broca es 1/4 pulg.
| valor BCD valor BCD |
| de rebote de rebote |
| neutralizado neutralizado |
| +EQU–––––––––––––––+ +MOV–––––––––––––––+ |
|–+EQUAL +––––––––––––––––––––––––––––––––––––+MOVE +–|
| |Source A N7:12| |Source 1| |
| | 1| | | |
| |Source B 0| |Dest N7:12| |
| | | | 1| |
| +––––––––––––––––––+ +––––––––––––––––––+ |

H–17

Manual de referencia del juego de instrucción

Renglón 7:6
Mantenga un total acumulado de cuántas pulgadas de papel han sido perforadas con
la broca actual. Cada vez que un orificio se perfore, añada el espesor (en 1/4
pulg.) al total acumulado (mantenido en 1/4 pulg.). La OSR es necesaria porque la
instrucción SUMA se ejecuta cada vez que el renglón es verdadero y el cuerpo
del taladro accionará el interruptor de final de carrera de PROFUNDIDAD DE
PERFORACION durante más de 1 escán de programa. El entero N7:12 es el valor
de entero convertido del interruptor preselector rotatorio BCD en las entradas
I:3/11 – I:3/14.
| Prof. |Desgaste herr. incrementos |
| perf. LS | OSR 1 de 1/4 pulg. |
| |
| I:1.0 B3:1 +ADD–––––––––––––––+ |
|––––] [–––––––[OSR]––––––––––––––––––––––––––––––––––––––+ADD +–|
| 4 8 |Source A N7:12| |
| | 1| |
| |Source B N7:10| |
| | 0| |
| |Dest N7:10| |
| | 0| |
| +––––––––––––––––––+ |
Renglón 7:7
Cuando el número de incrementos de 1/4 pulg. excede 1000, descrubra cuántos
incrementos han excedido 1000 y almacene en N7:20, añada 1 al total de incrementos
de 1/4 pulg. y vuelva a inicializar el acumulador de incrementos de 1/4 pulg.
a la cantidad de incrementos que había excedido 1000.
| incrementos |
| de 1/4 pulg. |
| |
| +GEQ–––––––––––––––+ +SUB–––––––––––––––+ |
|–+GRTR THAN OR EQUAL+––––––––––––––––––––––––––––––––+–+SUBTRACT +–+–|
| |Source A N7:10| | |Source A N7:10| | |
| | 0| | | 0| | |
| |Source B 1000| | |Source B 1000| | |
| | | | | | | |
| +––––––––––––––––––+ | |Dest N7:20| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | 1/4” | |
| | Thousands | |
| | +ADD–––––––––––––––+ | |
| +–+ADD +–+ |
| | |Source A 1| | |
| | | | | |
| | |Source B N7:11| | |
| | | 0| | |
| | |Dest N7:11| | |
| | | 0| | |
| | +––––––––––––––––––+ | |
| | | |
| | | |

H–18
Programas de ejemplo de aplicación

Renglón 7:8

| | | |
| | incrementos | |
| | de 1/4 pulg. | |
| | +MOV–––––––––––––––– | |
| +–+MOVE +–+ |
| |Source N7:20| |
| | 0| |
| |Dest N7:10| |
| | 0| |
| +––––––––––––––––––+
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|

RESUMEN DE OPCIONES DE INFORME


Asegurar info de ref. X válida: SI
Modo de gráficos NO
Ancho de papel: 80
Largo de papel: 66
Archivo inicial: 2
Archivo final: 7
Línea de potencia: SI
Comentarios de dirección: SI
Visualización de dirección: SI
Comentarios de renglón: SI
Referencias cruzadas de escalera: NINGUNA

H–19

Manual de referencia del juego de instrucción

Ejemplo de aplicación del secuenciador activado por


tiempo
El ejemplo de aplicación siguiente ilustra el uso de las instrucciones TON y SQO en
un semáforo de tráfico en una intersección. Los requisitos de temporización son:
• Luz roja – 30 segundos
• Luz amarilla – 15 segundos
• Luz verde – 60 segundos

Cuando el temporizador alcanza su valor preseleccionado, activa el secuenciador, el


cual, a su vez, controla cuál semáforo de tráfico se ilumina. Para obtener una
explicación detallada de:
• las instrucciones XIC, XIO y TON, vea el capítulo 1.
• las instrucciones SQO y SQC, vea el capítulo 6.

H–20
Programas de ejemplo de aplicación

Programa de escalera de secuenciador activado por


tiempo
Renglón 2:0
La función de este renglón se llama un temporizador regenerativo. Cada vez que el
temporizador alcanza su valor preseleccionado, el bit de EFECTUADO se establece para un
escán – esto causa que este renglón se haga FALSO durante un escán y restablece el
temporizador. En el escán siguiente, cuando este renglón vuelve a hacerse VERDADERO, el
temporizador comienza a temporizar.
| Habilitación Timer |
| del temporizador |
| T4:0 +TON–––––––––––––––+ |
|–––]/[–––––––––––––––––––––––––––––––––––––+TIMER ON DELAY +–(EN)–|
| DN |Timer T4:0+–(DN) |
| |Time Base 0.01| |
| |Preset 1| |
| |Accum 0| |
| +––––––––––––––––––+ |

Renglón 2:1
Controla las luces ROJA, VERDE y AMARILLA cabledas a las salidas O:3/0 – O:3/2 y controla
cuánto tiempo el temporizador regenerativo temporiza entre cada paso. Cuando este renglón
va de falso a verdadero (debido a que el temporizador alcanza su valor preseleccionado),
el primer secuenciador determina cuál luz del semáforo se ilumina y el segundo
secuenciador cambia el valor preseleccionado del temporizador para determinar la duración
de iluminación de esta luz siguiente.
| Luces ROJA, VERDE |
| y AMARILL |
| T4:0 +SQO–––––––––––––––+ |
|––] [––––––––––––––––––––––––––––––––––+–+SEQUENCER OUTPUT +–(EN)–+–|
| DN | |File #N7:0+–(DN) | |
| | |Mask 0007+ | |
| | |Dest O:3.0| | |
| | |Control R6:0| | |
| | |Length 3| | |
| | |Position 0| | |
| | +––––––––––––––––––+ | |
| | Valores preselec. | |
| | para cada luz | |
| | +SQO–––––––––––––––+ | |
| +–+SEQUENCER OUTPUT +–(EN)–+ |
| |File #N7:5+–(DN) |
| |Mask FFFF| |
| |Dest T4:0.PRE| |
| |Control R6:1| |
| |Length 3| |
| |Position 0| |
| +––––––––––––––––––+ |

H–21

Manual de referencia del juego de instrucción

Renglones 2.2
| |
|–––––––––––––––––––––––––––––––––––––+END+–––––––––––––––––––––––––––|
| |

Archivos de datos
Dirección 15 Data 0
N7:0 0000 0000 0000 0000
N7:1 0000 0000 0000 0100
N7:2 0000 0000 0000 0010
N7:3 0000 0000 0000 0001
Tabla de datos
Dirección Datos (Raíz=decimal)
N7:0 0 4 2 1 0 0 6000 1500 3000

H–22
Programas de ejemplo de aplicación

Ejemplo de aplicación del secuenciador activado por


evento
El ejemplo de aplicación siguiente ilustra cómo el bit FD (encontrado) en una
instrucción SQC se puede usar para avanzar una SQO al próximo paso (posición).
Este programa de aplicación se usa cuando es necesario que un orden específico de
eventos ocurra repetidamente. Usando esta combinación, usted puede eliminar las
instrucciones XIO, XIC y otras instrucciones. Para obtener una explicación
detallada de:
• las instrucciones XIC, XIO y RES, vea el capítulo 1.
• las instrucciones SQO y SQC, vea el capítulo 6.

H–23

Manual de referencia del juego de instrucción

Programa de escalera de secuenciador activado por


eventos
Renglón 2:0
Asegura que la SQO siempre se restablezca al paso (posición) 1 durante cada entrada en el
modo de marcha REM. (En realidad, este renglón restablece la posición del registro de
control y el bit de habilitación EN a 0. Por eso, el renglón siguiente observa una
transición de falso a verdadero y afirma el paso (posición) 1 en el primer escán.)
Elimine este renglón por la operación retentiva.
| S:1 R6:0 |
|––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––(RES)––––|
| 15 |
| |

Renglón 2:1
La instrucción SQC y la instrucción SQO comparten el mismo registro de control. Esto se
permite gracias a la planificación cuidadosa de la condición del estado de renglón. Usted
podría poner en cascada (bifurcar) muchas más instrucciones SQO bajo la SQO si así lo
deseara, y todas las instrucciones usarían el mismo registro de control (en este caso,
R6:0). Note que comparamos solamente las entradas 0–3 y afirmamos solamente las salidas
0–3 (según el valor con máscara).
| R6:0 +SQC–––––––––––––––+ |
|––]/[––––––––––––––––––––––––––––+–––––––+SEQUENCER COMPARE +–(EN)–+–|
| FD | |File #N7:0+–(DN) | |
| | |Mask 000F+–(FD) | |
| | |Source I:1.0| | |
| | |Control R6:0| | |
| | |Length 9| | |
| | |Position 2| | |
| | +––––––––––––––––––+ | |
| | R6:0 +SQO–––––––––––––––+ | |
| +––]/[––+SEQUENCER OUTPUT +–(EN)–+ |
| FD |File #N7:10+–(DN) |
| |Mask 000F| |
| |Dest O:3.0| |
| |Control R6:0| |
| |Length 9| |
| |Position 2| |
| +––––––––––––––––––+ |
Renglón 2.2
| |
|–––––––––––––––––––––––––––––––––––––+END+–––––––––––––––––––––––––––|
| |

H–24
Programas de ejemplo de aplicación

Lo siguiente muestra los DATOS DE ARCHIVO para ambos secuenciadores. Los datos de
comparación SQC comienzan a N7:0 y terminan en N7:9. En cambio, los datos de salida SQO
comienzan en N7:10 y terminan en N7:19. Por favor, note que el paso 0 de la SQO nunca
está activo. El renglón de restablecimiento combinado con la lógica de renglón de los
secuenciadores garantiza que los secuenciadores siempre comiencen en el paso 1. Ambos
secuenciadores también “avanzan” al paso 1. El “avance” al paso 1 es un elemento integral
de todas las instrucciones de secuenciador.
Datos de comparación SQC
Direccciones Datos (Raíz=decimal)
N7:0 0 1 2 3 4 5 6 7 8 9
N7:10 0 0 1 2 3 4 5 6 7 8
Renglón 2:6
Si el contador de alta velocidad alcanzó su valor alto preseleccionado de 350 (indica que
el área de retención alcanzó la capacidad máxima), activará O:0/0, lo que detendría la
operación de llenado. Antes de volver a arrancar el dispositivo de llenado, permita que
el empacador vacíe el área de retención hasta que contenga aproximadamente un 1/3 de su
capacidad.
| Interrupción Detención |
| HSC debido de llenado |
| a valor preselecc alto |
| |
| C5:0 +LES–––––––––––––––+ O:3 |
|––––] [–––––+LESS THAN +––––––––––––––––––––––+––––(U)–––––+–|
| IH |Source A C5:0.ACC| | 0 | |
| | 0| | | |
| |Source B 150| | | |
| | | | | |
| +––––––––––––––––––+ | | |
| | HSC Interr | |
| | due to | |
| | High Prest | |
| | | |
| | C5:0 | |
| +––––(U)–––––+ |
| IH |

H–25

Manual de referencia del juego de instrucción

Ejemplo de aplicación de activación/desactivación del


circuito
El ejemplo de aplicación siguiente ilustra cómo usar una entrada para alternar una
salida a la posición de activación o desactivación. Para obtener una explicación
detallada de:
• las instrucciones XIC, XIO, OTE, OTU, OTL y OSR, vea el capítulo 1.
• las instrucciones JMP y LBL, vea el capítulo 5.

H–26
Programas de ejemplo de aplicación

Programa de escalera de activación/desactivación del


circuito
Renglón 2:0
Efectúa un solo evento desde el botón pulsador de entrada hasta un bit interno – el bit
interno es verdader durante un solo escán. Esto evita alternar la salida física en caso
de que el botón pulsador se mantenga en la posición “ACTIVADA” durante más de un escán
(siempre es el caso).
| entrada de |OSR #1 | botón puls. |
| botón puls.| | falso a |
| | verdadero |
| I:1 B3 B3 |
|––––] [–––––––[OSR]––––––––––––––––––––––––––––––––––––––––––( )–––––|
| 0 1 0 |
Renglón 2:1
Si la entrada del botón pulsador ha ido de falso a verdadero y la salida está
DESACTIVADA, ACTIVE la salida y salte el renglón siguiente al resto de los programas. Si
la instrucción JMP no existiera, el renglón siguiente sería verdadero y volvería a
DESACTIVAR la salida.
|botón puls.|Alternar Alternar |
| falso a |salida salida |
| verdadero | |
| B3 O:3 O:3 |
|––––] [––––––––]/[––––––––––––––––––––––––––––––––––––+––––(L)–––––+–|
| 0 0 | 0 | |
| | Pasar al | |
| | resto del | |
| | programa | |
| | 1 | |
| +–––(JMP)––––+ |
| |
Renglón 2:2
Si el botón pulsador ha ido de falso a verdadero y la salida está ACTIVADA, DESACTIVA la
salida.
|botón puls.|Alternar Alternar |
| falso a |salida salida |
| verdadero | |
| B3 O:3 O:3 |
|––––] [––––––––] [–––––––––––––––––––––––––––––––––––––––––––(U)–––––|
| 0 0 0 |
Renglón 2:3
Contiene la etiqueta correspondiente a la instrucción de salto en el renglón 1. El resto
del programa mismo se colocaría bajo este renglón.
| Pasar al | Bit ficticio |
| resto del | |
| programa | |
| 1 B3 |
|–––[LBL]–––––––––––––––––––––––––––––––––––––––––––––––––––––( )–––––|
| 2 |
Renglón 2:4
| |
|––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––|
| |

H–27

Manual de referencia del juego de instrucción

H–28
Indice

Indice
Números archivo de contador (C5:), F-4
archivo de control (R6:), 1-6, F-4
1746-BAS, 12-6
archivo de datos de entrada (I1:), 1-3
1747-CP3, 12-19
archivo de datos de estado (S2:), F-3
1747-KE, 12-6
archivo de datos de salida (O0:), 1-3
1770-KF3, 12-6
archivo de entrada (I:), F-3
1784-KR, 12-6
archivo de estado, B-1
1785-KA5, 12-6 convenciones usadas en las pantallas, B-5
2760-RB, 12-6 descripción general, A-2
descripciones, A-3
A archivo de estado (S2:), 1-4
Absoluto (ABS), 3-24 archivo de estado global (S:100 a S:163), B-74
instrucción matemática, 3-24 archivo de punto (coma) flotante (F8:), 3-5
acceso a archivos del procesador archivo de salida (O:), F-3
encendido, F-7
operación normal, F-6 archivo de temporizador (T4:), F-4
acoplador de vínculo 1747-AIC, 12-27 archivo entero (N7:), 1-7, F-4
Active la salida (OTE), 1-10 archivos de datos, F-3
instrucciones básicas, 1-10 organización, F-3
tipos, indicador de archivo (#), F-19
Actualización del acumulador del contador de
alta velocidad, 7-24 archivos de datos G, F-29
cómo editar los datos de archivo G, F-30
Acumulador de restablecimiento del contador
de alta velocidad (RAC), 7-22 archivos de datos M0 y M1, F-23
cómo introducir parámetros, 7-22 cómo capturar los datos de archivo M0-M1,
operación, 7-22 F-27
cómo minimizar el tiempo de escán, F-26
acumulador DII (S:52), B-72 cómo transferir datos entre los archivos de
almacenamiento de archivos del procesador procesador, F-25
apagado, F-6 módulos de E/S especiales con memoria
descarga, F-5 retentiva, F-28
encendido, F-7 archivos de procesador
Añadir (ADD), 3-6 descripción general, F-2
instrucciones matemáticas, 3-6 organización, F-2
archivo ASCII, 10-4 archivos de programa, F-2
archivo de bit (B3:), 1-5, F-4 archivos del proceador, almacenamiento y
acceso, descarga, F-5
archivo de cadena, 10-4

I–1

Manual de referencia del juego de instrucción

archivos del procesador bit de control DTR (canal 0) (S:33/14), B-64


almacenamiento y acceso, F-4 bit de correspondencia incorrecta de
apagado, F-6 contraseñas de módulo de memoria
encendido, F-7 (S:5/9), B-30
operación normal, F-6
descripción general bit de ejecución de interrupción (S:2/2), B-18
archivos de datos, F-3 bit de ejecución DII (S:2/13), B-21
archivos de programa, F-3
bit de error de registro de control (S:5/2),
Arco conseno (ACS), instrucción matemática, B-28
3-29
bit de error mayor detectado durante la
Arco coseno (ACS), 3-29 ejecución de rutina de fallo de usuario
(S:5/3), B-29
Arco seno (ASN), 3-28
instrucción matemática, 3-28 bit de error mayor detenido (S:1/13), B-15
Arco tangente (ATN), 3-29 bit de error menor (S:5), B-27
instrucción matemática, 3-29 bit de fallo de protección de encendido (S:1/9),
aritmética de punto (coma) flotante binario, B-9
G-8 bit de forzados DTR (canal 0) (S:33/15), B-64
bit de forzados habilitados (S:1/5), B-9
B
bit de forzados instalados (S:1/6), B-9
base de tiempo del temporizador, 1-15
bit de guardado con prueba de un solo paso
bit de acarreo (S:0/0), B-6 habilitado (S:2/4), B-19
bit de acceso negado (S:1/14), B-16 bit de habilitación de tabla de nodo activo
bit de alternador de escán (S:33/9), B-61 DH+ (S:34/1), B-65
bit de anulación de fallo al encendido (S:1/8), bit de habilitación del indicador matemático
B-9 de punto (coma) flotante (S:34/2), B-65
bit de arranque del módulo de memoria bit de interrupción por overflow (S:5.0), B-28
(S:5/8), B-30 bit de interrupción por overflow, S:5/0, 3-4
bit de batería baja (S:5/11), B-30 bit de interrupción temporizada seleccionable
bit de carga de módulo y marcha (S:1/12), habilitada (S:2/1), B-18
B-13 bit de interrupción temporizada seleccionable
bit de cero (S:0/2), B-7 pendiente (S:2/0), B-17
bit de comando de mensaje de salida bit de límite de archivo de dirección de índice
pendiente DH-485 (S:2/7), B-20 (S:2/3), B-18
bit de comando entrante pendiente DH-485 bit de M0-M1 indicados en ranura
(S:2/5), B-19 inhabilitada (S:5/4), B-29
bit de comunicaciones activas (S:1/7), B-9 bit de overflow (S:0/1), B-6
bit de control de latencia de interrupción bit de overflow de interrupción temporizada
(S:33/8), B-61 seleccionable (S:5/10), B-30

I–2
Indice

bit de overflow DII (S:5/12), B-31 Carga de secuenciador (SQL), 6-14


bit de primer paso (S:1/15), B-17 instrucción específica de aplicación, 6-14

bit de reconfiguración DII (S:33/10), B-62 Carga del contador de alta velocidad (HSL),
7-18
bit de respuesta de mensaje pendiente cómo introducir parámetros, 7-18
DH-485 (S:2/6), B-19 operación, 7-18
bit de selección de overflow matemático Carga FIFO (FFL), 4-30
(S:2/14), B-22 instrucción FIFO, 4-30
bit de selección de overflow matemático Carga LIFO (LFL), 4-32
S:2/14, 3-8 instrucción de desplazamiento de bit, 4-32
bit de selección de resolución STI (S:2/10), Codificar (ENC), 4-13
B-21 actualizaciones de los bits de estado
bit de selección de servicio de comunicaciones aritmético, 4-14
DH-485 (S:2/15), B-23 instrucción de manejo de datos, 4-13
bit de signo (S:0/3), B-7 Codificar 1 de 16 a 4 (ENC), 4-13
bit de transferencia inhabilitada (S:34), B-65 cómo introducir parámetros, 4-13

bit DII habilitado (S:2/12), B-21 código de fallo de error mayor (S:6), B-33

bit DII pendiente (S:2/11), B-21 código de suspensión/archivo de suspensión


(S:7 y S:8), B-44
bits de estado de instrucción ASCII, 10-6
códigos de error, 13-4
Borrado del búfer ASCII de recepción y/o instrucción MSG, 8-30
transmisión (ACL), 10-11 instrucciones ASCII, 10-29
instrucción ASCII, 10-11
códigos de error de instrucción ASCII, 10-29
Borrar (CLR), 3-14
instrucción matemática, 3-14 códigos de error de instrucción de mensaje,
8-30
Búsqueda de cadena (ASC), 10-22
comando de entrada pendiente (canal 0)
instrucción ASCII, 10-22
(S:33/0), B-58
byte de tiempo de escán de control (watchdog)
comando de mensaje saliente pendiente (canal
(S:3H), B-26
0) (S:33/2), B-59
cómo anidar archivos de subrutina, 5-5
C
cómo capturar los datos de archivo M0-M1,
Cadena a entero (ACI), 10-10 F-27
instrucción ASCII, 10-10
cómo crear datos para direcciones indexadas,
Calcular (CPT), 3-25 F-14
instrucción matemática, 3-25
cómo especificar direcciones lógicas, usando
canal 0 de nodos activos DH-485 (S:67 a los mnemónicos, F-9
S:68), B-74
cómo estimar el tiempo de escán, D-1
canal 1 de nodos activos DH+ (S:83 a S:86), ciclo de operación del procesador, D-2
B-74 hojas de trabajo, D-8

I–3

Manual de referencia del juego de instrucción

latencia de interrupción, D-4 comunicación PLC-5 a SLC 500, instrucción


tiempos de acceso para los datos M0/M1, de mensaje PLC-5, 12-15
D-3 comunicaciones activas (canal 0) (S:33/4),
cómo introducir B-59
constantes numéricas, F-22 Comunicaciones de servicio (SVC), 8-60
valores, F-22 instrucción de comunicación (5/02
como localizar y corregir fallos, errores de ida solamente), 8-60
a marcha, 13-12 Concatenado de cadenas (ACN), 10-12
cómo localizar y corregir fallos, 13-1 instrucción ASCII, 10-12
cómo borrar fallos configuración de canal
automáticamente, 13-1 esclavo half duplex DF1, 12-24
manualmente, 13-3 full duplex DF1, 12-20
errores de E/S, 13-19 maestro half duplex DF1, 12-25
errores de encendido, 13-4 protocolo de comunicación ASCII, 12-38
errores de instrucción de programa de
usuario, 13-17 configuración de canal de full duplex DF1,
errores de marcha, 13-13 12-20
LED de procesador, 13-23 configuración de canal del esclavo de
cómo monitorizar las direcciones indexadas, half-duplex DF1, 12-24
F-15 configuración de los procesadores LSC 5/03 y
Comparación con máscara para igual (MEQ), SLC 5/04, configuración del canal maestro
2-6 half duplex DF1, 12-25

comparación con máscara para igual (MEQ), configuración de los procesadores SLC 5/03 y
instrucción de comparación, 2-6 SLC 5/04
configuración de canal ASCII genérico,
Comparación de cadena ASCII (ASR), 10-23 12-38
instrucción ASCII, 10-23 configuración del canal de esclavo half
comparación de programa de módulo de duplex DF1, 12-24
memoria (S:2/9), B-20 configuración del canal de maestro half duplex
Comparación de secuenciador (SQC), 6-9 DF1, 12-25
instrucción específica de aplicación, 6-9 configuracón de los procesadores SLC 5/03 y
comunicación bidireccional, 12-31 SLC 5/04, configuración de canal full
duplex DF1, 12-20
comunicación de PLC-5 a SLC 500, 12-14
cómo usar el archivo CIF SLC 500 consideraciones cuando usa el half duplex
(emulación PLC-2), 12-15 DF1, 12-30
usando la instrucciión de mensaje PLC-5 constantes de programa, F-22
con "byte", 12-16
constantes numéricas, F-22
usando la instrucción de mensaje PLC-5
con "byte", ejemplo, 12-17 contador bidireccinoal, descripción general,
usando la instrucción de mensaje PLC-5 7-7
con "palabra", 12-16 contador bidireccional, operación, 7-11
ejemplo, 12-17

I–4
Indice

contador bidireccional con encoder de Conteo progresivo (CTU), 1-27


cuadratura
Conteo progresivo (CTU), 1-26, 1-27
descripción general, 7-7
instrucción de contador, 1-27
operación, 7-15
uso de los bits de estado, 1-27
contador bidireccional con restablecimiento y
Conteo regresivo (CTD), 1-28
retención
uso de los bits de estado, 1-28
descripción general, 7-7
operación, 7-11 controlador, archivo de estado, A-2
contador bidireccional con restablecimiento y Convertir de BCD (FRD), 4-6
retencion con encoder de cuadratura, instrucción de manejo de datos, 4-6
operación, 7-15
Convertir en BCD (TOD), 4-3
contador bidireccional con restablecimiento y instrucciones de manejo de datos, 4-3
retención con encoder de cuadratura,
descripción general, 7-7 Copiar (COP), 4-15
instrucción de manejo de datos, 4-15
Contador de alta velocidad (HSC), 1-29, 7-6
cableado, 7-7 Copiar archivo (COP), uso, 4-15
cómo introducir parámetros, 7-6 Coseno (COS), 3-30
ejemplo de aplicación, 1-32 instrucción matemática, 3-30
ejemplos de aplicación, 1-33
estructura de direccionamiento, 1-31
lo que ocurre cuando pasa al modo de
D
marcha REM, 7-25 Descarga FIFO (FFU), 4-30
tipos de, 7-7 instrucción FIFO, 4-30
contador bidireccional, 7-10 Descarga LIFO (LFU), 4-32
contador bidireccional con instrucción de desplazamiento de bit, 4-32
restablecimiento y retención, 7-10
contador bidireccional con Descodificar (DCD), 4-12
restablecimiento y retención con instrucción de manejo de datos, 4-12
encoder de cuadratura, 7-14 descripción de la organización del archivo,
contador progresivo, 7-8 F-2
contador progresivo con restablecimiento cómo especificar direcciones indexadas,
y retención, 7-8 F-13
contador progresivo cómo usar el indicador de archivo (#),
descripción general, 7-7 F-19
operación, 7-8 descripción general del procesador, F-2
contador progresivo con restablecimiento y descripción general
retencion, operación, 7-8 instrucciones del contador de alta velocidad,
7-3
contador progresivo con restablecimiento y instrucciones FIFO y LIFO, 4-28
retención, descripción general, 7-7
descripciones de la organización del archivo,
contadores constantes numéricas, F-22
cómo funcionan los contadores, 1-26
contadores de direccionamiento, 1-24 Desenclavamiento de salida (OTU), 1-11

I–5

Manual de referencia del juego de instrucción

desenclavamiento de salida (OTU), uso, 1-11 Entero a cadena (AIC), 10-16


Desplazamiento de bit derecho (BSR), 6-5 instrucción ASCII, 10-16
instrucción de desplazamiento de bit, 6-5 entrada de encoder de cuadratura, 7-14
Desplazamiento de bit izquierdo (BSL), 6-5 Entrada inmediata con máscara (IIM), 5-12
instrucción de desplazamiento de bit, 6-5 instrucción de flujo de programa, 5-12
diagrama de temporización ASCII, 10-19 errores
diagramas de temporización descarga, A-15
ASCII, 10-19 encendido, 13-4
instrucción de mensaje (SLC 5/02), 8-7 ida a marcha, 13-12
instrucción de mensaje (SLC 5/03 y SLC marcha, 13-13, A-14, A-15
5/04), 8-26 programa de usuario, 13-17

DII perdido (S:36/8), B-67 errores de E/S, 13-19

dirección de nodo (S:15L), B-48 errores de encendido, 13-4

direccionamiento errores de ida a marcha, 13-12


indexado, F-13 errores de marcha, 13-13
usando mnemónicos, F-9
errores de programa de usuario, 13-17
direccionamiento de E/S para un controlador
Escala con parámetros, instrucción
fijo, F-10
matemática, 3-15
direccionamiento de E/S para un controlador
Escala con parámetros (SCP), 3-15
modular, F-12
Escala de datos (SCL), 3-18
direccionamiento directo, E-2
instrucción matemática, 3-18
direccionamiento indexado, 2-2, 3-3, E-2,
F-13 Escritura ASCII (AWT), 10-27
cómo especificar, F-13 instrucción ASCII, 10-27
ejemplo, F-13 Escritura ASCII con anexo (AWA), 10-24
direccionamiento indirecto, 2-2, 3-4, 4-19, indirección en línea, 10-26
E-2 instrucción ASCII, 10-24

Dividir (DIV), 3-12 estado de edición en línea (S:33/11 y S:33/12),


instrucción matemática, 3-12 B-63

División doble (DDV), 3-13 estado de selección (canal 0) (S:33/3), B-59


instrucción matemática, 3-13 Etiqueta (LBL), 5-3
cómo introducir parámetros, 5-3
E uso, 5-4
Examine si abierto (XIO), 1-9
ejecución de interrupción de E/S (S:32), B-58
instrucción básica, 1-9
ENC, codificar 1 de 16 a 4, 4-13
Examine si cerrado (XIC), 1-9
Enclavamiento de salida (OTL), 1-11 instrucción básica, 1-9
enclavamiento de salida (OTL), uso, 1-11 Extracción de cadena (AEX), 10-13
instrucción ASCII, 10-13

I–6
Indice

información de comunicación
F comunicación de PLC-5 a SLC 500, 12-14
Fin temporal (TND), 5-10 cómo usar el archivo CIF SLC 500
instrucción de flujo programa, 5-10 (emulación PLC-2), 12-15
instrucción de mensaje PLC-5, 12-15
FRD (convertir de BCD), 4-6
usando la instrucción de mensaje con
FRN del sistema de operación (S:59), B-73 "palabra", 12-16
usando la instrucción de mensaje PLC-5
G con "byte", 12-16
protocolo de comunicación de Data Highway
Grados en radianes (RAD), 4-11 Plus, 12-7
instrucción de manejo de datos, 4-11 protocolo de comunicación RS-232, full
duplex, 12-19
H protocolo de comunicación RS-232 (DF1),
12-19
Habilitación de interrupción del contador de full duplex, ejemplos, 12-19
alta velocidad (HSE), 7-23 protocolo maestro/esclavo de half-duplex
Habilitación de interrupción del contador de DF1, 12-23
alta velocidad (HSE), uso de HSE, 7-23 Inhabilitación (HSD) de interrupción del
operación, 7-23 contador de alta velocidad (HSD), 7-23
Habilitación temporizada seleccionable (STE), Inhabilitación de interrupción de E/S (IID),
11-16 11-37
instrucción de interrupción, 11-16 instrucción de interrupción de E/S, 11-37
habilitaciones de ranuras de E/S (S:11 y S:12), Inhabilitación de interrupción del contador de
B-45 alta velocidad (HSD), uso de HSD, 7-24
HSD, Inhabilitación (HSD) de interrupción operación, 7-24
del contador de alta velocidad, 7-23 Inicio temporizado seleccionable (STS), 11-18
HSE, Habilitación de interrupción del instrucción de interrupción, 11-18
contador de alta velocidad, 7-23 instrucción de mensaje (procesador SLC 5/02),
HSL, Carga del contador de alta velocidad 8-3
(HSL), 7-18 instrucción MSG, 12-19
instrucción MSG para procesador 5/02,
I instrucción de comunicación, 8-3
Igual (EQU), 2-3 instrucción MSG para SLC 5/03 y SLC 5/04,
instrucción de comparación, 2-3 ejemplos de configuración, 8-32
indicador de archivo (#), F-19 instrucción proporciona integral derivativa
indicadores aritméticos (S:0), B-6 (PID), escala PID y E/S analógicas, uso de
la instrucción SCP, 9-15
índice de funcionabilidad del programa (S:64),
B-73 instrucción proporcional integral derivativa
(PID), 9-1
indirección en línea, 10-26 configuración del bloque de control, 9-11
el concepto PID, 9-2

I–7

Manual de referencia del juego de instrucción

errores de tiempo de ejecución, 9-12 Comparación con máscara para igual


escala PID y E/S analógicas, 9-14 (MEQ), 2-6
indicadores de instrucción PID, 9-9 en el ejemplo de aplicación de la
la ecuación PID, 9-3 perforadora de papel, 2-9
Igual (EQU), 2-3
instrucción proporcional integral derivativa
Mayor o igual que (GEQ), 2-5
(PID0
Mayor que (GRT), 2-5
escala PID y E/S analógicas, uso de la
instrucción SCL, 9-14 Menor o igual que (LEQ), 2-4
notas de aplicación, 9-18 Menor que (LES), 2-4
No igual (NEQ), 2-3
instrucción proporcional integral proporcional prueba de límite (LIM), 2-7
(PID), sintonización PID, 9-25
instrucciones de comunicacion,
instrucciones ASCII Comunicaciones de servicio (SVC), 8-60
Borrado del búfer ASCII de recepción y/o
transmisión (ACL), 10-11 instrucciones de comunicación, 8-1
Búsqueda de cadena (ASC), 10-22 códigos de error, 8-30
Cadena a entero (ACI), 10-10 instrucción de mensaje, ilustración de los
Comparación de cadena ASCII (ASR), mensajes remotos, 8-53
10-23 instrucción de mensaje (5/02 solamente),
Concatenado de cadenas (ACN), 10-12 8-3
diagrama de temporización, 10-19 cómo introducir parámetros, 8-5
Entero a cadena (AIC), 10-16 configuración del bloque de control, 8-9
Escritura ASCII (AWT), 10-27 diagrama de temporización, 8-7
Escritura ASCII con anexo (AWA), 10-24 ejemplos de aplicación, 8-15
Extracción de cadena (AEX), 10-13 opciones de configuración,
lectura/escritura de dispositivos
Lectura ASCII de línea (ARL), 10-20
semejantes en una red local a otro
Lectura de caracteres ASCII (ARD), 10-17 procesador SLC 500, 8-5
Líneas de comunicación (AHL), 10-14 uso de los bits de estado, 8-6
Número de caracteres en búfer (ACB), 10-8 instrucción de mensaje (5/03 solamente), bits
Prueba de búfer por línea (ABL), 10-7 del archivo de estado relacionados,
uso de cadenas, 10-4 8-19
instrucciones básicas, 1-2 instrucción de mensaje (procesador SLC
acerca de las, 1-2 5/02), opciones de configuración, 8-5
Active la salida (OTE), 1-10 lectura/escritura de dispositivos
Desenclavamiento de salida (OTU), 1-11 semejantes en una red local a un
en el ejemplo de aplicación de la 485CIF (emulación PLC2), 8-5
perforadora de papel, 1-35 instrucción de mensaje (procesadores LSC
Enclavamiento de salida (OTL), 1-11 5/03 y SLC 5/04), opciones de
Examine si abierto (XIO), 1-9 configuración, lectura/escritura local a
Examine si cerrado (XIC), 1-9 un 485CIF, 8-20
un frente ascendente (OSR), 1-12 instrucción de mensaje (procesadores SLC
5/03 y SLC 5/04), opciones de
un frente ascendente (OSR), 1-12
configuración
instrucciones de comparación, 2-1, 2-2 lectura/escritura local a otro procesador
acerca de las, 2-2 SLC 500, 8-20

I–8
Indice

lectura/escritura local a un procesador instrucciones de flujo de programa


PLC-5, 8-20 Entrada inmediata con máscara (IIM), 5-12
lectura/escritura remota a otro procesador Fin temporal (TND), 5-10
SLC 500, 8-20 Regenerar I/S (REF)
lectura/escritura remota a un 485CIF uso de procesadores SLC 5/03 y SLC 5/04,
(emulación PLC2), 8-20 5-14
lectura/escritura remota a un procesador uso de un procesador SLC 5/02, 5-14
PLC-5, 8-20 Salida inmediata con máscara (IOM), 5-13
instrucción de mensaje (SLC 5/03 y SLC
5/04) instrucciones de interrupción de E/S,
cómo introducir parámetros, 8-21 Restablecimiento de interrupción
pendiente (RPI), 11-40
configuraciones del bloque de control,
8-24 instrucciones de manejo de datos, 4-2
diagrama de temporización, 8-26 acerca de las, 4-2
ejemplos de configuración, 8-32 Codificar (ENC), 4-13
uso de la lógica de escalera, 8-32 Codificar 1 de 16 a 4 (ENC), 4-13
uso de mensajes locales, 8-32 Convertir de BCD (FRD), 4-6
opciones de configuración, 8-20 Convertir en BCD (TOD), 4-3
uso de los bits de estado, 8-22 Copiar (COP), 4-15
instrucciones de mensaje (SLC 5/03 y SLC Descodificar (DCD), 4-12
5/04), ejemplos de configuración, uso de en el ejemplo de aplicación de la
mensajes remotos, 8-32 perforadora de papel, 4-34
instrucciones de comunición, instrucción de Grados en radianes (RAD), 4-11
mensaje (procesadores SLC 5/04), 8-18 instrucciones FIFO y LIFO, descripción
general, 4-28
instrucciones de contador, estructura de Llenar archivo (FLL), 4-17
direccionamiento, 1-24 Negar (NEG), 4-27
instrucciones de contador de alta velocidad, Radianes en grados (DEG), 4-10
Carga del contador de alta velocidad instrucciones de mover y lógicas
(HSL), 7-18
actualizaciones de los bits de estado
instrucciones de control, 5-2 aritmético, 4-19
cambios del registro matemático, S:13 y S:14,
instrucciones de control de flujo de programa,
4-19
5-2
direccionamiento indexado, 4-19
acerca de las, 5-2
Mover con máscara (MVM), 4-21
en el ejemplo de aplicación de la
perforadora de papel, 5-15 No (NOT), 4-26
O (OR), 4-24
instrucciones de copiar archivo y llenar O exclusivo (XOR), 4-25
archivo, F-21 parámetros de instrucción, 4-19
instrucciones de desplazamiento de bit, F-19 Y (AND), 4-23
descripción general, 6-3 instrucciones de programa de control de flujo
efectos en el registro de índice S:24, 6-3 Restablecimiento de control maestro
Desplazamiento de bit derecho (BSR), 6-5 (MCR), 5-8
Desplazamiento de bit izquierdo (BSL), 6-5 Retornar (RET), 5-5
operación, 6-5, 6-6 Saltar a subrutina (JSR), 5-5

I–9

Manual de referencia del juego de instrucción

Subrutina (SBR), 5-5 inhabilitación (HSD) de interrupción del


contador de alta velocidad, 7-23
instrucciones de programa flujo, Retornar de
subrutina (RET), 5-7 instrucciones del contador de alta velocidad
(RAC), Acumulador de restablecimiento
instrucciones de secuenciador, F-20
del contador de alta velocidad (RAC),
Carga secuenciador (SQL), 6-14 7-22
cómo introducir parámetros para SQL, 6-14
cómo introducir parámetros para SQO y instrucciones específicas de aplicación, 6-2
SQC, 6-9 acerca de las, 6-2
Comparación de secuenciador (SQC), 6-9 Carga de secuenciador (SQL), operation,
descripción general, efectos en el registro de 6-16
índice S:24, 6-8 en el ejemplo de aplicación de la
Salida de secuenciador (SQO), 6-9 perforadora de pape, 6-17
operation, 6-11 instrucciones de desplazamiento de bit,
descripción general, 6-3
instrucciones de temporizador, estructura de
direccionamiento, 1-16 instrucciones FIFO y LIFO, descripción
general, 4-28
instrucciones de temporizador y contador, efectos en el registro de índice S:24, 4-29
1-15
base de tiempo, 1-15 instrucciones matemáticas, 3-3
cómo funcionan los contadores, 1-26 Absoluto (ABS), 3-24
contadores acerca de las, 3-3
Contador de alta velocidad (HSC), 1-29 actualizaciones de los bits de estado
Conteo progresivo (CTU), 1-26, 1-27 aritmético, 3-4
Conteo regresivo (CTD), 1-28 adición y sustracción de 32 bits, 3-8
Restablecimiento (RES), 1-34 Añadir (ADD), 3-6
instrucciones de estructura de Arco coseno (ACS), 3-29
direccionamiento, 1-16 Arco sino (ASN), 3-28
precisión del temporizador, 1-16 Arco tangente (ATN), 3-29
temporizadores bit de interrupción por overflow, S:5/0, 3-4
Temporizador a la conexión (TON), 1-18 Borrar (CLR), 3-14
Temporizador a la desconexión (TOF), Calcular (CPT), 3-25
1-19 cambios del registro matemático S:13 y S:14,
Temporizador retentivo (RTO), 1-21 3-4
valor del acumulador (.ACC), 1-15, 1-23 Coseno (COS), 3-30
valor preseleccionado (.PRE), 1-15 descripción general, 3-3
Dividir (DIV), 3-12
instrucciones del contador de alta velocidad, División doble (DDV), 3-13
7-2
en el ejemplo de aplicación de la
acerca de las, 7-2 perforadora de papel, 3-34
Contador de alta velocidad (HSC), 7-6 Escala con parámetros (SCP), 3-15
descripción general, 7-3 Escala de datos (SCL), 3-18
en el ejemplo de aplicación de la Intercambio (SWP), 3-27
perforadora de papel, 7-29
Logaritmo a la base 10 (LOG), 3-31
Habilitación (HSE) de interrupción del
Logaritmo natural (LN), 3-30
contador de alta velocidad, 7-23
Multiplicar (MUL), 3-11

I–10
Indice

Raíz cuadrada (SQR), 3-14 interrupción de entrada discreta/número de


Restar (SUB), 3-7 ranura (S:47), B-70
Seno (SIN), 3-31 interrupción de entrada discreta/valor
Tangente (TAN), 3-32 preseleccionado (S:50), B-71
uso de las direcciones de palabra indexadas,
3-3 interrupción temporizada
uso de los bits de estado aritmético, 4-14 seleccionable/número de archivo (S:31),
X a la potencia de Y (XPY), 3-33 B-57

instrucciones MSG para procesadores SLC interrupción temporizada seleccionable/punto


5/03 y SLC 5/04, 8-18 de ajuste (S:30), B-57
instrucción de comunicación, 8-18 interrupción temporizadas seleccionable,
Habilitación temporizada seleccionable
Intercambio (SWP), 3-27
(STE), 11-16
instrucción matemática, 3-27
interrupciones de E/S, 11-30
interrupción de E/S habilitada (S:27 y S:28),
contenido de subrutina (ISR), 11-31
B-56
Inhabilitación de interrupción de E/S (IID),
interrupción de E/S pendiente (S:25 y S:26), 11-37
B-55 latencia de interrupción y coincidencias de
interrupción de entrada de comparación/valor interrupción, 11-31
de comparación (S:49), B-71 operación, 11-31
parámetros, 11-35
Interrupción de entrada discreta (DII) prioridades de interrupción, 11-33
contenido de subrutina, 11-22 procedimiento de programación básico,
ejemplo de aplicación, 11-28 11-30
latencia de interrupción y coincidencias de Subrutina de interrupción (INT), 11-41
interrupción, 11-22
operación, 11-21 interrupciones temporizadas seleccionables,
modo de evento, 11-21 11-7
parámetros, 11-25 contenido de la subrutina, 11-8
prioridades de interrupción, 11-23 Inhabilitación temporizada seleccionable
procedimiento de programación básico, (STD), 11-16
11-19 Inicio temporizado seleccionable (STS),
reconfigurabilidad, 11-24 11-18
latencia de interrupción y coincidencias de
interrupción de entrada discreta (DII), 11-19 interrupción, 11-9
Interrupción de entrada discreta (DII0, operación, 11-8
operación, modo de contador, 11-21 parámetros, 11-11
prioridades de interrupción, 11-10
interrupción de entrada discreta/máscara de procedimiento de programación básico,
bit (S:48), B-70 11-7
interrupción de entrada discreta/máscara de intersección de los límites de archivo, F-14,
retorno (S:52), B-72
F-18
interrupción de entrada discreta/número de
archivo (S:46), B-69

I–11

Manual de referencia del juego de instrucción

módems
J controladores de línea (corto alcance),
juego de instrucciones, E-1 12-33
discado DTR, 12-32
L línea telefónica, 12-31
contestación automática, 12-31
latencia de interrupción - controladores desconexión automática, 12-32
MicroLogix 1000, usuario, C-5 líneas arrendadas, 12-32
latencia de interrupción de usuario - manual, 12-31
controladores MicroLogix 1000, C-5 radio, 12-34
vínculo por satélite, 12-35
Lectura ASCII de línea (ARL), 10-20
instrucción ASCII, 10-20 módems , línea telefónica, discado automático,
12-32
Lectura de caracteres ASCII (ARD),
instrucción ASCII, 10-17 módems con discado DTR, 12-32
Lectura de caracteres ASCII (ARD0, 10-17 módems con líneas arrendadas, 12-32
LED, 13-24 módems controladores de línea (corto
LED de SLC 5/03 y SLC 5/04, 13-24 alcance), 12-33
Líneas de comunicación ASCII (AHL), 10-14 módems de contestación automática, 12-31
instrucción ASCII, 10-14 módems de desconexión automática, 12-32
Llenar archivo (FLL), 4-17 módems de discado automático, 12-32
instrucción de manejo de datos, 4-17
módems de línea telefónica, 12-31
uso, 4-17
módems de radio, 12-34
Logaritmo a la base 10 (LOG), 3-31
instrucción matemática, 3-31 módems de vínculo por satélite, 12-35
Logaritmo natural (LN), 3-30 módems manuales, 12-31
instrucción matemática, 3-30 modo de direccionamiento de archivo de
interface común (S:2/8), B-20
M modo/estado/control de procesador (S:1/0 a
manejo de cadena ASCII (S:5/15), B-32 S:1/4), B-8
Mayor o igual que (GEQ), 2-5 modos de direccinamiento, direccionamiento
instrucción de comparación, 2-5 indirecto, E-3
Mayor que (GRT), 2-5 modos de direccionamiento, E-2, E-3
instrucción de comparación, 2-5 direccionamiento directo, E-3
direccionamiento indexado, E-3
Menor o igual que (LEQ), 2-4 direccionamiento indirecto indexado, E-3
instrucción de comparación, 2-4
módulo de memoria de carga en el bit de error
Menor que (LES), 2-4 de memoria (S:1/10), B-10
instrucción de comparación, 2-4
move and logical instructions, Move (MOV),
mnemónicos, uso, en direcciones lógicas, F-9 4-20
módem de canal 0 perdido (S:5/14), B-32

I–12
Indice

Mover (MOV), 4-20 archivos de programa, F-2


actualizaciones de los bits de estado organización y direccionamento del archivo de
aritmético, 4-20 datos, 1-3
instrucción de mover, 4-20 archivo de control (R6:), 1-6
Mover con máscara (MVM), 4-21 salidas y entradas, 1-3
actualizaciones de los bits de estado organización y direccionamiento del archivo de
aritmético, 4-21, 4-23 datos, F-1
instrucción de mover, 4-21 archivo de bit (B3:), 1-5
Multiplicar (MUL), 3-11 archivo de estado (S2:), 1-4
instrucción matemática, 3-11 archivo de punto (coma) flotante (F8:), 3-5
archivo entero (N7:), 1-7
N archivos de datos
archivo ASCII, 10-4
Negar (NEG), 4-27 archivo de cadena, 10-4
actualizaciones de bits de estado aritmético, cómo crear datos para direcciones
4-27 indexadas, F-14
instrucción de manejo de datos, 4-27 cómo monitorizar las direcciones indexadas,
No (NOT), 4-26 F-15
instrucción lógica, 4-26 efectos de interrupciones de programa en
S:24, F-16
No igual (NEQ), 2-3 indicador de archivo (#), F-19
instrucción de comparación, 2-3 instrucciones de archivo, F-16
nodos activos (S:9 y S:10), B-44 instrucciones de copiar archivo y llenar
archivo, F-21
número de archivo de rutina de fallo de instrucciones de desplazamiento de bit,
usuario (S:29), B-56 F-19
Número de caracteres en búfer (ACB), 10-8 instrucciones de secuenciador, F-20
instrucción ASCII, 10-8 intersección de los límites de archivo, F-14,
F-18
número de catálogo del procesador (S:60),
tipos de archivos de datos, F-8
B-73
OTL, enclavamiento de salida, 1-11
número de catálogo del sistema de operación
(S:57), B-73 OTU, desenclavamiento de salida, 1-11

O P
O (OR), 4-24 palabra de estado global, 12-11, 12-12
actualizaciones de los bits de estado bit de habilitación de transmisión (S:34/3),
aritmético, 4-24, 4-25, 4-26 12-11
instrucción lógica, 4-24 bit de recepción de transmisión (S:34/4),
12-12
O exclusivo (XOR), 4-25
instrucción lógica, 4-25 palabra de estado global (S:99), B-74
organización del archivo parámetro de retardo de desactivación RTS,
archivos de datos, F-3 12-37

I–13

Manual de referencia del juego de instrucción

parámetro de retardo de transmisión RTS, prueba de límite (LIM), instrucción de


12-37 comparación, 2-7
PBASE, software de emulación de terminal, prueba de límite (LIM), 2-7
12-32
prueba de un solo paso/Inicie el paso en (S:16
precisión del temporizador, 1-16 y S:17), B-50
procesadores SLC 5/03 en un vínculo half prueba de un solo paso/punto de interrupción
duplex DF1, 12-30 (S:18 y S:19), B-51
Procomm, software de emulación de terminal, prueba-fallo/apagado (S:20 y S:21), B-52
12-32
punto (coma) flotante, soportado, 2-2
program files, F-3 Igual (EQU), 2-2
programa de instrucciones de control de flujo Límite (LIM), 2-2
Etiqueta (LBL), 5-3 Más o igual que (GEQ), 2-2
Saltar (JMP), 5-3 Más que (GRT), 2-2
Menos o igual que (LEQ), 2-2
protección de sobrescritura del archivo de Menos que (LES), 2-2
datos del módulo de memoria (S:36/10), Mover (MOV), 4-19
B-67 Negar (NEG), 2-2
protocolo de comunicación ASCII, 12-38
configuración de parámetro ASCII, 12-38 R
protocolo de comunicación Data Highway Plus
RAC, Acumulador de restablecimiento del
descripción general de la palabra de estado contador de alta velocidad, 7-22
global
bit de habilitación de transmisión (S:34/3), Radianes en grados (DEG), 4-10
12-11 instrucción de manejo de datos, 4-10
bit de recepción de transmisión (S:34/4), Raíz cuadrada (SQR), 3-14
12-12 instrucción matemática, 3-14
opciones de direccionamiento, 12-14
Regenerar I/S (REF), 5-14
protocolo de comunicación de Data Highway instrucción de flujo de programa, 5-14
Plus, 12-7
descripción general de la palabra de estado registro de índice (S:24), B-54
global, 12-10 registro matemático (S:13 y S:14), B-47
parámetros de configuración, 12-9
reloj de marcha libre (S:4), B-26
protocolo de comunicación DH-485
consideraciones de software, 12-3 reloj/año calendario (S:37), B-68
dispositivos que usan la red DH-485, 12-6 reloj/calendario de día (S:39), B-68
Inicialización de la red DH-485, 12-3
reloj/calendario de horas (S:40), B-68
parámetros de configuración, 12-5
rotación del testigo DH-485, 12-2 reloj/calendario de mes (S:38), B-68
protocolo de comunicación RS-232 (DF1), reloj/calendario de minutos (S:41), B-68
12-19 reloj/calendario de segundos (S:42), B-68
Prueba de búfer por línea (ABL), 10-7 reservado (S:0/4 a S:0/15), B-7
instrucción ASCII, 10-7

I–14
Indice

reservado (S:36/0 a S:36/7), B-66 Saltar a subrutina (JSR), 5-5


reservado (S:36/11 a S:36/15), B-68 cómo anidar archivos de subrutina, 5-5
uso, 5-6
reservado (S:5/1), B-28
selección de base de tiempo del tiempo de
reservado (S:5/5 a S:5/7), B-30 escán (S:33/13), B-63
reservado (S:53 y S:54), B-72 selección de servicio de comunicaciones (canal
reservado (S:87 a S:96), B-74 0) (S:33/5), B-60

reservado (S:97 a S:98), B-74 selección de servicio de mensaje (canal 0)


(S:33/6), B-60
respuesta de mensaje pendiente (canal 0)
(S:33/1), B-58 selección de servicio de mensaje (canal 1)
(S:33/7), B-61
Restablecimiento (RES), 1-34
restablecimiento del acumulador de alta Selectable Timed Disable (STD), 11-16
velocidad, 7-21 interrupt instruction, 11-16
restablecimiento del contador de alta Seno (SIN), 3-31
velocidad (RES), operación, 7-21 instrucción matemática, 3-31
Restablecimiento de interrupción pendiente serie del procesador (S:61), B-73
(RPI), 11-40
instrucción de interrupción de E/S, 11-40 serie del sistema de operación (S:58), B-73

Restar (SUB), 3-7 sistema de operación, descarga, 13-23


instrucción matemática, 3-7 sistemas de operación, 13-23
Retornar (RET), 5-5 sistemas numéricos, F-22
cómo anidar archivos de subrutina, 5-5 máscara hexadecimal, G-7
uso, 5-7 números binarios, G-2
Retornar de subrutina (RET), 5-7 números hexadecimales, G-5
instrucción de flujo de programa, 5-7 raíces usadas, F-22

revisión del procesador (S:62), B-73 STI perdido (S:36/9), B-67

rutinas de fallo (SLC 5/02, SLC 5/03 y SLC Subrutina (SBR), 5-5
5/04), 11-2 cómo anidar archivos de subrutina, 5-5
uso, 5-7
rutinas de fallo (SLC 5/02, SLC 5/03, SLC
5/04), ejemplo de aplicación, 11-4 Subrutina de interrupción (INT), 11-41
instrucción de interrupción de E/S, 11-41
S Suspender (SUS), 5-11
instrucción de flujo de programa, 5-11
Salida de secuenciador (SQO), 6-9
instrucción específica de aplicación, 6-9
Salida inmediata con máscara (IOM), 5-13
T
instrucción de flujo de programa, 5-13 tabla de nodo activo de half duplex DF1 (S:69
a S:82), B-74
Saltar (JMP), 5-3
cómo introducir parámetros, 5-3 tamaño de NVRAM (S:65), B-73
uso, 5-3 tamaño del sistema de operación (S:66), B-73

I–15

Manual de referencia del juego de instrucción

Tangente (TAN), 3-32 tiempos de ejecución de punto (coma)


instrucción matemática, 3-32 flotante - procesadores SLC 5/03,
C-28
Temporizador a la conexión (TON), uso de los
tiempos de ejecución de punto (coma)
bits de estado, 1-18
flotante - procesadores SLC 5/04,
Temporizador a la desconexión (TOF), 1-19 C-41
uso de los bits de estado, 1-19 timer valor del acumulador (.ACC), 1-15
temporizador de interrupción de evento de E/S tipo de programa (S:63), B-73
(S:44), B-69
tipos de archivo de datos, F-8
temporizador de interrupción DII (S:45),
archivo de datos ASCII, 10-4
B-69
archivo de datos de bit (B3:), 1-5
temporizador de interrupción STI (S:43), archivo de datos de cadena, 10-4
B-69 archivo de datos de control (R6:), 1-6
Temporizador retentivo (RTO), 1-21 archivo de datos de entrada (I1:), 1-3
archivo de datos de estado (S2:), 1-4
temporizadores, precisión del temporizador, archivo de datos de punto (coma) flotante
1-16 (F8:), 3-5
tiempo de ejecución de direccionamiento archivo de datos de salida (O0:), 1-3
indirecto, C-45 archivo de datos entero (N7:), 1-7
tiempo de ejecución de instrucción - TOD (convertir de BCD), 4-3
controladores MicroLogix 1000, hoja de
trabajo, C-7 transferencia, 12-39
consideraciones cuando la transferencia DF1
tiempo de escán de 10 ms actual/último, B-24 a DH+ se habilita, 12-40
tiempo de escán DII máximo observado (S:56), transferencia de E/S remota (procesadores
B-72 SLC 5/03 OS302 y SLC 5/04 OS401),
12-39
tiempo de escán máximo observado (S:22), transferencia DF1 a DH+ (procesadores
B-53 SLC 5/04 OS401), 12-39
tiempo de escán promedio (S:23), B-54 transferencia DH+ a DH-485 - (todos los
procesadores SLC 5/04), 12-39
tiempo del último escán de 1 ms (S:35), B-66
tiempos de ejecución, enumeración, A-1 U
tiempos de ejecución - controladores
último tiempo de escán DII (S:55), B-72
MicroLogix 1000, hoja de trabajo, C-7
un frente ascendente (OSR), introducción de
tiempos de ejecución de instrucción -
parámetros, 1-12
controladores MicroLogix 1000, lista, C-2
usando el half duplex DF1 en un vínculo de
tiempos de ejecución de instrucción -
múltiples conexiones, 12-30
procesadores SLC, C-9
procesador SLC 5/02, C-15 usao de memoria - procesadores SLC, C-8
procesador SLC 5/03, C-22 uso de memoria de instrucción -
procesador SLC 5/04, C-35 controladores MicroLogix 1000
procesadores fijos y SLC 5/01, C-9 hoja de trabajo, C-6

I–16
Indice

lista, C-2
W
V Window's Terminal, software de emulación de
terminal, 12-32
valor del acumulador del contador (.ACC),
1-23
X
valor preseleccionado del contador (.PRE),
1-24 X a la potencia de Y (XPY), 3-33
instrucción matemática, 3-33
valor preseleccionador del temporizador
(.PRE), 1-15 XIC, Examine si cerrado, 1-9
velocidad en baudios (S:15H), B-50 XIO, Examine si abierto, 1-9
vínculo de múltiples conexiones, 12-30
visualización de los valores, F-22
Y
Y (AND), 4-23
instrucción lógica, 4-23

I–17

Manual de referencia del juego de instrucción

I–18
I–1
"7+3?-44 =<75)<176 )A=,) ) ;=; +41-6<-; ) 47/:): 5-27:-; /)6)6+1); ,- ;=;
16>-:;176-; 16<-/:)6,7 5):+); 4E,-: ,- 4) )=<75)<1B)+1G6 16,=;<:1)4 A +:-)6,7 );E
=6) )5841) /)5) ,- 8:7,=+<7; ,- 16<-/:)+1G6 .C+14 ;<7; 8:7,=+<7; ,1;876-6 ,-4
;787:<- ,- 8:7>--,7:-; ,- ;74=+176-; ,- ;1;<-5) ),-5C; ,- 47; :-+=:;7; ,-
<-+6747/E) )>)6B),) ,- "7+3?-44

76 7.1+16); -6 4); 8:16+18)4-; +1=,),-; ,-4 5=6,7


4-5)61) S :)*1) #)=,1<) S :/-6<16) S =;<:)41) S )0:-16 S D4/1+) S 741>1) S :);14 S =4/):1) S )6),C S 014- S 018:- S 7475*1) S 7:-) S 7;<) "1+)
:7)+1) S 16)5):+) S +=),7: S /18<7 S 4 #)4>),7: S 51:)<7; :)*-; %61,7; S ;47>)9=1) S ;47>-61) S ;8)F) S ;<),7; %61,7; S 164)6,1) S :)6+1)
0)6) S :-+1) S =)<-5)4) S 74)6,) S 76,=:); S 76/ 76/ S =6/:E) S 6,1) S 6,76-;1) S :C6 S :4)6,) S ;4)6,1) S ;:)-4 S <)41) S )5)1+) S )8G6
7:,)61) S )<): S =?)1< S ); 141816); S E*)67 S )+)7 S )4);1) S )4<) S D@1+7 S 7::=-+7; S 1/-:1) S 7:=-/) S =->) (-4)6,1) S 5C6 S !)31;<C6
!)6)5C S !-:H S !74761) S !7:<=/)4 S !=-:<7 "1+7 S "-167 %61,7 "-8H*41+) 0-+) S "-8H*41+) ,- #=,C.:1+) S "-8H*41+) 75161+)6) S "-8H*41+) !78=4):
016) S "=5)61) S "=;1) S #16/)8=: S #=-+1) S #=1B) S $)1?)6 S $)14)6,1) S $:161,), S $=61;1) S $=:9=E) S %:=/=)A S &-6-B=-4)

#-,- +-6<:)4 ,- "7+3?-44 =<75)<176   #7=<0 #-+76, #<:--< 14?)=3-- '


 %# $-4   
   )@   
 
#-,- +-6<:)4 -=:78-) ,- "7+3?-44 =<75)<176 >-6=- -::5)66 -*:7=@4))6    :=;-4); D4/1+) $-4 

  )@ 

 
#-,- +-6<:)4 ,- ;1)!)+E.1+7 ,- "7+3?-44 =<75)<176  1<1+7:8 -6<:-  '01<.1-4, "7), )=;-?)A )A 76/ 76/ $-4    
)@    

!=*41+)+1G6  I  #  6-:7  !  


I

I–2 78A:1/0<  "7+3?-44 =<75)<176

También podría gustarte