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)
Manual de referencia
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:
• • • Nota
identificar un peligro evitar un peligro reconocer las consecuencias
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quién debe usar este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Propósito de este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contenido de este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Documentación asociada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Técnicas comunes usadas en este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
P-1 P-2 P-2 P-3 P-5 P-6
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 Preface
2
ii
Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Temporizador a la desconexión (TOF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Temporizador retentivo (RTO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de los contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elementos del archivo de datos del contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Valor acumulado (.ACC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Valor preseleccionado (PRE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estructura de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo funcionan los contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conteo progresivo (CTU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conteo regresivo (CTD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contador de alta velocidad (HSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operación del contador de alta velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elementos de datos del contador de alta velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo de aplicación – Archivo 2 (consulta del bit DN en el programa principal) . . . . . . . . . . . . . . . . . . . . . . Ejemplo de aplicación – Archivo 3 (ejecución de lógica HSC) . . . . . . . . . . . . . . . Restablecimiento (RES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones básicas del ejemplo de aplicación de la perforadora de papel . . . . . . . . . . . . Cómo añadir archivo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo añadir el archivo 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1–18 1–19 1–19 1–21 1–21 1–23 1–23 1–23 1–23 1–24 1–24 1–25 1–26 1–26 1–27 1–28 1–28 1–29 1–29 1–31 1–32
Instrucciones de comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones de comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Acerca de las instrucciones de comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripción general de las instrucciones de comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de direcciones de palabra indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de direcciones de palabra indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Igual (EQU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . No igual (NEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Menor que (LES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Menor o igual que (LEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mayor que (GRT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mayor o igual que (GEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2–1 2–1 2–2 2–2 2–2 2–2 2–3 2–3 2–4 2–4 2–5 2–5
1–33 1–33 1–34 1–35 1–35 1–37
Tabla de contenido
Comparación con máscara para igual (MEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prueba de límite (LIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estado verdadero/falso de la instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo de aplicación de instrucciones de comparación en la perforadora de papel . . . . . . . Cómo iniciar una subrutina en archivo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2–6 2–6 2–7 2–7 2–7 2–9 2–9
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 Preface
Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplos de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Escala de datos (SCL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . Cómo calcular la relación lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo de aplicación 2 – Cómo escalar una entrada analógica para controlar una salida analógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo calcular la relación lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo calcular la relación lineal desplazada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Absoluto (ABS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Calcular (CPT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intercambio (SWP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arco seno (ASN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arco coseno (ACS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arco tangente (ATN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Coseno (COS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logaritmo natural (LN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logaritmo a la base 10 (LOG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Seno (SIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tangente (TAN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iv
3–15 3–16 3–16 3–16 3–17 3–18 3–18 3–18 3–19 3–19 3–20 3–20 3–21 3–22 3–24 3–24 3–24 3–25 3–25 3–25 3–26 3–27 3–27 3–28 3–28 3–29 3–29 3–29 3–29 3–30 3–30 3–30 3–30 3–31 3–31 3–31 3–31 3–32 3–32
Tabla de contenido
X a la potencia de Y (XPY) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones matemáticas en el ejemplo de aplicación de la perforadora de papel . . . . . . . Cómo añadir el archivo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3–33 3–33 3–34 3–35
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 Preface
5
vi
Mover (MOV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mover con máscara (MVM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y (AND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tabla de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . O (OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tabla de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . O exclusivo (XOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tabla de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . No (NOT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tabla de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Negar (NEG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualizaciones de bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripción general de las instrucciones FIFO y LIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Efectos en el registro de índice S:24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Carga FIFO (FFL) Descarga FIFO (FFU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Carga LIFO (LFL) Descarga LIFO (LFU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones de manejo de datos en el ejemplo de aplicación de la perforadora de papel . Añadir el archivo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4–20 4–20 4–20 4–21 4–21 4–21 4–22 4–23 4–23 4–23 4–24 4–24 4–24 4–25 4–25 4–25 4–26 4–26 4–26 4–27 4–27 4–28 4–28 4–29
Instrucciones de flujo de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones de control de flujo de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Acerca de las instrucciones de control de flujo de programa . . . . . . . . . . . . . . . . . . . . . . . . . Salto (JMP) y etiqueta (LBL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de JMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de LBL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saltar a subrutina (JSR), subrutina (SBR), y retornar (RET) . . . . . . . . . . . . . . . . . . . . . . . . . Cómo anidar archivos de subrutina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de JSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5–1 5–1 5–2 5–3 5–3 5–3 5–4 5–5 5–5 5–6
4–30 4–32 4–34 4–34
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 Preface
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actualización del acumulador de imagen del contador de alta velocidad (OTE) . . . . . . . . . Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lo que ocurre con el HSC cuando pasa al modo de marcha REM . . . . . . . . . . . . . . . . . . . . Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones del contador de alta velocidad en el ejemplo de aplicación de la perforadora de papel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7–24 7–24 7–24 7–24 7–25 7–26 7–27 7–28 7–29
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 Preface
Ejemplos de configuraciones usando la instrucción de mensaje . . . . . . . . . . . . . . . . . . . . . Uso de la lógica de escalera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de mensajes locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 1 – Lectura local de un 500CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 2 – Lectura local de un 485CIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 3 – Lectura local de un PLC-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de mensajes remotos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 1 – Comunicación con procesadores A–B usando un 1785-KA5 . . . . . . . Procesador SLC 5/04 (A) a procesador SLC 5/03 (C) vía 1785-KA5 . . . . . . . . . . . Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procesador SLC 5/03 (C) a procesador SLC 5/04 (A) vía 1785-KA5 . . . . . . . . . . . Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procesador SLC 5/03 (C) a un PLC-5 (B) vía 1785-KA5 . . . . . . . . . . . . . . . . . . . . Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 2 – Comunicación con procesadores A–B usando dos 1785-KA . . . . . . . Procesador SLC 5/04 (B) a procesador PLC5 (C) vía dos 1785-KA . . . . . . . . . . . . Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procesador SLC 5/04 (B) a procesador SLC 5/04 (A) vía dos 1785-KA . . . . . . . . Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 3 – Transferencia vía canal 0 DH-485 del procesador 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) . . . . . . . . . . . . . . . . . Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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) . . . . . . . . . . . . . . . . . Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procesador SLC 5/03 (D) a PLC-5 (B) vía un procesador SLC 5/04 (transferencia usando canal 0 DH-485) . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mensajes remotos (SLC 5/03 a un SLC 500, SLC 5/01 ó SLC 5/02) . . . . . . . . . . . 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) . . . . . . . . . . . . . . . . . . . . . . . Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 5 – Transferencia vía canal 0 DH+ del procesador SLC 5/04 . . . . . . . . . . Procesador SLC 5/04 (A) a procesador SLC 5/04 (C) vía un solo procesador SLC 5/04 (transferencia usando canal 0 DF1) . . . . . . . . . . . . . . . . . . . . . . . Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
8–32 8–33 8–33 8–35 8–37 8–39 8–41 8–41 8–42 8–43 8–45 8–45 8–45 8–45 8–46 8–46 8–47 8–47 8–48 8–48 8–48 8–49 8–49 8–50 8–50 8–50 8–51 8–51 8–52 8–52 8–53 8–54 8–54 8–54 8–55 8–55 8–55
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) . . . . . . . . . . . . . . . . . . . . . . . Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procesador SLC 5/04 (C) a procesador SLC 5/04 (B) cuando la transferencia está habilitada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 6 – Transferencia usando un integrado pirámide para encaminar una instrucción de mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procesador SLC 5/04 (B) a procesador SLC 5/04 (A) via un integrador de pirámide usando el encaminamiento PI . . . . . . . . . . . . . . . . . . . . . . . . . . Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo 7 – . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procesador SLC 5/03 a un procesador SLC 5/03 (transferencia usando dos 1785-KA5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comunicaciones de servicio (SVC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de un procesador SLC 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso de un procesador SLC 5/03 ó SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Servicio de canal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
8–56 8–56 8–56 8–56 8–57 8–57 8–57 8–58 8–58 8–58 8–60 8–60 8–60 8–61 8–61
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 Preface
Salidas de tiempo proporcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo – Salidas de tiempo proporcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sintonización PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procedimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo verificar el escalado del sistema continuo . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo determinar el tiempo de actualización del lazo inicial . . . . . . . . . . . . . . . . . 10
xii
9–23 9–24 9–25 9–25 9–27 9–28
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
Tabla de contenido
Lectura ASCII de línea (ARL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Búsqueda de cadena (ASC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparación de cadena ASCII (ASR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Escritura ASCII con anexo (AWA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo usar la indirección en línea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Escritura ASCII (AWT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Códigos de error de instrucción ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tabla de conversión ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
10–20 10–20 10–20 10–22 10–22 10–22 10–23 10–23 10–23 10–24 10–24 10–24 10–26 10–26 10–27 10–27 10–27 10–29 10–31
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 Preface
Instrucciones STD y STE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inhabilitación temporizada seleccionable – STD . . . . . . . . . . . . . . . . . . . . . . . . . . . . Habilitación temporizada seleccionable – STE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo de zona STD/STE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inicio temporizado seleccionable (STS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripción general de la interrupción de entrada discreta . . . . . . . . . . . . . . . . . . . . . . . . Procedimiento de programación básico para la función DII . . . . . . . . . . . . . . . . . . . . Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modo de contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modo de evento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contenido de la subrutina DII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Latencia de interrupción y coincidencias de interrupción . . . . . . . . . . . . . . . . . . . . . . Prioridades de interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Datos de archivo de estado guardados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reconfigurabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parámetros DII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo de aplicación de interrupción de entrada discreta . . . . . . . . . . . . . . . . . . . . . Diagrama de escalera para la aplicación de embotelladora . . . . . . . . . . . . . . . . . . Descripción general de interrupción de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procedimiento de programación básico para la función de interrupción de E/S . . . . . Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contenido de la subrutina de interrupción (ISR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Latencia de interrupción y coincidencias de interrupción . . . . . . . . . . . . . . . . . . . . . . Prioridades de interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Datos de archivo de estado guardados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parámetros de interrupción de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inhabilitación de interrupción de E/S (IID) y habilitación de interrupción de E/S (IIE) . . Inhabilitación de interrupción de E/S – IID Habilitación de interrupción de E/S – IIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operación IID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operación IIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo de zona IID/IIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Restablecimiento de interrupción pendiente (RPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Subrutina de interrupción (INT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xiv
11–16 11–16 11–16 11–16 11–18 11–19 11–19 11–20 11–21 11–21 11–21 11–22 11–22 11–23 11–23 11–24 11–24 11–25 11–28 11–29 11–30 11–30 11–31 11–31 11–31 11–33 11–34 11–35 11–37 11–37 11–38 11–38 11–39 11–40 11–40 11–41
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 Preface
Consideraciones cuando comunica como esclavo DF1 en un vínculo de múltiples conexiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo usar módems que tienen capacidad para protocolos de comunicación DF1 . . . . . . Módems de línea telefónica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Módems manuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Módems de contestación automática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Módems de desconexión automática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Módems de discado automático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Módems con líneas arrendadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Módems con discado DTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Módems controladores de línea (corto alcance) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Módems de radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Módems de vínculo por satélite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operación de línea de control de módem en los procesadores SLC 5/03 y SLC 5/04 . . . . Full–duplex DF1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Half–duplex DF1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parámetros de retardo de transmisión RTS y retardo de desactivación RTS . . . . . . . . . . . Protocolo de comunicación ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuración de parámetro de canal 0 ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo usar las características de transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transferencia DH+ a DH-485 – (Todos los procesadores SLC 5/04) . . . . . . . . . . . . . Transferencia DF1 a DH+ – (Procesadores SLC 5/04 OS401 y posteriores) . . . . . . . Transferencia de E/S remota (Procesadores SLC 5/03 OS302 y SLC 5/04 OS401) . . Consideraciones cuando la transferencia DF1 a DH+ se habilita . . . . . . . . . . . . . . . . Cómo entrar en línea con un procesador SLC 5/04 usando el full–duplex DF1 . . Cómo transmitir un mensaje usando el full–duplex DF1 hacia un procesador SLC 5/04 con la transferencia DF1 a DH+ habilitada . . . . . . . . . . . . . . . . Cómo transmitir un mensaje usando el full–duplex DF1 desde un procesador SLC 5/04 con la transferencia DF1 a DH+ habilitada . . . . . . . . . . . . . . . . Cómo comunicar desde un procesador SLC 5/04 usando direccionamiento PLC-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
xvi
Cómo localizar y corregir fallos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo borrar fallos automáticamente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procesadores SLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Controladores MicroLogix 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo borrar fallos manualmente (procesadores SLC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cómo usar la rutina de fallo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mensajes de fallo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fallos del controlador MicroLogix 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Errores de encendido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Errores de ida a marcha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12–30 12–31 12–31 12–31 12–31 12–32 12–32 12–32 12–32 12–33 12–34 12–35 12–35 12–35 12–36 12–37 12–38 12–38 12–39 12–39 12–39 12–39 12–40 12–40 12–40 12–40 12–40 13–1 13–1 13–1 13–2 13–3 13–3 13–4 13–5 13–6 13–7
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 Preface
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Continuación de procesador SLC 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones que tienen direcciones indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones que tienen direcciones de archivo de datos M0 y M1 . . . . . . . . . . . . . . . Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tiempos de ejecución de punto (coma) flotante del procesador SLC 5/03 . . . . . . . Continuación de procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cálculo aproximado del uso de memoria del sistema usando un procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Continuación de procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Palabras de instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Continuación de procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Palabras de datos – Archivos 0 y 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Palabras de datos – Archivo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Palabras de datos – Archivo 3 a 255 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Continuación de procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones con direcciones indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones con direcciones de archivo de datos M0 y M1 . . . . . . . . . . . . . . . . . . . . Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procesador SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tiempos de ejecución de punto (coma) flotante del procesador SLC 5/04 . . . . . . . Continuación de procesador SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cálculo aproximado del uso de memoria del sistema usando un procesador SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SLC 5/04 Processor Continued . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones con direcciones indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones con direcciones de archivo de datos M0 y M1 . . . . . . . . . . . . . . . . . . . . Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones con direcciones indirectas a nivel de palabra . . . . . . . . . . . . . . . . . . . . . Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones con direcciones a nivel de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tiempos de ejecución de instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xviii
C–20 C–21 C–21 C–21 C–21 C–22 C–27 C–28 C–30 C–30 C–31 C–31 C–32 C–32 C–32 C–33 C–33 C–33 C–33 C–34 C–34 C–34 C–34 C–35 C–40 C–41 C–43 C–43 C–44 C–44 C–44 C–44 C–45 C–46 C–47 C–48 C–48
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 . . . . . . . . . . . . . . . . . . . . . . Descripción de la organización del archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripción general del archivo de procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Archivos de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Archivos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
F–1 F–2 F–2 F–3 F–3 xix
Manual de referencia del juego de instrucción Preface
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 Preface
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 Preface
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:
• • •
P-2
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
Prefacio
Contenido de este manual Capítulo
Título
Contenido
Prefacio
Describe el propósito, historia y alcance de este manual. También define el grupo de lectores para que ha sido creado el manual.
1
Instrucciones básicas
Describe cómo usar las instrucciones de lógica de escalera para funciones de reemplazo de relés, contaje y temporización.
2
Instrucciones de comparación
Describe las instrucciones de comparación las cuales le permiten comparar los valores de datos.
3
Instrucciones matemáticas
Describe las instrucciones matemáticas que le permiten realizar operaciones de cálculo y matemáticas en palabras individuales.
4
Instrucciones de manejo de datos
Describe cómo realizar las instrucciones de manejo de datos, incluyendo las instrucciones de mover y lógicas e instrucciones FIFO y LIFO.
5
Instrucciones de flujo de programa
Describe las instrucciones de lógica de escalera que afectan el flujo y ejecución del programa.
6
Instrucciones de aplicación específica
Describe las instrucciones asociadas con el desplazamiento de bit, secuenciador y STI.
7
Cómo usar las instrucciones del contador de alta velocidad
Describe los cuatro modos de la instrucción de alta velocidad y sus instrucciones asociadas.
8
Instrucciones de comunicación
Describe la instrucción de comunicación de mensaje, servicio y sus parámetros asociados.
9
Instrucción PID
Describe el concepto, ecuación, parámetros asociados y formato del bloque de control para los procesadores SLC 5/02, SLC 5/03 y SLC 5/04.
10
Instrucciones ASCII
Describe las instrucciones ASCII y sus usos.
11
Descripción de las rutinas de interrupción
Describe las interrupciones temporizadas seleccionables, la interrupción de entrada discreta e interrupciones de E/S y sus parámetros asociados.
12
Descripción de los protocolos de comunicación
Explica los tipos diferentes de protocolos de comunicación usados con los procesdores SLC 500.
13
Localización y corrección de fallos
Explica cómo el interpretar y corregir problemas con el software y procesador.
P-3
Juego de instrucciones del manual de referencia Preface
Capítulo
Título
Contenido
Archivo de estado del controlador MicroLogix 1000
Describe los fallos mayores y menores, información diagnóstica, modos de procesador, tiempos de escán, velocidades de baudios y direcciones de nodo del sistema para los controladores MicroLogix 1000.
Apéndice B
Archivo de estado SLC
Describe los fallos mayores y menores, información diagnóstica, modos de procesador, tiempos de escán, tasas de baudio y direcciones de nodo del sistema para los procesadores SLC 500.
Apéndice C
Tiempos de ejecución de instrucciones y uso de memoria
Proporciona la capacidad de memoria del usuario y tiempos de ejecución de instrucción. También describe cómo estimar el uso total de memoria de un sistema.
Apéndice D
Cómo calcular el tiempo de escán
Proporciona latencia de interrupción, información del tiempo de acceso M0/M1 y hojas de cálculo para estimar los tiempos de escán.
Apéndice E
Referencias de instrucción de programación
Proporciona una lista de instrucciones con sus parámetros y tipos de archivo válidos.
Apéndice F
Organización y direccionamiento del archivo de datos
Proporciona detalles acerca de archivos de datos abarcando los formatos de archivo y cómo crear y eliminar datos.
Apéndice G
Sistemas numéricos
Describe los sistemas de numeración hexadecimal, binaria y decimal además del formato de punto (coma) flotante.
Apéndice H
Programas de ejemplo de aplicación
Proporciona ejemplos de aplicaciones avanzadas para instrucciones del contador de alta velocidad, secuenciador y desplazamiento de bit.
Apéndice A
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. Para obtener
Lea este documento
Una descripción general de la familia de productos SLC 500
Descripción general del sistema SLC 500
Una presentación de APS para los usuarios principiantes, la cual contiene conceptos básicos con un enfoque en tareas y ejercicios sencillos, y que permite al lector comenzar a programar casi inmediatamente.
Comienzo rápido de APS para usuarios principiantes
Una manual de procedimientos y referencia para el personal técnico que usa la utilidad de importación/ exportación APS para convertir los archivos APS a ASCII y, a su vez, de ASCII a archivos APS
Manual de usuario de importación/exportación APS
Una guía de instrucción técnica y referencia rápida de APS
Guía de referencia rápida del programa- dor de software SLC 500, no. de publicación ABT-1747-TSJ50ES— disponible en PASSPORT al precio de US$50.00
Una guía de procedimientos comunes usadas en APS
Guía de procedimientos comunes del software SLC 500, no. de publicación ABT-1747-TSJ50ES—disponible en PASSPORT al precio de $50.00
Un manual de procedimientos para el personal técnico que usa APS para desarrollar aplicaciones de control
Manual del usuario del software de programación avanzada (APS) de Rockwell
Una descripción de cómo instalar y usar su controlador programable SLC 500 fijo
Manual de instalación y operación para controladores programables de tipo con hardware fijo, no. de catálogo 1747-NM001
Una descripción de cómo instalar y usar su controlador programable SLC 500 modular
Manual de instalación y operación para controladores programables de tipo con hardware modular, no. de publicación 1747-6.2ES
Una descripción de cómo instalar y usar sus controladores MicroLogix 1000. Este manual también contiene datos de archivo de estado e información del juego de instrucciones para los microcontroladores
Manual del usuario de controladores MicroLogix 1000, no. de publicación 1761-6.3ES
Una lista completa de documentación actual de Allen-Bradley, incluyendo instrucciones de pedido. También indica la disponibilidad de los documentos en CD-ROM o multilingües
Allen-Bradley Publication Index, no. de publicación SD499
Un glosario de términos y abreviaturas de la automatización industrial
Glosario de automatización industrial Allen-Bradley, no. de publicación AG-7.1ES
P-5
Juego de instrucciones del manual de referencia Preface
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 debe presionar, tal como
CONFIG OFFLINE SAVE & . 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 del interruptor de llave Posición RUN
Posición REMote
Posición PROGram
P-6
Referencias al modo de procesador
Referencias a la línea de estado
Modo de marcha
RUN
Modo de marcha
REM RUN
Modo de programa
REM PROG
Prueba – modo de paso único
REM SRG
Prueba – modo de escán único
REM SSN
Prueba – modo de escán continuo
REM CSN
Modo de programa
PROG
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 Instrucción Mnemónico
Nombre
Propósito
Página
XIC
Examine si cerrado Examina un bit para una condición activada.
1–9
XIO
Examine si abierto
Examina un bit para una condición desactivada.
1–9
OTE
Conecte la salida
Activa o desactiva un bit.
1–10
OTL y OTU
Enclav. de salida y desenclavamiento de salida
OTL activa un bit cuando el renglón está ejecutado y este bit retiene su estado cuando el renglón no está ejecutado u ocurre un ciclo de potencia. OTU desactiva un bit cuando el renglón está ejecutado y este bit retiene su estado cuando el renglón no está ejecutado o cuando ocurre un ciclo de alimentación eléctrica.
1–11
OSR
Un frente ascendente
Ocasiona un evento de una sola vez.
1–12
continúa en la página siguiente
1–1
Manual de referencia del juego de instrucciones Preface
Instrucciones del temporizador/contador Instrucción Mnemónico
Nombre
Propósito
Página
TON
Temporizador a la conexión
Cuenta los intervalos de la base de tiempo cuando la instrucción es verdadera.
1–18
TOF
Temporizador a la desconexión
Cuenta los intervalos de la base de tiempo cuando la instrucción es falsa.
1–19
RTO
Temporizador tentivo
CTU
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.
1–26
CTD
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.
1–28
HSC
Contador de alta velocidad
Cuenta los impulsos de alta velocidad de una entrada de alta velocidad de controlador fijo.
1–29
RES
Restablecimiento
Pone a cero el valor acumulado y los bits de estado de un temporizador o contador. No use con temporizadores TOF.
1–34
re- Cuenta los intervalos de la base de tiempo cuando la instrucción es verdadera y retiene el valor acumulador cuando la instrucción se hace falsa o cuando ocurre un ciclo de alimentación eléctrica.
1–21
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:
• • •
1–2
Descripción general de las instrucciones de bit Descripción general de las instrucciones de temporizador Descripción general de las instrucciones de contador
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
O:e.s/b
e
Número de la ranura (decimal)
I:e.s/b
.
Delimitador de palabra. Requerido sólo si es necesario un número de palabra según lo indicado a continuación.
s
Número de palabra
/
Delimitador de bit
b
Número de terminal
Ranura 0, adyacente a la fuente de alimentación eléctrica en el primer chasis, se aplica al módulo de procesador. Las ranuras posteriores son ranuras de E/S, numeradas desde 1 hasta un máximo de 30.
Requerido si el número de entradas o salidas exceden 16 para la ranura. Rango: 0-255 (el rango acepta “tarjetas especiales” de palabras múltiples)
Entradas: 0- 15 Salidas: 0- 15
1–3
Manual de referencia del juego de instrucciones Preface
Ejemplos (aplicables al controlador ilustrado en página F-12): O:3/15 O:5/0 O:10/11 I:7/8 I:2.1/3
Salida 15, ranura 3 Salida 0, ranura 5 Salida 11, ranura 10 Entrada 8, ranura 7 Entrada 3, ranura 2, palabra 1
Direcciones de palabra: O:5 O:5.1 I:8
Palabra de salida 0, ranura 5 Palabra de salida 1, ranura 5 Palabra de entrada, ranura 8
Valores predeterminados: Su dispositivo de programación mostrará una dirección de una manera más formal. Por ejemplo, cuando asigna la dirección O:5/0, el dispositivo de programación la mostrará como O:5.0/0 (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: Formato
S:e/b
Explicación S
Archivo de estado
:
Delimitador de elemento
e
Número de elemento
/
Delimitador de bit
b
Número de bit
Rangos de 0-15 en un controlador fijo o SLC 5/01, 0-32 en un 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
Ubicación del bit dentro del elemento. Rangos de 0-15.
Ejemplos:
1–4
S:1/15
Elemento 1, bit 15. Este es el bit de “primer paso” que puede usar para iniciar instrucciones en su programa.
S:3
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).
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
Bf:e/b
Explicación B
Archivo de tipo de bit
f
Número de archivo. Número 3 es el archivo predeterminado. Un número de archivo entre 10-255 se puede usar si se requiere almacenamiento adicional.
:
Delimitador de elemento
e
Número de elemento
/
Delimitador de bit
b
Número de bit
Formato Bf/b
Rangos de 0-255. Estos son elementos de 1 palabra. 16 bits por cada elemento.
Ubicación del bit dentro del elemento. Rangos de 0-15. Explicación
B f /
Idéntico a lo anterior. Idéntico a lo anterior. Idéntico a lo anterior.
b
Número de bit
Ubicación numérica del bit dentro del archivo. Rangos de 0-4095.
Ejemplos
B3:3/14 Bit 14, elemento 3
B3:252/00 Bit 0, elemento 252
B3:9 Bits 0-15, elemento 9 Ejemplos B3/62 Bit 62 B3/4032 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
Manual de referencia del juego de instrucciones Preface
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
EN EU DN EM ER UL IN FD
6
5
4
3
2
1
Código de error
0
Pal. 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
Rf:e
1–6
Explicación R
Archivo de control
f
Número de archivo. Número 6 es el archivo predeterminado. Se puede usar un número de archivo entre 10-255 se puede usar si se requiere almacenamiento adicional.
:
Delimitador de elemento
e
Número de elemento
Rangos de 0-255. Estos son elementos de 3 palabras. Vea la figura anterior.
Instrucciones básicas
Ejemplo: R6:2 Elemento 2, archivo de control 6. Direcione los bits y palabras usando el formato Rf:e.s/b donde Rf:e se explica anteriormente y: . es el delimitador de palabra s indica el subelemento / es el delimitador de bit b indica el bit R6:2/15 ó R6:2/EN Bit habilitación R6:2/14 ó R6:2/EU Bit de habilitación de descarga R6:2/13 ó R6:2/DN Bit de efectuado R6:2/12 ó R6:2/EM Bit de pila vacía R6:2/11 ó R6:2/ER Bit de error R6:2/10 ó R6:2/UL Bit de descarga R6:2/9 ó R6:2/IN Bit de inhibición R6:2/8 ó R6:2/FD Bit de encontrado R6:2.1 R6:2.2 R6:2.1/0 R6:2.2/0
ó ó
R6:2.LEN Valor de longitud R6:2.POS 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 Preface
Asigne las direcciones de enteros según lo siguiente: Formato
Nf:e/b
Explicación N
Archivo de enteros
f
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
e
Número de elemento
/
Delimitador de bit
b
Número de bit
Rangos de 0-255. Estos son elementos de 1 palabra. 16 bits por cada elemento.
Ubicación del bit dentro del elemento. Rangos de 0-15.
Ejemplos: N7:2 N7:2/8 N10:36
1–8
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)
Instrucciones básicas
Examine si cerrado (XIC) 3 3 3 3 3 3 ] [ Instrucción de entrada
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. Estado de dirección de bit
Instrucción XIC
0
Falsa
1
Verdadera
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
]/[ Instrucción de entrada
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. Estado de dirección de bit
Instrucción XIO
0
Verdadera
1
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 Preface
Active la salida (OTE) 3 3 3 3 3 3
( ) Instrucción de salida
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:
• • Nota
1–10
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.
Un bit que está establecido dentro de una subrutina usando una instrucción OTE permanece establecido hasta que la subrutina se escanee nuevamente.
Instrucciones básicas
Enclavamiento de salida (OTL) y desenclavamiento de salida (OTU)
(L)
3 3 3 3 3 3
OTL y OTU son instrucciones de salida retentivas. OTL sólo puede activar un bit, en cambio, OTU sólo puede desactivar un bit. Estas instrucciones se usan generalmente en parejas, con ambas instrucciones direccionando el mismo bit.
(U) Instrucciones de salida
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 Preface
One–Shot Rising (OSR) 3 3 3 3 3 3
[OSR] Instrucción de entrada
La instrucción OSR es una instrucción de entrada retentiva que ocasiona un evento 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 O:3.0 I:1.0 B3 ( ) ] [ [OSR] 0 0 0 Cuando la instrucción de entrada va de falso a verdadero, la instrucción OSR acondiciona el renglón para que la salida vaya a verdadero durante un escán de programa. La salida se hace falsa y permanece falsa durante los escanes subsiguientes hasta que la entrada efectúe otra transición de falso a verdadero. TOD I:1.0 B3 TO BCD ] [ [OSR] Source Tf:0.ACC 0 0 Dest
O:3
En este caso, el valor acumulado de un temporizador se convierte a BCD y se movió a una palabra de salida donde está conectada una presentación LED. Cuando marcha el temporizador, el valor acumulado está cambiando rápidamente. Este valor puede ser inmovilizado y mostrado para cada transición de falso a verdadero de la condición de entrada del renglón. Uso de una instrucción OSR en una bifurcación (Procesadores SLC 500 y SLC 5/01) I:1.0 ] [ 0
B3 [OSR] 0
O:3.0 ( ) 0
O:3.0 ( ) 1 En el renglón de arriba, la instrucción OSR no se permite dentro de una bifurcación. I:1.0 ] [ 0
B3 [OSR] 0
O:3.0 ( ) 0 O:3.0 ( ) 1
En este caso la instrucción OSR no está en la bifurcación, por lo tanto, el renglón es válido.
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 ] [ 0
B3 ]/[ 1
B3 [OSR] 0
O:3.0 ( ) 0
B3 ] [ 2
B3 [OSR] 3
O:3.0 ( ) 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
Pal. 1
Valor preseleccionado
Pal. 2
Valor de acumulador
Bits direccionables
Uso interno
Palabras direccionables
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 Preface
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 Explicación
1–16
T
Archivo de temporizador
f
Número de archivo. Para los procesadores SLC 500, el número predeterminado 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
e
Número de elemento
Estos son elementos de 3 palabras. Para los procesadores SLC 500 el rango es 0-255. Para los controladores MicroLogix 1000 el rango es de 0-39.
.
Elemento de palabras
s
subelemento
/
delimitador de bit
b
bit
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
Manual de referencia del juego de instrucciones Preface
Temporizador a la conexión (TON) 3 3 3 3 3 3 TON TIMER ON DELAY Timer T4:0 Time Base 0.01 Preset 120 Accum 0
Instrucción de salida
(EN) (DN)
Use la instrucción TON para activar o desactivar una salida después de que el temporizador haya estado activado durante un intervalo de tiempo preseleccionado. 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 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 Este bit
Se establece cuando
Y permanece establecido hasta ocurrir uno de los siguientes eventos
Bit de efectuado del temporizador DN (bit 13)
el valor acumulado es igual o mayor que el valor preseleccionado
las condiciones de renglón se hacen falsas
Bit de temporización del temporizador TT (bit 14)
las condiciones de renglón son verdaderas y el valor acumulado es menor que el valor preseleccionado
las condiciones de renglón se hacen falsas o cuando el bit de efectuado esté establecido
Bit de habilitación del temporizador EN (bit 15)
las condiciones de renglón son verdaderas
las condiciones de renglón 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 temporizació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:
1–18
Condición
Resultado
Si el renglón verdadero:
El bit EN permanece establecido. El bit TT permanece establecido El valor ACC está puesto a cero.
Si el renglón es falso:
El bit EN está restablecido. El bit TT está restablecido. El valor ACC está puesto a cero.
Instrucciones básicas
Temporizador a la desconexión (TOF) 3 3 3 3 3 3 TOF TIMER OFF DELAY Timer T4:1 Time Base 0.01 Preset 120 Accum 0
Instrucción de salida
(EN) (DN)
Use la instrucción TOF para activar o desactivar una salida después de que su renglón ha estado desactivado durante un intervalo de tiempo preseleccionado. La instrucción TOF comienza a contar los intervalos de la base de tiempo cuando el 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 Este bit
Se establece cuando
Y permanece establecido hasta ocurrir uno de los siguientes eventos
Bit de efectuado del temporizador DN (bit 13)
las condiciones de renglón son verdaderas
las condiciones de renglón se hacen falsas y el valor acumulado es mayor o igual que el valor preseleccionado
Bit de temporización del temporizador TT (bit 14)
las condiciones de renglón son falsas y el valor acumulado es menor que el valor preseleccionado
las condiciones de renglón se hacen verdaderas o cuando el bit de efectuado se restablece
Bit de habilitación del temporizador EN (bit 15)
las condiciones de renglón son verdaderas
las condiciones de renglón 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 Preface
Se puede ocurrir lo siguiente al regresar al modo de marcha REM o prueba REM: Condición
Resultado
Si el renglón es verdadero:
El bit TT se restablece. El bit DN permanece establecido. El bit EN se establece. El valor ACC se restablece.
Si el renglón es falso:
El bit TT se restablece. El bit DN se restablece. El bit EN se restablece. El valor ACC se establece igual que el valor preseleccionado.
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
1–20
El TOF temporiza dentro de una pareja MCR inactiva.
Instrucciones básicas
Temporizador retentivo (RTO) 3 3 3 3 3 3 RTO RETENTIVE TIMER ON Timer T4:2 Time Base 0.01 Preset 120 Accum 0
Instrucción de salida
(EN) (DN)
Use la instrucción RTO para activar o desactivar una salida después que el temporizador haya estado desactivado durante un intervalo de tiempo preseleccionado. La instrucción RTO es una instrucción retentiva que comienza a 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 Se establece cuando
Y permanece establecido hasta ocurrir uno de los siguientes eventos
Bit de efectuado del temporizador DN (bit 13)
el valor acumulado es igual o mayor que el valor preseleccionado
la instrucción RES apropiada se habilita
Bit de temporización del temporizador TT (bit 14)
las condiciones de renglón son verdaderas y el valor acumulado es menor que el valor preseleccionado
las condiciones de renglón se hacen falsas o cuando se establece el bit de efectuado
Bit de habilitación del temporizador EN (bit 15)
las condiciones de renglón son verdaderas
las condiciones de renglón se hacen falsas
Este bit
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 Preface
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
Condición
Resultado
Si el renglón es verdadero:
El bit TT permanece establecido. El bit EN permanece establecido. El valor ACC permanece sin cambio y vuelve a incrementar.
Si el renglón es falso:
El bit TT se restablece. El bit DN permanece en su último estado. El bit EN se restablece. El valor ACC permanece en su último estado.
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
Pal. 1
Valor preseleccionado
Pal. 2
Valor acumulado
Bits direccionables
Uso interno
Palabras direccionables
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 Preface
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 Explicación
1–24
C
Contador
f
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
e
Número de elemento
.
Elemento de palabra
s
Subelemento
/
Delimitador de bit
b
Bit
Estos son elementos de 3 palabras. Para los procesadores SLC 500 el rango es 0-255. Para los controladores MicroLogix 1000 el rango es de 0-39.
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 Preface
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).
–32,768
(CTU)
+32,767
0
Conteo progresivo Valor acumulado del contador Conteo regresivo (CTD)
Underflow
Overflow
Conteo progresivo (CTU) 3 3 3 3 3 3 CTU COUNT UP Counter Preset Accum
(CU) C5:0 120 0
Instrucción de salida
(DN)
El CTU es una instrucción que cuenta las transiciones de renglón de falso a verdadero. Las transiciones de renglón pueden ser provocadas por eventos 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 Este bit
Se establece cuando
Y permanece establecido hasta ocurrir uno de los siguientes eventos
Bit de overflow de conteo progresivo OV (bit 12)
el valor acumulado cambia a –32,768 (desde +32,767) y continúa contando desde ese punto
se ejecuta una instrucción RES con la misma dirección que la instrucción CTU O 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 mayor que el valor preseleccionado
el valor acumulado se hace menor que el valor preseleccionado
Bit de habilitación de conteo progresivo CU (bit 15)
las condiciones de renglón son verdaderas
las condiciones de renglón se hacen falsas O BIEN se 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
Manual de referencia del juego de instrucciones Preface
Conteo regresivo (CTD) 3 3 3 3 3 3 CTD COUNT DOWN Counter C5:1 Preset 120 Accum 0
(CD) (DN)
El CTD es una instrucción que cuenta las transiciones de renglón de falso a verdadero. Las transiciones de renglón pueden ser causadas por eventos que ocurren en el programa, tales como piezas pasando por un detector o accionando un final de carrera.
Instrucción de salida
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 Este bit
Se establece cuando
Y permanece establecido hasta ocurrir uno de los siguientes eventos
Bit de underflow de conteo regresivo UN (bit 11)
el valor acumulado cambia a –32,768 (desde +32,767) y continúa contando regresivamente desde ese punto
una instrucción RES con la misma dirección que la instrucción CTD se ejecuta O 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 mayor que el valor preseleccionado
el valor acumulado se hace menor que el valor preseleccionado
Bit de habilitación de conteo regresivo CD (bit 14)
las condiciones de renglón son verdaderas
las condiciones de renglón se hacen falsas O BIEN se habilita una instrucción RES con la misma dirección que la instrucción CTD
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 Counter C5:0 Preset 120 Accum 0
Instrucción de salida
Nota
(CU) (DN)
El contador de alta velocidad constituye una variación del contador CTU. La instrucción HSC se habilita cuando la lógica de renglón es verdadera y se inhabilita 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.
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 Preface
El puente del contador de alta velocidad se ubica debajo del conectador de la batería O BIEN a la derecha del conector de la batería.
J2
4. Nota
J2
Vuelva a poner la cubierta.
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
Pal. 1
Valor preseleccionado
Pal. 2
Valor de acumulador CU CD DN OV UN UA
= = = = = =
No usado
Bit de habilitación de conteo progresivo Bit de habilitación de conteo regresivo Bit de efectuado Bit de overflow Bit de underflow Actualización de acumulador (HSC solamente)
1–31
Manual de referencia del juego de instrucciones Preface
•
• •
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
Rung 1
C5:0 ] [ DN
Rung 2
] [
] [
] [
( )
Rung 17
] [
] [
] [
( )
Rung 18
C5:0 ] [ DN
Rung 19
] [
] [
] [
( )
Rung 30
] [
] [
] [
( )
Rung 31
C5:0 ] [ DN
Rung 32
] [
JUMP TO SUBROUTINE
3
JSR JUMP TO SUBROUTINE
3
JSR JUMP TO SUBROUTINE
] [
3
( )
] [
Ejemplo de aplicación – Archivo 3 (ejecución de lógica HSC)
Rung 0 Rung 1
] [ ] [
( ) ] [
( )
] [
C5:0 (U) DN
Rung 20 RET Rung 21
Lógica de aplicación
Desenclavamiento del bit DN
RETURN
1–33
Manual de referencia del juego de instrucciones Preface
Restablecimiento (RES) 3 3 3 3 3 3
(RES) Instrucción de salida
Nota
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. Usando una instrucción RES para un:
El procesador restablece el:
Temporizador (No use una instrucción RES con TOF.)
valor ACC a 0 bit DN bit TT bit EN
Contador
valor ACC a 0 bit OV bit UNt bit DN bit CU bit CD
Control
valor POS a 0 bit EN bit EUt bit DN bit EM bit ER bit UL IN y FD van al último estado
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. Posición original I:1/5
Perforadora activada/desactivada O:3/1
1–35
Manual de referencia del juego de instrucciones Preface 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. Posición original I:1/5
Perf. act./desact. O:3/1 Retracción perf. O:3/2 Avance perf. O:3/3
Prof. perforación I:1/4
1–37
Manual de referencia del juego de instrucciones Preface 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 Mnemónico
Nombre
Propósito
Página
EQU
Igual
Probar si dos valores son iguales.
2–3
NEQ
No igual
Probar si un valor no es igual que un segundo valor.
2–3
LES
Menor que
Probar si un valor es menor que un segundo valor.
2–4
LEQ
Menor o igual que
Probar si un valor es menor o igual que un segundo valor.
2–4
GRT
Mayor que
Probar si un valor es mayor que otro.
2-4
GEQ
Mayor o igual que
Probar si un valor es mayor o igual que un segundo valor.
2–5
MEQ
Comparación igualdad con máscara
Probar porciones de dos valores para saber si son iguales. Compara datos de 16 bits de una dirección de fuente contra datos de 16 bit en una dirección de referencia mediante una máscara.
2–6
LIM
Prueba de límite
Probar si un valor se encuentra dentro del rango de límite de otros dos valores.
2–7
2–1
Manual de referencia del juego de instrucciones Preface
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 Source A Source B
Instrucción de entrada
Use la instrucción EQU para probar si dos valores son iguales. Si la fuente A y la fuente B son iguales, la instrucción es lógicamente verdadera. Si estos valores no 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 Source A Source B
Instrucción de entrada
Use la instrucción NEQ para probar si dos valores no son iguales. Si la fuente A y la fuente B no son iguales, la instrucción es lógicamente verdadera. Si los dos 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 Preface
Menor que (LES) 3 3 3 3 3 3 LES LESS THAN Source A Source B
Instrucción de entrada
Use la instrucción LES para probar si un valor (fuente A) es menor que otro (fuente B). Si la fuente A es menor que el valor en la fuente B, la instrucción es 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 Source A Source B
Instrucción de entrada
Use la instrucción LEQ para probar si un valor (fuente A) es menor o igual que otro (fuente B). Si la fuente A es menor o igual que el valor en la fuente B, la 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 Source A Source B
Instrucción de entrada
Use la instrucción GRT para probar si un valor (fuente A) es mayor que otro (fuente B). Si la fuente A es mayor que el valor en la fuente B, la instrucción es 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 Source A Source B
Use la instrucción GEQ para probar si un valor (fuente A) es mayor o igual que otro (fuente B). Si la fuente A es mayor o igual que el valor en la fuente B, la 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.
Instrucción de entrada
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 Preface
Comparación con máscara para igual (MEQ)
MEQ MASKED EQUAL Source Mask
3 3 3 3 3 3
Use la instrucción MEQ para comparar datos en una dirección de fuente contra datos en una dirección de comparación. El uso de esta instrucción permite que una palabra separada enmascare porciones de datos.
Compare
Instrucción de entrada
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 Low Lim
Use la instrucción LIM para probar los valores dentro o fuera de un rango especificado, según cómo usted haya establecido los límites.
Test High Lim
Instrucción de entrada
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 –32,768
Verdadero Límite bajo
Falso Límite alto
+ 32,767
Ejemplo – límite bajo menor que el límite alto: Límite bajo 5
La instrucción es falsa Límite La instrucción es verdadera alto cuando el valor de prueba es cuando el valor de prueba es 8
5a8
–32,768 a 4 y 9 a 32,767
2–7
Manual de referencia del juego de instrucciones Preface
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 –32,768
Falso Límite alto
Verdadero + 32,767
Límite bajo
Ejemplo – límite bajo mayor que el límite alto: Límite bajo 5
2–8
La instrucción es falsa Límite La instrucción es verdadera alto cuando el valor de prueba es cuando el valor de prueba es 8
–32,768 a 5 y 8 a 32,767
6y7
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.
OPERATOR PANEL
Start I:1/6 Stop I:1/7 Thumbwheel for Thickness in 1/4”
Change Tool Soon O:3/4
5 Hole
Tool Change Reset 3 Hole
I:1/11–I:1/14
(Keyswitch) I:1/8
Change Tool Now O:3/6
7 Hole I:1/9–I:1/10
2–9
Manual de referencia del juego de instrucciones Preface 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 Mnemónico
Nombre
Propósito
Page
ADD
Añadir
Añade la fuente A a la fuente B y almacena el resultado en el destino.
3–6
SUB
Restar
Resta la fuente B de la fuente A y almacena el resultado en el destino.
3–7
MUL
Multiplicar
Multiplica la fuente A por la fuente B y almacena el resultado en el destino.
3–11
DIV
Dividir
Divide la fuente A por la fuente B y almacena el resultado en el destino y el registro matemático.
3–12
DDV
División doble
Divide el contenido del registro matemático por la fuente y almacena el resultado en el destino y el registro matemático.
3–13
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 resultado de entero en el destino.
3–14
SCP
Escalar con parámetros
Produce un valor de salida escalado que tiene una relación lineal entre los valores de entrada y escalados.
3–15
continúa en la página siguiente
3–1
Manual de referencia del juego de instrucciones Preface
Instrucción Mnemónico
3–2
Nombre
Propósito
Página
SCL
Datos de escala
Multiplica la fuente por una tasa especificada, añade a un valor offset y almacena el resultado en el destino.
3–18
ABS
Absoluto
Calcula el valor absoluto de la fuente y coloca el resultado en el destino.
3–24
CPT
Calcular
Evalúa una expresión y almacena el resultado en el destino.
3–25
SWP
Cambiar
Cambia los bytes bajos y altos de un número especificado de palabras en un archivo de bit, entero, ASCII o cadena.
3-27
ASN
Arco seno
Acepta el arco seno de un número y almacena el resultado (en radianes) en el destino.
3-28
ACS
Arco coseno
Acepta el arco coseno de un número y almacena el resultado (en radianes) en el destino.
3–29
ATN
Arco tangente
Acepta el arco tangente de un número y almacena el resultado (en radianes) en el destino.
3-29
COS
Coseno
Acepta el coseno de un número y almacena el resultado en el destino.
3-30
LN
Logaritmo natural
Acepta el logoritmo natural del valor en la fuente y lo almacena en el destino.
3-30
LOG
Logaritmo de base Acepta el logoritmo de la base 10 del valor en la 10 fuente y almacena el resultado en el destino.
3–31
SIN
Seno
Acepta el seno de un número y almacena el resultado en el destino.
3–31
TAN
Tangente
Acepta la tangente de un número y almacena el resultado en el destino.
3–32
XPY
X a la potencia de Y Eleva un valor a la potencia y almacena el resultado en el destino.
3-33
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 Preface
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: Con este bit: S:0/0
Acarreo (C)
S:0/1
Overflow (V)
S:0/2
Cero (Z)
S:0/3
Signo (S)
El controlador: se establece si el acarreo es generado; en caso contrario, se pone a cero. indica que el resultado real de una instrucción matemática no se puede colocar en el destino designado. indica un valor 0 después de una instrucción matemática, de movimiento o lógica. indica un valor negativo (menor que 0) después de una 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
Ff:e
Explicación F
Archivo de punto (coma) flotante
f
Número del archivo. El número 8 es el archivo predeterminado. Un número de archivo entre 9–255 se puede usar si se requiere almacenamiento adicional.
:
Delimitador de elemento
e
Número de elemento
Tiene un rango de 0–255. Estos son elementos de 2 palabras. Números de 32 bits no extendidos.
Ejemplos: F8:2 F10:36
Elemento 2, archivo de punto (coma) flotante 8 Elemento 36, archivo de punto (coma) flotante 10 (el archivo 10 es designado como un archivo de punto [coma] flotante por el usuario)
3–5
Manual de referencia del juego de instrucciones Preface
Añadir (ADD) 3 3 3 3 3 3 ADD ADD Source A
Use la instrucción ADD para añadir un valor (fuente A) a otro valor (fuente B) y coloque el resultado en el destino.
Source B Dest
Instrucción de salida
Actualizaciones de bits de estado aritmético Con este bit:
Cero (Z)
se establece si el acarreo es generado; si no, se restablece (entero). 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 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. 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.
Acarreo (C)
Overflow (V)
3–6
El procesador:
Instrucciones matemáticas
Restar (SUB) 3 3 3 3 3 3 SUB SUBTRACT Source A
Use la instrucción SUB para restar un valor (fuente B) del otro (fuente A) y coloque el resultado en el destino.
Source B Dest
Instnrucción de salida
Actualizaciones de los bits de estado aritmético Con este bit:
El procesador:
Cero (Z)
se establece si el acarreo es generado; en caso contrario, se restablece (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. 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. 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.
Acarreo (C)
Overflow (V)
3–7
Manual de referencia del juego de instrucciones Preface
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):
• • • Nota
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.
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):
• • • Nota
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.
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
3–8
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.
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
Manual de referencia del juego de instrucciones Preface
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 Addend B3:1
0000 0000 0000 0011 0001 1001 0100 0000 0003 1940 0101 0101 1010 1000 55A8
203,072 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 ] [
ADD
B3 [OSR] 1 0
ADD Source A B3:1 0101010110101000 Source B B3:2 0001100101000000 Dest B3:2 0001100101000000
ADD
S:0 ] [ 0
ADD Source A
1
Cuando el renglón se hace verdadero para un solo escán, B3:1 es añadido a B3:2. El resultado se coloca en B3:2.
Si un acarreo es generado (S:0/0 establecido), 1 es añadido a B3:3.
Source B B3:3 0000000000000011 Dest B3:3 0000000000000011
B3 ] [ 31
SUB SUBTRACT Source A B3:3 0000000000000011 Source B 1
Si B3:1 es negativo (B3/31 establecido), 1 es restado de B3:3.
Dest B3:3 0000000000000011
S:5 (U) 0 END
El bit de TRAP de overflow S:5/0 se desenclava para evitar la ocurrencia de un 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 Source A
Use la instrucción MUL para multiplicar un valor (fuente A) por el otro (fuente B) y coloque el resultado en el destino.
Source B Dest
Instrucción de salida
Actualizaciones de los bits de estado aritmético Con este bit:
El procesador:
Acarreo (C)
siempre se restablece.
Overflow (V)
Cero (Z) Signo (S)
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 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; en caso contrario, se restablece. se establece si el resultado es negativo; en caso contrario, se 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 Source A
Use la instrucción DI:V para dividir un valor (fuente A) entre otro (fuente B). El cociente redondeado se coloca a su vez en el destino. Si el residuo es 0.5 ó mayor, el redondear toma lugar en el destino. El cociente no redondeado se almacena en la palabra más significativa del registro matemático. El resto se coloca en la palabra menos significativa del registro matemático.
Source B Dest
Instrucción de entrada
Actualizaciones de los bits de estado aritmético Con este bit:
El procesador:
Acarreo (C)
siempre se restablece.
Overflow (V)
Cero (Z) Signo (S)
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 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 overflow está establecido. se establece si el resultado es negativo; si no, se restablece; no definido 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 Source A Source B Dest
3–12
dónde: N7:0 11 N7:1 2 N7:2 6
N7:0 = 11 N7:1 = 2 N7:2 = 6
resultado: S:14 = 5 S:13 = 1
Instrucciones matemáticas
División doble (DDV) 3 3 3 3 3 3 DDV DOUBLE DIVIDE Source Dest
Instrucción de salida
El contenido de 32 bits del registro matemático se divide entre el valor de fuente de 16 bits y el cociente redondeado se coloca en el destino. Si el residuo es 0.5 ó mayor, se redondea el destino. 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 Con este bit:
El procesador:
Acarreo (C)
siempre se restablece.
Overflow (V)
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, 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.
Signo (S)
se establece si el resultado es negativo; en caso contrario, se 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 Dest
Use la instrucción CLR para poner a cero el valor de destino de una palabra.
Instnrucción de salida
Actualizaciones de los bits de estado aritmético Con este bit:
El procesador:
Acarreo (C)
siempre se restablece
Overflow (V)
siempre se restablece
Cero (Z)
siempre se establece
Signo (S)
siempre se restablece
Raíz cuadrada (SQR) 3 SQR SQUARE ROOT Source
3 3 3
Cuando esta instrucción es evaluada como verdadera, la raíz cuadrada del valor absoluto de la fuente es calculada y el resultado redondeado se coloca en el destino.
Dest
Instrucción de salida
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:
Acarreo (C)
es reservado (entero). Para el punto (coma) flotante, siempre está puesto a cero.
Overflow (V)
siempre se restablece.
Cero (Z) Signo (S)
3–14
se establece cuando el valor de destino es cero. siempre se restablece.
Instrucciones matemáticas
Cómo escalar con parámetros (SCP) 3 3 SCP SCALE W/PARAMETERS Input Input Min. Input Max. Scaled Min. Scaled Max. Scaled Output
Instrucciones de salida
Use la instrucción SCP para producir un valor de salida escalado que tiene una relación lineal entre los valores de entrada y escalados. Esta instrucción tiene capacidad para valores de entero y punto (coma) flotante. 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:
Acarreo (C)
siempre se restablece.
Overflow (V) Cero (Z) Signo (S)
se establece si el overflow es generado o si una entrada sin capacidad se detecta; si no, se restablece. se establece cuando el valor de destino es cero; si no, se restablece. se establece cuando el valor de destino es negativo; si no, se restablece.
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 Preface
Escala de datos (SCL) 3 SCL SCALE Source Rate [/10000]
3 3 3
Cuando esta instrucción es verdadera, el valor en la dirección de fuente se multiplica por el valor del régimen. El resultado redondeado se añade al valor de offset y se coloca en el destino.
Offset Dest
Instrucción de salida
Ejemplo SCL SCALE Source Rate [/10000] Offset Dest
Nota
N7:0 100 25000 127
La fuente 100 es multiplicada por 25000 y dividida entre 10000 y sumada a 127. El resultado 377 se coloca en el destino.
N7:1 377
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.
• • •
3–18
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.
Instrucciones matemáticas
Actualizaciones de los bits de estado aritmético Con este bit:
El procesador:
Acarreo (C)
es reservado.
Overflow (V)
se establece si un overflow se detecta; en caso contrario, se restablece. Durante un overflow, el bit de error menor S:5/0 también se establece y el valor –32,768 ó 32,767 se coloca en el destino. La presencia de un overflow se verifica antes y después de la aplicación del valor de À offset.
Cero (Z)
se establece cuando el valor de destino es cero.
Signo (S)
se establece si el valor de destino es negativo; en caso contrario, se restablece.
À Si el resultado de la fuente multiplicado por el régimen, dividido entre 10000 es mayor que 32767, la instrucción SCL provoca un overflow y causa un error 0020 (bit de error menor) y coloca 32767 en el destino. Esto ocurre independientemente del offset actual.
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
16,383 (Escala máx.)
Valor con escala
0 (Escala mín.) 3,277 (Entrada mín.)
16,384 (Entrada máx.) Valor de entrada
3–19
Manual de referencia del juego de instrucciones Preface
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 con escala = (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.)
Valor con escala
0 0V (Escala mín.) 3,277 4 mA (Entrada mín.)
16,384 20 mA (Entrada máx.) Valor de entrada
3–20
Instrucciones matemáticas
Cómo calcular la relación lineal Use las ecuaciones siguientes para calcular las unidades con escala: Valor 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 Preface
32,764 10V (Escala máx.)
Valor con escala
0 0V (Escala mín.) 0 4 mA (Entrada mín. desplazada)
13,107 20 mA (Entrada máx. desplazada) Valor de entrada
Cómo calcular la relación lineal desplazada Use las ecuaciones siguientes para calcular las unidades escaladas: Valor 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) / (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: Aplicar el desplazamiento SUB SUBTRACT Source A Source B Dest
I:1.0 3277 N7:0
Entrada analógica
Valor analógico con escala desplazado SCL SCALE Source Rate [/10000] Offset Dest
N7:0 24997 0 O:2.0
Salida analógica
3–23
Manual de referencia del juego de instrucciones Preface
Absoluto (ABS) 3 3 ABS ABSOLUTE VALUE Source Dest
Instrucción de salida
Use la instrucción ABS para calcular el valor absoluto de la fuente y colocar el resultado en el destino. Esta instrucción tiene capacidad para los valores de entero y 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:
Acarreo (C)
siempre se restablece.
Overflow (V) Cero (Z) Signo (S)
3–24
siempre se restablece con un valor de punto (coma) flotante; se establece si la entrada es –32,768 (valor de entero). se establece cuando el valor de destino es cero; en caso contrario, se restablece. siempre se restablece.
Instrucciones matemáticas
Calcular (CPT) 3 3 CPT COMPUTE Dest Expression
Instnrucción de salida
La instrucción CPT efectúa operaciones de copiar, aritméticas, lógicas y conversión. Usted define la operación en la expresión y el resultado se escribe en el destino. El CPT usa funciones para operar en uno o más valores en la expresion para efectuar 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 Con este bit:
El procesador:
Acarreo (C)
se establece según el resultado de la última instrucción en la expresión.
Cero (Z)
se establece cuando un overflow ocurre durante la evaluación de la expresión. 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.
Overflow (V)
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 Preface
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 Source Length
Use esta instrucción para intercambiar los bytes bajos y altos de un número de 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.
Instrucción de salida
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 Length
#ST10:1.1 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 Source Dest
Instrucción de salida
Use la instrucción ASN para tomar el arco seno de un número (fuente en radianes) y almacenar el resultado (en radianes) en el destino. La fuente debe ser mayor o igual 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:
Acarreo (C)
siempre se restablece.
Overflow (V) Cero (Z) Signo (S)
3–28
se establece si un overflow es generado o una entrada sin capacidad se detecta; si no, se restablece. se establece si el resultado es cero; en caso contrario, se restablece. se establece si el resultado es negativo; en caso contrario, se restablece.
Instrucciones matemáticas
Arco coseno (ACS) 3 3 ACS ARC COSINE Source Dest
Instrucción de salida
Use la instrucción ACS para tomar el arco seno de un número (fuente en radianes) y almacenar el resultado (en radianes) en el destino. La fuente debe ser mayor o igual 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 Con este bit:
El procesador:
Acarreo (C)
siempre se restablece.
Cero (Z)
se establece si un overflow es generado o una entrada sin capacidad se detecta; en caso contrario, se restablece. se establece si el resultado es cero; en caso contrario, se restablece.
Signo (S)
siempre se restablece.
Overflow (V)
Arco tangente (ATN) 3 3 ATN ARC TANGENT Source Dest
Instrucción de salida
Use la para tomar el arco tangente de un número (fuente) y almacenar el resultado (en radianes) en el destino. 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:
Acarreo (C)
siempre se restablece.
Overflow (V) Cero (Z) Signo (S)
se establece si un overflow es generado o una entrada sin capacidad se detecta; en caso contrario, se restablece. se establece si el resultado es cero; en caso contrario, se restablece. se establece si el resultado es negativo; en caso contrario, se restablece.
3–29
Manual de referencia del juego de instrucciones Preface
Coseno (COS) 3 3 COS COSINE Source Dest
Instrucción de salida
Use la instrucción COS para tomar el coseno de un número (fuente en radianes) y almacenar el resultado (en radianes) en el destino. La fuente debe ser mayor o igual 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:
Acarreo (C)
siempre se restablece.
Cero (Z)
se establece si un overflow es generado o una entrada sin capacidad se detecta; en caso contrario, se restablece. se establece si el resultado es cero; en caso contrario, se restablece.
Signo (S)
siempre se restablece.
Overflow (V)
Logaritmo natural (LN) 3 3 LN NATURAL LOG Source Dest
Instrucción de salida
Use la instrucción LN para tomar el logaritmo natural del valor en la fuente y almacenar el resultado en el destino. La fuente debe ser mayor que cero. El valor 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:
Acarreo (C)
siempre se restablece.
Cero (Z)
se establece si un overflow es generado o una entrada sin capacidad se detecta; en caso contrario, se restablece. se establece si el resultado es cero; en caso contrario, se restablece.
Signo (S)
siempre se restablece.
Overflow (V)
3–30
Instrucciones matemáticas
Logaritmo a la base 10 (LOG) 3 3 LOG LOG BASE 10 Source Dest
Instrucción de salida
Use la instrucción LOG para tomar el logaritmo de base 10 del valor en la fuente y almacenar el resultado en el destino. La fuente debe ser mayor que cero. El valor 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 Con este bit:
El procesador:
Acarreo (C)
siempre se restablece.
Cero (Z)
se establece si un overflow es generado o una entrada sin capacidad se detecta; en caso contrario, se restablece. se establece si el resultado es cero; en caso contrario, se restablece.
Signo (S)
siempre se restablece.
Overflow (V)
Seno (SIN) 3 3 SIN SINE Source Dest
Instrucción de salida
Use la instrucción SIN para tomar el seno de un número (fuente en radianes) y almacenar el resultado en el destino. La fuente debe ser mayor o igual que –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 Con este bit:
El procesador:
Acarreo (C)
siempre se restablece.
Cero (Z)
se establece si un overflow es generado o una entrada sin capacidad se detecta; en caso contrario, se restablece. se establece si el resultado es cero; en caso contrario, se restablece.
Signo (S)
siempre se restablece.
Overflow (V)
3–31
Manual de referencia del juego de instrucciones Preface
Tangente (TAN) 3 3 TAN TANGENT Source Dest
Instrucción de salida
Use la instrucción TAN para tomar la tangente de un número (fuente en radianes) y almacenar el resultado en el destino. El valor de la fuente debe ser mayor o igual 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:
Acarreo (C)
siempre se restablece.
Cero (Z)
se establece si un overflow es generado o una entrada sin capacidad se detecta; en caso contrario, se restablece. se establece si el resultado es cero; en caso contrario, se restablece.
Signo (S)
siempre se restablece.
Overflow (V)
3–32
Instrucciones matemáticas
X a la potencia de Y (XPY) 3 3 XPY X TO POWER OF Y Source A Source B Dest
Instrucción de salida
Use la instrucción XPY para elevar un valor (fuente A) a una potencia (fuente B) y almacenar el resultado en el destino. Si el valor en la fuente A es negativo, la exponente (fuente B) debe ser un número entero. Si no es un número entero, el bit 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 Con este bit:
El procesador:
Acarreo (C)
siempre se restablece.
Cero (Z)
se establece si un overflow es generado o una entrada sin capacidad se detecta; en caso contrario, se restablece. se establece si el resultado es cero; en caso contrario, se restablece.
Signo (S)
siempre se restablece.
Overflow (V)
3–33
Manual de referencia del juego de instrucciones Preface
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 Preface 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 Instrucción Mnemónico
Nombre
Propósito
Página
TOD
Convertir a BCD
Convierte el valor de fuente de entero en el formato BCD y lo almacena en el destino.
4–3
FRD
Convertir desde BCD
Convierte el valor de fuente BCD en un entero y lo almacena en el destino.
4–6
DEG
Convertir de radianes a grados
Convierte radianes (fuente) en grados y almacena el resultado en el destino.
4–10
RAD
Convertir de grados a radianes
Convierte grados (fuente) en radianes y almacena el resultado en el destino.
4–11
DCD
Descodificar 4 a 1 de 16
Descodifica un valor de 4 bits (0 a 15) activando el bit correspondiente en el destino de 16 bits.
4–12
ENC
Codificar 1 de 16 a 4
Codifica una fuente de 16 bits a un valor de 4 bits. 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.
4–13
COP y FLL
Copiar el archivo y llenar el archivo
La instrucción COP copia datos del archivo de fuente al archivo de destino. La instrucción FLL carga un valor de fuente en cada posición al archivo de destino.
4-15
continúa en la página siguiente
4–1
Manual de referencia del juego de instrucciones Preface
Instrucción Mnemónico
Nombre
Propósito
Página
MOV
Mover
Mueve el valor de fuente al destino.
4–20
MVM
Mover con máscara
Mueve los datos de un lugar de fuente a una porción seleccionada del destino.
4–21
AND
Y
Realiza una operación Y por bit.
4–23
OR
O
Realiza una operación O inclusiva por bit.
4–24
XOR
O exclusivo
Realiza una operación de O exclusivo por bit.
4–25
NOT
No
Realiza una operación NO.
4–26
NEG
Negar
Cambia el signo de la fuente y lo almacena en el destino.
4–27
FFL y FFU
Carga FIFO y descarga FIFO
La instrucción FFL carga una palabra en una pila FIFO en transiciones de falso a verdadero sucesivas. 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.
4–30
LFL y LFU
Carga LIFO y descarga LIFO
La instrucción LFL carga una palabra en una pila LIFO en transiciones de falso a verdadero sucesivas. El LFU descarga una palabra de la pila en transiciones de falso a verdadero sucesivas. La última palabra cargada es la primera de ser descargada.
4–32
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:
• •
4–2
Descripción general de las instrucciones de mover y lógicas Descripción general de las instrucciones FIFO y LIFO
Instrucciones de manejo de datos
Convertir en BCD (TOD) 3 3 3 3 3 3 TOD TO BCD Source Dest
Use esta instrucción para convertir enteros de 16 bits en valores BCD. S:13 00000000
Instrucción de salida Procesadores fijos y SLC 5/01
TOD TO BCD Source Dest
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 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. Si el valor de entero que introduce es negativo, el valor absoluto del número se usa para la conversión.
Instrucción de salida Procesadores SLC 5/02, SLC 5/03 y SLC 5/04 y controladores MicroLogix 1000
Actualizaciones de los bits de estado aritmético Con este bit:
El procesador:
Acarreo (C)
siempre se restablece.
Overflow (V) Cero (Z) Signo (S)
se establece si el resultado BCD es mayor de 9999. El overflow resulta en un error menor. se establece si el valor de destino es cero. se establece si la palabra de fuente es negativa; en caso contrario, se 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
Manual de referencia del juego de instrucciones Preface
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 N10:0 9760
Dest
El valor de destino se muestra en el formato BCD
9
7
6
0
N7:3 Decimal
9
7
6
0
N10:0 BCD de 4 dígitos
0010 0110 0010 0000
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
0
0
0
15
3
2
0
S:14
7
6
15
N7:3 Decimal
BCD de 5 dígitos S:13 y S:14
0
0
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 Dest
Bit de overflow
N7:3 32760 S:13 00032760
S:5 (U) 0
S:0 ] [ 1
S:13 y S:14 se muestran en el formato BCD. Bit de error menor
MOV MOVE Source Dest
S:13 10080 O:2.0 10080
0010 0111 0110 0000
MVM MASKED MOVE Source Mask Dest
S:14 3 000F O:3.0 3
0000 0000 0000 0011
4–5
Manual de referencia del juego de instrucciones Preface
Convertir de BCD (FRD) 3 3 3 3 3 3 FRD FROM BCD Source S:13 00000000 Dest
Instrucción de salida Procesadores fijos y SLC 5/01
Use esta instrucción para convertir los valores BCD en valores enteros. Con los procesadores fijos y SLC 5/01, la fuente sólo puede ser el registro matemático. Con 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 archivo de datos o puede ser el registro matemático, S:13.
FRD FROM BCD Source Dest
Instrucción de salida Procesadores SLC 5/02, SLC 5/03 y SLC 5/04 y controladores MicroLogix 1000
Actualizaciones de los bits de estado aritmético
Nota
4–6
Con este bit:
El procesador:
Acarreo (C)
siempre se restablece.
Overflow (V)
se establece si un valor que no sea BCD se contiene en la fuente o si el 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.
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.
Instrucciones de manejo de datos
S:1 ]/[ 15
EQU EQUAL Source A
Source B
FRD N7:1 0 I:0.0 0
FROM BCD Source
Dest
I:0.0 0 N7:2 0
MOV MOVE Source
Dest
I:0.0 0 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 Dest
N7:3 9760 N10:0 9760
El valor de fuente se muestra en el formato BCD.
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 Dest
0000 0000 0000 0011
15 0
S:14 0
0
0 3
S:13 y S:14 se muestran en el formato BCD.
S:13 00032760 N7:0 32760
0010 0111 0110 0000
15 2
S:13 7
6
0
BCD de 5 dígitos
0
3 2 7 6 0 N7:0 Decimal 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
4–8
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.
Instrucciones de manejo de datos
A continuación se muestra cómo borrar S:14 antes de ejecutar la instrucción FRD: MOV
I:1 ] [ 0
MOVE Source Dest
N7:2 4660 S:13 4660
0001 0010 0011 0100
CLR CLEAR Dest
S:14 0
FRD FROM BCD Source Dest
S:13 00001234 N7:0 1234
S:13 y S:14 se muestran en el formato BCD. 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 Source
Use esta instrucción para convertir los radianes (fuente) en grados y almacenar el resultado en el destino. La fórmula siguiente se aplica:
Dest
Fuente 180/Π donde Π = 3.141592
Instrucción de salida
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:
Acarreo (C)
siempre se restablece
Overflow (V) Cero (Z) Signo (S)
4–10
se establece si un overflow es generado o si una entrada sin capacidad se detecta; en caso contrario, se restablece se establece si el resultado es cero; en caso contrario, se restablece se establece si el resultado es negativo; en caso contrario, se restablece
Instrucciones de manejo de datos
Grados en radianes (RAD) 3 3 RAD Degress to Radians Source
Use esta instrucción para convertir los grados (fuente) en radianes y almacenar el resultado en el destino. La fórmula siguiente se aplica:
Dest
Fuente Π/180 donde Π = 3.141592
Instrucción de salida
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 Con este bit:
El procesador:
Acarreo (C)
siempre se restablece
Overflow (V) Cero (Z) Signo (S)
se establece si un overflow es generado o si una entrada sin capacidad se detecta; en caso contrario, se restablece se establece si el resultado es cero; en caso contrario, se restablece se establece si el resultado es negativo; en caso contrario, se restablece
4–11
Manual de referencia del juego de instrucciones Preface
Descodificar 4 a 1 de 16 (DCD) 3 3 3 3 3 3 DCD DECODE 4 to 1 of 16 Source Dest
Instrucción de salida
Una vez ejecutada, esta instrucción establece un bit de la palabra de destino. El bit que se activa depende del valor de los cuatro primeros bits de la palabra de fuente. 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. Fuente
Bit
Destino
15–04 03 02 01 00 x x x x x x x x x x x x x x x x
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
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 Source Dest
Instrucción de salida
Cuando el renglón es verdadero, esta instrucción de salida busca la fuente desde el bit mínimo hasta el bit máximo y busca el primer bit establecido. La posición de bit correspondiente es escribe al destino como entero según se muestra en la tabla siguiente:
Fuente Bit
Destino
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 x x x x x x x x x x x x x x x 1
x x x x x x x x x x x x x x 1 0
x x x x x x x x x x x x x 1 0 0
x x x x x x x x x x x x 1 0 0 0
x x x x x x x x x x x 1 0 0 0 0
x x x x x x x x x x 1 0 0 0 0 0
x x x x x x x x x 1 0 0 0 0 0 0
x x x x x x x x 1 0 0 0 0 0 0 0
x x x x x x x 1 0 0 0 0 0 0 0 0
x x x x x x 1 0 0 0 0 0 0 0 0 0
x x x x x 1 0 0 0 0 0 0 0 0 0 0
x x x x 1 0 0 0 0 0 0 0 0 0 0 0
x x x 1 0 0 0 0 0 0 0 0 0 0 0 0
x x 1 0 0 0 0 0 0 0 0 0 0 0 0 0
x 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15–04 03 02 01 00 x x x x x x x x x x x x x x x x
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 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 Preface
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: Con este bit:
4–14
El controlador:
S:0/0
Acarreo (C)
siempre se restablece.
S:0/1
Overflow (V)
se establece si más de un bit se establece; en caso contrario, se restablece. El bit de overflow matemáitico (S:5/0) no se establece.
S:0/2
Cero (Z)
se establece si el valor de destino es cero.
S:0/3
Signo (S)
siempre se restablece.
Instrucciones de manejo de datos
Instrucciones para copiar el archivo (COP) y llenar el archivo (FLL)
COP COPY FILE Source Dest Length
FLL FILL FILE Source Dest Length
3 3 3 3 3 3
El archivo de tipo destino determina el número de palabras que una instrucción 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. Después de la ejecución de una instrucción COP o FLL, el registro de índice S:24 se pone a cero.
Instrucciones de salida
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. Fuente
Destino
Archivo a 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
Manual de referencia del juego de instrucciones Preface
•
Nota
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 destino es un/una: Salida
entonces puede especificar una longitud máxima de: 1
Entrada
2
Estado
33
Bit
32
Temporizador
40
Contador
32
Control
16
Entero
105
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. Destino Fuente
Palabra a 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
Manual de referencia del juego de instrucciones Preface
•
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 destino es un/una: Salida
entonces puede especificar na longitud máxima de: 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 Preface
Mover (MOV) 3 3 3 3 3 3 MOV MOVE Source Dest
Esta instrucción de salida mueve el valor de fuente al lugar de destino. Siempre que el renglón permanezca verdadero, la instrucción mueve los datos durante cada 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 Con este bit:
4–20
El controlador:
S:0/0
Acarreo (C)
siempre se restablece.
S:0/1
Overflow (V)
siempre se restablece.
S:0/2
Cero (Z)
S:0/3
Signo (S)
se establece si el resultado es cero; en caso contrario, se restablece. se establece si el resultado es negativo (el bit más significante establecido); en caso contrario, se restablece.
Instrucciones de manejo de datos
Mover con máscara (MVM) 3 3 3 3 3 3 MVM MASKED MOVE Source Mask Dest
La instrucción MVM es una instrucción de palabra que mueve datos de un lugar de fuente a un destino y permite que porciones de los datos de destino estén enmascarados por una palabra separada. Siempre que el renglón permanenzca verdadero, la instrucción mueve los datos durante cada 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 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 Con este bit:
El controlador:
S:0/0
Acarreo (C)
siempre se restablece.
S:0/1
Overflow (V)
siempre se restablece.
S:0/2
Cero (Z)
S:0/3
Signo (S)
se establece si el resultado es cero; en caso contrario, se restablece. se establece si el resultado es negativo; en caso contrarior, se restablece.
4–21
Manual de referencia del juego de instrucciones Preface
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 Source A
El valor en la fuente A recibe la instrucción AND bit por bit con el valor en la fuente B y luego se almacena en el destino.
Source B Dest
Tabla de verdad Instrucción de salida
Destino = A y B A 0 1 0 1
B 0 0 1 1
Destino 0 0 0 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.
S:0/2
Cero (Z)
S:0/3
Signo (S)
se establece si el resultado es cero; en caso contrarior, se restablece. se establece si el bit más significativo está establecido; en 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 Source A
El valor en la fuente A recibe la instrucción O bit por bit con el valor en la fuente B y luego se almacena en el destino.
Source B Dest
Tabla de verdad Instrucción de salida
Destino = A o B A 0 1 0 1
B 0 0 1 1
Destino 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:
4–24
El controlador:
S:0/0
Acarreo (C)
siempre se restablece.
S:0/1
Overflow (V)
siempre se restablece.
S:0/2
Cero (Z)
S:0/3
Signo (S)
se establece si el resultado es cero; en caso contrario, se restablece. se establece si el resultado es negativo (el bits más significativo está establecido); en caso contrarior, se restablece.
Instrucciones de manejo de datos
O exclusivo (XOR) 3 3 3 3 3 3 XOR BITWISE EXCLUS OR Source A
El valor en la fuente A recibe la instrucción de O exclusivo bit por bit con el valor 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 0 1 0 1
B 0 0 1 1
Destino 0 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.
S:0/2
Cero (Z)
S:0/3
Signo (S)
se establece si el resultado es cero; en caso contrarior, se restablece. se establece si el resultado es negativo (el bits más significativo está establecido); en caso contrarior, se restablece.
4–25
Manual de referencia del juego de instrucciones Preface
No (NOT) 3 3 3 3 3 3 NOT NOT Source
El valor de fuente recibe la instrucción NOT bit por bit y luego se almacena en el destino (complemento de uno).
Dest
Instrucción de salida
Tabla de verdad Destino = NOT A A 0 1
Destino 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 Con este bit:
4–26
El controlador:
S:0/0
Acarreo (C)
siempre se restablece.
S:0/1
Overflow (V)
siempre se restablece.
S:0/2
Cero (Z)
S:0/3
Signo (S)
se establece si el resultado es cero; en caso contrarior, se restablece. se establece si el resultado es negativo (el bits más significativo está establecido); en caso contrarior, se restablece.
Instrucciones de manejo de datos
Negar (NEG) 3 3 3 3 3 3 NEG NEGATE Source Dest
Instrucción de salida
Use la instrucción NEG para cambiar el signo de la fuente y luego colóquelo en el destino. El destino contiene el complemento de dos de la fuente. Por ejemplo, si la fuente es 5, el destino sería –5. La fuente y el destino deben ser direcciones de palabra.
Actualizaciones de bits de estado aritmético Con este bit: S:0/0
Acarreo (C)
S:0/1
Overflow (V)
S:0/2
Cero (Z)
S:0/3
Signo (S)
El controlador: se pone a cero si es 0 u overflow; en caso contrarior, se 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 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 restablece. se establece si el resultado es negativo; en caso contrarior, se restablece.
4–27
Manual de referencia del juego de instrucciones Preface
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
•
• • •
4–28
Descarga el valor a partir de la:
FFU de FIFO
Primera palabra
LFU de LIFO
La última palabra introducida
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.
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 Preface
Carga FIFO (FFL) Descarga FIFO (FFU)
FFL FIFO LOAD Source FIFO Control Length Position
(EN) (DN) (EM)
FFU FIFO UNLOAD FIFO Dest Control Length Position
3
3 3 3
Las instrucciones FFL y FFU se usan conjuntamente. La instrucción FFL carga palabras en un archivo creado por el usuario que se llama una pila FIFO. La instrucción FFU descarga palabras de la pila FIFO en el mismo orden en que fueron cargadas.
(EU) (DN) (EM)
Instrucciones de salida
Parámetros de instrucción han sido programados en las instrucciones FFL–FFU ilustradas abajo.
FFL FIFO LOAD Source FIFO Control Length Position
N7:10 #N7:12 R6:0 34 9
FFU FIFO UNLOAD FIFO Dest Control Length Position
Instrucciones FFL–FFU
#N7:12 N7:11 R6:0 34 9
(EN) (DN) (EM)
(EU) (DN) (EM)
Destino N7:11 La instrucción FFU descarga datos de pila #N7:12 en posición 0, N7:12.
N7:12 N7:13 N7:14
Fuente N7:10 La instrucción FFL carga datos en pila #N7:12 en la próxima posición disponible, la cual es 9 en este caso.
N7:45
Posición 0 1 2 3 4 5 6 7 8 9
34 palabras han sido asignadas para la pila FIFO a partir de N7:12 hasta N7:45.
33
Carga y descarga de pila #N7:12
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 Preface
Carga LIFO (LFL) Descarga LIFO (LFU)
LFL LIFO LOAD Source LIFO Control Length Position
(EN) (DN) (EM)
LFU LIFO UNLOAD LIFO Dest Control Length Position
3
3 3 3
Las instrucciones LFL y LFU se usan conjuntamente. La instrucción LFL carga palabras en un archivo creado por el usuario que se llama una pila LIFO. La instrucción LFU descarga palabras de la pila LIFO en el mismo orden en que fueron cargadas.
(EU) (DN) (EM)
Instrucciones de salida
LFL LIFO LOAD Source LIFO Control Length Position
LFU LIFO UNLOAD LIFO Dest Control Length Position
Los parámetros de instrucción han sido programados en las instrucciones LFL–LFU ilustradas abajo. La instrucción LFU descarga datos de pila #N7:12 en posición 0, N7:12. N7:10 #N7:12 R6:0 34 9
#N7:12 N7:11 R6:0 34 9
Instrucciones LFL–LFU
(EN) (DN) (EM)
(EU) (DN) (EM)
N7:11 Destino
La instrucción LFL carga datos en pila #N7:12 en la próxima posición disponible, la cual es 9 en este caso. N7:10
N7:12 N7:13 N7:14
Posición 0 34 palabras se asignan 1 para la pila LIFO a partir 2 de N7:12 hasta N7:45. 3 4 5 6 7 8 9
Fuente 33 N7:45 Carga y descarga de pila #N7:12
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 Preface
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 Preface
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 Instrucción Propósito
Página
Mnemónico
Nombre
JMP y LBL
Saltar a etiqueta y etiqueta
Saltar hacia adelante o hacia atrás a la instrucción de etiqueta especificada.
5-3
JSR, SBR, y RET
Saltar a subrutina, subrutina, y retornar de la subrutina
Saltar a una subrutina designada y retornar.
5-5
MCR
Restablecimiento del control maestro
Desactivar todas las salidas no retentivas en una sección de un programa de escalera.
5–8
TND
Fin temporal
Marcar un fin temporal que detiene la ejecución del programa.
5–10
SUS
Suspender
Identifica condiciones específicas para la depuración del programa y la localización y corrección de fallos del sistema.
5–11
IIM
Entrada inmediata con máscara
Programar una entrada inmediata con máscara.
5–12
IOM
Salida inmediata con máscara
Programar una salida inmediata con máscara.
5–13
REF
Regenerar
5–14
5–1
Manual de referencia del juego de instrucciones Preface
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[
Si el renglón que contiene la instrucción de salto es: Verdadero
Falso
El programa: Salta del renglón que contiene la instrucción JMP al renglón que contiene la instrucción LBL designada y sigue ejecutando. Puede saltar hacia adelante o hacia atrás. No ejecuta la instrucción JMP.
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 Preface
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
5–4
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”.
Instrucciones de flujo de programa
Saltar a subrutina (JSR), subrutina (SBR), y retornar (RET) JSR JUMP TO SUBROUTINE SBR file number
...
Las instrucciones JSR, SBR y RET se usan para indicar al controlador que ejecute 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
Manual de referencia del juego de instrucciones Preface
•
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 principal
Nivel 1 Archivo de subrutina 6
6 JSR
Nivel 2 Archivo de subrutina 7
SBR
SBR
Nivel 3 Archivo de subrutina 8 SBR
7 JSR
8 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
Manual de referencia del juego de instrucciones Preface
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 zona es: Verdadero Falso
El controlador: Ejecuta los renglones en la zona MCR según la condición de entrada de cada renglón (como si la zona no existiera) Restablece todas las instrucciones de salida no retentiva en la zona MCR pese a las condiciones de entrada de cada renglón.
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:
• • • • Nota
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.
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 Preface
Fin temporal (TND) 3 3 3 3 3 3
(TND) Instrucción de salida
Nota
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. 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 Suspend ID
Instrucción de salida
Cuando esta instrucción se ejecuta, causa que el procesador entre en el modo de 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 Preface
Entrada inmediata con máscara (IIM) 3 3 3 3 3 3 IIM IMMEDIATE INPUT w MASK Slot Mask
Instrucción de entrada Procesadores fijos y SLC 5/01 y controladores MicroLogix 1000 IIM IMMEDIATE INPUT w MASK Slot Mask Length
Esta instrucción le permite actualizar datos antes del escán de entrada normal. 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 archivo de datos de entrada poniendo así los datos a la disposición de instrucciones siguientes a la instrucción IIM en el programa de escalera. Para la máscara, 1 en la posición de un bit de entrada transfiere datos desde la fuente hasta el destino. 0 inhibe que los datos se transfieran desde la fuente hasta el destino.
Instrucción de entrada 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 Slot Mask
Instrucción de salida Procesadores fijos y SLC 5/01 y controladores MicroLogix 1000 IOM IMMEDIATE OUTPUT w MASK Slot Mask Length
Esta instrucción le permite actualizar las entradas antes del escán de salida normal. 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 escán de programa se reanuda. Para la máscara, un 1 en la posición de bit de salida transfiere datos desde la fuente hasta el destino. 0 inhibe que los datos se transfieran desde la fuente hasta el 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 Preface
Regenerar I/S (REF) 3 3 3
Uso de un procesador SLC 5/02 (REF) Instrucción de salida
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 Channel 0 Channel 1
Instrucción de salida
La operación de la instrucción REF en el procesador SLC 5/03 y SLC 5/04 es la 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.
•
•
5–14
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+
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 Preface
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
Desplazamiento de bit izquierdo y desplazamiento de bit derecho
Cargan un bit de datos en un fichero de bit, desplaza la configuración de datos por el fichero y descarga el último bit de datos en el fichero. El BSL desplaza datos a la izquierda y el BSR desplaza datos a la derecha.
6–5
SQO y SQC
Salida de secuenciador y comparación de secuenciador
Controlan operaciones de máquina secuenciales transfiriendo datos de 16 bits a través de una máscara a direcciones de imagen.
6–9
SQL
Carga de secuenciador
Captura condiciones indicadas pasando manualmente la máquina por sus secuencias de operación.
6–14
Mnemónico
Nombre
BSL y BSR
6–1
Manual de referencia del juego de instrucciones Preface
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:
• •
6–2
Descripción general de las instrucciones de desplazamiento de bit Descripción general de las instrucciones del secuenciador
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
Pal. 0
EN
DN
ER UL
Pal. 1
Tamaño del fichero de bit (número de bits)
Pal. 2
00 No usada
Reservada
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 Preface
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)
BSL BIT SHIFT LEFT File #B3:1 Control R6:14 Bit AddressI:22/12 Length 58
BSR BIT SHIFT RIGHT File #B3:2 Control R6:15 Bit AddressI:23/06 Length 38
(EN) (DN)
3 3 3 3 3 3
BSL y BSR son instrucciones de salida que cargan bit por bit los datos en un fichero de bit. Los datos son desplazados a través del fichero y luego son descargados bit por bit.
(EN) (DN)
Instrucciones de salida
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 Preface
La ilustración siguiente muestra cómo funciona la instrucción de desplazamiento de bit izquierdo. BSL BIT SHIFT LEFT File #B3:1 Control R6:14 Bit Address I:22/12 Length 58
(EN) (DN)
Bit de fuente I:22/12 El bloque de datos se desplaza bit por bit desde bit 16 hasta bit 73. 31 30 29 28 27 26 25 47 46 45 44 43 42 41 63 62 61 60 59 58 57 73 NO VALIDO
24 40 56 72
23 39 55 71
22 38 54 70
21 37 53 69
20 36 52 68
19 35 51 67
18 34 50 66
17 33 49 65
16 32 48 64
Fichero de bit 58 #B3:1
Bit de descarga (R6:14/10)
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 File #B3:2 Control R6:15 Bit Address I:23/06 Length 38
(EN) (DN)
Bit de descarga (R6:15/10)
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 69 68 67 66 65 64 INVALID
Fichero de bit 38 #B3:2
El bloque de datos se desplaza bit por bit desde bit 69 hasta bit 32. Bit de fuente I:23/06
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 Preface
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)
SQO SEQUENCER OUTPUT File #B10:1 Mask 0F0F Dest O:14 Control R6:20 Length 4 Position 2 SQC SEQUENCER COMPARE File #B10:11 Mask FFF0 Source I:03 Control R6:21 Length 4 Position 2
(EN) (DN)
3 3 3 3 3 3
Estas intstrucciones transfieren datos de 16 bits a direcciones de palabra para el control de operaciones secuenciales de la máquina.
(EN) (DN) (FD)
Instrucciones de salida
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:
SQO
Datos para controlar salidas
SQC
Datos de referencia para monitorizar entradas
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 Preface
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
Pal. 0
EN
DN
ER
FD
Pal. 1
Longitud del archivo de secuenciador
Pal. 2
Posición
00
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 Preface
La ilustración siguiente indica cómo funciona la instrucción SQO. SQO SEQUENCER OUTPUT File #B10:1 Mask 0F0F Dest O:14.0 Control R6:20 Length 4 Position 2
(EN) (DN)
Destino O:14.0 15 0000
8 0101
7 0000
Salidas externas asociadas con O:14
0 1010
Valor de máscara 0F0F 15 0000
8 1111
7 0000
0 1111
Archivo de salida de secuenciador #B10:1 Palabra B10:1 0000 2 1010 3 1111 4 0101 5 0000
0000 0010 0101 0101 1111
0000 1111 0100 0101 0000
0000 0101 1010 0101 1111
Paso 0 1 2 3 4
Paso actual
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
Activ. Activ.
Activ. Activ.
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 File #B10:11 Mask FFF0 Source I:3.0 Control R6:21 Length 4 Position 2
(EN) (DN) (FD)
Palabra de entrada I:3.0 0010
0100
1001
1101
Valor de máscara FFF0 1111
1111
1111
0000
Archivo de ref. de secuenciador #B10:11 Palabra B10:11 12 13 0010 14 15
0100
1001
Paso 0 1 1010 2 3 4
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 Preface
Carga de secuenciador (SQL) 3 SQL SEQUENCER LOAD File Source Control Length Position
(EN) (DN)
3 3 3
La instrucción SQL almacena datos de 16 bits en un archivo de carga de secuenciador a cada paso de la operación del secuenciador. La fuente de estos datos puede ser una dirección de palabra de E/S o de almacenamiento, una dirección de archivo o una constante.
Instrucción de salida
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
Pal. 1
Longitud
DN
Pal. 2
Posición
ER
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 Preface
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 File #N7:30 Source I:1.0 Control R6:4 Length 4 Position 2
(EN) (DN) Entradas externas asociadas con I:1.0
Fuente I:1.0 15 0000
8 0101
7 0000
0 1010
Archivo de carga de secuenciador #N7:30 Palabra N7:30 0000 31 1010 32 0000 33 0000 34 0000
0000 0010 0101 0000 0000
0000 1111 0000 0000 0000
0000 0101 1010 0000 0000
Paso 0 1 2 3 4
Paso actual
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
Activ. Activ.
Activ. Activ.
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 Thumbwheel for Thickness in 1/4”
Change Drill Soon O:3/4
Change Drill Now O:3/6 5 Hole
Drill Change Reset 3 Hole
I:1/11–I:1/14
(Keyswitch) I:1/8
Interruptor selector de perforación
7 Hole I:1/9–I:1/10
Perforadora
Orificios perforados
6–17
Manual de referencia del juego de instrucciones Preface 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 Preface 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 Mnemónico
Nombre
Propósito
Página
HSC
Contador de alta velocidad
Aplica la configuración al hardware del contador de alta velocidad, actualiza el acumulador de imagen, habilita el conteo cuando el HSC es verdadero e inhabilita el conteo cuando el renglón de HSC es falso.
HSL
Carga del contador de alta velocidad
Configura los valores preseleccionados bajos y altos, las configuraciones de salida y configuraciones de bit con máscara.
7-18
RES
Restablecimiento del contador de alta velocidad
Escribe un cero al acumulador de hardware y al acumulador de imagen.
7-21
RAC
Acumulador de restablecimiento del contador de alta velocidad
Escribe el valor especificado al acumulador de hardware y al acumulador de imagen.
7-22
Habilit. de interrupción del contador de alta velocidad Inhabilit. de interrupción del contador de alta velocidad
Habilita o inhabilita la ejecución de la subrutina de interrupción del contador de alta velocidad cuando se alcanza un valor preseleccionado alto, valor preseleccionado bajo, overflow o underflow.
7–23
Actualiz. del acumulador de imagen del contador de alta velocidad
Le proporciona acceso de tiempo real al valor de acumulador del hardware actualizando el acumulador de imagen.
7-24
HSE HSD
OTE
7-6
7–1
Manual de referencia del juego de instrucciones Preface
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 preseleccionado. 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
Pal. 1
Valor preseleccionado
Pal. 2
Valor de acumulador
CU CD DN OV UN UA HP LP IV IN IH IL PE LS IE À
= = = = = = = = = = = = = = =
Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit
de de de de de de de de de de de de de de de
Palabra de estado
habilitación de conteo progresivo habilitación de conteo regresivo alto valor preseleccionado alcanzado overflow ocurrido underflow ocurrido actualización de acumulador de contador de alta velocidad alto valor preseleccionado ≥ de acumuladorÀ bajo valor preseleccionado ≤ de acumulador overflow ha causado interrupción de contador de alta velocidadÀ underflow ha causado interrupción de contador de velocidadÀ alto valor preseleccionado ha causado interrupciónÀ bajo valor preseleccionado ha causado interrupciónÀ interrupción pendiente de contador de alta velocidadÀ interrupción perdida de contador de alta velocidadÀ habilitación de interrupción de contador de alta velocidadÀ
Para acceder estos bits, coloque el cursor en la instrucción y presione [F8], monitor de datos.
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 Preface
• • •
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.
• Nota
•
•
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. 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 Preface
Contador de alta velocidad (HSC) HSC HIGH SPEED COUNTER Type Counter C5:0 High Preset 0 Accum 0
(CU) (CD) (DN)
Use esta instrucción para configurar el contador de alta velocidad. Solamente una instrucción HSC se puede usar en un programa. El contador de alta velocidad no 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:
• • • • • • • • • •
7–6
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)
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. Tipo de contador de alta velocidad y tecla de función
Terminal de entrada usada
Funcionalidad del contador de alta velocidad
I/0
I/1
I/2
I/3
Progresivo
La operación del contador progresivo usa una entrada unipolar.
Progresivo↑
No usado
No usado
No usado
Progresivo (con restablecimiento y retención)
La operación del contador progresivo usa una sola entrada con entradas de restablecimiento y retención externos
Progresivo↑
No usado
Restablecimiento↑
Retención
Impulso y dirección
La operación bidireccional usa entradas de impulso y dirección.
Conteo↑
Dirección
No usado
No usado
Impulso y dirección (con restablecimiento y retención externos)
La operación bidireccional usa entradas de impulso y dirección con entradas de restablecimiento y retención externos.
Conteo↑
Dirección
Restablecimiento↑
Retención
Progresivo y regresivo
La operación bidireccional usa entradas de dirección progresiva y regresiva.
Progresivo↑
Regresivo↑
No usado
No usado
Progresivo y regresivo (con restablecimiento y retención externos)
La operación bidireccional usa entradas de impulso progresivo y regresivo con entrada de restablecimiento y retención externos.
Progresivo↑
Regresivo↑
Restablecimiento↑
Retención
Codificador (encoder)
La operación bidireccional usa entradas de codificador (encoder) de cuadratura.
A
B
No usado
No usado
Codificador (encoder) (con restablecimiento y retención externos)
La operación bidireccional usa entradas de codificador (encoder) de cuadratura con restablecimiento y retención externos.
A
B
Z
Retención
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 preseleccionados 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 Preface
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
La condición siguiente
Ocurre cuando
Un valor alto preseleccionado se ha alcanzado
el acumulador de hardware hace la transición del valor alto preseleccionado de hardware –1 al valor alto preseleccionado de hardware, o el acumulador de hardware se carga con un valor mayor o igual que el valor alto preseleccionado de hardware, o el valor alto preseleccionado de hardware se carga con un valor que es menor o igual que el acumulador de hardware.
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 Conteo de entrada (E/S)
Estado de entrada Dirección RestableciRetención de entrada miento de de entrada (I/1) entrada (I/2) (I/3)
Renglón HSC
Acción del contador de alta velocidad
Desactivado a activado
NA
NA
NA
Verdadero
Conteo progresivo
NA
NA
NA
NA
Falso
Retención de conteo
NA (no aplicable)
7–9
Manual de referencia del juego de instrucciones Preface
Contador progresivo con restablecimiento y retención Conteo de entrada (E/S)
Dirección de entrada (I/1)
Estado de entrada RestableciRetención miento de de entrada entrada (I/2) (I/3)
Renglón HSC
Acción del contador de alta velocidad
Desactivado a activado
NA
Desactivado, activado o a desactivado
Off
Verdadero
Conteo progresivo
NA
NA
Desactivado, activado o a desactivado
On
NA
Retención de conteo
NA
NA
Desactivado, activado o a desactivado
NA
Falso
Retención de conteo
Desactivado, activado o a desactivado
NA
Desactivado, activado o a desactivado
NA
NA
Retención de conteo
NA
NA
A activado
NA
NA
Restablecimiento a0
NA (No aplicable)
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. La condición siguiente
Ocurre cuando
Un valor alto preseleccionado se ha alcanzado
el acumulador de hardware hace la transición del valor alto preseleccionado de hardware –1 al valor alto preseleccionado de hardware, o el acumulador de hardware se carga con un valor mayor o igual que el valor alto preseleccionado de hardware, o el valor alto preseleccionado de hardware se carga con un valor que es menor o igual que el acumulador de hardware.
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. La condición siguiente
Un valor bajo preseleccionado se ha alcanzado
Ocurre cuando el acumulador de hardware hace la transición del valor bajo preseleccionado de hardware +1 al valor bajo preseleccionado de hardware, o el acumulador de hardware se carga con un valor menor o igual que el valor alto preseleccionado de hardware, o el valor bajo preseleccionado de hardware se carga con un valor que es mayor o igual que el acumulador de hardware.
7–11
Manual de referencia del juego de instrucciones Preface
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) Conteo de entrada (E/S)
Renglón HSC
Acción del contador de alta velocidad
Desactivado a activado
Desactivado
NA
NA
Verdadero
Conteo progresvio
Desactivado a activado
Activado
NA
NA
Verdadero
Conteo regresivo
NA
NA
NA
NA
Falso
Retención de conteo
NA (no aplicable)
7–12
Estado de entrada Dirección RestableciRetención de entrada miento de de entrada (I/1) entrada (I/2) (I/3)
Cómo usar las instrucciones del contador de alta velocidad
Contador bidireccional con restablecimiento y retención (impulso/dirección) Estado de entrada RestableciRetención miento de de entrada entrada (I/2) (I/3)
Acción del contador de alta velocidad
Conteo de entrada (E/S)
Dirección de entrada (I/1)
Desactivado a activado
Desactivado
Desactivado, activado o a desactivado
Desactivado
Verdadero
Conteo progresivo
Desactivado a activado
Activado
Desactivado, activado o a desactivado
Desactivado
Verdadero
Conteo regresivo
NA
NA
Desactivado, activado o a desactivado
NA
Falso
Retención de conteo
NA
NA
Desactivado, activado o a desactivado
Activado
NA
Retención de conteo
Desactivado, activado o a desactivado
NA
Desactivado, activado o a desactivado
NA
NA
Retención de conteo
NA
NA
A activado
NA
NA
Restablecimiento a0
Renglón HSC
NA (no aplicable)
Contador bidireccional (conteo progresivo/regresivo) Conteo progresivo de entrada (E/S)
Estado de entrada Conteo regresivo Renglón de entrada HSC (I/1)
Acción del contador de alta velocidad
Desactivado a activado
Desactivado, activado o a desactivado
Verdadero
Conteo progresivo
Desactivado, activado o a desactivado
Desactivado a activado
Verdadero
Conteo regresivo
NA
NA
Falso
Retención de conteo
NA (no aplicable)
7–13
Manual de referencia del juego de instrucciones Preface
Contador bidireccional con restablecimiento y retención (conteo progresivo/regresivo) Estado de entrada RestableciRetención miento de de entrada entrada (I/2) (I/3)
Acción del contador de alta velocidad
Conteo de entrada (E/S)
Dirección de entrada (I/1)
Desactivado a activado
Desactivado, activado o a desactivado
Desactivado, activado o a desactivado
Desactivado
Verdadero
Conteo progresivo
Desactivado, activado o a desactivado
Desactivado a activado
Desactivado, activado o a desactivado
Desactivado
Verdadero
Conteo regresivo
NA
NA
Desactivado, activado o a desactivado
NA
Falso
Retención de conteo
NA
NA
Desactivado, activado o a desactivado
Activado
NA
Retención de conteo
Desactivado, activado o a desactivado
Desactivado, activado o a desactivado
Desactivado, activado o a desactivado
NA
NA
Retención de conteo
NA
NA
A activado
NA
NA
Restablecimiento a0
Renglón HSC
NA (no aplicable)
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
A B Codificador (encoder) Z de cuadratura (Entrada de restablecimiento)
Entrada 0 Entrada 1 Entrada 2
Rotación hacia adelante
Rotación hacia atrás
A
B 1
2
3
2
1
Conteo
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 Preface
La condición siguiente
Ocurre cuando
Un valor alto preseleccionado se ha alcanzado
el acumulador de hardware hace la transición del valor alto preseleccionado de hardware –1 al valor alto preseleccionado de hardware, o el acumulador de hardware se carga con un valor mayor o igual que el valor alto preseleccionado de hardware, o el valor alto preseleccionado de hardware se carga con un valor que es menor o igual que el acumulador de hardware.
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. La condición siguiente
Un valor bajo preseleccionado se ha alcanzado
Ocurre cuando el acumulador de hardware hace la transición del valor bajo preseleccionado de hardware +1 al valor bajo preseleccionado de hardware, o el acumulador de hardware se carga con un valor menor o igual que el valor alto preseleccionado de hardware, o el valor bajo preseleccionado de hardware se carga con un valor que es mayor o igual que el acumulador 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. . .
• •
7–16
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.
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]) Entrada A (E/S)
Estado de entrada Entrada B Renglón (I/1) HSC
Acción del contador de alta velocidad
A desactivado
Desactivado
Verdadero
Conteo progres.
A desactivado
Desactivado
Verdadero
Conteo regresivo
NA
Activado
NA
Reten. de conteo
NA
NA
Falso
Reten. de conteo
NA (no aplicable)
Contador bidireccional con restablecimiento y retención (codificador [encoder]) Estado de entrada RestableciRetención miento de de entrada entrada (I/2) (I/3)
Acción del contador de alta velocidad
Conteo de entrada (E/S)
Dirección de entrada (I/1)
A desactivado
Desactivado
Desactivado
Desactivado
Verdadero
Conteo progres.
A desactivado
Desactivado
Desactivado
Desactivado
Verdadero
Conteo regresivo
Desactivado o activado
NA
Desactivado
NA
NA
Retención de conteo
NA
Activado
Desactivado
NA
NA
Reten. de conteo
NA
NA
Desactivado
NA
Falso
Reten. de conteo
NA
NA
Desactivado
Activado
NA
Reten. de conteo
Desactivado
ActivadoÀ
NA
NA
Restablec. a 0
Desactivado
Renglón HSC
NA (no aplicable) À
El restablecimiento opcional del contador de alta velocidad de hardware es la coincidencia lógica de A x B x Z.
7–17
Manual de referencia del juego de instrucciones Preface
Carga del contador de alta velocidad (HSL) HSL HSC LOAD Counter Source Length
C5:0
(CU)
5 (DN)
Esta instrucción le permite establecer los valores bajo y alto preseleccionados, las fuentes baja y alta de salida y la máscara de salida. Cuando un valor alto o bajo 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 de la imagen de parámetro
Contador progresivo solamente
Contadores bidireccionales
Descripción
N7:5
Máscara de salida
Máscara de salida
Identifica qué grupo de bits en el archivo de salida (palabra 0) es controlado. 000F=bits 3–0 00F0=bits 7–4 0003=bits 0 y 1 00FF= bits 7–0
N7:6
Fuente de salida
Fuente alta de salida
(Conteo progresivo.) El estado de bits en esta palabra se escribe a través de la máscara en las salidas reales.
N7:7
Valor alto preseleccionado
Valor alto preseleccionado
(Conteo progresivo.) Cuando el acumulador alcanza este valor, la fuente de salida se escribe a través de la máscara de salida a las salidas reales, y un escán se realiza de la subrutina HSC (archivo 4).
N7:8
Reservado
Fuente baja de salida
(Conteo regresivo.) El estado de bits en esta palabra se escribe a través de la máscara a las salidas reales.
Reservado
Valor bajo preseleccionado
(Conteo progresivo.) Cuando el acumulador alcanza este valor, la fuente de salida se escribe a través de la máscara de salida a las salidas reales y un escán se realiza de la subrutina HSC (archivo 4).
N7:9
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 Preface
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 RES)
La instrucción RES le permite escribir un cero en el acumulador de hardware y en el 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 Preface
Acumulador de restablecimiento del contador de alta velocidad (RAC) RAC RESET TO ACCUM VALUE Counter C5:0 Source
Esta instrucción le permite escribir un valor específico al acumulador de hardware y 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 COUNTER
C5:0
Estas instrucciones habilitan o inhabilitan la interrupción del contador de alta 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 Preface
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 ( ) UA
Cuando se direcciona una instrucción del bit OTE para el contador de alta velocidad (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 Preface
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 Preface
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. Posición original I:1/5
Orificios perforados
Profundidad perforadora I:1/4
Codificador (encoder) y drive A-B de cuadratura I:1/0 I:1/1
Perforadora activada/desactivada O:3/1 Retracción de perforadora O:3/2 Avance de perforadora O:3/3 Restablecimiento del sensor fotoeléctrico I:1/2 Retención de contador I:1/3
Reflector fotoeléctrico
Habilitación de transportador cableada en serie al drive O:3/5 Arranque/detención de drive del transportador cableado en serie al drive O:3/0 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 Preface 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 Preface
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 Preface
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 Mnemónico
Nombre
Propósito
Página
MSG
Lectura/escritura de mensaje
Esta instrucción transfiere datos desde un nodo 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.
8–3
SVC
Comunicaciones de servicio
Cuando las condiciones que preceden la instrucción 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–60
8–1
Manual de referencia del juego de instrucciones Preface
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:
• • • •
8–2
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
Instrucciones de comunicación
Descripción general de la instrucción de mensaje 3 MSG READ/WRITE MESSAGE Read/write Target Device Control Block Control Block Length
(EN) (DN) (ER) 7
Instrucción de salida
Esta es una instrucción de salida que le permite transferir datos desde un nodo hacia otro por la red DH-485. El procesador SLC 5/02 puede dar servicio a una 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 Preface
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.
• •
•
• Nota
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. 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 Preface
Uso de los bits de estado Read/Write: Target Device: Control Block: Local Destination File Address: Target Node: Target File Address: Message Length in elements
READ 500CPU N7:0 *** 0 *** ***
ignore if timed out: to be retried: awaiting execution:
0 0 0
TO NR EW
error: message done: message transmitting: message enabled:
0 0 0 0
ER DN ST 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.
•
• • • • • •
8–6
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.
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 hace verdadero. À
El nodo receptor recibe el paquete. Á
Â
El nodo receptor procesa el paquete exitosamente y retorna los datos (lectura) o escribe los datos (éxito). Ä
1 EN 0 EW
1 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 Preface
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 EN ST DN ER
EW NR TO
Error Code
Pal. 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
Manual de referencia del juego de instrucciones Preface
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 EN ST DN ER
8–10
EW NR TO
Error Code
Pal. 0
Node Number
1
Reserved for length in words
2
Offset words
3
Not used
4
Not used
5
Not used
6
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. 0
1
B3 ] [ 1
MSG READ/WRITE MESSAGE Read/write WRITE Target Device 500CPU Control Block N7:0 Control Block Length 7
(EN) (DN) (ER)
N7:0 (U) 15*
N7:0 ] [ 13* N7:0 ] [ 12*
* bit de estado de la instrucción MSG 12 = ER 13 = DN 15 = EN
END
2 Notas de operación
El bit B3/1 habilita la instrucción MSG. Cuando el bit de efectuado de la instrucción MSG se establece, desenclava el bit de habilitación MSG para que la instrucción MSG se habilite en el próximo escán. Esto proporciona operación continua. El bit de error MSG también desenclavará el bit de habilitación. Esto proporciona operación continua pese a los errores.
8–11
Manual de referencia del juego de instrucciones Preface
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
Dispositivo de entrada de sensor de temperatura
0
I:1.0 ] [ 5
N7:0 ( ) 1
1
S:1 ] [ 15
T4:0 (RES) N7:0 (L) 0
Bit de primer paso
B3 (U) 0
Bit 1 de la palabra de mensaje. Usado para el control del ventilador. Bit 0 de la palabra de mensaje. Este es el bit de enclavamiento.
TON TIMER ON DELAY Timer T4:0 Time Base 0.01 Preset 400 Accum 0
2
(EN) (DN)
Temporizador de 4 segundos
Bit de primer paso 3
S:1 ] [ 15 S:4 ] [ 6
Bit de reloj de 1280 ms
MSG READ/WRITE MESSAGE Read/write WRITE Target Device 500CPU Control Block N10:0 Control Block Length 7
(EN) (DN) (ER)
B3 ] [ 0 4
B3 (L) 0
N10:0 ] [ 13*
Bit de efectuado de escritura de mensaje
5
T4:0 ] [ DN
6
N11:0 N7:0 ] [ ]/[ 13* 0
MSG READ/WRITE MESSAGE Read/write READ Target Device 500CPU Control Block N11:0 Control Block Length 7
(EN) (DN) (ER)
B3 (L) 10 T4:0 (RES) N7:0 (U) 0
Bit de efectuado de lectura de mensaje
B3 (U) 0 N11:0 (U) 15*
Instrucción de escritura de mensaje. Las direcciones del archivo de fuente y receptor son N7:0 Nodo receptor: 3 Longitud del mensaje: 1 palabra. Instrucción de lectura de mensaje. Las direcciones del archivo de destino y receptor son N7:0 Nodo receptor: 3 Longitud del mensaje: 1 palabra. Enclavamiento – Esta instrucción de alarma notifica a la aplicación si el bit de enclavamiento N7:0/0 permanece establecido durante más de 4 segundos. * Bits de estado de la instrucción MSG: 13 = DN 15 = EN
N10:0 (U) 15* 7
END
Las notas de operación aparecen en la página siguiente.
8–13
Manual de referencia del juego de instrucciones Preface
Archivo de programa 2 del procesador SLC 5/01 a nodo 3 0
N7:0 (U) 0
S:1 ] [ 15
Bit de primer paso
Bit 0 de la palabra de mensaje. Este es el bit de enclavamiento.
T4:0 (RES) TON TIMER ON DELAY Timer T4:0 Time Base 0.01 Preset 400 Accum 0
1
Bit 1 de la palabra de mensaje. Usado para control del ventilador.
2
T4:0 ] [ DN
3
N7:0 ] [ 0
4
B3 ] [ 1
(EN) (DN)
B3 (L) 10 B3 ( ) 1
B3 [OSR] 0
Temporizador de 4 segundos
N7:0 (U) 0
Instrucción de enclavamiento – Esta alarma notifica a la aplicación si el bit de enclavamiento N7:0/0 no se establece después de 4 segundos.
T4:0 (RES) 5
O:1.0 ( ) 0
N7:0 ] [ 1
6
O:1/0 activa el ventilador de enfriamiento.
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 mensaje. Es la dirección de archivo receptor (procesador SLC 5/01) y la fuente local y direcciones de destino (procesador SLC 5/02) en las instrucciones de mensaje. N7:0/0 de la palabra de mensaje es el bit de enclavamiento; se escribe al procesador 5/01 como 1 (establecido) y se lee del procesador SLC 5/01 como 0 (restablecido). N7:0/1 de la palabra de mensaje controla la operación del ventilador de enfriamiento; se escribe al procesador SLC 5/01 como 1 (establecido) si se requiere enfriamiento o como 0 (restablecido) si no se requiere enfriamiento. Se lee del procesador SLC 5/01 como 1 ó 0. 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 durante la ejecución de lectura de mensaje. Inicialización de programa: El bit de primer paso S:1/15 inicializa los programas de escalera en la entrada al modo de marcha.
8–14
Procesador SLC 5/02: N7:0/0 está enclavado; el temporizador T4:0 está restablecido, B3/0 está desenclavado (renglón 1) y luego enclavado (renglón 3). El procesador SLC 5/01: N7:0/0 está desenclavado; el temporizador T4:0 está restablecido. Operación de instrucción de mensaje: La instrucción de escritura de mensaje en el procesador SLC 5/02 se inicia cada 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 lectura de mensaje. B3/0 enclava la instrucción de escritura de mensaje. B3/0 se desenclava cuando el bit de efectuado de la instrucción de lectura de mensaje se establece, siempre que el bit de enclavamiento N7:0/0 esté restablecido. Fallo de comunicación: En el procesador SLC 5/02, el bit B3/10 se establece si el bit de enclavamiento N7:0.0 permanece establecido (1) durante más de 4 segundos. En el procesador SLC 5/01, el bit B3/10 se establece si el bit de enclavamiento N7:0/0 permanece establecido (1) durante más de 4 segundos. Su aplicación puede detectar este evento, tomar la acción apropiada y luego desenclavar el bit B3/10.
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. 0
B3/1 está enclavado (externo de este ejemplo) para iniciar la instrucción de 1 mensaje.
2
3
1 [LBL]
B3 ] [ 1
B3 ] [ 1
T4:0 ]/[ DN
MSG READ/WRITE MESSAGE Read/write WRITE Target Device 500CPU Control Block N7:0 Control Block Length 7
TON TIMER ON DELAY Timer T4:0 Time Base 0.01 Preset 200 Accum 0
(EN) (DN)
Temporizador de 2 segundos. Cada ensayo de transmisión tiene una duración de 2 segundos.
(CU)
El contador permite 5 ensayos.
CTU
T4:0 ] [ DN
N7:0 ] [ 8*
(EN) (DN) (ER)
COUNT UP Counter Preset Accum
C5:0 5 0
(DN)
CLR
N7:0 ] [ 12
CLEAR Dest
N7:0 0
Borre la palabra de control y salte hacia atrás a renglón 0 para otro ensayo.
1 (JMP)
4
T4:0 ] [ DN
N7:0 (L) 8
5
C5:0 ] [ DN
O:1.0 (L) 0
6
N7:0 ] [ 13*
C5:0 (RES) O:1.0 (U) 0 B3 (U) 1
7
N7:0/8 es el bit de límite de tiempo sobrepasado de la instrucción de mensaje (/TO) El quinto ensayo enclava O0:1/0.
* Bits de estado de la instrucción MSG: 8 = TO 13 = DN
END
Notas de operación El bit de límite de tiempo sobrepasado se enclava (renglón 4) después de 2 segundos. Esto borra la instrucción de mensaje del 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.
Un ensayo exitoso de transmisión restablece el contador, desenclava O:1/0 y desenclava B3/1.
8–15
Manual de referencia del juego de instrucciones Preface
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 Este 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) ] [ Renglón 2:0 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.) Renglón 2:1
N7:0 ] [ 15
N7:0 ]/[ 12
N7:0 ]/[ 13
TON TIMER ON DELAY Timer T4:0 Time Base 0.01 Preset 600 Accum 0
T4:0 ] [ DN
(EN) (DN)
N7:0 (L) 8
Idéntico al renglón anterior. Renglón 2:2
N7:20 ] [ 15
N7:20 ]/[ 12
TON
N7:20 ]/[ 13
TIMER ON DELAY Timer T4:1 Time Base 0.01 Preset 600 Accum 0
T4:1 ] [ DN
Renglón 2:3
(EN) (DN)
N7:20 (L) 8
La instrucción MSG se activa a la entrada al modo de marcha REM o RUN. No se requieren condiciones de entrada. MSG (EN) READ/WRITE MESSAGE Read/write WRITE (DN) Target Device 500CPU (ER) Control Block N7:0 Control Block Length 7
Renglón 2:4
La instrucción MSG se activa cuando la instrucción MSG anterior se finaliza. N7:0 MSG ] [ READ/WRITE MESSAGE Read/write 12
READ Target Device 500CPU Control Block N7:20 Control Block Length 7
N7:0 ] [ 13
Renglón 2:5
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. CLR N7:20 CLEAR ] [ Dest N7:0 12 0 N7:0 ] [ 13
Renglón 2:6
(EN) (DN) (ER)
CLR CLEAR Dest
N7:20 0
END
8–17
Manual de referencia del juego de instrucciones Preface
Descripción general de la instrucción de mensaje 3 3 MSG READ/WRITE MESSAGE Type Read/write Target Device Local/Remote Control Block Control Block Length
(EN) (DN) (ER)
14
Instrucción de salida
Los datos asociados con una instrucción de escritura de mensaje se almacena en un búfer cuando usted habilita la instrucción. El SLC 5/03 con OS300 tiene cuatro búferes de transmisión. El SLC 5/03 con procesadores OS301, OS302 y SLC 5/04 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 Canal 1
Canal 0
S:2/5
Comando entrante pendiente
S:33/0 Comando entrante pendiente
S:2/6
Respuesta de mensaje pendiente
S:33/1 Respuesta de mensaje pendiente
Comando de mensaje saliente pendiente S:2/15 Selección de servicio de comunicaciones S:33/7 Selección de servicio de mensaje
S:33/2 Comando de mensaje saliente pendiente S:33/5 Selección de servicio de comunicaciones S:33/6 Selección de servicio de mensaje
S:2/7
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 Preface
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 À
À Se aplica a los procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401.
8–20
Instrucciones de comunicación
Cómo introducir parámetros Introduzca los parámetros siguientes al programar esta instrucción:
• •
•
•
• Nota
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. 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 Preface
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: Read/Write: Target Device: Local/Remote: Control Block: Channel: Target Node:
Peer–to–Peer READ 500CPU Local N10:0 1 2
Destination File Addr: Target Source File Address: Message Length In Elements: Message Timeout (seconds): ERROR CODE: 0 Error Code Desc:
•
N7:0 N7:50 10 5
ignore if timed out: to be retried: awaiting execution: continuous run: error: message done: message transmitting: message enabled: waiting for queue space:
control bit address:
0 0 0 0 0 0 0 0 0
TO NR EW CO ER DN ST EN WQ
N10:0/8
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.
•
8–22
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.
Instrucciones de comunicación
• •
Nota
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. 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.
• • • • •
Nota
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.
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.
• • •
Nota
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)
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 Preface
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: Lectura o escritura, local o remota a un 500CPU o PLC-5 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 EN ST DN ER CO EW NR TO Node Number
1
Reserved for length in words
2
File Number
3
File Type (O, I, S, B, T, C, R, N, F, St, A)
4
Element Number
5
Subelement Number
6
Reserved (Internal Messaging Bits)
8–24
Pal. 0
Error Code
WQ
7
Message Timer Preset
8
Message Timer Scaled Zero
9
Message Timer Accumulator
10
Reserved (Internal use only)
11
Reserved (Internal use only)
12
Reserved (Internal use only)
13
Instrucciones de comunicación
La configuración del bloque de control se muestra abajo si selecciona un 485 CIF como el dispositivo receptor: Lectura o escritura, local o remota a un 485CIF 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 EN ST DN ER CO EW NR TO
Pal. 0
Error Code
Node Number
1
Reserved for length in words
2
Offset in Words
3
Not Used
4
Not Used
5
Not Used
6
Reserved (Internal Messaging Bits)
WQ
7
Message Timer Preset
8
Message Timer Scaled Zero
9
Message Timer Accumulator
10
Reserved (Internal use only)
11
Reserved (Internal use only)
12
Reserved (Internal use only)
13
8–25
Manual de referencia del juego de instrucciones Preface
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 hace verdadero
El nodo receptor recibe el paquete
El nodo receptor procesador el paquete exitosamente y retorna los datos (lectura) o escribe los datos (éxito)
1 EN 0 EW
1 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.
Nota
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. 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 Preface
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 Preface
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. Código de error 02H
El nodo receptor está ocupado. La instrucción MSG se volverá a cargar 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.
04H
El nodo receptor no puede responder porque no entiende los parámetros de 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.
11H
Recibió un restablecimiento del vínculo principal (una fuente posible es del maestro DF1). El nodo receptor no puede responder a causa de parámetros de comando incorrectos o comando sin capacidad. 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.
0CH 10H
17H
La dirección receptora o del puente local es mayor que la dirección máxima de nodo. 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.
16H
E7H EBH
8–30
Descripción de la condición de error
El nodo receptor no puede responder porque la longitud solicitada es demasiado larga. El nodo receptor no puede responder porque el nodo receptor ha negado el acceso.
Instrucciones de comunicación
Código de error ECH F1H FAH FBH FFH
Nota
Descripción de la condición de error El nodo receptor no puede responder porque la función solicitada no está disponible actualmente. El procesador local detecta un tipo ilegal de archivo receptor. El nodo receptor no puede responder porque el otro nodo es el propietario del archivo (tiene el único acceso al archivo). El nodo receptor no puede responder porque el otro nodo es el propietario del programa (tiene el único acceso a todos los archivos). El canal de comunicación local se ha desactivado.
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 Preface
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.
•
•
•
8–32
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
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 Preface
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 | N7:0 | B3 N7:0 | À ––]/[––– |––] [––––––––––––––––––––––––––––––––––––––––––––––––+––––––––––––( )–––––+–| | 0 | 11 | | 10 | | Bit MSG | | | | continuo | | | | B3 N7:0 | | | |––[OSR]–––––(U)–––––+ | | | 1 | 15 | | | | | | | N7:0 | | | +––] [ –––| | | 8 | Renglón 2:2 | | |–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––| | |
À Esta instrucción se requiere para los procesadores SLC 5/03 OS300, OS301 y SLC 5/04 OS400.
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 | 15 | 10 | | 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 Preface
Renglón 2:3 | Bit de EFECTUADO Bit de HABILITACION | | de mensaje 2 de mensaje 2 | N7:40 À | N7:40 N7:40 | ––]/[––– |–+––––] [–––––+–––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––| | | 13 | 15 | 10 | | Bit ERROR | | | | mensaje 2 | | | | N7:40 | | | +––––] [–––––+ | | 12 | Renglón 2:4 | | |–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––| | |
À Esta instrucción se requiere para los procesadores SLC 5/03 OS300, OS301 y SLC 5/04 OS400.
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 | |Counter C5:0+–(DN) | | 10 | | |Preset 5| | | | | |Accum 5| | | | | +––––––––––––––––––+ | | | | Bit de HABILITACION | | | | de mensaje | | | | N7:0 | | | +––––(U)––––––––––––––––––––+ | | 15 |
8–37
Manual de referencia del juego de instrucciones Preface
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+––––––––––––––––––––––––––––––––––––| | |
À Esta instrucción se requiere para los procesadores SLC 5/03 OS300, OS301 y SLC 5/04 OS400.
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 15 | 10 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 Preface
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 15 | 10 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:20 N7:0 N7:0 | ––]/[––– |––––] [––––––––] [––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––| | 13 13 15 | 10 Renglón 2:6 | | |–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––| | |
À Esta instrucción se requiere para los procesadores SLC 5/03 OS300, OS301 y SLC 5/04 OS400.
8–40
Instrucciones de comunicación
Uso de mensajes locales Ejemplo 1 – Lectura local de un 500CPU Type: Read/Write: Target Device: Local/Remote: Control Block: Channel: Target Node (decimal):
Destination File Addr: Target Source File Address: Message Length In Elements: Message Timeout (seconds): ERROR CODE: 0 Error Code Desc:
Peer–to–Peer READ 500CPU Local N10:0 1 2
N7:0 N7:50 10 5
ignore if timed out: to be retried: awaiting execution: continuous run: error: message done: message transmitting: message enabled: waiting for queue space:
control bit address:
0 0 0 0 0 0 0 0 0
TO NR EW CO ER DN ST EN WQ
N10:0/8
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). Tecla de función Nodo receptor
Dirección de archivo
Dirección receptora
Longitud de mensaje
Descripción 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. 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. 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 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 Preface
Tecla de función
Descripción
Límite de tiempo sobrepasado del mensaje
Define la longitud del temporizador de mensaje en segundos. Un límite de tiempo sobrepasado de 0 segundos significa que no hay temporizador y que el mensaje esperará indefinidamente una respuesta. El rango válido es 0-255 segundos.
Canal
Identifica el canal físico usado para la comunicación de mensaje. Canales disponibles: 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: Read/Write: Target Device: Local/Remote: Control Block: Channel: Target Node (decimal):
Peer–to–Peer READ 485CIF Local N10:0 1 2
Destination File Addr: Target Offset: Message Length In Elements: Message Timeout (seconds): ERROR CODE: 0 Error Code Desc:
N7:0 20 5 15
ignore if timed out: to be retried: awaiting execution: continuous run: error: message done: message transmitting: message enabled: waiting for queue space:
control bit address:
0 0 0 0 0 0 0 0 0
TO NR EW CO ER DN ST EN WQ
N10:0/8
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). Tecla de función Nodo receptor
Dirección de archivo
Offset receptor
8–42
Descripción Especifica el número de nodo del procesador que recibe el mensaje. El 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. 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 archivo de interface común (offset de byte para dispositivos distintos de SLC).
Instrucciones de comunicación
Tecla de función
Descripción
Longitud de mensaje
Cuando usa una instrucción de mensaje 485CIF, la longitud de mensaje es el número de palabras de 16 bits. Puede especificar 1 a 103 elementos (palabras de información).
Límite de tiempo sobrepasado del mensaje
Define la longitud del temporizador de mensaje en segundos. Un límite de tiempo sobrepasado de 0 segundos significa que no hay temporizador y que el mensaje esperará indefinidamente una respuesta. El rango válido es 0-255 segundos.
Canal
Identifica el canal físico usado para la comunicación de mensaje. Canales disponibles: 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: Read/Write: Target Device: Local/Remote: Control Block: Channel: Target Node (decimal):
Peer–to–Peer READ PLC5 Local N10:0 1 2
Destination File Addr: Target Src/Dst File Address: Message Length In Elements: Message Timeout (seconds): ERROR CODE: 0 Error Code Desc:
N7:0 N7:50 10 5
ignore if timed out: to be retried: awaiting execution: continuous run: error: message done: message transmitting: message enabled: waiting for queue space:
control bit address:
0 0 0 0 0 0 0 0 0
TO NR EW CO ER DN ST EN WQ
N10:0/8
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. Tecla de función Nodo receptor
Dirección de archivo
Descripción Especifica el número de nodo del procesador que recibe el mensaje. El 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. 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 Preface
Tecla de función
8–44
Descripción
Dirección receptora
Para una lectura (fuente), ésta es la dirección en el procesador receptor que va a enviar los datos. Para una escritura (destino), ésta es la dirección en el procesador receptor que va a recibir los datos. Los tipos de archivo válidos son: S, B, T, C, R, N, I, O, F, ST y A.
Longitud de mensaje
Define la longitud del mensaje en elementos. Los elementos de una 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.
Límite de tiempo sobrepasado del mensaje
Define la longitud del temporizador de mensaje en segundos. Un límite de tiempo sobrepasado de 0 segundos significa que no hay temporizador y que el mensaje esperará indefinidamente una respuesta. El rango válido es 0-255 segundos.
Canal
Identifica el canal físico usado para la comunicación de mensaje. Canales disponibles: SLC 5/03 – (0, RS–232) o (1, DH–485) SLC 5/04 – (0, RS–232) o (1, DH+)
Instrucciones de comunicación
Uso de mensajes remotos Ejemplo 1 – Comunicación con procesadores A–B usando un 1785-KA5 Nodo 1 (oct)
Dispositivo A Dispositivo C
Nodo 2 Dispositivo B
Nodo 7 DH-485
Controlador modular de E/S SLC 5/04
DH-485 Identificación de red = 1 (19.2 KBaudio)
Nodo 3 (oct)
DH+ Identificación de red = 2 (57.6 KBaudio)
Controlador modular de E/S SLC 5/03
DH+ Nodo 6 (oct) 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 : 1 Remote Bridge Node Address : 0 Local Bridge Node Address : 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 Preface
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 : 1 Remote Bridge Node Address : 0 Local Bridge Node Address : 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 : 2 Remote Bridge Node Address : 0 Local Bridge Node Address : 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 Preface
Ejemplo 2 – Comunicación con procesadores A–B usando dos 1785-KA Dispositivo A
Nodo 22 (oct)
Dispositivo B
Dispositivo C Controlador modular de E/S SLC 5/04
DH+ 57.6 KBaudio
Nodo 13 (oct)
Nodo 220 (1785–KA)
Controlador modular de E/S SLC 5/04
Nodo 3 (oct)
DH+ 57.6 KBaudio
PLC–5/40 con módulo 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 : 0 Remote Bridge Node Address : 131 Local Bridge Node Address : 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 : 0 Remote Bridge Node Address : 146 Local Bridge Node Address : 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 Preface
Ejemplo 3 – Transferencia vía canal 0 DH-485 del procesador SLC 5/04 Dispositivo B
Nodo 3 (oct)
Dispositivo D
Dispositivo C DH+ Nodo 2 (oct)
PLC–5/40
DH-485
DH+ Identificación de red = 2 (57.6 KBaudio) Dispositivo A Nodo 1 (oct)
DH-485 Nodo 1
Nodo 2 (oct)
Controlador modular de E/S SLC 5/04
Identificación de red = 1 (19.2 KBaudio)
Controlador modular de E/S SLC 5/03
RS-232 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 : 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/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 : 2 Remote Bridge Node Address : 0 Local Bridge Node Address : 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 Preface
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 : 2 Remote Bridge Node Address : 0 Local Bridge Node Address : 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
Identif. de red = 1 Nodo 4
1747–AIC
Nodo 6
Nodo 2
Controlador modular de E/S SLC 5/02
Nodo 9 (11 octal)
PLC con módulo 1785-KA5 Controlador modular de E/S SLC 5/03
Identif. de red = 3
Nodo 7
Identificación de red = 3
Nodo 1
Nodo 3 Nodo 2
Nodo 8 (10 octal) Nodo 5 PLC-5 con módulo 1785-KA5
Computadora industrial T60
PLC–5
Identificación de red = 2 1747–AIC
1747–AIC
Nodo 1
Nodo 3
Controlador modular de E/S SLC 5/02
Controlador modular de E/S 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 Preface
Ejemplo 4 – Transferencia vía canal 0 DF1 del procesador SLC 5/04 DH+ Nodo 0 (oct)
Dispositivo A
DH+ Nodo 2 (oct)
Controlador modular de E/S SLC 5/04
Dispositivo B
Controlador modular de E/S SLC 5/04
S:34/5 = 1
DH+ Identificación de red = 2 (57.6 KBaudio)
Dispositivo C
DH+ Nodo 35 (oct)
Controlador modular de E/S SLC 5/04
DF1 (RS-232)
Identificación de red = 1 (19.2 KBaudio)
DH+ Nodo 77 (oct)
Dispositivo D
Controlador modular de E/S SLC 5/04
DH+ Identificación de red = 3 (57.6 KBaudio)
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 : 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
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 Nodo 77 (oct)
Dispositivo A
Controlador modular de E/S SLC 5/04
Nodo 2 (oct)
DH+ Identificación de red = 2 (57.6 KBaudio)
Nota
Dispositivo B
Nodo 35 (oct)
Controlador modular de E/S SLC 5/04
S:34/5 = 1
DF1 (RS-232) Identificación de red = 1 (19.2 KBaudio)
Dispositivo C
Controlador modular de E/S SLc 5/04
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: Read/Write: Target Device: Local/Remote: Control Block: Channel: Target Node: Remote Bridge Link Id : Remote Bridge Node Address: Local Bridge Node Address: Destination/Source File Addr: Target Src/Dst File Address: Message Length In Elements: Message Timeout (seconds):
Peer–to–Peer Read 500 CPU Remote user specified 1 0 1 0 2 user specified user specified 10 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 Preface
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: Read/Write: Target Device: Local/Remote: Control Block: Channel:
Peer–to–Peer Read 500 CPU Local user specified 0
Target Node (decimal): Destination/Source File Addr: Target Src/Dst File Address: Message Length In Elements: Message Timeout (seconds):
63 user specified user specified 10 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: Read/Write: Target Device: Local/Remote: Control Block: Channel: Target Node (decimal):
Peer–to–Peer Read 500 CPU Local user specified 0 2
Destination/Source File Addr: Target Src/Dst File Address: Message Length In Elements: Message Timeout (seconds):
user specified user specified 10 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 B
Dispositivo A Estación 3 Nodo 7 (oct)
Nodo 1 (oct) Controlador modular de E/S SLC 5/04
Estación 15 (oct)
DH+ Identificación de red = 1 (57.6 KBaudio)
DH+
Controlador de E/S modular SLC 5/04
Identificación de red = 2 (57.6KBaud)
Procesador SLC 5/04 (B) a procesador SLC 5/04 (A) via un integrador de pirámide usando el encaminamiento PI Type: Read/Write: Target Device: Local/Remote: Control Block: Channel: Target Node: Remote Bridge Link Id : Remote Bridge Node Address: Local Bridge Node Address: Destination/Source File Addr: Target Src/Dst File Address: Message Length In Elements: Message Timeout (seconds):
Peer–to–Peer Read 500 CPU Remote user specified 1 7 1 0 13 user specified user specified 15 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 Preface
Ejemplo 7 – Dispositivo A
Dispositivo B
Nodo 10 (oct)
DH-485 19.2 KBaudio
Nodo 13 (oct)
Nodo 220 (1785–KA)
Controlador modular de E/S SLC 5/03
Controlador modular de E/S SLC 5/03
Nodo 3 (oct)
DH+ 57.6 KBaudio
PLC-5/40 con módulo 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: Read/Write: Target Device: Local/Remote: Control Block: Channel: Target Node: Remote Bridge Link Id: Remote Bridge Node Address: Local Bridge Node Address: Destination/Source File Addr: Target Src/Dst File Address: Message Length In Elements: Message Timeout (seconds):
Peer–to–Peer Read or Write 485CIF or 500 CPU Remote user specified 1 2 8 0 20 user specified user specified user specified 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 Preface
Comunicaciones de servicio (SVC) 3 3 3
Uso de un procesador SLC 5/02 (SVC) Instrucción de salida
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 Channel 0 Channel 1
Instrucción de salida
Cuando usa un procesador SLC 5/03 ó SLc 5/04, la instrucción SVC opera según lo 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. Canal 1 S:2/5
DH–485 Comando entrante pendiente
S:2/6
DH–485 Respuesta de mensaje pendiente DH–485 Comando de mensaje saliente pendiente
S:2/7
8–60
Canal 0 S:33/0
Comando entrante pendiente
S:33/1
Respuesta de mensaje pendiente
S:33/2
Comando de mensaje saliente pendiente
Instrucciones de comunicación
Canal 1 S:2/15 S:33/7
Canal 0
DH–485 Selección de servicio de comunicaciones DH–485 Selección de servicio de mensaje
S:33/5
Selección de servicio de comunicaciones
S:33/6
Selección de servicio de 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 pendiente
S:2 ] [ 7
(SVC)
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 Preface
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 Control Process Control Control
Block Variable Variable Block Length
Esta es una instrucción de salida que controla las características físicas tales como la temperatura, presión, nivel líquido o régimen de caudal usando lazos de proceso. 23
Instrucción de salida
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
Manual de referencia del juego de instrucciones Preface
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
Régimen de caudal Variable de proceso
Ecuación PID
∑ Salida 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: Término
Rango (bajo a alto)
Ganancia de controlador KC
0.1 a 25.5 (adimensional)
Término de restablecimiento 1/TI
25.5 a 0.1 (minutos por repetición)
Término de régimen TD
0.01 a 2.55 (minutos)
Referencia Proporcional
À 0.01 a 327.67 (adimensional) Integral
À 327.67 a 0.01 (minutos por repetición) 0.01 a 327.67 (minutos)
Derivativa
À
À 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 Preface
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 Process Control Control
9–4
Block N10:0 Variable N10:28 Variable N10:29 Block Length 23
Instrucción proporcional integral derivativa
auto/manual: MANUAL ∗ mode: TIMED ∗ control: E=SP–PV ∗ setpoint (SP): 0 process (PV): 0 ∗ scaled error: 0 ∗ deadband: 0 output (CV): 0 %∗ loop update: gain: reset: rate: min scaled: max scaled: output (CV) limit: output (CV) min: output (CV) max:
0 [.01 secs] 0 [/10] 0 [/10 m/r] 0 [/100 min] 0 0 NO ∗ 0 % 0 %
time mode Bit: auto/manual bit: control mode bit: 0output limiting enabled bit: reset and gain range: scale setpoint flag: loop update time too fast: derivitive (rate) action: DB, set when error is in DB: output alarm, upper limit: output alarm, lower limit: setpoint out of range: process var out of range: PID done: PID enabled:
1 1 0 0 0 0 0 0 0 0 0 0 0 0
TM AM CM OL RG SC TF DA DB UL LL SP PV DN
0 EN
La columna izquierda en la ilustración anterior enumera otros parámetros de instrucción PID que debe introducir.
•
• Nota
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. 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 Preface
–
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
9–6
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.
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.
Nota
–
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. 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
Manual de referencia del juego de instrucciones Preface
–
•
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.
salida CV% mín.
SI (1) límite de salida CV% seleccionado El valor que introduce será el porcentaje de salida mínimo que la variable de control CV obtendrá: Si el CV cae debajo de este valor mínimo, ocurrirá lo siguiente:
• El CV estará establecido al valor que
NO (0) límite de salida CV% cancelado El valor que introduce determinará cuándo se establecerá el bit de alarma de salida, límite inferior. Si el CV cae debajo de este valor mínimo, se establecerá el bit de alarma de salida, límite inferior (LL).
usted introdujo, y
• El bit de alarma de salida, límite LL inferior estará establecido. máx.
El valor que introduce será el porcentaje de salida máximo que la variable de control CV obtendrá:. Si el CV excede este valor máximo, lo siguiente ocurre:
• El CV establecerá el valor que usted introdujo, y
• El bit de alarma de salida, límite de UL superior estará establecido.
9–8
El valor que introduce determinará cuándo se establecerá el bit de alarma de salida, límite superior. Si el CV excede este valor máximo, se establecerá el bit de alarma de salida, límite superior (UL).
Instrucción proporcional integral derivativa
Indicadores de instrucción PID auto/manual: AUTO ∗ mode: STI ∗ control: E=SP–PV ∗ setpoint (SP): 500 process (PV): 0 ∗ scaled error: 0 deadband: 5 output (CV): 0 %∗ loop update: gain: reset: rate: min scaled: max scaled: output (CV) limit: output (CV) min: output (CV) max:
50 [.01 secs] 25 [/10] 10 [/10 m/r] 1 [/100 min] 0 1000 NO ∗ 0 % 0 %
time mode Bit: auto/manual bit: control mode bit: 0output limiting enabled bit: reset and gain range: scale setpoint flag: loop update time too fast: derivitive (rate) action: DB, set when error is in DB: output alarm, upper limit: output alarm, lower limit: setpoint out of range: process var out of range: PID done: PID enabled:
1 0 0 1 0 0 0 0 0 0 0 0 0 0
TM AM CM OL RG SC TF DA DB UL LL SP PV DN
0 EN
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 Preface
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.
•
• • • • • • • 9–10
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.
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: Configuración del bloque de control Á
Á 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Palabra EN
DN PV SP LL UL DB DA TF SC RG OL CM AM TM
0
* PID Sub Error Code (MSbyte)
1
* Setpoint SP
2
* Gain KC
3
* Reset Ti
4
* Rate Td
5
* Feed Forward Bias
6
Setpoint Max (Smax)
7
* Setpoint Min (Smin)
8
* Deadband
9
*
INTERNAL USE
DO NOT CHANGE
10
* Output Max
11
Output Min
12
*
* Loop Update
13
Scaled Process Variable
14
Scaled Error SE
15
Output CV% (0–100%)
16
MSW Integral Sum
5/03 MSW Integral Sum
17
LSW Integral Sum
5/03 LSW Integral Sum
18
INTERNAL USE DO NOT CHANGE
OL, CM, AM, TM À
19 20 21 22
À Puede alterar el estado de estos valores con su programa de escalera. Á Se aplica a los procesadores SLC 5/03 y SLC 5/04.
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 Preface
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. Código de error 11H
12H
Descripción de la(s) condición(es) de error SLC 5/02
SLC 5/03 y SLC 5/04
1) Tiempo de actualización del lazo Dt > 255 ó
1) Tiempo de actualización del lazo Dt > 1024
2) Tiempo de actualización del lazo Dt = 0
2) Tiempo de actualización del lazo Dt = 0
SLC 5/02
SLC 5/03 y SLC 5/04
1) Ganancia proporcional Kc > 255 ó
1) Ganancia proporcional Kc < 0
Acción correctiva SLC 5/02 Cambie el tiempo de actualización del lazo Dt a 0 < Dt < 255
SLC 5/02 Cambie la ganancia porporcional Kc a 0 < Kc < 255
SLC 5/03 y SLC 5/04 Cambie el tiempo de actualización del lazo Dt a 0 < Dt < 1024
SLC 5/03 and SLC 5/04 Cambie la ganancia proporcional Kc a 0 < Kc
2) Ganancia proporcional Kc = 0 13H
SLC 5/02 Ganancia integral (restablecimiento) Ti > 255
14H
SLC 5/02 Ganancia derivativa (régimen) Td > 255
SLC 5/03 y SLC 5/04 Ganancia integral (restablecimiento) Ti < 0 SLC 5/03 y SLC 5/04 Ganancia derivativa (régimen) Td < 0
SLC 5/02
SLC 5/03 and SLC 5/04
Cambie la ganancia inte- Cambie la ganancia integral (restablecimiento) Ti gral (restablecimiento) Ti a 0 < Ti a 0 < Ti < 255 SLC 5/02
SLC 5/03 y SLC 5/04
Cambie la ganancia derivativa (régimen) Td a 0 < Td < 255
Cambie la ganancia derivativa (régimen) Td a 0 < Td
21H (SLC 5/02 solamente)
1) Pto. de ajuste con escala máx. Smax > 16383 ó 2) Pto. de ajuste con escala máx. Smax < –16383
Cambie el pto. de ajuste con escala máx. Smax a –16383 < Smax < 16383
22H (SLC 5/02 solamente)
1) Pto. de ajuste con escala mín. Smin > 16383 ó 2) Pto. de ajuste con escala mín. Smin < –16383
Cambie el pto. de ajuste con escala mín. Smin a –16383 < Smin < Smax < 16383
Punto de ajuste con escala mínimo Smin > punto de ajuste con escala máx. Smax
Cambie el punto de ajuste con escala mín. Smin a –16383 < Smin < Smax < 16383 (SLC 5/03 y SLC 5/04 –32768 a +32767)
23H
9–12
Instrucción proporcional integral derivativa
Código de error 31H
Descripción de la(s) condición(es) de error Si usa la escala del punto de ajuste y Smin > punto de ajuste SP > Smax o Si no usa la escala de punto de ajuste y 0 > punto de ajuste SP > 16383,
Acción correctiva Si usa la escala de punto de ajuste, entonces cambie el punto de ajuste SP a Smin < SP < Smax o 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 cancelada
1) Banda muerta < 0 ó
1) Banda muerta < 0 ó
Escala seleccionada Cambie la banda muerta a 0 < banda muerta < (Smax – Smin) < 16383
Selección de escala cancelada Cambie la banda muerta a 0 < banda muerta < 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 ó 2) Límite de salida alta > 100
Cambie el límite de salida alta a 0 < límite de salida alta < 100
52H
1) Límite de salida baja < 0 ó 2) Límite de salida baja > 100
Cambie el límite de salida baja a 0 < límite de 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
SLC 5/02 – PID está siendo introducido por segunda vez. (El lazo PID fue interrumpido por una interrupción de E/S, la cual a su vez, es interrumpida por la interrupción PID STI.)
Tiene un mínimo de tres lazos PID en su programa; uno en el programa principal o archivo de subrutina; uno en un archivo de interrupción 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 Preface
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. Parámetro
9–14
4 a 20 mA
0a5V
0 a 10 V
Régimen/10,000
12,499
10,000
5,000
Offset
–4096
0
0
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. Parámetro Régimen/10,000 Offset
4 a 20 mA
0a5V
0 a 10 V
15,239
10,000
19,999
6242
0
0
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. Parámetro
4 a 20 mA
0a5V
0 a 10 V
Entrada mínima
3277
0
0
Entrada máxima
16384
16384
32767
Escala mínima
0
0
0
Escala máxima
16383
16383
16383
Use los valores siguientes en una instrucción SCP para escalar variables de control a salidas analógicas comunes. Parámetro
4 a 20 mA
0a5V
0 a 10 V
Entrada mínima
3277
0
0
Entrada máxima
16383
16383
16383
Escala mínima
6242
0
0
Escala máxima
31208
16384
32764
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 Preface Este renglón actualiza inmediatamente la entrada analógica usada para PV. IIM IMMEDIATE IN w MASK Slot I:1.0 Mask FFFF
Renglón 3:0
Estos dos renglones aseguran que el valor de entrada analógica que se va a introducir permanezca dentro de los límites de 3277 a 16384. Esto es necesario para evitar errores de conversión “fuera de rango” en las instrucciones SCL y PID. Los bits de enclavamiento se pueden usar en otro lugar del programa para identificar la condición fuera de rango que ocurrió. Rango insuficiente B3 (L) 0
LES Renglón 3:1
LESS THAN Source A Source B
I:1.0 0 3277
MOV MOVE Source Dest
Rango excesivo B3 (L) 1
GRT Renglón 3:2
GREATER THAN Source A Source B
3277 I:1.0 0
I:1.0 0 16384
MOV MOVE Source Dest
16384 I:1.0 0
La fuente que se va a escalar es la entrada I:1 y su destino es la variable de proceso de la instrucción PID. Estos valores se calculan con el conocimiento de que el rango es 3277 a 16384, mientras que el rango con escala (PV) es 0 a 16383. SCL SCALE Source
Renglón 3:3
Rate [/10000] Offset Dest
I:1.0 0 12499 –4096 N10:28 0
PID Renglón 3:4
9–16
PID Control Process Control Control
Block Variable Variable Block Length
N10:0 N10:28 N10:29 23
Instrucción proporcional integral derivativa
Renglón 3:5
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 numérico que es necesario para producir la señal de salida analógica de 4 a 20 mA. SCL SCALE Source Rate [/10000] Offset Dest
N10:29 0 15239 6242 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 IMMEDIATE OUT w MASK Slot O:1.0 Mask FFFF
Renglón 3:6
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 Preface
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í: Límites de proceso Salida de transmisor (si usado) Salida de un módulo de entrada analógico Instrucción PID, Smin a Smax
2.
±73 a +1156° C +4 a +20 mA 0 a 16383 ±73 a +1156° C
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 Preface
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. +DB SP
Rango de error
–DB Tiempo
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
Manual de referencia del juego de instrucciones Preface
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. Bit A/M
Manual I:2.0 ] [ 2
N7:10 (L) 1
Auto I:2.0 ] [ 1
N7:10 (U) 1
A/M Bit N7:10 ] [ 1
Bit A/M
Acepta CV I:2.0 ] [ 0
FRD
B3 [OSR] 0
FROM BCD Source
I1:1.0
Dest
LIM LIMIT TEST Low Lim Test High Lim
N7:0
MUL 0
MULTIPLY Source A
N7:0
N7:0
Source B
16384
100
Dest
N7:2
DDV DOUBLE DIVIDE Source Dest
Notas de operación Un interruptor preselector giratorio BCD de 3 dígitos es cableado a un módulo de entrada a I1:1.0 (rango 0–100)
S:5 (U) 0
Un botón pulsador es cableado a I1:2.0/0; acepta el valor del interruptor preselector giratorio. Un interruptor selector para el modo automático/manual es cableado a I1:2.0/1 (automático) e I1:2.0/2 (manual). N7:0 almacena el valor introducido en el interruptor preselector giratorio. 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
100 N7:8
LIM LIMIT TEST Low Lim Test High Lim
101 N7:0 –1
Error – fuera de rango B3 ( ) 3
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 Preface
Ejemplo – Salidas de tiempo proporcional PID PID Control Process Control Control
Block Variable Variable Block Length
N7:2 N7:0 N7:1 23
TON TIMER ON DELAY Timer T4:0 Time Base 0.01 Preset 1000 Accum 0
GRT
(EN) (DN) Tiempo de ciclo de salida
O:1.0 (U) 0
GREATER THAN Source A T4:0.ACC 0 Source B N7:25 0
Contactos de salida de tiempo proporcional T4:0 (RES)
T4:0 ] [ DN NEQ NOT EQUAL Source A Source B
N7:25 0 0
O:1.0 (L) 0
MUL
N7:2 ] [ 13
MULTIPLY Source A Source B
Bit de efectuado de la instrucción PID
Dest
Variable de control N7:1 0 T4:0.PRE 1000 N7:25 0
DDV DOUBLE DIVIDE Source 16383 Dest
N7:25 0
CLR CLEAR Dest
END
9–24
S:5 0
Salida como fracción del tiempo de ciclo
Borra el indicador de error menor
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 Preface
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 Preface
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 Preface
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 Instrucción Mnemónico
Nombre
Propósito
Página
ABL
Prueba de búfer por línea
Determina el número de caracteres en el búfer, hasta e incluyendo el carácter del fin de línea.
ACB
Número de Determina el número total de caracteres en el búfer. caracteres en búfer
10–8
ACI
Cadena a entero
10–10
ACL
Borrado del búfer Borra los búferes de recepción y/o de transmisión ASCII de recepción y/o transmisión
10–11
ACN
Concatenado de cadenas
Combina dos cadenas en una.
10–12
AEX
Extracción de cadena
Extrae una porción de una cadena para crea nua cadena nueva.
10–13
AHL
Líneas de handshake ASCII
Establece o restablece las líneas de comunicación de módem
10–14
AIC
Entero a cadena
Convierte un valor entero en una cadena.
10–16
ARD
Lectura de caracteres ASCII
Lee caracteres desde el búfer de entrada y los coloca en una cadena.
10–17
Convierte una cadena en un valor entero.
10–7
continúa en la página siguiente
10–1
Manual de referencia del juego de instrucciones Preface
Instrucción Mnemónico
Propósito
Nombre
Página
ARL
Lectura ASCII de línea
Lee una línea de caracteres desde el búfer de entrada y los coloca en una cadena.
10–20
ASC
Búsqueda de cadena
Busca una cadena.
10–22
ASR
Comparación de cadenas ASCII
Compara dos cadenas.
10–23
AWA
Escritura ASCII con apéndice
Escribe una cadena con caracteres configurados por el usuario añadidos.
10–24
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. Descripción Velocidad Bits de arranque Bits de parada Paridad Bits de datos
Caracteres de terminación
Caracteres añadidos
Especificación Alterna entre 110, 300, 600, 1200,2400,4800,9600 y 19200. El valor predeterminado es 1200. El valor predeterminado es 1 y no se puede cambiar. Las opciones incluyen 1, 1.5 y 2. El valor predeterminado es 1. Alterna entre Ninguno, Impar y Par. El valor predeterminado es Ninguno. Alterna entre 7 y 8. El valor predeterminado es 8. Le permite configurar hasta 2 caracteres ASCII. La instrucción ABL usa bloques para determinar la longitud de cadena. El valor predeterminado es CR. Le permite configurar hasta 2 caracteres ASCII. La instrucción AWA añade los caracteres al final de cada cadena para servir como caracteres de terminación para el dispositivo receptor. El valor predeterminado es CR LF.
10–3
Manual de referencia del juego de instrucciones Preface
Cómo usar el tipo de archivo de datos ASCII Estos son elementos de 1 palabra. Asigne las direcciones ASCII así: Formato
Af:e/b
Explicación A
Archivo ASCII
f
Número de archivo. Un número de archivo entre 9-255 se puede usar.
:
Delimitador de elemento
e
Número de elemento
/
Delimitador de bit
b
Número de bit
Rango de 0-255. Este es un elemento de 1 palabra.
Ubicación de bit dentro del elemento. Rango de 0-15.
Ejemplos: A9:2 A10:0/7
Elemento 2, archivo ASCII 9 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í: Formato
Explicación ST
STf:e.s/b
Archivo de cadena
f
Número de archivo. Un número de archivo entre 9-255 se puede usar.
:
Delimitador de elemento
e
Número de elemento
.
Delimitador de subelemento
s
Número de subelemento
/
Delimitador de bit
b
Número de bit
Rango de 0-255. Estos son elementos de 42 palabras. 16 bits por elemento.
Rango de 0-41. Palabra 0 es la longitud, .LEN.
Ubicación de bit dentro del elemento. Rango de 0-15. El direccionamiento a nivel de bit no está disponible para la palabra 0 de elementos de cadena.
Ejemplos: ST9:2 ST10:2.3/8
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 Preface
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
Word 0
EN
EU
DN
EM
ER
UL
IN
FD |
Word 1
Number of characters for sending or receiving (LEN)
Word 2
Number of characters sent or received (POS) EN EU DN EM ER UL IN
7
6
5
4
3
2
1
0
Error Code
Enable Bit Queue Bit Asynchronous Done Bit Synchronous Done Bit Error Bit Unload Bit Running Bit (Este bit es el bit IN en el archivo de datos de control [R6:].) FD = Found Bit
• • •
• • •
• •
10–6
= = = = = = =
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.
Instrucciones ASCII
Prueba de búfer por línea (ABL) 3 3 ABL ASCII TEST FOR LINE (EN) Channel (DN) Control Characters 0 (ER) Error
Instrucción de salida
Use la instrucción ABL para determinar el número total de caracteres en el búfer de entrada, hasta e incluyendo los caracteres de fin de línea (terminación). Esta 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 [ 10
[
Si la ranura de entrada 1, bit 10, está establecida, el procesador realiza una operación ABL por canal 0.
ABL ASCII TEST FOR LINE Channel 0 R6:32 Control Characters 0 Error
EN DN ER
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 Preface
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)
ACB ASCII CHARS IN BUFFER Channel Control Characters 0 Error
(EN) (DN) (ER)
3 3
Use la instrucción ACB para determinar los caracteres totales en el búfer. En una transición de falso a verdadero, el procesador determina el número total de 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.
Instrucción de salida
Cómo introducir parámetros Introduzca los parámetros siguientes al programar esta instrucción:
• • • •
10–8
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.
Instrucciones ASCII
Ejemplo I:1 [ 10
[
Si la ranura de entrada 1, bit 10, está establecida, el procesador realiza una operación ABL por canal 0.
ACB ASCII CHARS IN BUFFER Channel Control Characters Error
0 R6:32 0
EN DN ER
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 Source Dest
Use la instrucción ACI para convertir una cadena ASCII en un valor entero entre –32,768 y 32,767.
Instrucción de salida
Ejemplo ACI
I:1 [ 10
STRING TO INTEGER
[
Si la ranura de entrada 1, bit 10, está establecida, convierta la cadena en ST38:90 en un entero y almacene el resultado en N7:123
Source Destination
ST38:90 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:
10–10
El procesador:
S:0/0
Acarreo (C)
está reservado.
S:0/1
Overflow (V)
S:0/2
Cero (Z)
se establece si el valor entero se encuentra fuera del rango válido. se establece si el valor entero es cero.
S:0/3
Signo (S)
se establece si el resultado es negativo.
Instrucciones ASCII
Borrado del búfer ASCII de recepción y/o transmisión (ACL)
ACL ASCII CLEAR BUFFER Channel Clear Receive Buffer Clear Send Buffer
Instrucción de salida
3 3
Use esta instrucción para borrar un búfer ASCII. Las instrucciones ASCII son eliminadas de la cola y luego el bit de error (ER) se establece. Esta instrucción se 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 [ 10
[
Si la ranura de entrada 1, bit 10, está establecida, borre solamente el búfer de recepción para canal 0.
ACL ASCII CLEAR BUFFER 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 Preface
Concatenado de cadenas (ACN) 3 3 ACN STRING CONCATENATE Source A Source B Dest
La instrucción ACN combina dos cadenas usando cadenas ASCII como operandos. La segunda cadena se añade a la primera y el resultado se almacena en el destino.
Instrucción de salida
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 [ 10 Si la ranura de entrada 1, bit 10, está establecida, concatene la cadena en ST37:42 con la cadena en ST38:91 y almacene el resultado en ST52:76.
ACN STRING CONCATENATE Source A Source B Destination
ST37:42 ST38:91 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 Source Index Number Dest
Use la instrucción AEX para crear una cadena nueva tomando una porción de una cadena existente y enlazándola a una cadena nueva.
Instrucción de salida
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 [ 10 Si la ranura de entrada 1, bit 10, está establecida, extraiga 10 caracteres a partir del carácter 43 de ST348:40 y almacene el resultado en ST52:75.
AEX STRING EXTRACT Source Index Number Destination
ST38:40 42 10 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 Preface
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) Channel (DN) AND Mask OR Mask (ER) Control Channel Status Error
Instruccion de salida
Nota
Use la instrucción AHL para establecer o restablecer las líneas de control de comunicación RS-232 Terminal de datos lista (DTR) y Petición de envío (RTS) para su módem. En una transición de falso a verdadero, el procesador usa las dos 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. 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:
• •
•
•
10–14
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.
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. 00 Bit
15 –––8
Línea
–reservado
1 porque bit 4 está establecido
F ya que todos los bits están establecidos
7
4
3
DTR 1
DCD 1
6
5
2
1
0
DSR 1
RTS CTS 1 1
Ejemplo AHL
I:1 [ 10 Si la ranura de entrada 1, bit 10, está establecida, el bit 0 de la máscara AND se establece para borrar la línea DTR. Si los bits 0 y 1 de la máscara OR se establecen, establezca las líneas DTR y RTS.
ASCII HANDSHAKE LINES Channel 0 AND Mask ABCD OR Mask DACB Control R6:23 Channel Status 001F Error 00
EN DN ER
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 Preface
Entero a cadena (AIC) 3 3 AIC INTEGER TO STRING Source Dest
La instrucción AIC convierte un valor entero (–32,768 y 32,767) en una cadena ASCII. La fuente puede ser una constante o una dirección de entero.
Instrucción de salida
Ejemplo I:1 [ 10 Si la ranura de entrada 1, bit 10, está establecida, convierta el valor 867 en una cadena y almacene el resultado en ST38:42. [
10–16
AIC INTEGER TO STRING Source 867 Destination ST38:42
Instrucciones ASCII
Lectura de caracteres ASCII (ARD) 3 3 ARD ASCII READ Channel Dest Control String Length Characters Read Error
(EN) (DN)
Use la instrucción ARD para leer caracteres desde el búfer y almacenarlos en una cadena. Para repetir la operación, el renglón debe ir de falso a verdadero.
(ER)
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 [ 10
[
Si la ranura de entrada 1, bit 10, está estalecida, lea 50 caracteres desde el búfer y transfiéralos a ST52:76.
ARD ASCII READ Channel 0 Destination ST52:76 Control R6:23 50 String Length 0 Characters Read Error 00
EN DN ER
10–17
Manual de referencia del juego de instrucciones Preface
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:
• • • • •
10–18
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.
Instrucciones ASCII
Diagrama de temporización para una instrucción exitosa ARD, ARL, AWA y AWT Condición de renglón
ON OFF
Bit de habilitación (EN)
ON OFF
Bit de cola (EU)
ON OFF
Bit de marcha (RN)
ON OFF
Bit de efectuado ON Bit de error OFF (DN o ER)
ON Bit de efectuado síncrono (EM) OFF
1 2
6
3 4
5
1
5
2
6
3
4
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 Preface
Lectura ASCII de línea (ARL) 3 3 ARL ASCII Read Line Channel Dest Control String Length Characters Read Error
(EN) (DN) (ER)
Use la instrucción ARL para leer caracteres desde el búfer, hasta e incluyendo los caracteres de fin de línea (terminación), y almacenarlos en una cadena. Los caracteres de fin de línea son especificados vía la pantalla de configuración ASCII.
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 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 [ 10
[
Si la ranura de entrada 1, bit 10, está establecida, lea 18 caracteres (o hasta el fin de línea) desde el búfer y transfiéralos a ST52:72.
10–20
ARL ASCII READ LINE Channel 0 Destination ST52:72 Control R6:23 18 String Length Characters Read 0 Error 00
EN DN ER
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:
• • • • • Nota
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.
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 Preface
Búsqueda de cadena (ASC) 3 3 ASC STRING SEARCH Source Index Search Result
Use la instrucción ASC para buscar una cadena existente en coincidencia con la cadena fuente.
Instrucción de salida
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 ASC
I:1 [ 10
STRING SEARCH
[
Si la ranura de entrada 1, bit 10, está establecida, busque la cadena en ST52:80 a partir del carácter 36 para encontrar la cadena en ST38:40. En este ejemplo, el resultado se almacena en N10:0.
Source Index Search Result
ST38:40 35 ST52:80 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 Source A Source B
Instrucción de entrada
Use la instrucción ASR para comparar dos cadenas ASCII. El sistema busca una 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.
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 Source B
ST37:42 ST38:90
Si la cadena en ST37:42 es idéntica a la cadena 1 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 Preface
Escritura ASCII con anexo (AWA) 3 3 AWA ASCII WRITE APPEND Channel Source Control String Length Characters Sent Error
Instrucción de salida
(EN) (DN) (ER)
Use la instrucción AWA para escribir caracteres desde una cadena fuente a un dispositivo externo. Esta instrucción añade los dos caracteres anexos que usted configura en la pantalla de configuración ASCII. Los caracteres predeterminados 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 [ 10
[
Si la ranura de entrada 1, bit 10, está establecida, lea 25 caracteres desde ST37:42 y escríbalo al dispositivo de pantalla. Luego escriba un retorno de carro y avance de línea (predeterminados).
10–24
AWA ASCII WRITE APPEND Channel 0 Source ST37:42 Control R6:23 25 String Length Characters Sent 0 Error 00
EN DN ER
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:
• • • • • Nota
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.
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 Preface
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:
• Nota
10–26
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.
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.
Instrucciones ASCII
Escritura ASCII (AWT) 3 3 AWT ASCII WRITE Channel Source Control String Length Characters Sent Error
(EN) (DN) (ER)
Use la instrucción AWT para escribir caracteres desde una cadena fuente a un dispositivo externo. Para repetir la instrucción, el renglón debe ir de falso a verdadero. 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.
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). 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 [ 10 Si la ranura de entrada 1, bit 10, está establecida, escriba 40 caracteres desde ST37:20 al dispositivo de pantalla.
AWT ASCII WRITE Channel 0 ST37:20 Source Control R6:23 40 String Length Characters Sent Error
EN DN ER
10–27
[
Manual de referencia del juego de instrucciones Preface
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:
• • • • • Nota
10–28
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.
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.
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:). Código de error (HEX)
Condiciones que resultan en el establecimiento del bit ER
Acción recomendada
Ningún error. La instrucción se completó exitosamente.
Ninguna requerida.
02
La operación no se puede completar porque el módem está fuera de línea.
Verifique el cableado del módem al canal de comunicación. Si el canal está configurado para comunicación con el módem, las líneas DCD (datos-portadora-detección) y DSR (datos-establecimiento-listo) al canal deben estar activas para que el módem esté en línea.
03
La transmisión no se puede completar porque la señal Borrado para enviar se perdió.
Verifique el módem y las conexiones del cableado del módem.
04
No puede realizar la recepción de ASCII porque el canal de comunicación está configurado para el modo de sistema.
Vuelva a configurar el canal de comunicación para el modo de usuario.
05
La comunicación de modo de sistema (DF1) se detectó durante el intento de realizar la transmision ASCII.
Verifique que el módem esté en línea y se comunique con los dispositivos necesarios.
07
No puede efectuar la recepción o transmisión ASCII porque la configuración de canal ha sido desactivada vía el menú de configuración de canal.
Vuelva a configurar el menú de configuración de canal y reintente la operación.
08
No puede realizar la escritura ASCII debido a una transmisión ASCII en progreso.
Vuelva a enviar la transmisión.
09
La comunicación ASCII solicitada no es compatible con la configuración de canal actual. (Canal 0 está configurado para DH-485 mientras que intente una transmisión ASCII o un control de comunicación de módem.)
Configure el canal 0 para DF1, dúplex total.
0A
El bit de descarga (UL) se estableció, lo que detuvo la ejecucion de la instrucción.
Ninguna requerida.
00
10–29
Manual de referencia del juego de instrucciones Preface
Código de error (HEX)
10–30
Condiciones que resultan en el establecimiento del bit ER
Acción recomendada
0B
La longitud solicitada para la cadena no es válida, es un número no válido, mayor que 82 ó 0. Se aplica a las instrucciones ARD y ARL.
Introduzca una longitud de cadena válida y reintente la operación.
0C
La longitud de la cadena fuente no es válida, un número negativo, mayor que 82 ó 0. Se aplica a las instrucciones AWA y AWT.
Introduzca una longitud de cadena válida y reintente la operación.
0D
La longitud solicitada (.LEN) en el bloque de control es un número negativo o un valor mayor que el tamaño de cadena almacenado con la cadena fuente. Se aplica a las instrucciones AWA y AWT.
Introduzca una longitud válida y reintente la operación.
0E
La instrucción ACL fue cancelada.
Ninguna requerida.
0F
El modo de configuración de canal fue cambiado.
Ninguna requerida.
Instrucciones ASCII
Tabla de conversión ASCII La tabla siguiente lista las conversiones decimales, hexadecimales, octales y ASCII. Columna 1
Columna 2
Columna 3
Columna 4
DEC
HEX
OCT
ASC
DEC
HEX
OCT
ASC
DEC
HEX
OCT
ASC
DEC
HEX
OCT
ASC
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
000 001 002 003 004 005 006 007 010 011 012 013 014 015 016 017 020 021 022 023 024 025 026 027 030 031 032 033 034 035 036 037
NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
040 041 042 043 044 045 046 047 050 051 052 053 054 055 056 057 060 061 062 063 064 065 066 067 070 071 072 073 074 075 076 077
SP ! ” # $ % & ’ ( ) * + , – . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
100 101 102 103 104 105 106 107 110 111 112 113 114 115 116 117 120 121 122 123 124 125 126 127 130 131 132 133 134 135 135 137
@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
140 141 142 143 144 145 146 147 150 151 152 153 154 155 156 157 160 161 162 163 164 165 166 167 170 171 172 173 174 175 176 177
\ a b c d e f g h i j k l m n o p q r s t u v w x y z { . } ~ DEL
10–31
Manual de referencia del juego de instrucciones Preface
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 Mnemónico
Nombre
Propósito
Página
Rutina de fallo del Proporciona la opción de evitar la parada del proceusuario sador.
11–2
STI
Interrupción temporizada seleccionable
Le permite interrumpir el escán del archivo de programa principal, de manera periódica, para escanear un archivo de subrutina específico.
11–7
DII
Interrupción de entrada discreta
Permite que el procesador ejecute una subrutina 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.
11–19
ISR
Interrupción de E/S Permite que un módulo de E/S especial interrumpa el ciclo de operación normal del procesador para escanear un archivo de subrutina específico.
11–30
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. Fallo de no usuario
Fallo de usuario no recuperable
La rutina de fallo no se ejecuta.
La rutina de fallo se ejecuta durante un paso. Nota: usted puede inicializar una instrucción MSG a otro nodo para identificar la condición de fallo del procesador.
Fallo de usuario recuperable La rutina de fallo puede eliminar el fallo poniendo a cero el bit S:1/13.
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.
• • •
11–2
Indicadores aritméticos S:0 Registro matemático S:13 y S:14 Registro de índice S:24
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:
• • 2. Nota
El rango válido del procesador SLC es 3–255 MicroLogix 1000 designa el archivo 3
Introduzca el número de archivo en palabra S:29 del archivo de estado.
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 Preface
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 EQUAL Source A Source B
JSR S:6 0 32
EQU EQUAL Source A Source B
S:6 0 52
JUMP TO SUBROUTINE SBR file number 4
Código de fallo 0020 (Introduzca &H20. El equivalente decimal de 32 aparece.)
Código de fallo 0034 (Introduzca &H34. El equivalente decimal de 52 aparece.) END
11–4
JSR JUMP TO SUBROUTINE SBR file number 5
Cómo comprender las rutinas de interrupción
Archivo de subrutina 4 – Ejecutado para error 0020 SBR SUBROUTINE
C5:0 (U) CU
S:5 ] [ 0 CTU COUNT UP Counter Preset Accum
GRT
(CU) C5:0 120 0
(DN)
RET
GREATER THAN Source A C5:0.ACC 0 Source B 5
RETURN
S:5 (U) 0
S:5 ] [ 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 Preface
Archivo de subrutina 5 – Ejecutado para error 0034 SBR
LES
SUBROUTINE
LESS THAN Source A T4:0.ACC 0 Source B 0
S:1 (U) 13 CLR 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 Preface
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
Input Scan Program Scan Output Scan Communications Processor Overhead
SLC 5/02 STI
SLC 5/03 y SLC 5/04 STI con el bit S:33/8 establecido
SLC 5/03 y SLC 5/04 STI con el bit S:33/8 puesto a cero
Entre actualizaciones de ranura
Entre actualizaciones de palabra
Entre actualizaciones de ranura
Entre actualizaciones de instrucción
Entre actualizaciones de palabra
Entre actualizaciones de ranura
Entre actualizaciones de ranura
Entre actualizaciones de palabra
Entre actualizaciones de ranura
Entre paquetes de comunicación
Entre actualizaciones de paquete de palabra
Entre paquetes de comunicación
Al inicio y al final
Entre actualizaciones de palabra
Entre actualizaciones de palabra
Eventos en el ciclo de operación del procesador
Microcontrolador
STI Input Scan Program Scan
Entre actualizaciones de instrucción
Output Scan Communication Controller Overhead
Entre paquetes de comunicación Al inicio y al final
Eventos en el ciclo de operación del procesador
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. Contador de alta velocidad
2. Subrutina de interrupción temporizada seleccionable
2. Interrupción de entrada discreta (DII)
3. Subrutina de interrupción temporizada seleccionable
3. Subrutina de interrupción (ISR)
3. Subrutina de interrupción temporizada 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 Preface
•
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.
•
11–12
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.
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 Preface
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 Preface
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
Archivo de programa 3
0
S:1 ] [ 15
1
] [
STE SELECTABLE TIMED ENABLE
( )
] [
2 3 4 5
STD SELECTABLE TIMED DISABLE
6
La ejecución de interrupción STI no ocurre entre STD y STE.
7
] [
] [
( )
] [
] [
( )
8 9 10 11
STE SELECTABLE TIMED ENABLE
12 13
] [
( )
] [
14 15 16 17
END
11–17
Manual de referencia del juego de instrucciones Preface
Inicio temporizado seleccionable (STS) 3 STS SELECTABLE TIMED START File Time [x 10ms]
3 3 3
Use la instrucción STS para condicionar el inicio del temporizador STI cuando entra 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
11–18
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.
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 Preface
6. Nota
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.
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.À
À Usted debe añadir el tiempo de latencia de interrupción a la transición o conteo final que causa que la ejecución de la subrutina de interrupción.
Á La DII continúa comparando los datos de entrada contra el valor con máscara programado durante la ejecución de la subrutina DII.
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
DII con el bit S:33/8 establecido
DII con el bit S:33/8 establecido
Input Scan
Entre actualizaciones de ranura
Entre actualizaciones de palabra
Entre actualizaciones de ranura
Program Scan
Entre actualizaciones de instrucción
Entre actualizaciones de palabra
Entre actualizaciones de renglón
Entre actualizaciones de ranura
Entre actualizaciones de palabra
Entre actualizaciones de ranura
Entre paquetes de comunicación
Entre actualizaciones de paquete de palabra
Entre paquetes de comunicación
Al inicio y al final
Entre actualizaciones de palabra
Entre actualizaciones de palabra
Output Scan Communications Processor Overhead
Eventos en el ciclo de operación del procesador
11–22
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.
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 Preface
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 Preface
•
•
•
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.
•
11–26
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.
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 Preface
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:
• • • • • • 11–28
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
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 IIM
INT Renglón 3:0
IMMEDIATE IN w MASK Slot I:1.0 Mask 0100
I/O INTERRUPT
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. detecta una capa de botella instalada Renglón 3:1
I:1.0 ] [ 8
Y si el distribuidor está en la posición para botellas rechazadas
Ponga el distribuidor en la posición normal O:2.0 (U) 0
O:2.0 ] [ 0
Actualice la posición del distribuidor. IOM IMMEDIATE OUT w MASK Slot O:2.0 Mask 0001
Renglón 3:2
Si no está presente la tapa de botella, ponga el distribuidor en la posición para botellas rechazadas. Ponga el distribuidor en la posiSi el interr. de prox. detecta ción para botellas rechazadas una capa de botella faltante O:2.0 I:1.0 (L) ]/[ 0 8 Actualice la posición del distribuidor IOM IMMEDIATE OUT w MASK Slot O:2.0 Mask 0001
RET Renglón 3:3
Renglón 3:4
RETURN
END
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 Preface
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 •
•
11–30
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.
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 Preface
Input Scan Program Scan Output Scan Communications Processor Overhead
Eventos en el ciclo de operación del procesador
Interrupciones de E/S SLC 5/02
Interrupciones de E/S 5/03 y 5/04 con el bit S:33/8 establecido
Interrupciones de E/S 5/03 y 5/04 con el bit S:33/8 puesto a cero
Entre actualizaciones de ranura
Entre actualizaciones de palabra
Entre actualizaciones de ranura
Entre actualizaciones de instrucción
Entre actualizaciones de palabra
Entre actualizaciones de renglón
Entre actualizaciones de ranura
Entre actualizaciones de palabra
Entre actualizaciones de ranura
Entre paquetes de comunicación
Entre actualizaciones de paquete de apalbra
Entre actualizaciones de paquetes de comunicación
Al inicio y al final
Entre actualizaciones de palabra
Entre actualizaciones de palabra
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
1. Rutina de fallo
1. Rutina de fallo
2. Subrutina STI
2. Interrupción de entrada discreta (DII)
3. Subrutina de interrupción de E/S (ISR)
3. Subrutina STI 4. Subrutina de interrupción de E/S (ISR)
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 Preface
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.
• • •
11–34
Indicadores aritméticos S:0 Registro matemático S:13 y S:14 Registro de índice S:24
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 Preface
•
11–36
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.
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 Slots: 1,2,7
IIE I/O INTERRUPT ENABLE Slots: 1,2,7
Use estas instrucciones conjuntamente para crear una zona en su archivo de 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 de la ejecución. Tiene que especificar una subrutina que debe ejecutarse a la 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 Preface
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. Archivo de programa 2
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 interrupción de E/S se inicialice después de la desconexión y reconexión de la alimentación eléctrica. Debe incluir un renglón semejante cuando su programa 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 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 IIE en el renglón 12 establece estos mismo bits. Si una interrupción de E/S es detectada por el procesador mientras éste ejecuta los renglones 7–11, la interrupción estará marcada como pendiente. (S:25/1, S:25/2 y/o S:25/7 se establecerán.) Todas las interrupciones marcadas como pendientes recibirán servicio al momento de ejecución del renglón 12. La ranura con el número de ranura más bajo recibe servicio primero cuando los bits múltiples pendientes se establecen.
0
S:1 ] [ 15
1
] [
IIE I/O INTERRUPT ENABLE Slots: 1,2,7
( )
] [
2 3 4 5
IID I/O INTERRUPT DISABLE Slots: 1,2,7
6
La ejecución ISR no ocurre entre las instrucciones IID e IIE.
7
] [
] [
( )
] [
] [
( )
8 9 10 11
IIE I/O INTERRUPT ENABLE Slots: 1,2,7
12
13
] [
( )
] [
14 15 16 17
END
11–39
Manual de referencia del juego de instrucciones Preface
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:
11–40
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
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 Preface
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 Preface
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 Preface
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: Parámetro
Descripción
Archivo diagnóstico
Reservado para uso futuro.
Velocidad en baudios
Alterna entre el régimen de comunicación de 1200, 2400, 9600 y 19200. El régimen predeterminado es 19200. Esta es la dirección de nodo del procesador en la red DH-485. El rango válido es 1–31. El valor predeterminado es 1. Esta es la dirección de nodo máxima de un procesador activo. El rango 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 procesador incremente la capacidad de tratamiento útil DH-485. El rango 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.
Dirección de nodo Dirección de nodo máxima Factor de retención de testigo
12–5
Manual de referencia del juego de instrucciones Preface
Los dispositivos siguientes usan la red DH-485: No. de catálogo
Descripción
Requisito de instalación
1746-BAS
Módulo BASIC
Chasis SLC
Proporciona un interface para los dispositivos SLC 500 a dispositivos extranjeros. Programe en BASIC para 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 interface DH-485/DF1
Chasis SLC
Proporcionar un interface sin aislamiento DH-485 para SLC 500 a 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.
1747-6.12
1770-KF3
Módulo de interface DH-485/DF1
“Escritorio” autónomo
Proporciona un interface DH-485 aislado para dispositivos SLC 500 a 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.
1770-6.5.18
1784-KR
Módulo de interface PC DH-485
Bus de computadora IBM XT/AT
Proporciona un puerto DH-485 aislado en la parte posterior de la computadora. 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.
1784-2.23ES 6001-6.5.5
1785-KA5
Gateway DH+/DH485
Chasis de E/S (1771) PLC
Proporciona comunicación entre estaciones en las redes PLC-5 (DH+) y SLC 500 (DH-485).
1785-6.5.5ES 1785-1.21ES
2760-RB
Módulo de interface flexible
Chasis (1771) PLC
Proporciona un interface para SLC 500 (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.
2760-ND001
12–6
Función
Publicación 1746-6.1ES 1746-6.2ES 1746-6.3ES
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-KL (T47)
1784-KT2 (PS2)
•
PLC–5/15
Red DH+
Controlador de E/S modular SLC 5/04
12–7
Manual de referencia del juego de instrucciones Preface
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.
Controlador de E/S modular SLC 5/04
Controlador de E/S modular SLC 5/04
Red DH+
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: Parámetro
Descripción
Velocidad en baudios
Alterna entre la velocidad de comunicación de 57.6K, 115.2K y 230.4K. El valor predeterminado es 57.6K. Una terminal de programación sólo puede comunicar en una red DH+ configurada para 57.6 Kbaud. Asegúrese que todos los dispositivos en su red DH+ estén configurados para la misma velocidad de comunicación.
Dirección de nodo
El rango válido es 0–77 octal. El valor predeterminado es 1.
Habilitación de transmisión de palabra de estado globalÀ Habilitación de recepción de palabra de estado globalÀ À
Alterna entre 0 y 1. El valor predeterminado es 0. Alterna entre 0 y 1. El valor predeterminado es 0.
Este parámetro está disponible para los procesadores SLC 5/04 OS401 solamente.
12–9
Manual de referencia del juego de instrucciones Preface
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
12–10
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.
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 Preface
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:
• • •
•
12–12
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.
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). Valor escrito en S:99 por el procesador SLC 5/04
Estado de la dirección de nodo DH+ El dispositivo no está activo en la red DH+ El dispositivo está activo en la red DH+, pero no envía los bytes de GSW en su paso de testigo El dispositivo está activo en la red DH+ y envía 1 byte de datos de GSW a su paso de testigo El dispositivo está activo en la red DH+ y envía 2 bytes de datos de GSW a su paso de testigo El dispositivo está activo en la red DH+ y envía 2 ó 4 bytes de datos de GSW a su paso de testigo
• • •
•
Nota
0x0000 0x0000 El byte alto se establece a 0x00; el byte bajo se establece igual a 1 byte de datos de GSW El byte alto se establece igual al segundo byte; el byte bajo se establece igual al primer byte (o los bytes altos y bajos se establecen iguales el uno al otro) El byte alto se establece igual al segundo byte; el byte bajo se establece igual al primer byte, y no se hace caso de los bytes tercero y cuarto
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.
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
Manual de referencia del juego de instrucciones Preface
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: Si usa esta versión:
SLC 5/03 OS300
SLC 5/03 OS301 y posteriores
Use esta instrucción MSG para comunicar a un procesador PLC-5: tipo 485CIF (emulación PLC-2) Para obtener información, vea esta sección.
• tipo PLC-5 (el método preferido) • 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
12–14
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.
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í.
Programa de escalera SLC
Archivos de datos #0 - #8,
DH-485 Lectura no protegida
CIF (archivo #9)
SLC 500
Escritura no protegida
#10 - #255
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 Preface
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. Dirección de destino (octal) PLC-5 MSG
Dirección SLC Modo de byte (S:2/8=1) Modo de palabra (S:2/8=0)
010
N9:16
N9:8
011
N9:18
N9:9
...
...
...
177
N9:254
N9:127
200
N9:128
...
...
377
N9:255
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 Preface
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. Cuando desea obtener acceso a:
Programe la instrucción MSG como:
Procesadores PLC-5 Módulo de interface de comunicación 1785-KA5
tipo PLC-5 MSG
SLC 5/03 SLC 5/04
tipo SLC 500
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 Preface
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: Parámetro Reservado para uso futuro.
Velocidad en baudios Paridad
Alterna entre la velocidad de comunicación de 110, 300, 600, 1200, 2400, 4800, 9600 y 19200. El valor predeterminado es 1200. 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 paquete duplicado Detección de error
Alterna entre inhabilitado y habilitado. El valor predeterminado es Habilitado. Alterna entre CRC y BCC. El valor predeterminado es CRC.
Límite de tiempo sobrepasado ACK Reintentos NAK
El rango válido es 2–65535 (en incrementos de 20 ms). El valor predeterminado es 50. 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.
Línea de control Respuestas incorporadas ID de fuente
12–20
Descripción
Archivo diagnóstico
Alterna entre Sin comunicación y módem de full–duplex El valor predeterminado es Sin handshaking. Alterna entre Habilitado y Detección automática. El valor predeterminado es Habilitado. Especifique la dirección del transmisor en este campo. El rango válido es 0–254. El valor predeterminado es 9.
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 Full–duplex
Protocolo DF1
Módem
Canal 0 RS-232
Full–duplex (punto a punto) SLC 5/03 CPU (1747-L532) Canal 1 DH-485
1747-CP3
Canal 0 RS-232
12–21
Manual de referencia del juego de instrucciones Preface
Full–duplex (red) SLC 5/03 CPU (1747-L532) Canal 1 DH-485
Módem
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 (1747-L532)
Módulo de interface (1747-KE) Módem
Acoplador de vínculo (1747-AIC)
Módem
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 Preface
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: Parámetro Archivo diagnóstico
Reservado para uso futuro.
Velocidad en baudios
Alterna entre la velocidad de comunicación de 110, 300, 600, 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.
Detección de paquete Detección de error
Alterna entre Habilitada e Inhabilitada. El valor predeterminado es Habilitada. Alterna entre CRC y BCC. El valor predeterminado es CRC.
Retardo de desactivación RTS
Le permite seleccionar el valor de retardo de desactivación RTS en incrementos de 20 ms. El rango válido es 0–65535. El valor predeterminado es 0.
Retardo de transmisión RTS
Le permite seleccionar el valor de retardo de transmisión RTS en incrementos de 20 ms. El rango válido es 0–65535. El valor predeterminado es 0.
Límite de tiempo sobrepasado de encuesta
Le permite seleccionar el valor de límite de tiempo sobrepasado de encuesta maestro en incrementos de 20 ms. El valor predeterminado es 50. El rango válido es 0–65535.
Retardo de tiempo de transmisión previa Reintentos de mensaje Línea de control Supresión EOT
12–24
Descripción
Le permite seleccionar el retardo de tiempo de 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 válido es 0–255. El valor predeterminado es 3. Alterna entre Ninguna comunicación, half–duplex con portadora continua yhalf–duplex sin portadora continua. El valor predeterminado es Ninguna comunicación. Alterna entre Sí y No. El valor predeterminado es No.
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: Parámetro
Descripción
Archivo diagnóstico
Reservado para uso futuro.
Velocidad en baudios Paridad
Alterna entre la velocidad de comunicación de 110, 300, 600, 1200, 2400, 4800, 9600 y 19200. 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 duplicado Detección de error
Alterna entre Habilitada e Inhabilitada. El valor predeterminado es Habilitada. Alterna entre CRC y BCC. El valor predeterminado es CRC.
Límite de tiempo sobrepasado ACK
El permite seleccionar el valor de límite de tiempo sobrepasado ACK en incrementos de 20 ms. El rango válido es 0–65535. Le permite seleccionar el valor de retardo de desactivación RTS en incrementos de 20 ms. El rango válido es 0–65535. El valor predeterminado es 0.
Retardo de desactivación RTS Reintentos de mensaje Retardo de transmisión RTS Retardo de tiempo de transmisión previa
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 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 transmisión previa RTS en incrementos de 20 ms. El rango válido es 0–65535.
Tiempo de espera del mensaje de respuesta
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 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) Le permite seleccionar la dirección baja del rango de encuesta de prioridad. El rango válido es 0–255. Le permite seleccionar la dirección baja del rango de encuesta normal. El rango válido es 0–255. Le permite seleccionar la dirección alta del rango de encuesta de prioridad. El rango válido es 0–254. 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 mensaje de respuesta en incrementos de 20 ms. El rango válido es 0–65535.
Tamaño del grupo de encuesta normal
Le permite seleccionar el tamaño del grupo de encuesta normal. El rango válido es 0–255.
Línea de control
Modo de encuesta
Encuesta de prioridad – baja Encuesta normal – baja Encuesta de prioridad – alta Encuesta normal – alta
12–25
Manual de referencia del juego de instrucciones Preface
RS-232 (protocolo DF1)
Módem
El controlador modular del procesador SLC 5/02 con módulo de interface 1747-KE
12–26
ControlView 300 ó software de otros fabricantes ejecutando el protocolo DF1 (maestro) Módem
Módem
Controlador modular del procesador SLC 5/03
Módem
Módem
Controlador modular El controlador modular del del procesador procesador SLC 5/01 SLC 5/03 con módulo de interface 1747-KE
Módem
Controlador de E/S fijo SLC 500 con módulo de interface 1747-KE
Cómo comprender los protocolos de comunicación
Vínculo de múltiples conexiones DH-485
RS-232 (DF1 protocolo)
Módem
ControlView 300 ó software de otros fabricantes ejecutando el protocolo DF1 (maestro)
Módem
Módulo de interface 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 protocolo DF1 (maestro)
RS-232 (DF1 protocolo) Módem
Línea arrendada
Módem
Controlador modular del procesador SLC 5/03
12–28
Módem
Controlador modular del procesador SLC 5/03
Cómo comprender los protocolos de comunicación
Half–duplex DF1 con DH-485 de punto a punto ControlView 300 ó software de otros fabricantes ejecutando el protocolo DF1 (maestro)
RS-232 (DF1 protocolo) Módem
Módem
Módulo de interface 1747-KE
DF1
1747–AIC
Controlador modular del procesador SLC 5/02 con módulo de interface 1747-KE (esclavo)
1747–AIC
Controlador modular del procesador SLC 5/01
1747–AIC
Controlador de E/S compacto SLC 500
12–29
Manual de referencia del juego de instrucciones Preface
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 Preface
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 Secuencia de cadena AT &W1Z
2.
Definida Atención Establece los valores en la memoria del módem a los valores predeterminados.
Para inicializar el módem, introduzca la cadena siguiente: ATD4140000000TN0$BA0$SB1200$MB1200$D1&W0 Secuencia de cadena de inicialización AT
Definida Atención
$BA0
Almacena números telefónicos en memoria (tono, no. telefónico, 0). 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.
&W0
Almacena de modo permanente estos comandos en memoria de módem.
À
D4140000000TN0
À 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 Preface
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:
• • • • •
12–34
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.
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 Preface
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 Preface
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: Parámetro Archivo diagnóstico
Reservado para uso futuro.
Velocidad en baudios Paridad
Alterna entre la velocidad de comunicación de 110, 300, 600, 1200, 2400, 4800, 9600 y 19200. El valor predeterminado es 1200. Alterna entre Ninguna, Impar y Par. El valor predeterminado es Ninguna.
Bits de detención
Alterna entre 1, 1.5 y 2. El valor predeterminado es 1.
Bits de datos
Alterna entre 7 y 8. El valor predeterminado es 8.
Modo de eliminación Echo Retardo de desactivación RTS
Alterna entre Ignorar, CRT e impresora. El valor predeterminado es Ignorar. Este parámetro depende de la habilitación del parámetro Echo. Alterna entre Habilitado e Inhabilitado. El valor predeterminado es Inhabilitado. Le permite seleccionar el valor de retardo de desactivación RTS en incrementos de 20 ms. El rango válido es 0–65535 (en incrementos de 20 ms). El valor predeterminado es 0.
Retardo de transmisión RTS
Le permite seleccionar el valor de retardo de transmisión RTS en incrementos de 20 ms. El rango válido es 0–65535 (en incrementos de 20 ms). El valor predeterminado es 0.
Línea de control
Alterna entre Ninguna comunicación, half–duplex con portadora continua, half–duplex sin portadora continua y Módem de full–duplex. El valor predeterminado es Ninguna comunicación.
XON/XOFF
Alterna entre Habilitado e Inhabilitado. El valor predeterminado es Inhabilitado.
Terminación 1 Terminación 2 Añadir 1 Añadir 2
12–38
Descripción
Especifique FF para carácter sin terminación. Especifique FF para carácter no añadido.
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 Preface
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 direcció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 Preface
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
13–2
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.
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 Preface
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
Manual de referencia del juego de instrucciones Preface
Errores de encendido Código de error (hex)
Mensaje de advertencia
Descripción
Acción recomendada
0001
DEFAULT PROGRAM LOADED
El programa predeterminado se carga en la memoria del controlador. Esto ocurre: • al momento de encendido si la interrupción de alimentación eléctrica ocurrió en medio de una carga • si el programa de usuario está alterado al momento de encendido, el programa predeterminado se carga.
• Vuelva a cargar el programa y entre en el modo de marcha REM. • Comuníquese con su representante local de Allen-Bradley si el error persiste.
0002
UNEXPECTED RESET
El controlador se restableció inesperadamente debido a un entorno ruidoso o un fallo de hardware interno. Si el programa de usuario cargado al controlador es válido, los datos iniciales cargados con el programa se usan. El bit de datos retentivos perdidos (S:5/8) se establece. Si el programa de usuario es no válido, el programa predeterminado se carga.
• Refiérase a las pautas de conexión a tierra correspondientes en el capítulo 1. • Comuníquese con su representante local de Allen-Bradley si el error persiste.
0003
EEPROM MEMORY IS CORRUPT
El programa de usuario está alterado y el programa predeterminado se carga.
• Durante la desconexión y reconexión de la alimentación eléctrica. es posible que ocurriera un problema de ruido. Trate de desconectar y volver a conectar la alimentación eléctrica. Su programa 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 LOST
Los archivos de datos (entrada, salida, temporizador, contador, entero, binario, control y estado) están alterados.
• Desconecte y vuelva conectar la alim. eléctrica a su unidad. • Cargue su programa y vuelva a 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 Código de error (hex)
Mensaje de advertencia
Descripción
Acción recomendada
0008
FATAL INTERNAL SOFTWARE ERROR
El software del controlador ha detectado una condición inválida dentro del hardware o software después de finalizar el proceso de encendido (después de los 2 primeros segundos de operación).
• Desconecte y vuelva conectar la alimentación eléctrica a su unidad. • Cargue su programa y vuelva a inicializar los datos necesarios. • Encienda el sistema. • Comuníquese con su representante local de Allen-Bradley si el error persiste.
0009
FATAL INTERNAL HARDWARE ERROR
El software del controlador ha detectado una condición inválida dentro del hardware durante el proceso de encendido (dentro de los 2 primeros segundos de operación).
• Desconecte y vuelva conectar la alimentación eléctrica a su unidad. • Cargue su programa y vuelva a inicializar los datos necesarios. • 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 configurado para un microcontrolador.
Si desea usar un microcontrolador con el programa, vuelva a configurar su controlador con MPS o APS (seleccione Bol. 1761).
0016
STARTUP PROTECTION AFTER POWERLOSS; S:1/9 IS SET
El sistema se ha encendido en el modo de marcha REM. El bit S:1/13 está establecido y la rutina de fallo de usuario se ejecuta antes de comenzar el primer escán del programa.
• Restablezca el bit S:1/9 si es coherente con los requisitos de su aplicación y retorne el modo a marcha REM o • ponga a cero S:1/13, el bit de fallo mayor.
0018
USER PROGRAM IS INCOMPATIBLE WITH OPERATING SYSTEM
Un programa no compatible se cargó. El programa no tiene el número correcto de archivos o no tiene los archivos de datos de tamaño correcto. El programa predeterminado se carga.
• Verifique la configuración y asegúrese que el procesador correcto haya sido seleccionado. • Si desea usar un microcontrolador con el programa, vuelva a configurar su controlador con MPS o APS (seleccione Bol. 1761).
13–7
Manual de referencia del juego de instrucciones Preface
Errores de marcha Código de error (hex)
Mensaje de advertencia
Descripción
Acción recomendada
0004
RUNTIME MEMORY INTEGRITY ERROR
Mientras que el controlador estaba en el modo de MARCHA o cualquier modo de prueba, el ROM o RAM se alteró. Si el programa de usuario es válido, el programa y los datos iniciales cargados al controlador se usan y el bit de datos retentivos perdidos (S:5/8) se establece. Si el programa de usuario es válido, error 0003 ocurre.
• Desconecte y vuelva a conectar la alimentación eléctrica a su unidad. • Cargue su programa y vuelva a inicializar los datos necesarios. • Encienda el sistema. • Comníquese con su representante local de Allen-Bradley si el error persiste.
0020
MINOR ERROR AT END OF SCAN, SEE S:5
Un bit de fallo menor (bits 0–7) en S:5 se estableció al final de escán.
Entre en la pantalla de archivo de estado, borre el fallo y retorne al modo de marcha REM.
0022
WATCHDOG TIMER EXPIRED, SEE S:3
El tiempo de escán de programa excedió el valor del límite de tiempo sobrepasado del temporizador de control (watchdog) (S:3H).
• Revise si el programa se ha atrapado en un lazo y corrija el problema. • Incremente el valor del límite de tiempo sobrepasado del temporizador de control (watchdog) en el archivo de estado.
0024
INVALID STI INTERRUPT SETPOINT, SEE S:30
Un intervalo STI inválido existe (no entre 0 y 255).
Establezca el intervalo STI entre los valores de 0 y 255.
0025
TOO MANY JSRs IN STI SUBROUTINE
Hay más de 3 subrutinas anidadas en la subrutina STI (archivo 5).
Corrija el programa de usuario para 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 SUBROUTINE
Hay más de 3 subrutinas anidadas en la rutina de fallo (archivo 3).
Corrija el programa de usuario para 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 LARGE FOR FILE
El programa hace referencia a un elemento más allá de un límite de archivo a través del direccionamiento indexado.
Corrija el programa de usuario para que no exceda los límites de archivo.
002B
TOO MANY JSRs IN HSC
Hay más de 3 subrutinas anidadas en la rutina del contador de alta velocidad (archivo 4).
Corrija el programa de usuario para 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.
0030
SUBROUTINE NESTING EXCEEDS LIMIT OF 8
Hay más de 8 subrutinas anidadas en el archivo de programa principal (archivo 2).
Corrija el programa de usuario para cumplir con los requisitos y restricciones 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
Código de error (hex)
Mensaje de advertencia
Descripción
Acción recomendada
0031
UNSUPPORTED INSTRUCTION DETECTED
0032
SQO/SQC CROSSED DATA FILE BOUNDARIES
Un parámetro de longitud/posición de instrucción del secuenciador indica un punto más allá del final de un archivo de datos.
Corrija el programa para asegurar que los parámetros de longitud y posición no indiquen un punto más allá del archivo de datos. Vuelva a cargar el programa y entre en el modo de marcha REM.
0033
BSL/BSR/FFL/FFU/LFL/LFU CROSSED DATA FILE BOUNDARIES
El parámetro de longitud de una instrucción BSL, BSR, FFL, FFU, LFL o LFU indica un punto más allá del final de un archivo de datos.
Corrija el programa para asegurar que el parámetro de longitud no indique un punto más allá del archivo de datos. Vuelva a cargar el programa y entre en el modo de marcha REM.
0034
NEGATIVE VALUE IN TIMER PRESET OR ACCUMULATOR
Un valor negativo se cargó a un valor preseleccionado de temporizador o acumulador.
Si el programa transfiere valores a la palabra acumulada o preseleccionada de un temporizador, asegúrese que estos valores no sean negativos. Corrija el programa, vuelva a cargar y entre en el modo de marcha REM.
0035
ILLEGAL INSTRUCTION (TND) IN INTERRUPT FILE
El programa contiene una instrucción de fin temporal (TND) en archivo 3, 4 ó 5 cuando se usa como subrutina de interrupción.
Corrija el programa, vuelva a cargar y entre en el modo de marcha REM.
0037
INVALID PRESETS LOADED TO HIGH–SPEED COUNTER
Un cero (0) o un valor preseleccionado alto negativo se cargó en el contador (C5:0) cuando el HSC era un contador progresivo o el valor preseleccionado alto era más bajo o igual que el valor preseleccionado bajo cuando el HSC era un contador bidireccional.
• Verifique que los valores preseleccionados sean válidos. • Corrija el programa, vuelva a cargar y entre en el modo de marcha REM.
0038
SUBROUTINE RETURN INSTRUCTION (RET) IN PROGRAM FILE 2
Una instrucción RET se encuentra en el archivo de programa principal (archivo 2).
Elimine la instrucción RET, vuelva a cargar el programa y entre en el modo de marcha REM.
El programa contiene una instrucción(es) que no es compatible con el microcontrolador. Por ejemplo, MSG, SVC o PID.
Modifique el programa para que todas las instrucciones sean respaldadas por el controlador, y luego vuelva a cargar el programa y entre en el modo de marcha REM.
13–9
Manual de referencia del juego de instrucciones Preface
Código de error (hex)
Mensaje de advertencia
Descripción
Acción recomendada
0040
OUTPUT VERIFY WRITE FAILURE
Cuando las salidas fueron escritas y leídas por el controlador, la lectura falló. Es posible que fuera causado por ruido.
• Refiérase a las pautas de conexión a tierra correspondientes en el capítulo 1. • Encienda el sistema. • Comuníquese con su representante local de Allen-Bradley si el error persiste.
0041
EXTRA OUTPUT BIT(S) TURNED ON
Un bit de salida adicional se estableció cuando se restableció el bit de selección de bit adicional (S:0/8) en el archivo de estado. Para los controladores de 16 puntos, esto incluye los bits 6–15. Para los controladores de 32 puntos, esto incluye los bits 12–15.
• Establezca S:0/8 o cambie su aplicación para evitar que estos bits se activen. • Corrija el programa, vuelva a cargar y entre en el modo de marcha REM.
Error de carga Código de error (hex) 0018
13–10
Mensaje de advertencia USER PROGRAM IS INCOMPATIBLE WITH OPERATING SYSTEM
Descripción Un programa no compatible se cargó. El programa no tiene el número correcto de archivos o no tiene los archivos de datos de tamaño correcto. El programa predeterminado se carga.
Acción recomendada • Verifique la configuración y asegúrese que el procesador correcto haya sido seleccionado. • Si desea usar un microcontrolador con el programa, vuelva a configurar su controlador con MPS o APS (seleccione Bol. 1761).
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 error (hex)
Descripción
Causa probable
Acción recomendada
0001
Error NVRAM.
• • • •
Ruido, relámpago, conexión incorrecta a tierra, falta de supresión de sobretensión en las salidas con cargas inductivas o • fuente de alimentación eléctrica insuficiente. • Pérdida de batería o condensador auxiliar.
Corrija el problema, vuelva a cargar el programa y ejecute. Puede usar la característica de carga automática con un módulo de memoria para volver a cargar automáticamente el programa y entrar en el modo de marcha.
0002
Límite de tiempo sobrepasado inesperado del control (watchdog) de hardware
• • • •
Ruido, relámpago, conexión incorrecta a tierra, falta de supresión de sobretensión en salidas con cargas inductivas o • fuente de alimentación eléctrica insuficiente.
Corrija el problema, vuelva a cargar el programa y ejecute. Puede usar la característica de carga automática con un módulo de memoria para volver a cargar automáticamente el programa y entrar en el modo de marcha.
0003
Error de memoria del módulo de memoria. Este error también puede ocurrir cuando se entra en el modo de marcha REM.
El módulo de memoria está alterado.
Vuelva a programar el módulo de memoria. Si el error persiste, reemplace el módulo de memoria.
0007
Fallo durante la transferencia del módulo de memoria.
El módulo de memoria está alterado.
Vuelva a programar el módulo de memoria. Si el error persiste, reemplace el módulo de memoria.
13–11
Manual de referencia del juego de instrucciones Preface
Código de error (hex)
Descripción
Causa probable
Acción recomendada
0008
Error de software interno.
Un error inesperado de software ocurrió debido a: • Ruido, • relámpago, • conexión a tierra incorrecta, • falta de supresión de sobretensión en la salida con cargas inductivas o • fuente de alimentación insuficiente.
Corrija el problema, vuelva a cargar el programa y ejecute. Puede usar la característica de carga automática con un módulo de memoria para volver a cargar automáticamente el programa y entre en el modo de marcha. Si el problema vuelve a ocurrir, comníquese con su representante RSI.
0009
Error de hardware interno.
Un error inesperado de hardware ocurrió debido a: • Ruido, • relámpago, • conexión incorrecta a tierra, • falta de supresión de sobretensión en la salida con cargas inductivas o • fuente de alimentación eléctrica insuficiente.
Corrija el problema, vuelva a cargar el programa y ejecute. Puede usar la característica de carga automática con un módulo de memoria para volver a cargar automáticamente el programa y entre en el modo de marcha. Si el problema vuelve a ocurrir, comuníquese con su representante A–B.
Acción recomendada
Errores de ida a marcha Código de error (hex)
Descripción
Causa probable
0010
El procesador no cumple con el nivel de revisión requerido.
El nivel de revisión del procesador no es compatible con el nivel de revisión para el cual el programa fue desarrollado.
Comuníquese con su representante local de A–B para adquirir un juego de actualización para su procesador.
0011
El archivo de programa ejecutable número 2 está ausente.
Está presente un programa no compatible o alterado.
Vuelva a cargar el programa o vuelva a programar con software de programación APS aprobado por RSI.
0012
El programa de escalera tiene un error de memoria.
• • • •
Ruido, relámpago, conexión incorrecta a tierra, falta de supresión de sobretensión en las salidas con cargas inductivas o • fuente de alimentación insuficiente.
Corrija el problema, vuelva a cargar el programa y ejecute. Si el error persiste, asegúrese de usar un softwae de programación APS aprobado por RSI para desarrollar y cargar el programa.
0013
• El módulo de memoria requerido está ausente o • S:1/10 ó S:1/11 no está establecido según lo requerido por el programa.
• Uno de estos bits de estado está establecido en el programa pero el módulo de memoria requerido está ausente o • el bit de estado S:1/10 ó 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.
• Instale un módulo de memoria en el procesador o • cargue el programa desde el procesador hacia el módulo de memoria.
13–12
Cómo localizar y corregir fallos
Código de error (hex)
Descripción
Causa probable
Acción recomendada
0014
Error de archivo interno.
• • • •
Ruido, relámpago, conexión incorrecta a tierra, falta de supresión de sobretensión en las salidas con cargas inductivas o • fuente de alim. eléc. insuficiente
Corrija el problema, vuelva a cargar el programa y ejecute. Si el error persiste, asegúrese de usar el software de programación APS aprobado por RSI para desarrollar y cargar el programa.
0015
Error de archivo de configuración.
• • • •
Ruido, relámpago, conexión incorrecta a tierra, falta de supresión de sobretensión en las salidas con cargas inductivas o • fuente de alim. eléc. insuficiente
Corrija el problema, vuelva a cargar el programa y ejecute. Si el error persiste, asegúrese de usar el software de programación APS aprobado por RSI para desarrollar y cargar el programa.
0016
Protección de encendido después de la pérdida de alimentación eléctrica. Existe una condición de error durante el encendido cuando el bit S:1/9 se establece y ocurre una interrupción del suministro eléctrico durante el estado en marcha.
El bit de estado S:1/9 ha sido establecido por el programa de usuario. Refiérase al capítulo 1 para obtener detalles acerca de la operación del bit de estado S:1/9.
• Restablezca el bit S:1/9 si eso es coherente con los requisitos de aplicación y retorne el modo a marcha o • ponga a cero S:1/13, el bit de fallo mayor, antes de que se alcance el final del primer escán de programa.
0017
Desigualdad del programa de usuario del módulo NVRAM/memoria .
El bit S:2/9 es establecido y el programa de usuario del módulo de memoria no corresponde al programa de usuario NVRAM.
Transfiera el programa de módulo de memoria a NVRAM y cambie al modo de marcha.
0018
Programa de usuario no compatible. Desigualdad del tipo de sistema de operación. Este error también puede aparecer durante el encendido.
El programa de usuario es demasiado avanzado y no se puede ejecutar en el sistema de operación actual.
Comníquese con su representante RSI para obtener información acerca de sistemas de operación disponibles para el procesador 5/03.
0019
Un número de etiqueta duplicado se detectó.
Una instrucción de etiqueta duplicada o faltante se encontró en una subrutina.
• Quite la etiqueta duplicada o • añada una etiqueta.
Descripción
Causa probable
Acción recomendada
001F
Un problema de integridad del programa ocurrió durante una sesión de edición en línea.
Un ruido, pérdida de comunicación o desconexión y reconexión de alim. eléc. ocurrió durante una sesión de edición en línea.
Vuelva a cargar el programa y vuelva a introducir los cambios.
0004
Un error de memoria ocurrió durante el modo de marcha.
• • • •
Corrija el problema, vuelva a cargar el programa y ejecute. Puede usar la característica de carga automática con un módulo de memoria para volver a cargar el programa automáticamente y entrar en el modo de marcha.
Errores de marcha Código de error (hex)
Ruido, relámpago, conexión a tierra, falta de supresión de sobretensión en las salidas con cargas inductivas o • fuente de alim. eléc. insuficiente
13–13
Manual de referencia del juego de instrucciones Preface
Código de error (hex)
Descripción
Causa probable
Acción recomendada
0020
Un bit de error menor se establece al final del escán. Refiérase a los bits de error menor S:5 (byte inferior solamente).
• Un overflow de instrucción matemática o FRD ha ocurrido, • un error de instrucción de registro de desplazamiento o secuenciador se detectó, • 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.
Corrija el problema de programación, vuelva a cargar el programa y entre en el modo de marcha. Vea también los bits de error menor S:5 en el apéndice B.
0021
Un fallo de alim. eléc. remota de un chasis de E/S de expansión ha ocurrido.
Procesadores compactos y FRN1 A 4 SLC 5/01: la alimentación eléctrica se interrumpió o la alimentación eléctrica se redujo momentáneamente bajo los valores especificados para un chasis de expansión.
Procesadores fijos y FRN 1 a 4 SLC 5/01: Desconecte y vuelva a conectar la alimentación eléctrica al chasis local.
Nota: Un sistema modular que encuentra una condición de sobretensión o sobreintensidad en cualquiera de sus fuentes de alim. eléc. puede provocar cualquiera de los códigos de error de E/S indicados en las páginas 13–18 a 13–21 (en vez de código 0021). La condición de sobretensión o sobreintensidad se indica por un LED de fuente de alim. eléc. apagado.
!
Procesadores fijos y FRN 1 a 4 SLC 5/01 – si el fallo de alim. eléc. remota ocurrió mientras que el procesador estaba en el modo de marcha REM, error 0021 causará que el bit de error mayor detenido (S:1/13) se ponga a cero durante el próximo encendido del chasis local. Procesador SLC 5/02 y procesadores FRN 5 SLC 5/01 – no es necesario desconectar y volver a conectar la alim. eléc. para reanudar el modo de marcha REM. Una vez que el chasis está reconectado a la alim. eléc., el CPU vuelve a iniciar el sistema.
13–14
Procesadores SLC 5/02 y procesadores FRN 5 SLC 5/01: Este código de error está presente solamente mientras la alimentación eléctrica no se aplica a un chasis de expansión. Este es el único código que se pone a cero automáticamente. El fallo se borrará cuando la alimentación eléctrica se vuelva a aplicar al chasis de expansión.
Procesadores SLC 5/02 y procesadores FRN 5 SLC 5/01: Vuelva a aplicar la alimentación eléctrica al chasis de expansión.
Cómo localizar y corregir fallos
Código de error (hex)
Descripción
Causa probable
Acción recomendada
0022
El tiempo de escán de control (watchdog) de usuario ha sido excedido.
• El tiempo de control (watchdog) se estableció demasiado bajo para el programa de usuario, o • el programa de usuario se atrapó en un lazo.
• Incremente el límite de tiempo sobrepasado del control (watchdog) en el archivo de estado (S:3H), o • corrija el problema del programa de usuario.
0023
Archivo de interrupción STI inválido o no existente.
• Un número de archivo de interrupción STI fue asignado en el archivo estado, pero el archivo de subrutina no fue creado, o • el número de archivo de interrupción STI asignado era 0, 1 ó 2.
• Inhabilite el punto de ajuste de interrupción STI (S:30) y el no. de archivo (S:31) en el archivo de estado, o • cree un archivo de subrutina de interrupción STI para el no. de archivo asignado en el archivo de estado (S:31). El no. de archivo no debe ser 0, 1 ó 2.
0024
Intervalo de interrupción STI inválido (mayor que 2550 ms o negativo)
El punto de ajuste STI se encuentra fuera de los límites (mayor que 2550 ms o negativo).
• Inhabilite el punto de ajuste de interrupción STI (S:30) y el no. 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 pila/llamadas JSR para la rutina STI.
Una instrucción JSR está llamando un número de archivo asignado a una rutina STI.
Corrija el programa de usuario para cumplir con los requisitos y restricciones para la instrucción JSR, y luego vuelva a cargar el programa y ejecute.
0026
Exceso de profundidad de pila/llamadas JSR para una rutina de interrupción de E/S
Una instrucción JSR está llamando un número de archivo asignado a una rutina de interrupción de E/S.
Corrija el programa de usuario para cumplir con los requisitos y restricciones para la instrucción JSR, y luego vuelva a cargar el programa y ejecute.
0027
Exceso de profundidad de pila/llamadas JSR para una rutina de fallo de usuario.
Una instrucción JSR está llamando un número de archivo asignado a una rutina de fallo de usuario.
Corrija el programa de usuario para cumplir con los requisitos y restricciones para la instrucción JSR, y luego vuelva a cargar el programa y ejecute.
0028
Valor de archivo de rutina de fallo de “protección de encendido” no válido o no existente.
• Un número de archivo de rutina de fallo se creó en el archivo de estado, pero el archivo de rutina de fallo no fue creado físicamente, o • el número de archivo creado era 0, 1 ó 2.
• Inhabilite el número de archivo de rutina de fallo (S:29) en el archivo de estado, o • cree una rutina de fallo para el número de archivo indicado en el archivo de estado (S:29). El no. de archivo no debe ser 0, 1 ó 2.
13–15
Manual de referencia del juego de instrucciones Preface
Código de error (hex) 0029
Descripción La referencia de la dirección indexada está fuera de todo el espacio de archivo de datos (rango de B3:0 al último archivo). El procesador SLC 5/02 ! usa un valor de índice de cero para la instrucción con fallo siguiente a la recuperación de error.
Causa probable
Acción recomendada
El programa está haciendo referencias a un elemento,a través del direccionamiento indexado, el cual se encuentra fuera de los límites permitidos. Los límites son de B3:0 al último elemento del último archivo de datos creado por el usuario.
Corrija y vuelva a cargar el programa de usuario. Este problema no puede ser corregido escribiendo a la palabra de registro de índice (S:24).
Corrija el programa de usuario, asigne más espacio de datos usando el mapa de memoria o vuelva a guardar el programa 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). Verifique el tipo de archivo o cree el número de archivo.
002A
La referencia de dirección indexada está fuera del archivo de datos indicado específico.
El programa está haciendo referencias a un elemento, a través del direccionamiento indexado, el cual se encuentra fuera del límite de archivo.
002B
Existe un número de archivo no válido para una dirección indirecta.
El número de archivo existe, pero no es el tipo de archivo correcto o el número de archivo no existe.
002C
El elemento de dirección indirecto indicado está fuera de los límites del archivo de datos.
El elemento indirectamente indicado no existe, pero el tipo de archivo es correcto y existe.
Cree el elemento indirectamente indicado.
002D
Existe un subelemento de dirección indirecto indicado no válido.
Se hace referencia a un subelemento incorrectamente o una referencia indirecta ha sido efectuada a un archivo M.
Corrija las referencias y reintente.
002E
Ranura de entrada DII no válida.
La ranura indicada está vacía o una tarjeta de E/S no discreta está presente.
Cambie la ranura de entrada a una tarjeta de E/S discreta.
002F
Archivo de interrupción DII no válido o no existente.
• Un número de archivo de interrupción DII fue asignado al archivo de estado, pero el archivo de subrutina no fue creado, o • el número de archivo de interrupción DII asignado era 0, 1 ó 2.
Inhabilite la función DII escribiendo un cero a esta ubicación, o cambie el valor a un archivo de escalera válido (3–255).
13–16
Cómo localizar y corregir fallos
Errores de instrucción de programa de usuario Código de error (hex)
Descripción
Causa probable
Acción recomendada
0030
Se intentó saltar un archivo de subrutina anidado en exceso. Este código también puede significar que un problema tiene posibles rutinas recursivas.
• Más que el máximo de 4 (8 si usa un procesador 5/02 ó 5/03) niveles de subrutinas anidadas es llamado en el programa de usuario, o • la(s) subrutina(s) llama(n) subrutina(s) de un nivel anterior.
Corrija el programa de usuario para cumplir con los requisitos y restricciones para la instrucción JSR y luego vuelva a cargar el programa y ejecute.
0031
Se detectó una referencia de instrucción no compatible.
El tipo o nivel de serie del procesador no tiene capacidad para un instrucción que reside en el programa de usuario, o usted ha programado una constante como el primer operando de una instrucción de comparación.
• Reemplace el procesador con uno que tenga capacidad para el programa de usuario, o • modifique el programa de usuario para que todas las instrucciones sean respaldadas por el procesador, y luego vuelva a programar y ejecute.
0032
Un parámetro de longitud/ posición de instrucción de secuenciador indica más allá del final de un archivo de datos.
El programa está haciendo referencia a un elemento fuera del límite de archivo establecido por la instrucción de secuenciador.
Corrija el programa de usuario o asigne más espacio de archivo de datos usando el mapa de memoria, y luego vuelva a cargar y ejecute.
0033
El parámetro de longitud de una instrucción LFU, LFL, FFU, FFL, BSL o BSR indica más allá del final de un archivo de datos.
El programa está haciendo referencia a un elemento fuera del límite de archivo establecido por la instrucción.
Corrija el programa de usuario o asigne más espacio de archivo de datos usando el mapa de memoria, y luego vuelva a cargar y ejecute.
0034
Un valor negativo para un acumulador de temporizador o valor preseleccionado fue detectado. Procesadores fijos con entrada de 24 VCC solamente: un HSC preseleccionado negativo o de cero se detectó en una instrucción HSC.
El valor acumulador o preseleccionado de un temporizador en el programa de usuario se detectó como negativo.
Si el programa de usuario transfiere valores a la palabra acumulada o preseleccionada de un temporizador, asegúrese que estos valores no puedan ser negativos. Corrija el programa de usuario, vuelva a cargar y ejecute.
0034
Un HSC preseleccionado negativo o de cero se detectó en una instrucción HSC.
El valor preseleccionado para la instrucción HSC está fuera del rango válido. El rango válido es 1–32767.
Si el programa de usuario transfiere valores a la palabra acumulada o preseleccionada de un temporizador, asegúrese que estos valores no puedan ser negativos. Corrija el programa de usuario, vuelva a cargar y ejecute.
La instrucción TND, SV o REF se llama dentro de una rutina de interrupción o fallo de usuario.
Una instrucción TND, SVC o REF se usa en una rutina de interrupción o fallo de usuario. Esto es ilegal.
Corrija el programa de usuario, vuelva a cargar y ejecute.
(relacionado con la instrucción fija 5/01 HSC)
0035
13–17
Manual de referencia del juego de instrucciones Preface
Código de error (hex)
Descripción
Causa probable
Acción recomendada
0036
Un valor no válido se usa para un parámetro de instrucción PID.
Un valor no válido se cargó en una instrucción PID por el programa de usuario o por el usuario vía la función de monitor de datos para esta instrucción.
El código 0036 se trata en el capítulo 9 de este manual.
0038
Una instrucción RET se detectó en un archivo que no es una subrutina.
Una instrucción RET reside en el programa principal.
Corrija el programa de usuario, vuelva a cargar y ejecute.
xx3A
Ocurrió un intento de escribir a un archivo de datos protegido.
Se intentó escribir a una dirección indirecta ubicada en un archivo que tiene protección de archivo de datos constante.
Elimine la protección y reintente la función.
1f39
Una longitud de cadena no válida se detectó en un archivo de cadena.
La primera palabra de los datos de cadena contiene un valor negativo, de cero o mayor que 82.
Verifique la primera palabra de los elementos de datos de cadena en busca de valor inválidos y corrija los datos de usuario.
13–18
Cómo localizar y corregir fallos
Errores de E/S
NUMEROS DE RANURA (xx) EN HEXADECIMAL
CODIGOS DE ERROR: Los caracteres xx en los códigos siguientes representan el número de ranura en 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.
Ran. 0 1 2 3 4 5 6 7
FALLOS DE E/S RECUPERABLES (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.
xx 00 01 02 03** 04 05 06 07
Ran.
xx
Ran.
xx
Ran.
xx
8 9 10 11 12 13 14 15
08 09 0A 0B 0C 0D 0E 0F
16 17 18 19 20 21 22 23
10 11 12 13 14 15 16 17
24 25 26 27 28 29 30
18 19 1A 1B 1C 1D 1E 1F*
Nota: 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.
Código de error (hex)
Descripción
Causa probable
Acción recomendada
xx50
Un error de datos de chasis se detecta.
• • • •
Ruido, relámpago, conexión incorrecta a tierra, falta de supresión de sobretensión en las salidas con cargas inductivas, o • fuente de alimentación eléctrica insuficiente.
Corrija el problema, borre el fallo y vuelva a entrar en el modo de marcha.
xx51
Un error de tiempo de ejecución “atascado” se detecta en un módulo de E/S.
Si éste es un módulo de E/S discretas, se trata de un problema de ruido. Si éste es un módulo de E/S especial, refiérase al manual de usuario correspondiente para obtener la causa probable.
Desconecte y vuelva a conectar la alimentación eléctrica el sistema. Si eso no corrige el problema, reemplace el módulo.
xx52
Un módulo requerido para el programa de usuario se detecta como faltante o quitado.
Un módulo de E/S configurado para una ranura determinada hace falta o ha sido eliminado.
• Inhabilite la ranura en el archivo de estado (S:11 y S:12), o • inserte el módulo requerido en la ranura.
13–19
Manual de referencia del juego de instrucciones Preface
Código de error (hex)
Descripción
Causa probable
Acción recomendada
Cuando está de ida a marcha, un programa declara una ranura como no usada y se detecta que dicha ranura tiene un módulo de E/S insertado. Este código también puede significar que un módulo de E/S se ha restablecido.
• La ranura de E/S no está configurada para un módulo, pero hay un módulo presente, o • el módulo de E/S se ha restablecido por sí mismo.
Específico para SLC 5/03 – Se intentó entrar en el modo de marcha o prueba con un chasis vacío.
Un chasis sin módulos de E/S.
xx54
Un módulo requerido para el programa de usuario se detecta que es del tipo incorrecto.
Un módulo de E/S en una ranura determinada es de tipo diferente que el configurado para dicha ranura por el usuario.
• Reemplace el módulo con el módulo correcto, borre el fallo y ejecute, o • cambie la configuración de E/S para la ranura, vuelva a cargar el programa y ejecute.
xx55
Un módulo de E/S discreto requerido para el programa de usuario se detecta que tiene un conteo incorrecto de E/S.
• Si éste es un módulo de E/S discreto, el conteo de E/S es diferente del conteo seleccionado en la configuración de E/S. • Si éste es un módulo de E/S especial, el controlador de tarjeta es incorrecto.
• Si éste es un módulo de E/S discreto, reemplácelo con un módulo con el conteo de E/S seleccionado. Luego, borre el fallo y ejecute, o • cambie la configuración de E/S para que corresponda al 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.
xx53
Este código también puede significar que un variador de tarjeta especial es incorrecto.
• Inhabilite la ranura en el archivo de estado (S:11 y S:12), borre el fallo y ejecute, • quite el módulo, borre el fallo y ejecute, o • modifique la configuración de E/S para que incluya el 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. Inhabilite todas las ranuras en el chasis vacío (vea S:11 y S:12).
xx56
La configuración de chasis especificada en el programa de usuario se detecta como incorrecta.
La configuración de chasis especificada por el usuario no corresponde al hardware.
Corrija la configuración de chasis, vuelva a cargar el programa y ejecute.
xx57
Un módulo de E/S especial no ha respondido a un comando de memoria de bloque compartido dentro del límite de tiempo requerido.
El módulo de E/S especial no responde al procesador dentro del tiempo permitido.
Desconecte y vuelva a conectar la alim. eléc. al chasis. Si esto no corrige el problema, refiérase al manual de usuario del módulo de E/S especial. Puede ser necesario reemplazar el módulo.
xx58
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.
Refiérase al manual de usuario del módulo de E/S especial.
Desconecte y vuelva a conectar la alim. eléc. al chasis. Si esto no corrige el problema, refiérase al manual de usuario del módulo de E/S especial. Puede ser necesario reemplazar el módulo.
13–20
Cómo localizar y corregir fallos
Código de error (hex)
Descripción
Causa probable
Acción recomendada
xx59
Un módulo de E/S especial no ha respondido a un comando como finalizado dentro del límite de tiempo requerido.
Un módulo de E/S especial no finalizó un comando desde el procesador dentro del tiempo permitido.
Refiérase al manual de usuario del módulo de E/S especial. Puede ser necesario reemplazar el módulo.
xx5A
Problema de interrupción de hardware.
Si éste es un módulo de E/S discreto, se trata de un problema de ruido. Si éste es un módulo de E/S especial, refiérase al manual de usuario del módulo.
Desconecte y vuelva a conectar la alim. eléc. al chasis. Verifique si hay un problema de ruido y asegúrese de usar las prácticas 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.
xx5B
Error de configuración de archivo G – el tamaño del archivo G de programa de usuario excede la capacidad del módulo.
El archivo G es incorrecto para el módulo en esta ranura.
Refiérase al manual de usuario del módulo de E/S especial. Vuelva a configurar el archivo G según lo instruido en el manual, y luego vuelva a cargar y ejecute.
xx5C
Error de configuración de archivo M0–M1 – el tamaño de archivo M0–M1 del programa de usuario excede la capacidad del módulo.
Los archivos M0–M1 son incorrectos para el módulo en esta ranura.
Refiérase al manual de usuario del módulo de E/S especial. Vuelva a configurar el archivo M0–M1 según lo instruido en el manual, luego vuelva a cargar y ejecute.
xx5D
El servicio de interrupción solicitado no es comptabile con el procesador.
El módulo especial de E/S ha solicitado servicio y el procesador no tiene capacidad para ello.
Refiérase al manual de usuario del módulo de E/S especial para determinar cuáles procesadores tienen capacidad para el uso del módulo. Cambie el procesador a uno que tenga capacidad para el módulo.
xx5E
Error de controlador (software) del procesador de E/S.
Software de controlador de E/S de procesador alterado.
Vuelva a cargar el programa usando software APS aprobado por RSI.
xx60 a xx6F
Identifica un error mayor recuperable específico para el módulo de E/S.
–
–
xx70 a xx7F
Identifica un error mayor no recuperable específico para el módulo de E/S.
–
–
xx90
Problema de interrupción en una ranura inhabilitada.
Un módulo especial de E/S solicitó servicio durante la inhabilitación de una ranura.
Refiérase al manual de usuario del módulo especial de E/S. Puede ser necesario reemplazar el módulo.
xx91
Una ranura inhabilitada ha fallado.
Un módulo especial de E/S en una ranura inhabilitada ha fallado.
Desconecte y vuelva a conectar la alim. eléc. al chasis. Si esto 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
Manual de referencia del juego de instrucciones Preface
Código de error (hex)
Descripción
Causa probable
Acción recomendada
xx92
Archivo de subrutina de interrupción (ISR) de módulo inválido o no existente.
La información del archivo de configuración de E/S / ISR para un módulo de E/S especial no es correcta.
Corrija la información de archivo de configuración de E/S / ISR para el módulo de E/S especial. 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 módulo de E/S sin capacidad.
El procesador no reconoce el código de error de un módulo de E/S especial.
Refiérase al manual de usuario del módulo de E/S especial.
xx94
Un módulo ha sido detectado como insertado con la alimentación eléctrica conectada en el modo de marcha o prueba. Esto también puede significar que un módulo de E/S se ha restablecido.
El módulo fue insertado en el chasis conectado a la alimentación eléctrica o el módulo se ha restablecido.
Nunca se debe insertar un módulo en un chasis conectado a la alimentación eléctrica. Si eso ocurre y el módulo no sale dañado, • quite el módulo, borre el fallo y 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 Preface
La tabla siguiente describe las posibles combinaciones LED que se muestran alternadamente cada vez qie los LED se iluminen parpadeando. Visualización de LED ILUMINADO FAULT, FORCE, DH485 ó DH+ FAULT, FORCE, RS232, DH485 ó DH+ FAULT, BATT FAULT, BATT, RS232 FAULT, BATT, DH485 ó DH+ FAULT, BATT, RS232, DH485 ó DH+ FAULT, BATT, FORCE FAULT, BATT, FORCE, RS232 FAULT, BATT, FORCE, DH485 ó DH+
13–24
Descripción Existe un error de hardware fatal. Existe un límite de tiempo sobrepasado de control (watchdog) de hardware. Existe un error NVRAM. El contenido del módulo de memoria del sistema de operación está alterado. El sistema de operación descargable no es compatible con el hardware. Se intentó descargar el sistema de operación en la memoria de escritura protegida. Fallo de Flash EEPROM. Fallo durante la transmisión del sistema de operación descargable. El sistema de operación está ausente o ha sido alterado.
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 Preface
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: Palabra
A–2
Función
Página
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
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. Dirección
Bit
Clasificación
S:0
Indicadores aritméticos y de estado de escán
S:0/0
Acarreo
Estado
S:0/1
Overflow
Estado
Descripción Los indicadores aritméticos son evaluados por el controlador después de la ejecución de determinadas instrucciones matemáticas y de 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. 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. 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 Preface
Dirección
Clasificación
S:0/2
Cero
Estado
S:0/3
Signo
Estado
S:0/4 a S:0/7 S:0/8
Reservado
S:0/9 a S:0/15 S:1/0 a S:1/4
Reservado
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. 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.
Este bit debe ser establecido por el usuario cuando se escribe a salidas no usadas. Si las salidas restablecidas y no usadas se activan, el controlador estará con fallo (41H).
Estado/control del modo de controlador
Estado
Forzados habilitados Forzados instalados
Estado
Los bits 0–4 funcionan así: 0 0000 = (0) Descarga remota en progreso 0 0001 = (1) Modo de programa remoto 0 0011 = (3) Pausa de suspen. (operación sido detenida por la ejec. de 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 Este bit es establecido por el controlador (1) para indicar que los forzados siempre son habilitados. Este bit es establecido por el controlador para indicar que los forzados han sido establecidos por el usuario.
S:1/7
Comms activos
Estado
S:1/8
Anulación de fallo al encendido
Configuración estática
S:1/6
Configuración de E/S de extensión
Descripción
Configuración estática
S:1/5
A–4
Bit
Estado
Este bit es establecido por el controlador 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. Una vez establecido, este bit causa que el controlador 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 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.
Archivo de estado del controlador MicroLogix 1000
Dirección S:1/9
S:1/10 a S:1/11 S:1/12
Bit Fallo de protección de encendido
Clasificación Configuración estática
Descripción Cuando este bit se establece y la alimentación eléctrica se desconecta y se vuelve a conectar 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.
Reservado Marcha permanente
Configuración estática
Una vez establecido, este bit causa que el 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 Preface
Dirección S:1/13
Bit Error mayor detenido
Clasificación Configuración dinámica
Descripción Este bit es establecido por el controlador 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. Nota: Una vez que existe un estado de fallo mayor, usted debe corregir la condición que causó el fallo y también debe poner a cero este bit a fin de que el controlador acepte un intento de cambio de modo (en marcha REM o prueba REM). Además ponga a cero S:6 para evitar tener un codigo de error sin condición de fallo. Nota: No vuelva a usar códigos de error que sean definidos más adelante en este apéndice como códigos de error específicos para la aplicación. En cambio, cree sus propios códigos únicos. Esto evita que usted confunda los errores de aplicación con los errores de sistema. Recomendamos usar los códigos de error FFOO a FFOF para indicador los errores mayores específicos para la aplicación.
A–6
Archivo de estado del controlador MicroLogix 1000
Dirección S:1/14
Bit Bloqueo OEM
Clasificación Configuración estática
S:1/15
Primer paso
Estado
S:2/0
STI pendiente
Estado
S:2/1
STI habilitado
Estado y configuración estática
S:2/2
Ejecución de STI
Estado
S:2/3 a S:2/13
Descripción Con este bit usted puede controlar el acceso a 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). 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. 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. Este bit puede ser establecido o restablecido usando la instrucción STS, STE o STD. Si es 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. Una vez establecido, este bit indica que el 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.
Reservado
A–7
Manual de referencia del juego de instrucciones Preface
Dirección S:2/14
Bit Selección de overflow matemático
Clasificación Configuración dinámica
Descripción Establezca este bit cuando vaya a usar las instrucciones de adición y 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 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
A–8
Reservado
Archivo de estado del controlador MicroLogix 1000
Dirección S:3L
Bit Tiempo de escán actual
Clasificación Estado
Descripción El valor de este byte le informa cuánto tiempo transcurre durante un ciclo de programa. Un ciclo de programa incluye:
• • • •
S:3H
Tiempo de escán de control (watchdog)
Configuración dinámica
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. Este valor de byte contiene el número de tics de 10 ms que se permite ocurrir durante un ciclo de programa. El valor predeterminado es 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 Preface
Dirección S:4
Bit Base de tiempo
Clasificación Estado
Descripción Todos los 16 bits de esta palabra son 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. Nota de aplicación: 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 160 ms
ciclo de S:4/3 en 160 ms
S:5
A–10
Bits de error menor
S:4 ] [ 3
O:1 ( ) 0
S:4/3 y la salida O:1/0 alternan cada 80 ms. O:1/0 debe ser evaluado por lo menos una vez cada 79.999 ms.
Los bits de esta palabra son establecidos por 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.
Archivo de estado del controlador MicroLogix 1000
Dirección S:5/0
Bit Interrupción por overflow
Clasificación Configuración dinámica
S:5/1 S:5/2
Reservado Error de registro de control
Configuración dinámica
S:5/3
Error mayor detectado durante la ejecución de la rutina de fallo de usuario
S:5/4 a S:5/7 S:5/8
Cuando este bit es establecido por el controlador, 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. Las instrucciones LFU, LFL, FFU, FFL, BSL, BSR, SQO, SQC y SQL pueden generar este 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. Una vez establecido, este 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.
Reservado Datos retentivos perdidos
S:5/9
Reservado
S:5/10
STI perdido
S:5/11 a S:5/12 S:5/13
Configuración dinámica
Descripción
Estado
Este bit es establecido cuando los datos retentivos se pierden. Este bit permanece 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.
Estado
Este bit es establecido cuando el temporizador STI caduca mientras que la rutina STI se esté ejecutando o sea inhabilitada y el bit pendiente (S:2/0) ya es establecido.
Estado
Este bit es establecido cuando la selección de filtro de entrada en el controlador se hace compatible con el hardware.
Reservado Selec. de filtro de entrada modificada
A–11
Manual de referencia del juego de instrucciones Preface
Dirección S:5/14 a S:5/15 S:6
Bit
Clasificación
Descripción
Reservado Código de error mayor
Estado
El controlador introduce un código 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. Nota de aplicación: 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:
• • •
A–12
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.
Archivo de estado del controlador MicroLogix 1000
Clasificación de fallo Usuario Dirección
Código de error (hex)
Errores de encendido
No usuario
S:6
0001
El programa predeterminado se cargó.
X
0002
Un restablecimiento inesperado ocurrió.
X
0003
La memoria EEPROM está alterada.
X
0008
Un error fatal interno de software ocurrió.
X
0009
Un error fatal interno de hardware ocurrió.
X
No recuperable
Recuperable
Clasificación de fallo Usuario Dirección
Código de error (hex)
S:6
0005
Los datos retentivos se pierden.
0010
El programa de descarga no es un programa de controlador.
0016
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 verificar en busca de una condición de pérdida de datos retentivos si la rutina de fallo de usuario se ejecutó con la protección de encendido.
Errores de ida a marcha À (GTR)
No usuario
No recuperable
Recuperable X
X
X
À 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 Preface
Clasificación de error Usuario
A–14
Dirección
Código de error (hex)
S:6
0004
Un error de integridad de memoria de tiempo de ejecución ocurrió.
0020
Un error menor al final del escán. Refiérase a S:5.
0022
El temporizador de control (watchdog) caducó. Refiérase a S:3H.
X
0024
Punto de ajuste de interrupción STI no válido. Refiérase a S:30.
X
0025
Hay un exceso de JSR en la subrutina STI (archivo 5).
X
0027
Hay un exceso de JSR en la subrutina de fallo (archivo 3).
X
002A
La dirección indexada es demasiado grande para el archivo.
X
002B
Hay un exceso de JSR en la subrutina del contador de alta velocidad (archivo 4).
X
0030
El anidamiento de subrutina excede un límite de 8 (archivo 2).
X
0031
Una instrucción sin capacidad se detectó.
0032
Una instrucción SQO/SCQ cruzó los límites de archivo de datos.
X
0033
La instrucción LFU, LFL, FFU, FFL, BSL o BSE cruzó los límites de archivo de datos.
X
0034
Un valor negativo para un acumulador de temporizador o valor preseleccionado se detectó.
X
0035
Una instrucción ilegal (TND) ocurrió en el archivo de interrupción.
0037
Valores preseleccionados inválidos se cargaron en el contador de alta velocidad.
0038
Una instrucción RET se detectó en el archivo de programa 2.
Errores de marcha
No usuario
No recuperable
Recuperable
X X
X
X
X
X
Archivo de estado del controlador MicroLogix 1000
Clasificación de fallo Usuario Dirección
Código de error (hex)
Errores de marcha
0040
Una escritura de verificación de salida ocurrió.
X
0041
Bit(s) de salida adicional(es) se activaron.
X
No usuario
No recuperable
Recuperable
Clasificación de fallo Usuario Dirección
Código de error (hex)
Errores de descarga
No usuario
S:6
0018
El programa de usuario no es compatible con el sistema de operación.
X
No recuperable
Recuperable
A–15
Manual de referencia del juego de instrucciones Preface
Dirección S:7
Bit Código de suspensión
S:8 a S:12 S:13 a S:14
Reservado Registro matemático
Clasificación Estado
Estado
Descripción Cuando un valor distino de cero aparece en S:7, 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. Use este registro doble para producir operaciones 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.
A–16
S:15L
Reservado
S:15H
Velocidad en baudios
Estado
Indica la vel. en baudios actual del controlador: • 300 • 600 • 1200 • 2400 • 9600 (predeterminado) • 19200
Archivo de estado del controlador MicroLogix 1000
Dirección
Bit
S:16 a S:21 S:22
Reservado Tiempo de escán observado máximo
Clasificación Configuración dinámica
Descripción Esta palabra indica el intervalo observado máximo entre los ciclos de programa consecutivos. 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 S:24
S:25 to S:29 S:30
Reservado Registro de índice
Estado
Esta palabra indinca el offset de elemento usado 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.
Configuración dinámica
Usted introduce la base de tiempo que se va a 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.
Reservado Punto de ajuste 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 Preface
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 Preface
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
Función (se aplica a todos los procesadores) Indicadores aritméticos
S:1
Estado/control del modo de procesador
B-8
Palabra
B–2
Página B-6
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
Archivo de estado SLC
Palabra S:16, S:17 S:18, S:19 S:20, S:21
Función (se aplica a los procesadores SLC 5/02, SLC 5/03 y SLC 504) Prueba de un paso – Inicio del paso en – Renglón/archivo Prueba de un paso – Punto de interrupción – Renglón/archivo Prueba – Fallo/parada – Renglón/archivo
Página B B-51 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
No. de archivo de rutina de fallo de usuario
B-56
S:29 S:30 S:31 S:32
Palabra S:33
Punto de ajuste de interrupción temporizada seleccionable No. de archivo de interrupción temporizada seleccionable Ejecución de interrupción E/O
Función (se aplica a los procesadores SLC 5/03 y SLC 5/04) Estado de proc.extendido y palabra de control
B-57 B-57 B-58
Página B-58
S:35
Transferencia inhabilitada (SLC 5/04 solamente) Tiempo del último escán de 1 ms
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
S:34
B–65 B-66
S:45
Tiempo de interrupción STI (SLC 5/03 y SLC 5/04) Tiempo de interrupción de evento (SLC 5/03 y SLC 5/04) Tiempo de interr. DII (SLC 5/03 y SLC 5/04)
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
S:43 S:44
B–69 B–69 B–69
B–3
Manual de referencia del juego de instrucciones Preface
Palabra S:49 S:50 S:51 S:52 S:53 y S:54
Página B-71 B-71 B-72 B-72
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
S:65
Indice de funcionabilidad del programa de usuario Tamaño de RAM de usuario
S:66
Tamaño de EEPROM rápido
B-73
Nodos activos de canal 0
B–74
S:64
S:67 y S:68
Palabra S:69 a S:82 S:83 a S:86 S:87 a S:98
B–4
Función (se aplica a los procesadores SLC 5/03 y SLC 5/04) Interr. de entrada discreta – Valor de comparación Interr. de entrada discreta – Valor preseleccionado Interr. de entrada discreta – Máscara de retorno Interr. de entrada discreta – Acumulador
Función (se aplica a los procesadores SLC 5/04) Reservado Nodos activos DH+ (procesador SLC 5/04 de canal 1 solamente) Reservado
B-73 B-73
Página B–74 B–74 B–74
S:99
Palabra de estado global
B-74
S:100 a S:163
Archivo de estado global
B-74
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 Preface
Dirección
Clasificación
S:0
S:0/0
Estado
Comp., 5/01
5/02
5/03
5/04
Indicadores aritméticos 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.
•
•
•
•
Bit de acarreo 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.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Descripción
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. S:0/1
Estado
Bit de overflow 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
Dirección
Clasificación
Descripción
S:0/2
Estado
Bit de cero Este bit es establecido por el procesador cuando el resultado de una instrucción matemática, lógica o de transferencia es cero. De lo contrario, el bit permanece puesto a cero.
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Cuando una rutina STI, ranura de E/S o fallo interrumpe la ejecución normal del programa, el valor original de S:0/2 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/2 se restaura cuando la ejecución se reanuda. S:0/3
Estado
Bit de signo Este bit es establecido por el procesador cuando el resultado de una instrucción matemática, lógica o de transferencia es negativo. De lo contrario, el bit permanece puesto a cero.
•
Cuando una rutina STI, ranura de E/S o fallo interrumpe la ejecución normal del programa, el valor original de S:0/3 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/3 se restaura cuando la ejecución se reanuda. S:0/4 a S:0/15
NA
Reservado
•
•
B–7
Manual de referencia del juego de instrucciones Preface
Dirección
Clasificación
S:1/0 a S:1/4
Estado
Descripción Modo/estado/control de procesador Los bits 0–4 funcionan así: 0 0000 = (0)
Descarga remota en progreso
0 0001 = (1)
Modo de programa remoto (el modo de fallo existe cuando el bit S:1/13 se establece con el modo 0 0001)
0 0011 = (3)
Modo de fallo de pausa de suspensión (la operación ha sido detenida por la ejecución de una instrucción SUS) existe cuando el bit S:1/13 se establece con el modo 0 0011
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
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
•
0 1001 = (9)
Un solo paso de prueba remota (paso hasta) Nota: Todos los modos en los procesadores compactos, SLC 5/01 y SLC 5/02 se consideran como remotos porque no tienen un interruptor de llave. 1 0000 = (16) Descarga en progreso (interruptor de llave=PROGrama) 1 0001 = (17) Modo de PROGrama – el modo de fallo existe cuando el bit S:1/13 se establece con el modo 1 0001 1 1011 = (27) Pausa de suspensión – el modo de fallo existe cuando el bit S:1/13 se establece con el modo 1 1011 (interruptor de llave=MARCHA) 1 1110 = (30) MARCHA – el modo de fallo existe cuando el bit S:1/13 se establece con el modo 1 1110 (interruptor de llave=MARCHA) Todos los otros valores para los bits 0–4 están reservados.
B–8
Archivo de estado SLC
Fijo, 5/01
5/02
5/03
5/04
Bit de forzados habilitados 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.
•
•
•
•
Estado
Bit de forzados instalados 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.
•
•
•
•
S:1/7
Estado
Bit de comunicación activa (canal 1) 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 reconocido en una red de paso de testigo DH-485.
•
•
•
•
S:1/8
Configuración dinámica
Bit de anulación de fallo al encendido 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 procesador 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.
•
•
•
•
S:1/9
Configuración dinámica
Bit de fallo de protección de encendido 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.
•
•
•
Dirección
Clasificación
Descripción
S:1/5
Estado
S:1/6
B–9
Manual de referencia del juego de instrucciones Preface
Dirección
Clasificación
Descripción
S:1/10
Configuración estática
Bit de carga de módulo de memoria al momento de ocurrir un error de memoria 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 debe 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 debe 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
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
Archivo de estado SLC
Dirección
Clasificación
S:1/11
Configuración estática
Descripción Bit de siempre cargar módulo de memoria 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 antes de la parada Marcha Programa Pausa Fallo después de marcha Fallo después de fallo
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
Modo después del encendido (misma posición de interruptor de llave MARCHA PROGrama MARCHA MARCHA PROGrama
B–11
Manual de referencia del juego de instrucciones Preface
Dirección continuación de S:1/11
Clasificación
Descripción Nota: Todos los modos en los procesadores compactos, SLC 5/01 y SLC 5/02 se consideran como remotos porque no tienen un interruptor de llave. El módulo de memoria que usted instala en el procesador debe tener el bit de archivo de estado S:1/11 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 ni contraseña ni contraseña maestra. Cuando S:1/11 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.
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
•
El proceso de sobrescritura, incluyendo las tablas de datos, se repite cada vez que usted desconecta y vuelve a conectar la alimentación eléctrica. 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.
!
Usted puede elegir no sobrescribir los archivos de datos por archivo.
B–12
Archivo de estado SLC
Dirección
Clasificación
S:1/12
Configuración estática
Descripción Bit de carga de módulo de memoria y marcha Con este bit, usted puede sobrescribir un programa de procesador con un programa de módulo de memoria desconectando y volviendo a conectar 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, independientemente 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 antes de la parada Marcha Pausa Programa/descarga Fallo después de marcha Fallo después de programa
Modo después del encendido (misma posición de interr. de llave MARCHA Marcha PROGrama MARCHA
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
PROGrama
B–13
Manual de referencia del juego de instrucciones Preface
Dirección continuación de S:1/12
Clasificación
Descripción Nota: Todos los modos en los procesadores fijos, SLC 5/01 y SLC 5/02 se consideran como remotos porque no tienen un interruptor de llave. 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. Ejemplo de aplicación: 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.
!
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
•
Si usted deja el módulo de memoria instalado, el proceso de sobrescritura, incluyendo las tablas de datos, se repite cada vez que desconecta y vuelve a conectar la alimentación eléctrica. El modo se cambia a marcha REM durante cada desconexión y reconexión de la alimentación eléctrica.
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
Dirección
Clasificación
Descripción
S:1/13
Configuración dinámica
Bit de error mayor detenido Este bit es 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
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
•
•
•
•
•
• 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. Nota: Una vez que existe un estado de fallo mayor, usted debe corregir la condición que causa el fallo y también debe poner a cero este bit para que el procesador acepte un intento de cambio de modo (a programa REM, marcha REM o prueba REM). Además, ponga a cero S:6 para evitar tener un código de error sin condición de fallo. Nota: No vuelva a usar los códigos de error definidos en la lista de códigos de error SLC en el capítulo 16 como códigos de error específicos para la aplicación. En cambio, cree sus propios códigos únicos. Esto evita que usted confunda los errores de aplicación con errores de sistema. Recomendamos el uso de los códigos de error FFOO a FFOF para indicar los errores mayores específicos para la aplicación.
•
B–15
Manual de referencia del juego de instrucciones Preface
Dirección
Clasificación
continuación de S:1/13
S:1/14
B–16
Descripción
Fijo, 5/01
5/02
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. Si usted pone a cero este bit con el ! interruptor de llave en MARCHA, el procesador entra inmediatamente en el modo de MARCHA. Puede borrar los fallos S:1/13 y S:6 desconectando y volviendo a conectar el interruptor de llave PROGrama y luego a MARCHA. Estado
Bit de acceso negado (bloqueo OEM) 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 independientemente de esta selección. Esta función no afecta un dispositivo como DTAM.
•
•
5/03
5/04
•
•
•
•
Archivo de estado SLC
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
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.
•
•
•
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.
•
•
•
•
•
Dirección
Clasificación
Descripción
S:1/15
Estado
Bit de primer paso Use este bit para inicializar su 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.
S:2/0
Estado
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 Preface
Dirección
Clasificación
Descripción
S:2/1
Configuración estática
Bit de STI (interrupción temporizada seleccionable) habilitada 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 (S:31) y el punto de ajuste STI (S:30) son distintos de cero. Si está puesto a cero, cuando ocurre una interrupción, la subrutina STI no se ejecuta y el bit de STI pendiente se establece. El temporizador STI continúa funcionando cuando está inhabilitado. La instrucción STD pone a cero este bit.
Configuración dinámica
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
Use la función del monitor de datos para establecer 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.
S:2/2
Estdo
Bit de ejecución STI (interrupción temporizada seleccionable) Cuando es establecido, este bit indica que el temporizador ha sobrepasado el límite de tiempo y que la subrutina STI se está ejecutando actualmente. Este bit se pone a cero cuando se termina la rutina STI, encendido o a la entrada en el modo de marcha REM. Ejemplo de ejecución: Usted puede examinar este bit en su rutina de fallo para determinar si su STI se estaba ejecutando cuando ocurrió el fallo.
•
•
•
S:2/3
Configuración estática
Bit de límite de archivo de dirección. de índice Cuando está puesto a cero, el registro de índice puede indexar solamente dentro del mismo archivo de datos de la dirección de base especificada. 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
Dirección
Clasificación
Descripción
S:2/4
Configuración estática
Bit de guardado con prueba de un solo paso habilitado Cuando se borra, la función de modo de una prueba de un solo paso no está disponible. El borrado también indica que los registros de depuración S:16 a 2:21 no funcionan. Cuando se establece, el programa puede funcionar en el modo de prueba de un solo paso. Vea las descripciones de S:16 a S:21. Cuando es establecido, su programa requiere 0.375 palabras de instrucción (3 bytes) por renglón de memoria adicional. Este bit se selecciona al guardar el programar.
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
Nota: Este bit no se aplica a los procesadores SLC 5/03 y SLC 5/04 ya que su funcionabilidad siempre está disponible y no requiere selección de tiempo de compilación especial. S:2/5
Estado
Bit de comando entrante pendiente (canal 1) 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 todo momento. Este bit se pone a cero cuando el procesador le da servicio a la petición (o comando). Use este bit como condición de una instrucción SVC para mejorar la capacidad de comunicacion del procesador.
•
•
•
S:2/6
Estado
Bit de respuesta de mensaje pendiente (canal 1) Este bit se establece cuando otro nodo en la red ha proporcionado la información que usted solicitó 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–19
Manual de referencia del juego de instrucciones Preface
Dirección
Clasificación
Descripción
S:2/7
Status
S:2/8
S:2/9
B–20
Fijo, 5/01
5/02
5/03
5/04
Bit de comando de mensaje de salida pendiente (canal 1) Este bit se establece cuando hay uno o más mensajes habilitados y de espera en el programa, pero no se transmite un mensaje. 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 otros mensajes de espera. Permanece puesto a cero si no hay más mensajes de espera. Use este bit como condición de una instrucción SVC para mejorar la comunicación del procesador.
•
•
•
Configuración dinámica
Modo de direccionamiento CIF (archivo de interface común) Se aplica a los procesadores SLC 5/02, SLC 5/03 y SLC 5/04. Este bit controla el modo usado por los procesadores SLC 5/02, SLC 5/03 y SLC 5/04 para direccionar elementos en el archivo CIF (archivo de datos 9) cuando se procesa una petición de comunicación. Modo de dirección de palabra – vigente cuando el bit se pone a cero (0): Este es el modo predeterminado compatible con otros dispositivos SLC 500 en la red DH-485. Modo de dirección de byte – vigente cuando el bit se establece (1): Este modo se usa cuando los procesadores SLC 5/02, SLC 5/03 y SLC 5/04 reciben un mensaje desde un dispositivo en la red, posiblemente por un puente o gate- way. Este establecimiento es compatible con la comunicación de interprocesador PLC de Allen-Bradley.
•
•
•
Configuración estática
Comparación de programa de módulo de memoria Cuando este bit es establecido dentro de un programa válido contenido en un módulo de memoria, no se permite la modificación de los archivos de programa de usuario NVRAM. Esto incluye los comandos de edición en línea, descarga de programa y borrado de memoria. Use esta característica para evitar que un dispositivo de programación modifique el programa NVRAM desde el programa contenido en el módulo de memoria. Si un módulo de memoria se instala con este bit establecido y un programa de usuario NVRAM diferente es contenido en NVRAM, el procesador no entra en el modo de marcha. Usted debe transferir el programa de módulo de memoria a NVRAM para entrar en el modo de marcha.
•
•
Archivo de estado SLC
Dirección
Clasificación
Descripción
S:2/10
Configuración estática
S:2/11
Fijo, 5/01
5/02
5/03
5/04
Bit de selección de resolución STI (1 ms ó 10 ms) Este bit está puesto a cero predeterminadamente. Cuando está puesto a cero, este bit usa una base de tiempo de 10 ms para el valor del punto de ajuste STI (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.
•
•
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 dinámica
Bit de interrupción de entrada discreta 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 Preface
Dirección
Clasificación
Descripción
S:2/14
Configuración dinámica
Bit de selección de overflow matemático Se aplica a los procesadores SLC 502, SLC 5/03 y 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
Fijo, 5/01
5/02
5/03
5/04
•
•
•
Archivo de estado SLC
Dirección
Clasificación
Descripción
S:2/15
Configuración dinámica
Bit de selección de servicio de comunicaciones (canal 1 de DH+ para SLC 5/04) (canal 1 DH485 para SLC 5/03)
Fijo, 5/01
5/02
5/03
5/04
•
•
•
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 Preface
Dirección
Clasificación
Descripción
S:3L
Estado
Tiempo de escán de 10 ms actual/último El valor de este 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).
Fijo, 5/01
5/02
•
•
5/03
5/04
•
•
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
Dirección continuación de S:3L
Clasificación
Fijo, 5/01
Descripción
5/02
5/03
5/04
Ejemplo de aplicación: Su aplicación 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 ]LBL[
MOV MOVE Source Dest
S:3 N7:0
AND BITWISE AND Source A 255 Source B N7:0 Dest
LES LESS THAN Source A N7:0 Source B
N7:0
1 (JMP)
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 Preface
Fijo, 5/01
5/02
5/03
5/04
Byte de tiempo de escán de control (watchdog) Este valor de byte contiene el número de tics de 10 ms que se permite que ocurran durante un ciclo de programa. El valor predeterminado es 10 (100 ms), pero usted puede incrementarlo 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.
•
•
•
•
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.
•
Dirección
Clasificación
Descripción
S:3H
Configuración dinámica
S:4
Estado
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
Continuación
Clasificación
continuación de S:4
Configuración dinámica
Descripción
Fijo, 5/01
Todos los 16 bits de esta palabra son evaluados por el procesador. 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.
5/02
5/03
5/04
•
•
•
•
•
•
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 ] [ ( ) 0 3 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. 160 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 Preface
Dirección
Clasificación
S:5/0
Configuración dinámica
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
Reservado
•
•
•
•
Bit de error de registro de control 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.
•
•
•
•
Descripción Bit de interrupción por overflow 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.
S:5/1
NA
S:5/2
Configuración dinámica
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
Dirección
Clasificación
Descripción
S:5/3
Configuración dinámica
S:5/4
Configuración dinámica
Fijo, 5/01
5/02
5/03
5/04
Bit de error mayor detectado durante la 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.
•
•
•
Bit de M0–M1 indicados en ranura 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 Preface
Fijo, 5/01
5/02
5/03
5/04
Reservado Reservado para los errores menores que vuelven a ser errores mayores al final del escán.
•
•
•
•
Estado
Bit de arranque del módulo de memoria 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.
•
•
•
•
S:5/9
Estado
Bit de correspondencia incorrecta de contraseñas de módulo de memoria 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.
•
•
•
•
S:5/10
Estado
Bit de overflow STI (interr. temporizada seleccionable) Este bit es establecido cuando el temporizador STI caduca durante la ejecución o inhabilit. de la rutina STI y el bit pendiente ya es establecido.
•
•
•
S:5/11
Estado
Bit de batería baja 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.
•
•
•
Dirección
Clasificación
S:5/5 a S:5/7
NA
S:5/8
B–30
Descripción
Archivo de estado SLC
Dirección
Clasificación
S:5/12
Estado
S:5/13
Configuración dinámica
Descripción
Fijo, 5/01
5/02
5/03
5/04
Bit de overflow de interrupción de entrada discreta 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.
•
•
Se intentó carga sin éxito del sistema de operación 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 Preface
Dirección
Clasificación
Descripción
S:5/14
Estado
Módem de canal 0 perdido Este bit indica el estado del módem conectado al canal 0 (puerto en serie RS232). El estado de este bit es determinado por:
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
• 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.) S:5/15
Estado
Manejo de la cadena ASCII 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
Dirección
Clasificación
Descripción
S:6
Estado
Código de fallo de error mayor 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.
Fijo 5/01
5/02
5/03
5/04
•
•
•
•
•
•
•
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, el equivalente decimal de 0016H, como fuente B. EQU EQUAL Source A S:6 Source B
22
B–33
Manual de referencia del juego de instrucciones Preface
Dirección continuación de S:6
Clasificación
Descripción
5/02
5/03
5/04
•
•
•
•
Ejemplo de aplicación: Usted puede 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. Al usuario del procesador SLC 5/02: 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 atribuible al usuario La rutina de fallo no se ejecuta.
Fallo de Fallo de usuario usuario no recuuperable recuperable La rutina de La rutina de fallo se ejecuta durante fallo puede borrar el 1 paso. (Usted fallo puede iniciar una instrucción MSG a poniendo a cero el bit otro nodo para S:1/13. identificar la 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
Fijo, 5/01
Archivo de estado SLC
Clasificación de fallo
Procesador
Usuario Dirección
Código de error (hex)
S:6
0001
Error NVRAM.
Fijo 5/01
5/02
5/03
5/04
X
•
•
•
•
0002
Límite de tiempo sobrepasado de control (watchdog) de hardware inesperado
X
•
•
•
•
0003
Error de memoria del módulo de memoria: Este error también puede ocurrir cuando se entra en el modo de marcha REM.
X
•
•
•
0005
Reservado
X
•
•
0006
Reservado
X
•
•
0007
Fallo durante la transferencia de módulo de memoria.
X
•
•
0008
Error de software interno.
X
•
•
0009
Error de hardware interno.
X
•
•
Errores de encendido
No usuario
No recuperable
Recuperable
B–35
Manual de referencia del juego de instrucciones Preface
Clasificación de fallo
Procesador
Usuario Dirección
Código de error (hex)
Errores de ida a marcha
No usuario
S:6
0010
El procesador no cumple con el nivel de revisión requerido.
0011
B–36
No recuperable
Fijo 5/01
5/02
5/03
5/04
X
•
•
•
•
El archivo de programa ejecutable no. 2 está austente.
X
•
•
•
•
0012
El programa de escalera tiene un error de memoria.
X
•
•
•
•
0013
• El módulo de memoria requerido está ausente, o • S:1/10 ó S:1/11 no es establecido como lo requiere el programa.
•
•
•
•
0014
Error de archivo interno.
X
•
•
•
•
0015
Error de archivo de configuración.
X
•
•
•
•
0016
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.
•
•
•
0017
Desigualdad del programa de usuario de módulo de memoria/NVRAM
•
•
0018
Programa de usuario no compatible –Desigualdad de tipo de sistema operativo. Este error también puede ocurrir durante el encendido.
•
•
0019
Se detectó etiqueta faltante o duplicada.
•
•
001F
Un problema de integridad de programa durante una sesión de edición en línea.
X
•
•
0004
Error de memoria ocurrió en el modo de marcha.
X
•
•
•
0020
Un bit de error menor se establece al final del escán. Refiérase a los bits S:5 de error menor.
•
•
•
Recup.
X
X
X
X
X
X
•
Archivo de estado SLC
Clasificación de fallo
Procesador
Usuario Dirección
Código de error (hex)
S:6
0021
Errores de tiempo de ejecución
No usuario
Fallo de alim. eléc. remota de un chasis de expansión de E/S ocurrió. Nota: Un sistema modular que encuentra una condición de sobretensión o sobrecorriente en las fuentes de alim. eléc. pueden producir cualquiera de los códigos de error de E/S listados en las páginas B–42 y B–43 (en vez de código 0021). La condición de sobretensión o sobrecorriente se indica por el LED de fuente de alim. eléc. apagado. Procesadores com! pactos y SLC 5/01 FRN 1 a 4 – si el fallo de alim. eléc. remota ocurrió mientras que el procesador estuviera en el modo de marcha REM, el error 0021 causará que el bit de error mayor detenido (S:1/13) se ponga a cero durante el próximo encendido del chasis local. Procesadores SLC 5/02 y SLC 5/01 FRN 5 – No es necesario desconectar y volver a conectar la alim. eléc. al chasis local para reanudar el modo de marcha REM. Una vez que el chasis remoto se reactiva, la CPU vuelve a iniciar el sistema.
X
No recuperable
0022
El tiempo de escán de control (watchdog) de usuario ha sido sobrepasado.
X
0023
Archivo de interrupción STI inválida o no existente.
X
Recup.
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
•
•
•
•
•
•
B–37
Manual de referencia del juego de instrucciones Preface
Clasificación de fallo
Procesador
Usuario Dirección
Código de error (hex)
Errores de tiempo de ejecución
S:6
0024
Intervalo de interrupción STI no válido (mayor que 2550 ms o negativo).
0025
No usuario
No recuperable
5/03
5/04
X
•
•
•
Exceso de profundidad de pila/llamadas JSR para la rutina STI.
X
•
•
•
0026
Exceso de profundidad de pila/llamadas JSR para la rutina de interrupción de E/S.
X
•
•
•
0027
Exceso de profundidad de pila/llamadas JSR para la rutina de fallo de usuario.
X
•
•
•
0028
Valor de archivo de rutina de fallo de “protección de encendido” inválido o no existente.
•
•
•
•
•
•
•
•
•
X
Referencia de dirección indexada fuera de todo el espacio de archivo de datos (límite de B3:0 al último archivo).
!
B–38
Fijo, 5/01
5/02
0029
El procesador SLC 5/02 usa un valor de índice de cero para la instrucción con fallo después de la recuperación de error.
002A
La referencia de dirección indexada se encuentra fuera de los límites del archivo de datos referenciado específico.
002B
El número de archivo existe, pero no es el tipo de archivo correcto o el número de archivo no existe.
Recup.
X
•
X
•
X
X
Archivo de estado SLC
Clasificación de fallo
Procesador
Usuario Dirección
S:6
Código de error (hex)
Errores de tiempo de ejecución
002C
El elemento con referencia indirecta no existe, pero el tipo de archivo es correcto y existe. Por ejemplo T4:[N7:0] N7:0=10, pero T4 solamente va hasta T4:9.
No usuario
No recuperable
Fijo, 5/01
5/03
5/04
X
•
•
002D
Un subelemento tiene una referencia incorrecta o se ha realizado una referencia indirecta a un archivo M.
X
•
•
002E
Ranura de entrada DII no válida.
X
•
•
002F
Archivo de interrupción DII no válida o no existente.
•
•
X
Recup.
5/02
B–39
Manual de referencia del juego de instrucciones Preface
Errores de E/S NUMEROS DE RANURA (xx) EN HEXADECIMAL CODIGOS DE ERROR: Los caracteres xx en los códigos Ran. xx Ran. xx Ran. xx siguientes representan el número de ranura en hexadecimal. Ran. xx Si la ranura exacta no se puede determinar, los caracteres xx 0 00 8 08 16 10 24 18 se convierten en 1F. 1 01 9 09 17 11 25 19 2 02 10 0A 18 12 26 1A FALLOS RECUPERABLES (Procesadores SLC 5/02, SLC ** 3 03 11 0B 19 13 27 1B 5/03 y SLC 5/04): Muchos fallos de E/S son recuperables. 4 04 12 0C 20 14 28 1C Para recuperalos, usted debe inhabilitar la ranura 5 05 13 0D 21 15 29 1D especificada, xx, en la rutina de fallo de usuario. Si no 6 06 14 0E 22 16 30 1E inhabilita la ranura xx, el procesador estará con fallo al final 7 07 15 0F 23 17 * 1F del escán. * Este valor indica que la ranura no se encontró (procesadores Nota: 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 ** Este valor indica que la ranura no se encontró (controlador el renglón 1 aunque la tarjeta dañada se encuentre fijo 500). instalada en un renglón distinto de 1.
Clasificación de fallo
Procesador
Usuario Dirección
S:6
B–40
Código de error (hex)
Errores de instrucción del programa de usuario
0030
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.
0031
Se detectó una referencia de instrucción no soportada.
0032
Una parámetro de longitud/ posición de secuenciador indica más allá del final de un archivo de datos.
0033
La longitud de una instrucción LFU, LFL, FFU, FFL, BSL o BSR indica más allá del final de un archivo de datos.
No usuario
No recuperable
Fijo, 5/01
5/02
5/03
5/04
X
•
•
•
•
X
•
•
•
•
X
•
•
•
•
X
•
•
•
•
Recup.
Archivo de estado SLC
Clasificación de fallo
Procesador
Usuario Dirección
Código de error (hex)
Errores de instrucción del programa de usuario
S:6
0034
No usuario
No recuperable
Recup.
Fijo, 5/01
5/02
5/03
5/04
Se detectó un valor negativo para un acumulador de temporizador o valor preseleccionado.
X
•
•
•
•
Los procesadores fijos con entradas dd 24 VCC solamente: Se detectó un HSC preseleccionado negativo o de cero en una instrucción HSC.
X
•
•
•
•
•
•
•
•
•
•
0035
Instrucción TND, SVC o REF se llama dentro de una rutina de interrupción o fallo de usuario.
0036
Un valor no válido se usa para un parámetro de instrucción PID.
0038
Una instrucción RET se detectó en un archivo que no es una subrutina.
xx3A
Se intentó escribir una dirección indirecta ubicada en un archivo que tiene la protección constante de archivo de datos.
X
•
•
1f39
Una longitud de cadena no válida se detectó en un archivo de cadena.
X
•
•
xx50
Un error de chasis de datos se detecta.
X
xx51
Un error de tiempo de ejecución “atascado” se detecta en un módulo de E/S.
xx52
Un módulo requerido para el programa de usuario se detecta como faltante o eliminado.
X
X
•
X
X
X
•
•
•
•
•
•
•
•
•
•
•
•
B–41
Manual de referencia del juego de instrucciones Preface
Clasificación de fallo
Procesador
Usuario Dirección
S:6
B–42
Código de error (hex)
Errores de E/S
xx53
No usuario
No recuperable
Recup.
Fijo, 5/01
5/02
5/03
5/04
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.
X
•
•
•
•
Se intentó entrar en el modo de marcha o prueba con un chasis vacío.
X
•
•
xx54
Un módulo requerido para el programa de usuario se detecta como el tipo incorrecto.
X
•
•
•
•
xx55
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.
X
•
•
•
•
xx56
La configuración de chasis especificado en el programa de usuario se detecta como errónea.
•
•
•
•
xx57
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.
•
•
•
•
xx58
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.
•
•
•
•
xx59
Un módulo de E/S especial no ha respondido a un comando como finalizado dentro del límite de tiempo requerido.
X
•
•
•
•
xx5A
Problema de interrupción de hardware.
X
•
•
•
X
X
X
Archivo de estado SLC
Clasificación de fallo
Procesador
Usuario Dirección
S:6
Código de error (hex)
Errores de E/S
xx5B
Error de configuración de archivo G – el tamaño de archivo G de programa de usuario excede la capacidad del módulo.
No usuario
No recuperable
Recup.
Fijo, 5/01
5/02
5/03
5/04
X
•
•
•
xx5C
Error de configuración de archivo M0–M1 – el tamaño de archivo de programa M0–M1 excede la capacidad del módulo.
X
•
•
•
xx5D
El procesador no tiene capacidad para el servicio de interrupción solicitado.
X
•
•
•
xx5E
Error de variador de E/S del procesador (software).
X
•
•
•
xx60 a xx6F
Identifica un error mayor recuperable específico para el módulo de E/S. Refiérase al manual de usuario proporcionado con el módulo especial.
X
•
•
•
xx70 a xx7F
Identifica un error mayor no recuperable específico para el módulo de E/S. Refiérase al manual de usuario proporcionado con el módulo especial.
X
•
•
•
xx90
Problema de interrupción en una ranura inhabilitada.
X
•
•
•
xx91
Una ranura inhabilitada está con fallo.
X
•
•
•
xx92
Un archivo de subrutina de interrupción 9ISR) de módulo no válido o no existente.
X
•
•
•
xx93
Error de mayor específico para el módulo de E/S no soportado.
X
•
•
•
xx94
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.
X
•
•
•
B–43
Manual de referencia del juego de instrucciones Preface
Dirección
Clasificación
Descripción
S:7 y S:8
Estado
Código de suspensión/archivo de suspensión Cuando un valor distinto de cero aparece en S:7, indica que la instrucción SUS identificada por este valor ha sido evaluada como verdadera y que el modo de pausa de suspensión es vigente. Esto describe precisamentelas condiciones en la aplicación que causaron el modo de pausa de suspensión. Este valor no se borrado por el procesador. La palabra S:8 contiene el número de archivo de programa en que se ubica una instrucción SUS verdadera. Este valor no es borrado por el procesador. Use la instrucción SUS con la localización y corrección de fallos de encendido o como diagnósticos de tiempo de ejecución para la detección de errores del sistema. Ejemplo de aplicación: Usted considera que los interruptores de final de carrera conectados a I:1/0 e I:1/1 no se pueden activar simultánea- mente, pero el programa de aplicación se comporta como si eso fuera posible. Para determinar la existencia de un problema del interruptor de final de carrera o problema de lógica de escalera, añada el renglón siguiente al programa: I:1.0 I:1.0 SUS SUSPEND ] [ ] [ 0 1 Suspend ID
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
•
•
1
Si el programa entra en el modo de pausa de SUS para el código 1 cuando usted ejecuta el programa, tiene un problema del interruptor de final de carrera; si el modo de pausa de SUS para el código 1 no ocurre, tiene un problema de lógica de escalera. S:9 y S:10
B–44
Estado
Nodos activos (canal 1–procesadores SLC 5/03) Estas dos palabras son mapeadas en bits para representar los 32 nodos posibles en una red DH-485. S:9/0 a S:10/15 representan las direcciones de nodo 0–31. Estos bits son establecidos por el procesador cuando un nodo existe en la red DH-485 al cual está conectado el procesador. Los bits son borrados cuando un nodo no está presente en la red.
Archivo de estado SLC
Dirección
Clasificación
Descripción
S:11 y S:12
Configuración dinámica
Habilitaciones de ranuras de E/S 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, independientemente 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.
!
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
•
•
Asegúrese de haber examinado bien a fondo los efectos de inhabilitar (poner a cero) un bit de habilitación de ranura antes de hacerlo en la aplicación.
Nota: 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 Preface
Dirección
Clasificación
Descripción
continuación de S:11 y S:12
!
B–46
La instrucción DII no hace caso del estado de habilitación/inhabilitación de ranura. No ejecute la DII en una ranura con fallo. Si aplica la DII en una ranura inhabilitada, la interrupción ocurrirá. Sin embargo, la imagen de entrada no reflejará el estado actual de la tarjeta. Este bit se aplica al momento de detección de un bit de reconfiguración DII, cada salida de ISR DII y al final de cada escán (END, TND o REF).
Fijo, 5/01
5/02
5/03
5/04
•
•
Archivo de estado SLC
Dirección
Clasificación
Descripción
S:13 y S:14
Configuración de estado y dinámica
Registro matemático Use este registro doble para producir operaciones de 32 bits de división y multiplicación con signo, operaciones de división precisa 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 al momento de ejecución de la instrucción y permanece válido hasta que la próxima instrucción MUL, DIV, DDV, FRD o TOD se ejecute 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 de 32 bits con signo (ejemplo en la página 3–9), debe manejar este tipo de datos sin ayuda de un tipo de datos de 32 bits asignados. Por ejemplo, combine B10:0 y B10:1 para crear un valor de datos con signo de 32 bits. Recomendamos que mantenga todos los datos con signo de 32 bits en un archivo de datos único y que comience todos los valores de 32 bits en un límite de palabra par o impar para facilitar la aplicación y la visualización. Además, recomendamos que diseñe, documente y vea el contenido de datos de 32 bits con signo en la raíz hexadecimal o binaria. Vea el capítulo 3 para obtener más información acerca de cómo cada instrucción afecta el registro matemático. Cuando una rutina de fallo STI, ranura de E/S o fallo interrumpe la ejecución normal del programa, el valor original del registro matemático se restaura cuando la ejecución se reanuda. Note que S:13 y S:14 no se usan cuando la fuente o destino se define como datos de punto (coma) flotante. Cuando una DII interrumpe la ejecución normal del programa, el valor original del registro matemático se restaura cuando la ejecución se reanuda.
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
•
•
•
•
B–47
Manual de referencia del juego de instrucciones Preface
Dirección
Clasificación
Descripción
S:15L
Configuración estática
Dirección de nodo 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.
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
•
MOV MOVE Source Dest
3 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
Dirección
Clasificación
Descripción
S:15H
Configuración estatica
Velocidad en baudios 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):
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
MOV MOVE Source Dest
1024 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 Preface
Dirección
Clasificación
Descripción
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
•
Ejemplo que muestra la protección de tiempo de ejecución para la velocidad en baudios de 19200 (código 4) y la dirección de nodo 3:
S:15H (cont.)
MOV MOVE Source 1027 Dest
S:15
S:15H es igual a 4 y S:15L es igual a 3 = 1027 decimal = 0403 hex = 0000 0100 0000 0011 bario Cuando un comando de canal de configuración se recibe para el canal 1, la velocidad en baudios se sobrescribe con el valor contenido en la configuración de canal. S:16 y S:17
Estado
Prueba de un solo paso – Inicie el paso en – Renglón/archivo Estos registros indican el número de renglón (palabra S:16) y archivo (palabra S:17) ejecutable que el procesador ejecutará próximamente cuando funcione en 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 en que guarda el programa. Estos valores se actualizan a la finalización de cada renglón. Refiérase a la palabra S:2/4 para obtener más información. El dispositivo de programación interroga este valor y proporcionar información de línea de estado de “inicie el paso en archivo x, renglón y”. 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–50
•
Archivo de estado SLC
Dirección
Clasificación
Descripción
S:18 y S:19
Configuración de estado y dinámica
Prueba de un solo paso – Punto de interrupción – Renglón/archivo Estos registros indican el número de renglón (palabra 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.
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
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
Manual de referencia del juego de instrucciones Preface
Fijo, 5/01
Dirección
Clasificación
Descripción
S:20 y S:21
Estado
Prueba – Fallo/apagado – Renglón/archivo Estos registros indican el número de renglón (palabra S:20) y archivo (palabra S:21) ejecutable que el procesador ejecutó últimamente antes de ocurrir un error mayor o apagado. Para 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.
5/02
5/03
5/04
•
•
•
•
•
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 EQUAL Source A Source B
EQU S:6
EQUAL Source A
52
Source B
El valor 52 es igual a 0034 hex. Este es el código de error para un valor preseleccionado negativo del temporizador.
EQU
MOV
S:20
EQUAL Source A
S:21
25
Source B
2
No. de renglón
No. de archivo
MOVE Source Dest
100 T4:6.PRE
T4:6 (RES) B3 (L) 0 S:1 (U) 13 (RET)
B–52
Archivo de estado SLC
Dirección
Clasificación
S:22
Estado
Descripción Tiempo de escán máximo observado Esta palabra indica el intervalo máximo observado entre escanes consecutivos.
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
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: El 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 Preface
Dirección
Clasificación
Descripción
S:23
Estado
Tiempo de escán promedio 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 t:
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
•
•
•
•
Prom. = (prom. * 7) + escán t 8 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. Nota: El 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. S:24
Configuración dinámica
Registro de índice 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
Dirección
Clasificación
Descripción
S:25 y S:26
Estado
Interrupción de E/S pendiente Estas dos palabras son mapeadas en bits a 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 interrupció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).
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
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 Preface
Dirección
Clasificación
Descripción
S:27 y S:28
Estado
Interrupción de E/S habilitada 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.
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
•
•
Las interrupciones de E/S se tratan en el capítulo 11 de este manual.
S:29
Configuración dinámica
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.
Configuración dinámica
Número de archivo de rutina de fallo de usuario 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
Dirección
Clasificación
Descripción
S:30
Configuración dinámica
Interrupción temporizada seleccionable – 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 STI se ejecuta según el valor que introduce. Escriba un valor de cero para inhabilitar la STI. Para proporcionar protección contra la modificación accidental del monitor de datos de la selección, programe una instrucción MOV incondicional que contiene el valor de punto de ajuste de la STI en S:30 o programe una instrucción CLR en S:30 para evitar la operación STI. Si la STI se inicia durante 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. Las interrupciones temporizadas seleccionables se tratan en el capítulo 11 de este manual.
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
•
•
•
La base de tiempo del punto de ajuste STI puede ser 10 ms ó 1 ms según el valor del bit de selección de punto de ajuste STI S:2/10. 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. La STE habilita la instrucción STI y la STD la inhabilita. S:31
Configuración dinámica
Interrupción temporizada seleccionable – Número de archivo Usted introduce un número de archivo de programa (3–255) que se debe usar como la subrutina de interrupción temporizada seleccionable. Escriba un valor de 0 para inhabilitar la STI. 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 valor de número de archivo de la STI en S:31 ó programe una instrucción CLR en S:31 para evitar la operación STI. Las interrupciones temporizadas seleccionables se tratan en el capítulo 11 de este manual.
•
B–57
Manual de referencia del juego de instrucciones Preface
Dirección
Clasificación
Descripción
S:32
Estado
Ejecución de interrupción de E/S 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.
Comp., 5/01
5/02
5/03
5/04
•
•
•
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.
•
•
S:33/0
Estado
Comando de entrada pendiente (canal 0) 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.
•
•
S:33/1
Estado
Respuesta de mensaje pendiente (canal 0) 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
Dirección
Clasificación
Descripción
S:33/2
Estado
S:33/3
S:33/4
Comp., 5/01
5/02
5/03
5/04
Comando de mensaje saliente pendiente (canal 0) Este bit se establece cuando uno o más mensajes de canal 0 en el programa se habilitan y 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.
•
•
Estado
Estado de selección (canal 0) 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.
•
•
Estado
Comunicaciones activas (canal 0) 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
Manual de referencia del juego de instrucciones Preface
Dirección
Clasificación
Descripción
S:33/5
Configuración dinámica
S:33/6
Configuración dinámica
B–60
Fijo, 5/01
5/02
5/03
5/04
Selección de servicio de comunicaciones (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.
•
•
Selección de servicio de mensaje (canal 0) 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.
•
•
Archivo de estado SLC
Dirección
Clasificación
Descripción
S:33/7
Configuración dinámica
S:33/8
S:33/9
Comp., 5/01
5/02
5/03
5/04
Selección de servicio de mensaje (canal 1) Este bit solamente es válido cuando el bit de selección de servicio de comunicaciones (S:2/15) del canal 1 se pone a cero (el cual selecciona los comandos de servicio total). Cuando S:33/7 es establecido y S:2/15 está puesto a cero, todas las instrucciones MSG de canal 1 salientes reciben servicio según la instrucción END, TND, SVC o REF. De lo contrario, solamente un comando o respuesta MSG de canal 1 saliente recibe servicio según la instrucción END, TND, SVC o REF.
•
•
Configuración estática
Bit de control de latencia de interrupción Cuando se establece, la latencia de interrupción ocurre para interrupciones de usuario (DII, STI y evento de E/S). Esto significa que cuando ocurre una interrupción, se le garantiza estar en el renglón 0 de la subrutina de interrupción dentro del período de latencia de interrupción declarado (siempre que una interrupción de prioridad igual o mayor se esté ejecutando). Usted debe seleccionarlo al guardar el programa. Refiérase al apéndice B en el Manual de usuario de software de programación avanzada, publicación 1747-6.4ES para obtener información acerca de cómo calcular la latencia de interrupción. Cuando se pone a cero, las interrupciones de usuario solamente pueden interrumpir el procesador a puntos predefinidos de ejecución en el ciclo de programa de usuario. La latencia de interrupción se define como el período de tiempo más largo que puede transcurrir entre dos puntos predefinidos. Cuando S:33/8 se pone a cero, usted debe analizar cada programa de usuario. El bit se pone a cero predeterminadamente. Los puntos siguientes son los únicos puntos en que se permite que las subrutinas de interrupción de usuario se ejecuten cuando S:33/8 se pone a cero: • al inicio de cada renglón • después de dar servicio a la comunicación • entre ranuras durante la actualización de la imagen de entrada o salida o cualquier tarjeta de E/S especial
•
•
Estado
Bit de alternador de escán Este bit se pone a cero al momento de entrar en el modo de MARCHA. Este bit cambia de estado durante cada ejecución de una instrucción END, TND o REF. Use este bit en el programa de usuario para aplicaciones tal como la ejeución de subrutina de multiplex.
•
•
B–61
Manual de referencia del juego de instrucciones Preface
Dirección
Clasificación
S:33/10
Configuración dinámica
Comp., 5/01
Descripción Bit de reconfiguración de interrupción de entrada discreta 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 [OSR]
S:33/10 (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. S:33/10 I:1/0 (L) ] [
B–62
5/02
5/03
5/04
•
•
Archivo de estado SLC
Comp., 5/01
Dirección
Clasificación
Descripción
S:33/11 y S:33/12
Estado
Estado de edición en línea Estos dos bits 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
5/02
5/03
5/04
•
•
•
•
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 estática
Selección de base de tiempo del tiempo de 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 representan el número de incrementos de 1 ms que han ocurrido. Este valor se borra predeterminadamente (base de tiempo de 10 ms).
B–63
Manual de referencia del juego de instrucciones Preface
Dirección
Clasificación
Descripción
S:33/14
Configuración dinámica
S:33/15
Configuración dinámica
B–64
Comp., 5/01
5/02
5/03
5/04
Bit de control DTR (canal 0) 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. Notea Cuando el canal 0 está configurado para DH485, S;33/14 se debe poner a cero para un funcionamiento adecuado.
•
•
Bit de forzados DTR (canal 0) 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.
•
•
Archivo de estado SLC
Dirección
Clasificación
Descripción
S:34/0
Configuración estática
S:34/1
Configuración estática
Bit de transferencia de DH+ a DH-485 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. Bit de habilitación de tabla de nodo activo DH+ 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 dinámica
Bit de habilitación del indicador matemático 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.
Comp., 5/01
5/02
5/03
5/04
•
•
•
•
B–65
Manual de referencia del juego de instrucciones Preface
Comp., 5/01
Dirección
Clasificación
Descripción
S:34/3
Configuración dinámica
Bit de habilitación de transmisión de palabra de estado global (SLC 5/04 OS401 solamente) 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.
•
S:34/4
Configuración dinámica
Bit de habilitación de recepción de palabra de estado global (SLC 5/04 OS401 solamente) 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.
•
S:34/5
Configuración dinámica
Bit de transferencia de DF1 a DH+ habilitada (SLC 5/04 OS401 solamente) 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.
•
S:35
Estado
Tiempo del último escán de 1 ms 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).
•
•
S:36/0 a S:36/7
NA
Reservado
•
•
B–66
5/02
5/03
5/04
Archivo de estado SLC
Dirección
Clasificación
Descripción
S:36/8
Estado
S:36/9
S:36/10
Comp., 5/01
5/02
5/03
5/04
DII perdido Este bit se establece cuando ocurre una interrupción DII y el bit de DII 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.
•
•
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.
•
•
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 Preface
Dirección
Clasificación
S:36/11 a S:36/15
NA
S:37
Comp., 5/01
5/03
5/04
Reservado para errores menores adicionales.
•
•
Configuración dinámica
Reloj/año calendario 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).
•
•
S:38
Configuración dinámica
Reloj/calendario de mes 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.
•
•
S:39
Configuración dinámica
Reloj/calendario de día 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.
•
•
S:40
Configuración dinámica
Reloj/calendario de horas 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.
•
•
S:41
Configuración dinámica
Reloj/calendario de minutos 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).
•
•
S:42
Configuración dinámica
Reloj/calendario de segundos 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
Descripción
5/02
Archivo de estado SLC
Dirección
Clasificación
S:43
Estado
S:44
Descripción Interrupción temporizada seleccionable – Temporizador de 10 µs
Comp., 5/01
5/02
5/03
5/04
•
•
•
•
Interrupción de evento de E/S – Temporizador de 10 µs
S:45
Interrupción de entrada discreta – Temporizador 10 µs Este valor de 16 bits es de “marcha libre” y se usa para medir la cantidad de tiempo que transcurre entre las ejecuciones consecutivas de subrutina de interrupción (en incrementos de 10 µs). Este valor se actualiza a cada entrada en la subrutina de interrupción. El temporizador de 10 µs indica que el tiempo máximo que puede transcurrir entre dos interrupciones sin invalidar una medición de tiempo es 0.32767 segundos. (16 bits con signo 10 µs = 32767 .00001 = 0.32767 segundos) El temporizador de 10 µs es común a la interrupción STI, la interrupción de E/S de evento y la interrupción DII. S:46
Configuración dinámica
Interrupción de entrada discreta – Número de archivo Usted introduce un número de archivo de programa (3–255) que se debe usar como la subrutina de interrupción de entrada discreta. Escriba un valor de 0 para inhabilitar la función. Este valor se aplica durante la detección de un bit de reconfiguración DII, cada salida de DII ISR y cada final de escán (END, TND o REF). A fin de 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 valor de número de archivo de la DII en S:46 ó programe una instrucción CLR en S:46 para evitar la operación DII.
B–69
Manual de referencia del juego de instrucciones Preface
Dirección
Clasificación
Descripción
S:47
Configuración dinámica
nterrupción de entrada discreta – Número de ranura Usted introduce el número de ranura (1–30) que contiene el módulo de E/S discretas que se deben usar como la ranura de interrupción de entrada discreta. El procesador estará con fallo si la ranura está vacía o contiene un módulo de E/S no discretas. Por ejemplo, un módulo analógico causa que ocurra un fallo de procesador. Este bit se aplica al momento de detección del bit de reconfiguración DII.
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
Este valor se aplica solamente al momento de ejecución de la función de reconfiguración DII (estableciendo el bit S:33/10 ó a la entrada en el modo de marcha REM con el bit de habilitación DII S:2/12 establecido). A fin de proprocionar protección contra la modificación accidental del monitor de datos de su selección, programe una instrucción MOV incondicional que contenga el valor de número de ranura de la DII en S:47. S:48
Configuración dinámica
Interrupción de entrada discreta – Máscara de bit Usted introduce un valor mapeado con bits que corresponde a los bits que desea monitorizar en el módulo de E/S discretas. Solamente los bits 0 a 7 se usan en la función DII. El establecer un bit indica que usted desea incluir el bit en la comparación de la transición de bit del módulo de E/S discretas al valor de comparación DII (S:49). El poner a cero el bit indica que el estado de transición del bit en cuestión constituye un bit de “no importa”. Este valor se aplica al momento de detección de un bit de reconfiguración DII, cada salida de DII ISR y al final de cada escán (END, TND o REF). A fin de 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 valor de máscara de bit de la DII en S:48.
B–70
Archivo de estado SLC
Dirección
Clasificación
Descripción
S:49
Configuración dinamica
Interrupción de entrada de comparación – Valor de comparación Usted introduce un valor mapeado con bits que corresponde a las transiciones de bit que deben ocurrir en la tarjeta de E/S discretas para que ocurra un conteo o interrupción. Solamente los bits 0 a 7 se usan en la función DII. El establecer un bit indica que el bit debe hacer la transición de 0 a 1 para cumplir con la condición de comparación para dicho bit. El poner a cero el bit indica que el bit debe hacer la transición de 1 a 0 para cumplir con la condición de comparación para dicho bit. Una interrupción o conteo se genera al momento de transición del último bit del valor de comparación. Este valor se aplica a la detección de un bit de reconfiguración DII, cada salida de DII ISR y cada final de escán (END, TND o REF).
Fijo, 5/01
5/02
5/03
5/04
•
•
•
•
A fin de 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 valor de comparación de la DII en S:49. S:50
Configuración dinámica
Interrupción de entrada discreta – Valor preseleccionado Cuando este valor es igual a 0 ó 1, una interrupción es generada cada vez que se satisfacen las palabras especificadas S:48 y S:49. Cuando este valor está entre 2 y 32767, un conteo ocurrirá cada vez que la comparación de bit se satisfaga. 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 al final de cada escán (END, TND o REF). A fin de 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 valor preseleccionado de la DII en S:50..
B–71
Manual de referencia del juego de instrucciones Preface
Dirección
Clasificación
Descripción
S:51
Estado
S:52
Estado
S:53 y S:54
NA
S:55
S:56
B–72
Fijo, 5/01
5/02
5/03
5/04
Interrupción de entrada discreta – Máscara de retorno La máscara de retorno se actualiza inmediatamente antes de la entrada en la subrutina DII. Este valor contiene el mapa con bits de las transiciones de bits que causaron la interrupció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.
•
•
Interrupción de entrada discreta – Acumulador 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.
•
•
Reservado
•
•
Estado
Ultimo tiempo de escán de interrupción de entrada discreta 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.
•
•
Estado
Tiempo de escán de entrada discreta máximo observado 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.
•
•
Archivo de estado SLC
Dirección
Clasificación
Descripción
S:57
Estado
S:58
Fijo, 5/01
5/02
5/03
5/04
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.
•
•
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
Manual de referencia del juego de instrucciones Preface
Dirección
Clasificación
S:67 y S:68
Estado
S:69 a S:82
NA
S:83 a S:86
Estado
S:87 a S:96
Descripción Canal 0 de nodos activos DH-485 Tabla de nodo activo de half duplex DF1
Fijo, 5/01
5/02
5/03
5/04
• •
• •
Canal 1 de nodos activos DH+ Estas 4 palabras son mapeadas con bits para representar los 64 nodos posibles 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.
•
NA
Reservado
•
S:97 a S: 98
NA
Reservado (se aplica los procesadores SLC 5/04 OS401)
S:99
Configuración dinámica
Palabra de estado global (SLC 5/04 OS401 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 S:163
Configuración estática
Archivo de estado global (SLC 5/04 OS401 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 Si usted desear usar: Los controladores MicroLogix 1000
Vea la página: C–2
El procesador compacto o SLC 5/01 El procesador SLC 5/02
C–15
El procesador SLC 5/03
C–22
El procesador SLC 5/04
C–35
C–9
C–1
Manual de referencia del juego de instrucciones Preface
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. Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
ADD
6.78
33.09
1.50
Añadir
Matemática
AND
6.78
34.00
1.50
Y
Manejo de datos
BSL
19.80
53.71 + 5.24 x valor de posición
2.00
Desplazamiento de bit a la izq.
Específica a la aplicación
BSR
19.80
53.34 + 3.98 x valor de posición
2.00
Desplazamiento de bit a la der.
Específica a la 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
DCD
6.78
27.67
1.50
Descodificar 4 a 1 de 16
Manejo de datos
DDV
6.78
157.06
1.00
División doble
Matemática
DIV
6.78
147.87
1.50
División
Matemática
ENC
6.78
54.80
1.50
Codificar (encode) 1 a 16 de 4
Manejo de datos
EQU
6.60
21.52
1.50
Igual
Comparativa
FFL
33.67
61.13
1.50
Carga FIFO
Manejo de datos
FFU
34.90
73.78 + 4.34 x valor de posición
1.50
Descarga FIFO
Manejo de datos
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
Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
GRT
6.60
23.60
1.50
Mayor que
Comparación
HSC
21.00
21.00
1.00
Contador de alta velocidad
Contador de alta velocidad
HSD
7.00
8.00
1.25
Inhab. de interrupción de contador de alta velocidad
Contador de alta velocidad
HSE
7.00
10.00
1.25
Hab. de interrupción de contador de alta velocidad
Contador de alta velocidad
HSL
7.00
66.00
1.50
Carga de contador de alta velocidad
Contador de alta velocidad
IIM
6.78
35.72
1.50
Entrada inmediata con máscara
Control de flujo de programa
INT
0.99
1.45
0.50
Subrutina de interrupción
Específico a la aplicación
IOM
6.78
41.59
1.50
Salida inmediata con máscara
Control de flujo de programa
JMP
6.78
9.04
1.00
Saltar a etiqueta
Control de flujo de programa
JSR
4.25
22.24
1.00
Saltar a subrutina
Control de flujo de programa
LBL
0.99
1.45
0.50
Etiqueta
Control de flujo de 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
MCR
4.07
3.98
0.50
Restablecimiento control maestro
Control de flujo de programa
MEQ
7.69
28.39
1.50
Comparación con máscara para igual
Comparativa
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 Preface
Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
MVM
6.78
33.28
1.50
Mover con máscara
Manejo de datos
NEG
6.78
29.48
1.50
Cambio de signo
Manejo de datos
NEQ
6.60
21.52
1.50
Diferente
Comparativa
NOT
6.78
28.21
1.00
No
Manejo de datos
OR
6.78
33.68
1.50
O
Manejo de datos
OSR
11.48
13.02
1.00
Un frente ascendente
Básica
OTE
4.43
4.43
0.75
Activación de salida
Básica
OTE (contador de alta velocidad)
7.00
12.00
0.75
Actual. de acum. de imagen de contador alta vel.
Contador de alta velocidad
OTL
3.16
4.97
0.75
Enclav. de salida
Básica
OTU
3.16
4.97
0.75
Desenclav. salida
Básica
RAC
6.00
56.00
1.00
Acumulador de restab. de contador de alta vel.
Contador de alta velocidad
RES (temporizador/ contador)
4.25
15.19
1.00
Restablecimiento
Básica
RES (contador de alta velocidad)
6.00
51.00
1.00
Restabl. del contador de alta vel.
Contador de alta velocidad
RET
3.16
31.11
0.50
Retorno de subrutina
Control de flujo de programa
RTO
27.49
38.34
1.00
Temporizador retentivo
Básica
SBR
0.99
1.45
0.50
Subrutina
Control de flujo de programa
SCL
6.78
169.18
1.75
Escalar datos
Matemática
SQC
27.40
60.52
2.00
Secuenciador de comparación
Específica a la aplicación
SQL
28.12
53.41
2.00
Carga sec.
Específica a la aplicación
SQO
27.40
60.52
2.00
Secuenciador de salida
Específica a la aplicación
SQR
6.78
71.25
1.25
Raíz cuadrada
Matemática
C–4
Uso de memoria y tiempos de ejecucion de instruccion
Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
STD
3.16
6.69
0.50
Desactivar STI
Específica a la aplicación
STE
3.16
10.13
0.50
Activar STI
Específica a la aplicación
STS
6.78
24.59
1.25
Comenzar STI
Específica a la aplicación
SUB
6.78
33.52
1.50
Resta
Matemática
SUS
7.87
10.85
1.50
Suspend
Control de flujo de programa
TND
3.16
7.78
0.50
Fin temporal
Control de flujo de programa
TOD
6.78
49.64
1.00
Convertir a BCD
Manejo de datos
TOF
31.65
39.42
1.00
Temporizador a la desconexión
Básica
TON
30.38
38.34
1.00
Temporizador a la conexión
Básica
XIC
1.72
1.54
0.75
Examina si cerrado
Básica
XIO
1.72
1.54
0.75
Examina si abierto
Básica
XOR
6.92
33.64
1.50
Operación O esclusiva
Manejo de datos
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 Preface
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.
110
7.
Para contabilizar el overhead del controlador, use 177. Para contabilizar los datos de aplicación, use 110. Sume los pasos 1–4. Este es el uso de memoria 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%. Para determinar la cantidad aproximada de memoria que resta en el controlador que usted ha seleccionado, haga lo siguiente:
Uso de memoria total:
8.
9.
Uso de memoria total (de la suma anterior) Memoria total remanente:
Nota
C–6
1024
Reste el uso de memoria total de 1024.
-
El resultado de este cálculo será la memoria total aproximada remanente en el controlador seleccionado. El uso de memoria calculado puede variar del programa real compilado en ±12%.
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. Procedimiento 1.
Tiempo de escán de entrada, tiempo de escán de salida, tiempo de mantenimiento y forzados.
2.
Estime el tiempo de escán del programa:
3.
4.
Tiempo de escán máx. 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 rutinas de interrupción en este cálculo.À
_________ µs
Estime el tiempo de escán del controlador: 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
Divida el tiempo de escán del controlador entre 1000 para determinar el tiempo de escán máx. en ms. À
_________ 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
Manual de referencia del juego de instrucciones Preface
Descripción general del uso de memoria para los procesadores SLC Los controladores SLC 500 tienen las capacidades de memoria de usuario siguientes: Tipo de procesador
Tipo de controlador
Capacidad de memoria de usuario
Controladores de E/S fijos Compacto y SLC 5/01
À
Controladores modulares 1747-L511
1024 palabras de instrucción
SLC 5/02
Controladores modulares 1747-L524
4096 palabras de instrucción
SLC 5/03
Controladores modulares 1747-L532
12,288 palabras
SLC 5/04
Controladores modulares 1747-L541 1747-L542 1747-L543
20,480 palabrasÀ
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:
• •
C–8
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
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. Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
ADD
12
122
1.5
Suma
Matemática
AND
12
87
1.5
Operador lógico
Manejo de datos
BSL
12
144 + 24 por palabra
2.00
Desplazamiento a la izquierda
Específica a la aplicación
BSR
12
134 + 24 por palabra
2.00
Desplazamiento a la derecha
Específica a la aplicación
CLR
12
40
1.00
Borrar
Matemática
COP
12
45 + 21 por palabra
1.50
Copiar archivo
Manejo de datos
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 de 16
Manejo de datos
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 palabra
1.50
Llenar archivo
Manejo de datos
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
HSC
12
60
1.00
Contador de alta velocidad
Contador de alta velocidad
C–9
Manual de referencia del juego de instrucciones Preface
Tiempo de ejecución falso (aprox. µsegundos)
Mnemónico
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
IIM
12
372
1.50
Entrada inmediata con máscara
Control de flujo de programa
IOM
12
475
1.50
Salida inmediata con máscara
Control de flujo de programa
JMP
12
38
1.00
Saltar a etiqueta
Control de flujo de programa
JSR
12
46
1.00
Salta a subrutina
Control de flujo de programa
LBL
2
2
0.50
Etiqueta
Control de flujo de programa
LEQ
12
60
1.50
Menor o igual que
Comparativa
LES
12
60
1.50
Menor que
Comparativa
MCR
10
10
0.50
Restablecimiento control maestro
Control de flujo de programa
MEQ
12
75
1.50
Comparación con máscara para igual
Comparativa
MOV
12
20
1.50
Mover
Manejo de datos
MUL
12
230
1.50
Multiplicación
Matemática
MVM
12
115
1.50
Mover con máscara
Manejo de datos
NEG
12
110
1.50
Cambio de signo
Manejo de datos
NEQ
12
60
1.50
Diferente
Comparativa
NOT
12
66
1.00
Operación Not lógico
Manejo de datos
OR
12
87
1.50
Operación O lógico
Manejo de datos
OSR
12
34
1.00
Un frente ascendente
Básica
OTE
18
18
0.75
Activación de salida
Básico
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 ejecución falso (aprox. µsegundos)
Mnemónico
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
RET
12
34
0.50
Retorno de subrutina
Control de flujo de programa
RTO
12
140
1.00
Temporizador retentivo
Básica
SBR
2
2
0.50
Subrutina
Control de flujo de programa
SQC
12
225
2.00
Secuenciador de comparación
Específica a la aplicación
SQO
12
225
2.00
Secuenciador de salida
Específica a la aplicación
SUB
12
125
1.50
Resta
Matemática
SUS
12
12
1.50
Suspender
Control de flujo de programa
TND
12
32
0.50
Fin temporal
Control de flujo de programa
TOD
12
200
1.00
Convertir a BCD
Manejo de datos
TOF
12
140
1.00
Temporizador a la desconexión
Básica
TON
12
135
1.00
Temporizador a la conexión
Básica
XIC
4
4
1.00
Examina si cerrado
Básica
XIO
4
4
1.00
Examina si abierto
Básica
XOR
12
87
1.50
Operador 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 escalera se resuelve de izquierda a derecha. Las bifurcaciones se resuelven de arriba hacia abajo.
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 tiempo de ejecución cero. Tiempo de ejecución = 4 + 18 = 22 microsegundos. 2)
Si la instrucción 1 es verdadera, 2 es verdadera y 5 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.
1
2 ][
8
6 ][
3
][
()
7 ][
][
4 ][ 5 ][
C–11
Manual de referencia del juego de instrucciones Preface
Cómo estimar el uso de memoria total del sistema usando un procesador compacto o SLC 5/01
Total:
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.
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
C–12
El uso de memoria calculado puede diferir del programa compilado real en ±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 10 instrucciones OTE 10 instrucciones TON 1 instrucción CTU 1 instrucción RES Uso de instrucciones 21 renglones 37 palabras de datos
42 10 10 1 1
x x x x x
1.00 0.75 1.00 1.00 1.00
= 42.00 = 7.50 = 10.00 = 1.00 = 1.00 61.50
21 x.375 = 37 x.250 =
7.87 9.25 78.62
2 x 0.75 = 1 x 0.75 =
1.50 0.75 65.00 67.25
Total del programa de usuario
2 palabras de datos de E/S 1 ranura Overhead Total de configuración de E/S
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 Preface
Continuación de procesadores fijos y SLC 5/01 Ejemplo Procesador 1747-L514, configuración de 30 ranuras, (15) 1746-IA16, (10) 1746-OA8, (1) configuración completa 1747-DCM, (1) 1746-NI4, (1) 1746-NIO41 50 XIC y XIO 15 instrucciones OTE 5 instrucciones TON 3 instrucciones GRT 1 instrucción SCL 1 instrucción TOD 3 instrucciones MOV 10 instrucciones CTU 10 instrucciones RES Uso de instrucciones
50 15 5 3 1 1 3 10 10
x x x x x x x x x
1.00 0.75 1.00 1.50 1.75 1.00 1.50 1.00 1.00
30 renglones 30 x 0.375 100 palabras de datos 100 x 0.25 10 es el no. de archivo de tabla de datos más alto 10 x 1 4 es el no. de archivo de programa más alto 4 x 2 Total del programa de usuario
49 palabras de datos de E/S 30 ranuras Overhead Total de configuración de E/S
Uso de memoria total estimado:
= = = = = = = = =
50.00 11.25 5.00 4.50 1.75 1.00 4.50 10.00 10.00 98.00
= 11.25 = 25.00 = 10.00 = 8.00 163.50
49 x 0.75 = 36.75 30 x 0.75 = 22.50 67.00 126.25 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 ejecución falso (aprox. µsegundos)
Mnemónico
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
ADD
7
76
1.5
Suma
Matemática
AND
7
55
1.5
Operdor Y lógico
Manejo de datos
BSL
36
89 +14 por pal.
2.00
Desplazamiento a la izquierda
Específica a la aplicación
BSR
36
83 +14 por pal.
2.00
Desplazamiento a la derecha
Específica a la 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
DCD
7
50
1.50
Descodificar 4 a 1 de 16
Manejo de datos
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
FFU
51
150 +11 x valor de posición
1.50
Descarga FIFO
Manejo de datos
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
IID
7
39
1.25
Interrupción de E/S inhabilitar
Comprensión de las rutinas de interrupción
C–15
Manual de referencia del juego de instrucciones Preface
Tiempo de ejecución falso (aprox. µsegundos)
Mnemónico
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
IIE
7
42
1.25
Interrupción de E/S habilitar
Comprensión de las rutinas de interrupción
IIM
1
340
1.50
Entrada inmediata con máscara
Control de flujo de programa
INT
0
0
0.50
Subrutina de interrupción
Específico a la aplicación
IOM
7
465
1.50
Salida inmediata con máscara
Control de flujo de programa
JMP
7
23
1.00
Saltar a etiqueta
Control de flujo de programa
JSR
7
28
1.00
Saltar a subrutina
Control de flujo de programa
LBL
1
4
0.50
Etiqueta
Control de flujo de 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
MCR
6
6
0.50
Restablecimiento control maestro
Control de flujo de programa
MEQÀ
7
47
1.50
Comparación con máscara para igual
Comparativa
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
MVM
7
71
1.50
Mover con máscara
Manejo de datos
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 ejecución falso (aprox. µsegundos)
Mnemónico
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
NOT
7
42
1.00
Operador Not lógico
Manejo de datos
OR
7
55
1.50
Operador O inclusivo
Manejo de datos
OSR
11
20
1.00
Un frente ascendente
Básica
OTE
11
11
0.75
Activación de salida
Básica
OTL
11
11
0.75
Enclavamiento de salida
Básica
OTU
11
11
0.75
Desenclavamiento de salida
Básica
PID
90
3600
23.25
Derivada proporcional
PID
REF
4
240 + 180 por pal.
0.50
Regenerar
Comprensión de las rutinas de interrupción
RES
7
26
1.00
Restablecimiento
Básica
RET
7
20
0.50
Retorno de subrutina
Control de flujo de programa
RPI
7
240
1.25
Restablecer interrupción pendiente
Comprensión de las rutinas de interrupción
RTO
30
30
1.00
Temporizador retentivo
Básica
SBR
1
4
0.50
Subrutina
Control de flujo de programa
SCL
7
480
1.75
Escalar datos
Matemática
SQC
36
137
2.00
Secuenciador de comparación
Específico a la aplicación
SQL
36
135
2.00
Carga de secuenciador
Específico a la aplicación
C–17
Manual de referencia del juego de instrucciones Preface
Tiempo de ejecución falso (aprox. µsegundos)
Mnemónico
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
SQO
36
137
2.00
Secuenciador de salida
Específica a la 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 comunicaciones
Comunicación
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 desconexión
Básica
TON
36
83
1.00
Temporizador a la conexión
Básica
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) 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. 2)
Si la instrucción 1 es verdadera, 2 es verdadera y 6 es verdadera, entonces las instrucciones 3, 4, 5, 7 toman tiempo de ejecución cero. Tiempo de ejecución = 2.4 + 2.4 + 2.4 + 11 = 18.2 microsegundos.
1
2 ][ 3
][ 7
][ 4 ][ 5 ][
C–18
8
6 ][
][
()
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
Total:
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.
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
Manual de referencia del juego de instrucciones Preface
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 15 instrucciones OTE 5 instrucciones TON 3 instrucciones GRT 1 instrucción SCL 1 instrucción TOD 3 instrucciones MOV 10 instrucciones CTU 10 instrucciones RES Uso de instrucción 30 renglones 100 palabras de datos 10 es el no. de archivo de tabla de datos más alto 4 es el no. de archivo de programa más alto Total del programa de usuario
49 palabras de datos de E/S 30 ranuras Overhead Total de configuración de E/S
Uso de memoria total estimado:
50 15 5 3 1 1 3 10 10
x x x x x x x x x
1.00 0.75 1.00 1.50 1.75 1.00 1.50 1.00 1.00
= = = = = = = = =
50.00 11.25 5.00 4.50 1.75 1.00 4.50 10.00 10.00 98.00
30 x 0.375 = 11.25 100 x 0.25 = 25.00 10 x 1 = 10.00 4 x 2 = 8.00 163.50 49 x 0.75 = 36.75 30 x 0.75 = 22.50 204.00 263.25 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 ] [ 1
M1:3.1 ]/[ 1
M0:2.1 ( ) 10
MOV MOVE Source Dest
M1:10.7 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 Preface
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. Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
ABL
39.70
129.90
2.00
Búfer de prueba para línea
ASCII
ABS
0.75
9.95
2.00
Absoluto
Matemática
ACB
39.70
140.7
2.00
No. de caracteres en búfer
ASCII
ACI
0.22
86.62
2.00
Cadena a entero
ASCII
ACL
0.22
367.50
2.00
Borrado del búfer ASCII de recepción y/o transmisión
ASCII
ACN
0.22
69.4 + (2.1/car.)
3.00
Concatendado de cadenas
ASCII
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 cadena
ASCII
AHL
39.70
138.70
4.00
Líneas de comunica. ASCII
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 caracteres ASCII
ASCII
ARL
39.70
190.00
3.00
Lectura ASCII de línea
ASCII
ASC
0.22
53.4 + (1.8/car.)
4.00
Búsqueda de cadena
ASCII
ASN
0.75
483.05
2.00
Arco seno
Matemática
ASR
0.22
49.69
3.00
Comparación de cadenas
ASCII
ATN
0.75
387.05
2.00
Arco tangente
Matemática
C–22
Uso de memoria y tiempos de ejecucion de instruccion
Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
AWA
39.7
365.50
3.00
Escritura ASCII con anexo
ASCII
AWT
39.7
263.80
3.00
Escritura ASCII
ASCII
BSL
15.00
50 + (2.3/palabra)
3.00
Desplazamiento a la izquierda
Específica a la aplicación
BSR
15.00
50 + (2.3/palabra)
3.00
Desplazamiento a la derecha
Específica a la aplicación
CLR
0.75
1.70
3.00, 1.00
Borrar
Matemática
COP
0.75
30 + (2.20/palabra)
3.00
Copiar archivo
Manejo de datos
COS
0.75
310.90
2.00
Coseno
Matemática
CPT
0.75
À
Á
Calcular
Matemática
CTD
1.40
1.40
1.00
Conteo –
Básica
CTU
1.40
1.40
1.00
Conteo +
Básica
DCD
0.50
10.00
2.00
Descodificar 4 a 1 de 16
Manejo de datos
DDV
0.50
33.00
2.00
Doble división
Matemática
32.80
2.00
Grados
Manejo de datos
DEG DIV
0.75
23.00
3.00, 4.00
División
Matemática
EQUÂ
1.25
1.25
3.00
Igual
Comparativa
FFL
27.00
58.00
3.00
Carga FIFO
Manejo de datos
FFU
27.00
79 + (2.20/palabra)
4.00
Descarga FIFO
Manejo de datos
FLL
0.75
28 + (2.00/palabra)
3.00
Llenar archivo
Manejo de datos
FRD
0.50
31.00
2.00
Convertir de BCD
Manejo de datos
GEQÂ
1.25
1.25
3.00
Mayor o igual que
Comparativa
GRTÂ
1.25
1.25
3.00
Mayor que
Comparativa
IID
0.50
0.60
2.00
Interrupción de E/S desactiva
Comprensión de las rutinas de interrupción
C–23
Manual de referencia del juego de instrucciones Preface
Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
IIE
0.50
16.00
2.00
Interrupción de E/S activa
Comprensión de las rutinas de interrupción
IIMÆÇ
0.50
51.85
6.00
Entrada inmediata con máscara
Control de flujo de programa
INT
0.25
0.25
1.00
Subrutina de interrupción
Específico a la aplicación
IOMÆÈ
0.50
70.90
6.00
Salida inmediata con máscara
Control de flujo de programa
JMP
0.25
44.45
1.00
Saltar a etiqueta
Control de flujo de programa
JSR
0.25
131.00
1.00
Saltar a subrutina
Control de flujo de programa
LBL
0.25
0.25
2.00
Etiqueta
Control de flujo de 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
LOG
0.75
390.80
2.00
Logaritmo en base 10
Matemática
MCR
8.00
4.00
1.00
Restablecimiento control maestro
Control de flujo de programa
MEQÂ
38.00
38.00
4.00
Comparación con máscara para igual
Comparativa
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
MVM
0.75
19.00
3.00, 4.00
Mover con máscara
Manejo de datos
C–24
Uso de memoria y tiempos de ejecucion de instruccion
Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
NEG
0.75
1.70
3.00
Cambio de signo
Manejo de datos
NEQÂ
1.25
1.25
3.00
Diferente
Comparativa
NOT
0.75
1.70
3.00
Operador Not lógico
Manejo de datos
OR
0.75
1.70
3.00
Operador O inclusivo
Manejo de datos
OSR
12.00
10.80
2.00
Un frente ascendente
Básica
OTE
0.63
0.63
1.00
Activación de salida
Básica
OTL
0.63
0.63
1.00
Enclavamiento de salida
Básica
OTU
0.63
0.63
1.00
Desenclavamiento de salida
Básica
PID
20.00
272.00
26.00
Proporcional/ integral/derivada
PID
RAD
0.75
31.80
2.00
Radianes
Manejo de datos
REF
0.25
Å
1.00
Regenerar
Comprensión de rutinas de interrup.
RES
1.40
1.40
1.00
Restablecimiento
Básica
RET
0.25
23.00
1.00
Retorno de subrutina
Control de flujo de programa
RPI
0.50
78 + (60/ranura)
2.00
Restabl. interrupción pendiente
Comprensión de rutinas de interrup.
RTO
1.40
1.40
1.00
Temporizador retentivo
Básica
SBR
0.25
0.25
1.00
Subrutina
Control de flujo de programa
SCL
1.00
32.00
4.00
Escalar datos
Matemática
SCP
0.75
33.10
6.00
Escalar con parámetros
Matemática
SIN
0.75
311.95
2.00
Seno
Matemática
SQC
13.00
60.00
5.00
Secuenciador de comparación
Específica a la aplicación
SQL
15.00
56.00
4.00
Carga secuenciador
Específica a la aplicación
C–25
Manual de referencia del juego de instrucciones Preface
Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
SQO
15.00
70.00
5.00
Secuenciador de salida
Específico a la aplicación
SQR
0.50
32.00
2.00, 3.00
Raíz cuadrada
Matemática
STD
0.25
4.00
1.00
Desactivar STI
Específica a la aplicación
STE
0.25
5.00
1.00
Activar STI
Específica a la aplicación
STS
0.75
58.00
3.00
Comenzar STI
Específica a la aplicación
SUB
0.75
1.70
3.00
Resta
Matemática
SUS
0.50
12.00
2.00
Suspender
Control de flujo de programa
SVC
0.25
Å
1.00
Servicio de comunicaciones
Comunicación
SWP
0.75
24 + 13.09/palabra
2.00
Intercambiar
Matemática
TAN
0.75
406.35
2.00
Tangente
Matemática
TND
0.25
12.00
1.00
Fin temporal
Control de flujo de programa
TOD
0.50
38.00
2.00
Convertir a BCD
Manejo de datos
TOF
1.40
1.40
1.00
Temporizador a la desconexión
Básica
TON
1.40
1.40
1.00
Temporizador a la conexión
Básica
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 ] [
3 ] [
7 ] [
8 ( )
4 ] [ 5 ] [
C–27
Manual de referencia del juego de instrucciones Preface
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. Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
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
SCPÀ
0.75
196.10
6.00
Escalar con parámetros
Matemática
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 Preface
Continuación de procesador SLC 5/03
Cálculo aproximado del uso de memoria del sistema usando un procesador SLC 5/03 1. 2. 3. 4. 5. 6. Subtotal:
7. 4096 –
(paso 7)
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. Multiplique por 2 el no. total de palabras de datos de E/S e introduzca el resultado. Multiplique por 3 el no. total de ranuras de E/S, usadas o no usadas, e introduzca el resultado Para contabilizar el overhead del procesador, introduzca 236 e introduzca el resultado. Multiplique por 5 el archivo de tabla de datos con el número más alto e introduzca el resultado. Multiplique por 5 el archivo de programa con el número más alto e introduzca el resultado. Sume los pasos 1 a 6. Introduzca esto como el subtotal (uso de palabra adicional de 4K).
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
Total:
C–30
usadas. 16. Reste el paso 15 del paso 14. Esta es la cantidad de memoria disponible en el sistema.
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 49 palabras de datos de E/S 30 ranuras Overhead 10 es el número de tabla de datos más alto 4 es el número de archivo de programa más alto
100 x 1.00 =100.00 49 x 3.00 =147.00 30 x 3.00 = 90.00 236.00 10 X 5 = 50.00 4 X 5 = 20.00 643.00
Subtotal
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 15 instrucciones OTE 5 instrucciones TON 3 instrucciones GRT 1 instrucción SCL 1 instrucción TOD 3 instrucciones MOV 10 instrucciones CTU 10 instrucciones RES Uso de instrucción
50 15 5 3 1 1 3 10 10
x x x x x x x x x
1.00 1.00 1.00 3.00 4.00 2.00 2.00 1.00 1.00
= 50.00 = 15.00 = 5.00 = 9.00 = 4.00 = 2.00 = 6.00 = 10.00 = 10.00 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
–
Mem. total calculada aprox. disponible:
12,147.00
141.00
C–31
Manual de referencia del juego de instrucciones Preface
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 SLC 5/02
Palabras SLC 5/03
Palabras SLC 5/04
0.375
1
1
Cada archivo de programa adicional
1
5
5
Cada archivo de datos adicional
1
5
5
Cada ranura de E/S
0.75
3
3
Overhead
216
236
250
Condición Cada renglón
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
Manual de referencia del juego de instrucciones Preface
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. Tipo de instrucción XIC o XIO
Tiempo de ejecución (µs) 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 destino
730
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. Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
ABL
35.00
156.00
2.00
Prueba de búfer por línea
ASCII
ABS
0.562
8.60
2.00
Absoluto
Matemática
ACB
35.00
131.00
2.00
No. de caracteres en búfer
ASCII
ACI
0.187
56.00
2.00
Cadena a entero
ASCII
ACL
0.187
332.80
2.00
Borrado del búfer ASCII de recepción y/o transmisión
ASCII
ACN
0.187
56 + (2.5/car.)
3.00
Concatenado de cadenas
ASCII
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 cadena
ASCII
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 caracteres ASCII
ASCII
ARL
35.00
156.00
3.00
Lectura ASCII de línea
ASCII
ASC
0.187
43.5 + (2.5/car.)
4.00
Búsqueda de cadena
ASCII
ASN
0.562
41.45
2.00
Arco seno
Matemática
ASR
0.187
43.50
3.00
Comparación de cadenas ASCII
ASCII
ATN
0.562
40.15
2.00
Arco tangente
Matemático
AWA
35.00
307.80
3.00
Escritura ASCII con anexo
ASCII
C–35
Manual de referencia del juego de instrucciones Preface
Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
AWT
35.00
217.30
3.00
Escritura ASCII
ASCII
BSL
7.50
31.6 + (2.25/pal.)
3.00
Desplazamiento a la izquierda
Específica a la aplicación
BSR
7.50
31.5 + (2.31/pal.)
3.00
Desplazamiento a la derecha
Específica a la aplicación
CLR
0.562
1.50
3.00, 1.00
Borrar
Matemática
COP
0.562
20.2 + (2.01/pal.)
3.00
Copiar archivo
Manejo de datos
COS
0.562
37.20
2.00
Coseno
Matemática
CPT
0.562
8.80À
Á
Calcular
Matemática
CTD
1.312
1.312
1.00
Conteo –
Básico
CTU
1.312
1.312
1.00
Conteo +
Básico
DCD
0.375
8.88
2.00
Descodificar 4 a 1 de 16
Manejo de datos
DDV
0.375
29.60
2.00
Doble división
Matemática
DEG
0.562
24.70
2.00
Grados
Manejo de datos
DIV
0.562
25.90
3.00, 4.00
División
Matemática
EQUÂ
1.25
1.125
3.00
Igual
Comparativa
FFL
18.00
40.75
3.00
Carga FIFO
Manejo de datos
FFU
18.00
60 + (2.0/pal.)
4.00
Descarga FIFO
Manejo de datos
FLL
0.562
21.9 + (2.50/pal.)
3.00
Llenar archivo
Manejo de datos
FRD
0.375
23.88
2.00
Convertir de BCD
Manejo de datos
GEQÂ
1.25
1.125
3.00
Mayor o igual que
Comparativa
GRTÂ
1.25
1.125
3.00
Mayor que
Comparativa
IID
0.375
5.81
2.00
Interrupción de E/S desactiva
Comprensión de las rutinas de interrupción
IIE
0.375
10.44
2.00
Interrupción de E/S activa
Comprensión de las rutinas de interrupción
IIMÆÇ
0.375
51.00
6.00
Entrada inmediata con máscara
Control de flujo de programa
C–36
Uso de memoria y tiempos de ejecucion de instruccion
Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
INT
0.187
0.187
1.00
Subrutina de interrupción
Específica a la aplicación
IOMÆÈ
0.375
75.74
6.00
Salida inmediata con máscara
Específica a la aplicación
JMP
0.187
37.44
1.00
Saltar a etiqueta
Específica a la aplicación
JSR
0.187
112.00
1.00
Saltar a subrutina
Control de flujo 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
Test lím
Comparativa
LN
0.562
51.35
2.00
Logaritmo natural
Matemática
LOG
0.562
54.55
2.00
Logaritmo en base 10
Matemática
MCR
7.00
3.00
1.00
Restablecimiento control maestro
Control de flujo de programa
MEQÂ
NA
22.75
4.00
Comparación con máscara para igual
Comparativa
0.375
1.125
2.00
Mover
Manejo de datos
NA
183.00
20.00
Mensaje
Comunicación
MUL
0.562
17.75
3.00, 4.00
Multiplicación
Matemática
MVM
0.562
17.40
3.00
Mover con máscara
Manejo de datos
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
Oper. Not lógico
Manejo de datos
OR
0.562
1.50
3.00
Oper. O inclusivo
Manejo de datos
OSR
5.75
9.10
2.00
Un frente ascendente
Básica
MOV MSGÃ
C–37
Manual de referencia del juego de instrucciones Preface
Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
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
PID
14.31
169.82
26.00
Proporcional/ integral/derivada
PID
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 subrutina
Control de flujo de programa
RPI
0.375
91 + (56/ranura)
2.00
Restablecer interrup. pendiente
Comprensión de rutinas de interrup.
RTO
1.312
1.312
1.00
Temporizador retentivo
Básica
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 parámetros
Matemática
SIN
0.562
38.05
2.00
Seno
Matemática
SQC
7.10
33.20
5.00
Secuenciador de comparación
Específica a la aplicación
SQL
7.10
33.20
4.00
Carga secuenciador
Específica a la aplicación
SQO
7.10
44.10
5.00
Secuendiador de salida
Específica a la 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
Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
SUS
0.375
10.31
2.00
Suspender
Control de flujo de programa
SVC
0.187
200
1.00
Servicio de comunicaciones
Comunicación
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 desconexión
Básica
TON
1.312
1.312
1.00
Temporizador a la conexión
Básica
XICÂ
0.375
0.375
1.00
Examina si cerrado
Básica
XIOÂ
0.375
0.375
1.00
Examina si abierto
Básica
XOR
0.562
1.50
3.00
Operación O exclusivo
Manejo de datos
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 Preface
Ç 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 ] [
3 ] [
7 ] [
4 ] [ 5 ] [
C–40
8 ( )
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ámicamente (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. Mnemónico
Tiempo de ejecución falso (aprox. µsegundos)
Tiempo de ejecución verdadero (aprox. µsegundos)
Uso de memoria (palabras de usuario)
Nombre
Tipo de instrucción
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
SCPÀ
0.75
94.15
6.00
Escalar con parámetros
Matemática
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 Preface
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
• • •
C–42
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
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. En consideración del overhead del procesador, introduzca 250 e introduzca el resultado. Multiplique por 5 el archivo de tabla de datos con el no. más alto usado e introduzca el resultado. Multiplique por 5 el archivo de programa con el no. más alto usado e introduzca el resultado. Sume los pasos 1 a 6. Introduzca esto como el subtotal (uso de palabra de 4K adicionales).
4. 5. 6. Subtotal:
7. 4096 – (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
Manual de referencia del juego de instrucciones Preface
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. Tipo de instrucción XIC o XIO
Tiempo de ejecución (µs) 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 destino
694
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. Operando de fuente (µs)
Forma de direcciónÀ
SLC 5/03
SLC 5/04
Operando de destino (µs) SLC 5/03
SLC 5/04
Si se usa en una instrucción de tipo de archivo SLC 5/03
SLC 5/04
N7:[ * ]
65.1
56.15
63.10
54.20
76.35
66.75
ST12:[ * ].[ * ]
69.45
60.00
67.45
58.05
80.70
70.60
ST12:[ * ].0
74.65
59.60
72.65
57.65
85.90
70.20
ST12:0.[ * ]
74.65
59.60
72.65
57.65
85.90
70.20
N[ * ]:[ * ]
105.90
89.40
131.50
112.55
138.75
118.70
N[ * ]:0
111.10
89.00
136.70
112.15
143.95
118.30
ST[ * ]:[ * ].[ * ]
110.25
93.25
135.85
116.40
143.10
122.55
ST[ * ]:[ * ].0
115.45
92.85
141.05
116.00
148.30
122.15
ST[ * ]:0.[ * ]
115.45
92.85
141.05
116.00
148.30
122.15
ST[ * ]:0.0
120.65
92.45
146.25
115.60
153.50
121.75
#N7:[ * ]
73.05
59.35
64.65
57.30
86.80
69.80
#ST12:[ * ].[ * ]
77.40
63.20
69.00
61.15
91.15
73.65
#ST12:[ * ].0
82.60
62.80
74.20
60.75
96.35
73.25
#ST12:0.[ * ]
82.60
62.80
74.20
60.75
96.35
73.25
#N[ * ]:[ * ]
110.95
92.95
133.40
114.40
146.65
121.35
#N[ * ]:0
116.15
92.55
138.60
114.00
151.85
120.95
#ST[ * ]:[ * ].[ * ]
115.30
96.80
137.75
118.25
151.00
125.20
#ST[ * ]:[ * ].0
120.50
96.40
142.95
117.85
156.20
124.80
#ST[ * ]:0.[ * ]
120.50
96.40
142.95
117.85
156.20
124.80
#ST[ * ]:0.0
125.70
96.00
148.15
117.45
161.40
124.40
À [ * ] indica que una referencia indirecta ha sido sustituida.
C–45
Manual de referencia del juego de instrucciones Preface
Ejemplos SLC 5/03
ADD ADD Source A
N7:[*]
Source B
T4:[*].ACC
Dest
ADD Fuente A Fuente B Destino
N7[*]:[*]
1.70 65.10 74.65 131.50 272.95 µs
SLC 5/04
BSL BIT SHIFT LEFT File #B3[*]:1 Control Bit Address Length
C–46
R6:2 B3/[*] 32
(EN) (DN)
BSL 31.5 + (2)2.31 = 36.12 Archivo 120.95 Dirección de bit 77.80 234.87 µs
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. Forma de dirección
Tiempo adicional (µs) SLC 5/03 SLC 5/04
B3/[ * ]
96.70
77.80
B3:1/[ * ]
96.70
77.80
B3:[ * ]/[ * ]
91.50
72.80
ST12:[ *].[ * ]/[ * ]
100.65
76.65
ST12:[ * ].[ * ]/0
100.85
76.25
ST12:[ *].0/[ * ]
100.85
76.25
ST12:[ * ].0/0
105.85
75.85
ST12:0.[ * ] /0
105.85
75.85
ST12:0.0/[ * ]
105.85
75.85
B[ * ]/[ * ]
171.50
141.40
B[ * ]:1/[ * ]
171.50
141.40
B[ * ]:[ * ]/[ * ]
166.30
141.80
ST[ * ]:[ * ].[ * ]/[ * ]
170.65
145.65
ST[ * ]:[ * ].[ * ]/0
175.85
145.25
ST[ * ]:[ * ].0/[ * ]
175.85
145.25
ST[ * ]:[ * ].0/0
181.05
144.85
ST[ * ]:0.[ * ]/[ * ]
175.85
145.25
ST[ * ]:0.[ * ]/0
181.05
144.85
ST[ * ]:0.0/[ * ]
181.05
144.85
ST[ * ]:0.0/0
186.25
144.45
C–47
Manual de referencia del juego de instrucciones Preface
Tiempos de ejecución de instrucción Tiempo de ejecución (µs) SLC 5/03 SLC 5/04
Instrucción XIC
10.20
8.72
XIO
14.65
12.76
OTU
6.30
5.45
OTL
9.35
5.40
OTE
6.25
5.50
OSR
10.50
8.10
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 Preface
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
Eventos en el ciclo de operación del procesador
Evento Escán de entrada
Escán de programa
Escán de salida Comunicaciones
Overhead del procesador
D–2
Descripción El estado de los módulos de entrada se lee y la imagen de entrada en el procesador se actualiza con esta información. El programa de escalera se ejecuta. La tabla de imagen de entrada se evalúa, los renglones de escalera se resuelven y la imagen de salida se actualiza. La información todavía no se transfiere a los módulos de salida. La información de imagen de salida se transfiere a los módulos de salida. La comunicación con programadores y otros dispositivos de la red se realiza. La limpieza interna del procesador se efectúa. Las acciones incluyen la realización el escán previo del programa y la actualización de la base de tiempo interna y el archivo de estado.
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 instrucción de bit o palabra de datos
Tiempo de acceso por instrucción de palabras múltiples
SLC 5/02
Vea la página C–21.
Vea la página C–21.
SLC 5/03 OS300, OS301
Vea la página C–34.
Vea la página C–34.
SLC 5/04 OS400, OS401
Vea la página C–44.
Vea la página C–44.
Procesador
D–3
Manual de referencia del juego de instrucciones Preface
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:
• • •
D–4
Interrupción de entrada discreta (DII) Interrupción temporizada seleccionable (STI) Interrupción de E/S
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
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
326 µ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
608 µ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 tiempos de ejecución siguientes para calcular la latencia de interrupción. Configuración de canal DH–485 DF1 half–Duplex maestro/esclavo DF1 full–Duplex
Tiempo de overhead de fondo 300 µs 650 µsÀ 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
Manual de referencia del juego de instrucciones Preface
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 DH–485 DF1 half–duplex maestro/esclavo DF1 full–duplex DH+
Tiempo de overhead de fondo 220 µs 553 µsÀ 553 µsÀ 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
288 µs
Tiempo de entrada
60 µs
Overhead fijo
0 µs
Overhead de comunicación de fondo de canal 0
300 µs
Overhead de comunicación de fondo de canal 1
648 µs
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
237 µs
Tiempo de entrada
60 µs
Overhead fijo
220 µs
Overhead de comunicación de fondo de canal 0
0 µs
Overhead de comunicación de fondo de canal 1
517 µs
Latencia de interrupción total (máx.)
D–7
Manual de referencia del juego de instrucciones Preface
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: Comunicación de fondo
Comunicación de primer plano
Overhead de forzado de entrada Overhead de forzado de salida Tiempos de overhead del procesador
D–8
Definición: Ocurre cuando el procesador está conectado a una red activa. 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. Durante este evento, el procesador realiza los comandos de comunicación contenidos en los paquetes finalizados construidos durante las comunicaciones de fondo. Este valor se incluye en el tiempo de escán cuando los forzados se habilitan en el programa. Este valor se incluye en el tiempo de escán cuando los forzados se habilitan en el programa. El mantenimiento interno del procesador se efectúa. Las acciones incluyen la realización del escán previo de programa y la actualización de la base de tiempo interna y el archivo de estado.
Tiempo de escán estimado
Término:
Definición:
Un solo paso
Al usar esta función con un procesador SLC 5/02, SLC 5/03 ó SLC 5/04, puede ejecutar el programa un renglón o una sección individualmente. Esta función se usa para propósitos de depuración.
Módulo de palabras múltiples
Un ejemplo de módulos de palabras múltiples es DCM, analógico y DSN.
Hoja de trabajo A – Cómo estimar el tiempo de escán del controlador fijo Procedimiento 1. Estime el tiempo de escán de entrada (µ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).
Tiempo de escán mínimo
Tiempo de escán máximo
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 = No. de 1/2 DCM, entrada analógica ó 1746–HS ________ x 1126 = No. de 3/4 DCM ________ x 1600 = No. de DCM lleno, BASIC, ó 1747–DSN ________ x 2076 = No. de 1747–KE ________ x 443 = No. de 1746–NT4 ________ x =
E.)________ F.) ________ G.)________ H.)________ I.) ________ 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) = 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) (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.
M)________ N)________
N)________
Continúa en la página siguiente
D–9
Manual de referencia del juego de instrucciones Preface Procedimiento 2. Calcule el tiempo de escán de salida (µs). 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).
Tiempo de escán mín.
Tiempo de escán máx.
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)
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. 3. Estime el tiempo de escán de programa. Este cálculo aproximado supone la operación de todas las instrucciones una vez por cada escan de operación. 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.)
K)________ L)_________
L)________
A)_________
A)________ B)_________
C)__________
4. Sume los valores en las columnas de tiempo de escán mínimo y máximo.
__________ subtotal
5. Añada el tiempo de overhead del procesador (178 para tiempo de escán mín.; 278 para tiempo de escán máx.) a los subtotales calculados en el paso 4. Use estos subtotales nuevos para calcular el overhead de comunicación en el paso 6.
__________ subtotal
_________ subtotal
6. Calcule el overhead de 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; multiplique el subtotal para el tiempo de escán máx. (B) entre 1.140 (el valor máx. toma en cuenta la red activa DH-485) cuando haya comunicación.
A x 1.000 _________ µs
B x 1.140 ________ µs
C+ 0
D + 2310
_________ µs
________ µs
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 2310. (El tiempo de escán máx. toma en cuenta 6.3 Convierta los µseg. en mseg, divida entre 1000.
D–10
+ 178
/ 1000
_________ subtotal + 278
/ 1000
Tiempo de escán estimado
Tiempos de escán mín. y máx. calculados para la aplicación del controlador fijo:
mseg
mseg
D–11
Manual de referencia del juego de instrucciones Preface
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)_________ M)_________
1.5 Calcule el overhead de entrada forzado: Overhead de entrada forzado = (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. 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)
J)_________
2.5 Calcule el overhead de salida forzado: Overhead de salida forzado = 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)
K)_________
Continúa en la página siguiente
D–12
Tiempo de escán estimado
Procedimiento 3. Estime el tiempo de escán de programa. 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). 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.) 4. Sume los valores en las columnas de tiempo de escán mínimo y máximo. 5. Sume el tiempo de overhead del procesador (178 para tiempo de escán mínimo; 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. 6. Calcule el overhead de comunicación: 6.1 Calcule el overhead de comunicación de fondo: multiplique el subtotal para el tiempo de escán mín. (estimado en el paso 5) entre 1; 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)..
Tiempo de escán mínimo
Tiempo de escán máximo
A)__________
A)_________
B)__________
B)_________ _________ subtotal
___________
subtotal + 178
+ 278
__________ subtotal
_________ subtotal
x 1.000
__________ µseg + 0
__________ µseg / 1000
x 1.140
_________ µseg + 2310
_________ µseg / 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. Los tiempos de escán mínimo y máximo estimados de la aplicación de 1747-L5100 ó 1747-L514:
mseg
mseg
D–13
Manual de referencia del juego de instrucciones Preface
Hoja de trabajo C – Cómo estimar el tiempo de escán del procesador 1747-L524 Procedimiento
Tiempo de escán mínimo
Tiempo de escán máximo
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 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 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) 1.6 Calcule el overhead de entrada forzado ()) = (No. de módulos de entrada x 108) + 140 por palabra adicional para los módulos de palabras múltiples
M)_________ N)_________ O)_________ Continúa en la página siguiente
D–14
Tiempo de escán estimado
Procedimiento
Tiempo de escán mínimo
Tiempo de escán máximo
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 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
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)
L)_________
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
M)_________
3. Calcule el tiempo de escán de programa. 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. 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 =
A)__________ B)__________ __________
A)_________ _________ _________ 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.) 4. Sume los valores en las columnas de tiempo de escán mínimo y máximo. 5. Añada el tiempo de overhead de procesador (180 para tiempo de escán mín.; 280 para tiempo de escán máx.) a los subtotales calculados en el paso 4. Use estos subtotales nuevos para calcular el overhead de comunicación en el paso 6.
+ 180
________subtotal
+ 280
_________ subtotal
Continúa en la página siguiente
D–15
Manual de referencia del juego de instrucciones Preface
Procedimiento 6. Calcule el overhead de comunicación: 6.1 Calcule el overhead de comunicación de fondo: multiplique el subtotal para el tiempo de escán mín. (estimado en el paso 5) por 1040; 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).
Tiempo de escán mínimo x 1040
Tiempo de escán máximo x 1140
_________ µseg.
_________ µseg + 2286
+ 0
__________ µ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.
mseg
Tiempos de escán mínimo y máximo calculados de la aplicación 1747-L524: 7. Estime el tiempo de escán para la aplicación 1747-L524 de serie B; divida los valores para la aplicación de serie C entre 0.60. Tiempos de escán mínimo y máximo estimados de la aplicación 1747-L524 de serie B:
D–16
/ 0.60
mseg
mseg / 0.60
mseg
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.
X)________
X)________
1. 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 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)________
1.3
No. de 1746–NI4 No. de 1746–NIO4I, NIO4V No. de 1746–NT4 No. de DSN de 7 bloques No. de DSN de 30 bloques No. de 1746–BAS (configuración SLC 5/01)
_______ x 316 _______ x 272 _______ x 385 ______ _x 423 _______ x 1051
= = = = =
K.)________ L.)________ M.)________ N.)________ O.)________
_______ x 451 =
P.)________
No. de 1747–SN No. de 1746–HSCE No. de 1746–BAS (configuración SLC 5/02 y SLC 5/03)
_______ x 1218 = _______ x 506 =
Q.)________ R.)________
_______ 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 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: 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 (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; 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; coloque los valores en el subtotal del tiempo de escán máximo.
Y)_______
Y)_______
subtotal_______ subtotal_______ Continúa en la página siguiente
D–17
Manual de referencia del juego de instrucciones Preface
Procedure
Min Scan Time
Max Scan Time
X)_______
X)_______
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 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 No. de DSN de 30 bloques No. de 1746–BAS (configuración SLC 5/01)
_______ x 469 = _______ x 1224 =
L.)________ M.)________
_______ 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 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
R2)______
2.7 Calcule el tiempo de escán de salida máximo para la sección 2.3: Escán de salida (R2) = No. de módulos de E/S especiales x 200 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)
Y)_______
Y)_______
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 en el subtotal de tiempo de escán máximo
subtotal_______ Continúa en la página siguiente
D–18
Tiempo de escán estimado
Procedimiento 3. Calcule el tiempo de escán de programa. 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. Coloque el valor en la línea “Renglones”. 3.2 Calcule el tiempo de ejecución de programa cuando todas las instrucciones sean 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.
Tiempo de escán mín.
Tiempo de escán máx.
Renglones)_____ + Tiempo)______
Renglones)_____ + Tiempo)______
subtotal______
subtotal______
subtotal
subtotal
4. Tiempo de overhead de procesador (S:33/8 = 1 añada 752 µs; S:33/8 = 0 añada 844 µs) 5. Calcule el overhead de comunicación: 5.1 Calcule el overhead de comunicaciones de fondo usando la tabla siguiente. El overhead mín. se aplica cuando los dispositivos no están conectados al canal. Canal 0 Canal 1 Overhead de comunicación de fondo (RS232) (DH485) DF1 full–duplex DF1 half–duplex DH–485 DF1 full–duplex DF1 half–duplex DH–485
DH–485 DH–485 DH–485 Parada Parada Parada
Mínimo
Máximo
1026 1025 1040 1006 1005 1020
1180 (1280) 1175 1160 1100 (1200) 1095 1080
Use los números entre paréntesis cuando se usen instrucciones MSG en el canal DF1 full–duplex. 5.2 Calcule el overhead de comunicaciones de primer plano: 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á conectado el procesador.)
Overhead
1027
0
subtotal
subtotal
µseg
µseg
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 procesador y overhead de comunicación). 7. Convierta µseg en mseg dividiendo entre 1000. Tiempos de escán mín. y máx. estimados de la aplicación 1747-L532:
Nota
Overhead +
+
/ 1000
/ 1000
mseg
mseg
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
Manual de referencia del juego de instrucciones Preface
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.
X)________
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 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 No. de 1746–NIO4I, NIO4V No. de 1746–NT4 No. de DSN de 7 bloques No. de DSN de 30 bloques No. de 1746–BAS (configuración SLC 5/01) 1.3
296 = 252 = 365 = 403 = 1031 =
K.)________ L.)________ M.)________ N.)________ O.)________
_______ x 431 =
P.)________
No. de 1747–SN _______ x 1198 = No. de 1746–HSCE _______ x 486 = No. de 1746–BAS (confniguración SLC 5/02 y SLC 5/03) _______ x 585 =
Q.)________ R.)________
1.4 If S:33/8 is clear, add 78 µs per configured input slot
_______ x _______ x _______ x _______ x _______ x
_______ x 78
=
S.)________ 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. 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)_______
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; coloque los valores en el subtotal del tiempo de escán máximo.
Y)_______
subtotal_______ 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.
X)_______
X)_______
2. Calcule el tiemp 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 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 No. de DSN de 30 bloques No. de 1746–BAS (configuración SLC 5/01)
_______ x 449 = _______ x 1204 =
L.)________ M.)________
_______ 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. . 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 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. 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.
Y)_______
Y)_______
subtotal_______ subtotal_______ Continúa en la página siguiente
D–21
Manual de referencia del juego de instrucciones Preface
Procedimiento 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. 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”. 3.2 Calcule el tiempo de ejecución de programa cuando todas las instrucciones sean verdaderas. (Vea el apéndice B para hacer esto.) Coloque este valor en la línea “Tiempo”.
Tiempo de escán mínimo
Tiempo de escán máximo
Renglones)_____ + Tiempo)______ subtotal______
Renglones)_____ + Tiempo)______ subtotal______
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 no están conectados a un canal. Canal 0 Canal 1 Overhead de comunicación de fondo (RS232) (DH+) DF1 full–duplex DF1 half–duplex DH–485 DF1 full–duplex DF1 half–duplex DH–485
DH+ DH+ DH+ Parada Parada Parada
Mínimo
Máximo
1006 1005 1020 1006 1005 1020
1110 (1280) 1100 1090 1090 (1200) 1080 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: 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á conectado al procesador.) Si S:34/1 es establecido para habilitar la actualización activa de la tabla de nodo, sume 400 por comando Si el destino del paquete que ha recibido servicio es el otro canal, sume 400 por comando.
Overhead
1027
0
subtotal
subtotal
µseg
µseg
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 overhead de comunicación). 7. Convierta µseg a mseg dividiendo entre 1000. Tiempos de escán mínimo y máximo calculados para su aplicación 1747-L542:
D–22
Overhead +
+
/ 1000
/ 1000
mseg
mseg
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 de entrada máx.
Tiempo de escán 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 IO4, –IO8, –IO12
74
82
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 NIO4I, NIO4V 1746
272
297
Módulos de salida analógica NO4I, NO4V 1746
NA
342
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 Configuración SLC 5/01
451
500
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 Configuración SLC 5/02 y SLC 5/03
605
656
Módulo de E/S
D–23
Manual de referencia del juego de instrucciones Preface
Procesador SLC 5/04 Tiempo de escán de entrada máx.
Tiempo de escán de salida máx.
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 IO4, –IO8, –IO12 1746
74
82
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 NIO4I, NIO4V 1746s
252
277
Módulos de salida analógica NO4I, NO4V 1746
NA
322
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 Configuración SLC 5/01
431
480
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 Configuración SLC 5/02 y SLC 5/03
585
636
Módulo de E/S
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 1746–IA8 1746–IB16
1 2 1
1746–OA16
3
1746–OB8
1
1746–NIO4V
1
Procesador de 4K Módulo de entrada de 120 VCA de 8 puntos Módulo de entrada drenador de 24 VCC de 16 puntos Módulo de salida de relé de 120 VCA de 16 puntos Módulo de salida de fuente de 24 VCC de 16 puntos 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
Manual de referencia del juego de instrucciones Preface B3 ] [ 0
B3 ]/[ 1
B3 ] [ 45
O:1.0 ( ) 0
T4:0 ]/[ DN
Tiempos de ejecución: 38 microsegundos
B3 ] [ 9 TON TIMER ON DELAY Timer T4:0 Time Base 0.01 Preset 6000 Accum
T4:0 ]/[ DN
T4:0 ] [ DN
B3 ]/[ 1
GRT GREATER THAN Source A T4:0.ACC
TOD TO BCD Source
Source B
Dest
5999
MOV MOVE Source Dest
END
D–26
(EN)
139 microsegundos
(DN)
288 microsegundos T4:0.ACC S:13
S:13 O:1.0
Total: 465 microsegundos
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. x 652 = D.) 652 No. de 1/4 DCM o comb. analógica 1 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 + (No. de módulos de E/S especiales x 50)
1510
1.5 Calcule el overhead de entrada forzado: Overhead de entrada forzado = (No. de módulos de entrada x 180) + 140 por 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.) No. de módulos de 16 puntos 3 x 272 = B.) No. de módulos de 32 puntos 0 x 470 = C.)
860
173 816 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 0 x 1028 = E.) 0 ó 1746–HS 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 = 2.4 Calcule el tiempo de escán de salida máximo: Tiempo de escán de salida máximo = 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)
1747 1788
1000 Continúa en la página siguiente
D–27
Manual de referencia del juego de instrucciones Preface
Procedimiento: 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. 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.) 4.
Sume los valores en las columnas del tiempo de escán mínimo y máximo.
5. Sume el tiempo de overhead de procesador (178 para tiempo de escán mín.; 278 para tiempo de escán máx.) a los subtotales estimados en el paso 4. Use estos subtotales nuevos para calcular el overhead de comunicación en el paso 6. 6. Calcule el overhead de comunicación: 6.1 Calcule el overhead de comunicación de fondo: multiplique el subtotal para el tiempo de escán mín. (estimado en el paso 5) entre 1; 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).
Tiempo de escán mín.
Tiempo de escán máx.
3
3
465
465
3675
subtotal
5626
subtotal
+ 178
+ 278
3853 subtotal
5804 subtotal
x 1.000
3853
x 1.140
µseg
6617 + 2310
+ 0
3853
µseg
8927
µ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 ó 1747-L514:
D–28
3.85 mseg
8.9 mseg
Tiempo de escán estimado
D–29
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 Preface
Modos de direccionamiento válidos y tipos de archivo Los modos de direccionamiento siguientes están disponibles: Modo de direccionamiento
Ejemplo
Directo
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 ST20:5
T4:8.ACC
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
Manual de referencia del juego de instrucciones Preface
Instrucción
ABLÀ
Descripción
Búfer de prueba ASCII para línea
Parámetro de instrucción
Modo(s) de direccionamiento válido(s)
Tipos de archivo válidos
canal control
0 directo
R
caracteres ABSÁ
ACBÀ
Valor absoluto
Número ASCII de caracteres en búfer
0–1024 directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767 f-min–f-max
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ningunos
canal
0 directo
R
caracteres
ACLÀ
ACNÀ
ACSÁ
Cadena ASCII a entero
Búfer de borrado ASCII
Concatenado de cadena ASCII
Arco coseno
ningunos
fuente
control
ACIÀ
Valores inmediatos
ningunos 0–1024
fuente
directo, indirecto
ST
ningunos
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ningunos
canal
0
búfer de transmisión
0=no ó 1=sí
búfer de recepción
0=no ó 1=sí
fuente A
directo, indirecto
ST
ningunos
fuente B
directo, indirecto
ST
ningunos
destino
directo
ST
ningunos
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST M
–32,768–32,767 f-min–f-max
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ningunos
À 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
ADD
AEXÀ
AHLÀ
Descripción
Sumar
Extracción de cadena ASCII
Líneas de comunicación de establecimiento/ restablecimiento ASCII
Parámetro de instrucción
Modo(s) de direccionamiento válido(s)
Tipos de archivo válidos
fuente A
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767 f-min–f-max
fuente B
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767 f-min–f-max
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
fuente
directo, indirecto
ST
ninguno
índice
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
1–82
número
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
1–82
destino
directo
ST
ninguno
canal
0
Máscara Y
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
0–FFFF
Máscara O
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
0–FFFF
control
directo
R
ninguno
estado de canal AICÀ
AND
Entero ASCII a cadena
Ooperador Y lógico
Valores inmediatos
0–001F
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
destino
directo
ST
ninguno
fuente A
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
fuente B
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
À Soportado solamente por los procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401.
E–5
Manual de referencia del juego de instrucciones Preface
Instrucción
ARDÀ
ARLÀ
ASCÀ
ASNÁ
ASRÀ
ATNÁ
Descripción
Parámetro de instrucción
Modo(s) de direccionamiento válido(s)
Tipos de archivo válidos
Lectura de carac. ASCII canal
Lectura de línea ASCII
Búsqueda de línea ASCII
Arco seno
Comparación de cadena ASCII
Arco tangente
Valores inmediatos 0
destino
directo
ST
ninguno
control
directo
R
ninguno
longitud de cadena
0–82
caracteres leídos
0–82
canal
0
destino
directo
ST
ninguno
control
directo
R
ninguno
longitud de cadena
0–82
caracteres leídos
0–82
fuente
directo, indirecto
ST
ninguno
índice
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
1–82
búsqueda
directo, indirecto
ST
ninguno
resultado
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767 f-mín–f-máx
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
fuente A
directo, indirecto
ST
ninguno
fuente B
directo, indirecto
ST
ninguno
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767 f-mín–f-máx
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
À Apoyado solamente por los procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401. Á Apoyado solamente por los procesadores SLC 5/03 OS302 y SLC 5/04 OS401. E–6
Referencias de instrucciones de programación
Instrucción
AWAÀ
AWTÀ
BSL
Descripción
Escritura ASCII con anexo
Escritura ASCII
Desplazamiento a la izquierda
Parámetro de instrucción
Modo(s) de direccionamiento válido(s)
Tipos de archivo válidos
canal
0
fuente
directo
ST
ninguno
control
directo
R
ninguno
longitud de cadena
0–82
carac. transmitidos
0–82
canal
0
fuente
directo
ST
ninguno
control
directo
R
ninguno
longitud de cadena
0–82
carac. transmitidos
0–82
archivo
directo indexado, indirecto indexado
O, I, S, B, N, A, ST
ninguno
control
directo
R
ninguno
dirección de bit
directo, indirecto
O, I, S, B, T, C, R, N, A, ST, M
ninguno
longitud BSR
Desplazamiento a la derecha
0–2048
archivo
directo indexado, indirecto indexado
O, I, S, B, N, A, ST
ninguno
control
directo
R
ninguno
dirección de bit
directo, indirecto
O, I, S, B, T, C, R, N, A, ST, M
ninguno
longitud CLR
Borrar
Valores inmediatos
destino
0–2048 directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
À Soportado solamente por los procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401.
E–7
Manual de referencia del juego de instrucciones Preface
Instrucción
COP
Descripción
Copiar archivo
Parámetro de instrucción
Modo(s) de direccionamiento válido(s)
Tipos de archivo válidos
fuente
directo indexado, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
destino
directo indexado, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
longitud COSÁ
CPTÁ
Coseno
Calcular
1–128
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767 f-mín–f-máx
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
expresión CTD
CTU
DCD
DDV
DEGÁ
Conteo –
contador
Conteo +
Doble división
Radianes a grados
directo
C
–32,768–32,767
acumulador
–32,768–32,767 directo
C
ninguno
preseleccionado
–32,768–32,767
acumulador
–32,768–32,767
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767 f-mín–f-máx
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
Á Soportado solamente por los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.
E–8
ninguno
preseleccionado
contador
Descodificar 4 a 1 de 16
Valores inmediatos
Referencias de instrucciones de programación
Instrucción
DIV
ENCÂ
EQU
FFLÃ
FFUÃ
Descripción
División
Codificar (encode) 1 de 16 a 4
Igual
Carga FIFO
Descarga FIFO
Parámetro de instrucción
Modo(s) de direccionamiento válido(s)
Tipos de archivo válidos
Valores inmediatos
fuente A
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767 f-mín–f-máx
fuente B
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767 f-mín–f-máx
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
fuente A
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
fuente B
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767 f-mín–f-máx
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, MÆ
–32,768–32,767
gama FIFO
directo indexado, indirecto indexado
O, I, S, B, N, A
ninguno
control FIFO
directo
R
ninguno
longitud
1–128
posición
0–127
gama FIFO
directo indexado, indirecto indexado
O, I, S, B, N, A
ninguno
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, MÆ
ninguno
control FIFO
directo
R
ninguno
longitud
1–128
posición
0–127
 Soportado solamente por los controladores MicroLogix 1000. à 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–9
Manual de referencia del juego de instrucciones Preface
Instrucción
FLL
Descripción
Llenar archivo
Parámetro de instrucción
Modo(s) de direccionamiento válido(s)
Tipos de archivo válidos
fuente
directo, indirecto
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767 f-mín–f-máx
destino
directo indexado, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
longitud FRD
GEQ
GRT
HSCÅ
HSCÂ
De BCD a binario
Mayor o igual que
Mayor que
Contador de alta velocidad (SLC 5/01)
Contador de alta veloc.
Valores inmediatos
fuente (SLC 5/01)
1–128 directo
O, I, S, B, T, C, R, N, A, ST, M
ninguno
fuente (SLC 5/02, directo, directo indexado, indirecto, indirecto indexado SLC 5/03, SLC 5/04, controladores MicroLogix 1000)
O, I, S, B, T, C, R, N
ninguno
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
fuente A
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
fuente B
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767 f-mín–f-máx
fuente A
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
fuente B
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767 f-mín–f-máx
contador
ninguno
preseleccionado
1–32,767
tipo
0–7
contador
directo
C
ninguno
preseleccionado
–32,768–32,767
acumulador
–32,768–32,767
HSDÂ
Interr. HSC desactiva
contador
directo
C
ninguno
HSEÂ
Interr. HSC activa
contador
directo
C
ninguno
 Soportado solamente por los controladores MicroLogix 1000. ŠSoportado solamente por los procesadores L20, L30, and L40 con entradas de DC.
E–10
Referencias de instrucciones de programación
Instrucción
HSLÂ
Descripción
Carga HSC
Parámetro de instrucción
Modo(s) de direccionamiento válido(s)
Tipos de archivo válidos
Valores inmediatos
contador
directo
C
ninguno
fuente
directo
ByN
ninguno
longitud
siempre 5
IIDÆ
Interrupción de E/S desactiva
ranuras
palabra hex doble (lista de ranuras
IIEÆ
Interrupción de E/S activa
ranuras
palabra hex doble (lista de ranuras
IIM
Entrada inmediata con máscara
ranura
directo
I
ninguno
máscara
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
longitud (SLC 5/03 y SLC 5/04) INTÃ
Interrupción de E/S
IOM
Salida inmediata con máscara
1–32
ninguno ranura
directo
O
ninguno
máscara
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
longitud (SLC 5/03 y SLC 5/04)
1–32
JMP
Saltar
no. de etiqueta
0–999
JSR
Saltar a subrutina
número de archivo de subrutina
3–255
LBL
Etiqueta
no. de etiqueta
0–999
 Soportado solamente por los controladores MicroLogix 1000. à Soportado solamente por los procesadores SLC 5/02, SLC 5/03 y SLC 5/04 y los procesadores MicroLogix 1000. Æ Soportado solamente por los procesadores SLC 5/02, SLC 5/03 y SLC 5/04.
E–11
Manual de referencia del juego de instrucciones Preface
Instrucción
LEQ
LES
LFLÃ
LFUÃ
LIMÃ
Descripción
Menos o igual que
Menos que
Carga LIFO
Descarga LIFO
Test lím (circ)
Parámetro de instrucción
Modo(s) de direccionamiento válido(s)
Tipos de archivo válidos
Valores inmediatos
fuente A
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
fuente B
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
fuente A
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ningunos
fuente B
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, MÄ
–32,768–32,767
gama LIFO
directo indexado, indirecto indexado
O, I, S, B, N, A
ninguno
control LIFO
directo
R
ninguno
f-mín–f-máx
f-mín–f-máx
longitud
1–128
posición
0–127
gama LIFO
directo indexado, indirecto indexado
O, I, S, B, N, A
ninguno
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, MÄ
ninguno
control LIFO
directo
R
ninguno
longitud
1–128
posición
0–127
límite bajo prueba límite alto
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
f-mín–f-máx
f-mín–f-máx
f-mín–f-máx
à Soportado solamente por los procesadores SLC 5/02, SLC 5/03 y SLC 5/04 y los controladores MicroLogix 1000. Ä El direccionamiento indexado no se permite cuando se usan direcciones T, C, R o M.
E–12
Referencias de instrucciones de programación
Instrucción
LNÁ
LOGÁ
Descripción
Logaritmo natural
Logaritmo en base 10
Parámetro de instrucción fuente
Restab. control maestro
MEQ
Comparación con máscara para igual
MOV
Mover
Mensaje
Valores inmediatos
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
f-mín–f-máx
f-mín–f-máx
ninguno fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
máscara de fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
comparación
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
destino MSG (5/02 only)
Tipos de archivo válidos
directo, directo indexado, indirecto, indirecto indexado
destino MCR
Modo(s) de direccionamiento válido(s)
f-mín–f-máx
lectura/escritura
0=lect.,1=escrit.
dispositivo destino
2=500CPU, 4=485CIF
bloque de control
directo
N
long. bloque contr. dirección local
7 directo
O, I, S, B, T, C, R, N, A
nodo destino dirección destino longitud de mensaje
ninguno
ninguno 0–31
directo
O, I, S, B, T, C, R, N, A
0–255
T, C, R
1–13
I, O, S, B, N
1–41
Á Soportado solamente por los procesadores SLC 5/03 OS302 y SLC 5/04 OS401. E–13
Manual de referencia del juego de instrucciones Preface
Instrucción
MSG (5/03 y 5/04 solamente)
Descripción
Mensaje
Parámetro de instrucción
Modo(s) de direccionamiento válido(s)
Tipos de archivo válidos
Valores inmediatos
tipo
64=sem. a sem.
lectura/escritura
0=lect., 1=escrit.
dispositivo destino
2=500CPU, 4=485CIF, 8=PLC5
local/remoto
16=local, 32=remoto
bloque de control
directo
N
ninguno
long. bloque contr.
14
no. de canal
0ó1
nodo destino
0–31, 0–254 if 485CIF
ID de vínculo de puente remoto
0–254, 0 cuando local
dirección de nodo de puente remoto
0–254 0 cuando local
dirección de nodo de puente local
0–254, 0xFFFF cuando local
dirección de archivo local
directo
O, I, S, B, T, C, R, N, F, A, ST, MÇ
ningunos
dirección de archivo destino
directo
O, I, S, B, T, C, R, N, F, A, ST, MÇ
0–255
O, I, S, B, N, AÇ
1–103
FÇ
1–51
T
1–34 ó si PLC5: 1–20
C, R
1–34
STÇ
2 ó si PLC5: 1
longitud de mensaje
lím. tmpo. sobrepasado mensaje
0–255
Ç Los tipos de archivo F, A y ST se aplican solamente a SLC 5/03 OS301 ó posteriores y SLC 5/04.
E–14
Referencias de instrucciones de programación
Instrucción
MUL
Descripción
Multiplicación
Parámetro de instrucción fuente A
NEG
NEQ
NOT
OR
OSR
Mover con máscara
Cambio de signo
Diferente
Operador No lógico
Operador O inclusivo
Un frente ascendente
Tipos de archivo válidos
Valores inmediatos
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
máscara de fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
fuente A
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
fuente B
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
fuente A
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
fuente B
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
dirección de bit
directo, indirecto
O, I, S, B, T, C, R, N, A, ST
ninguno
fuente B
MVM
Modo(s) de direccionamiento válido(s)
f-mín–f-máx
f-mín–f-máx
f-mín–f-máx
E–15
Manual de referencia del juego de instrucciones Preface
Instrucción
Descripción
Parámetro de instrucción
Modo(s) de direccionamiento válido(s)
Tipos de archivo válidos
Valores inmediatos
OTE
Activación de salida
dirección de bit
directo, indirecto
O, I, S, B, T, C, R, N, A, ST, M
ninguno
OTL
Enclavamiento de salida
dirección de bit
directo, indirecto
O, I, S, B, T, C, R, N, A, ST, M
ninguno
OTU
Desenclavamiento de salida
dirección de bit
directo, indirecto
O, I, S, B, T, C, R, N, A, ST, M
ninguno
PIDÆ
PID
bloque de control
directo
N
ninguno
variable de proceso
directo, indirecto
O, I, B, T, C, R, N, A
ninguno
variable de control
directo, indirecto
O, I, B, T, C, R, N, A
ninguno
long. bloque contr. RACÂ
RADÁ
Acumulador de restablecimiento HSC
Grados a radianes
contador
directo
C
ninguno
fuente
directo, indirecto
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
fuente destino
REFÆ
Regenerar E/S
RES
Restablecimiento de temporizador/contador
RET
Retorno
RPIÆ
Restablecer interrupción pendiente
23 siempre
f-mín–f-máx
canal 0 (SLC 5/03 y SLC 5/04)
0=no, 1=sí
canal 1 (SLC 5/03 y SLC 5/04)
0=no, 1=sí
estructura
directo
T, C, R
ninguno ninguno
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
f-mín–f-máx
palabra de hex doble (lista de ranuras)
Referencias de instrucciones de programación
Instrucción
RTO
Descripción
Temporizador retentivo a la conexión
SBR
Subrutina
SCLÃ
Escalar
SCPÁ
Parámetro de instrucción temporizador
Modo(s) de direccionamiento válido(s) directo
Tipos de archivo válidos T
Valores inmediatos ninguno
base de tiempo (SLC 5/01)
0.01 solamente
base de tiempo (SLC 5/02, SLC 5/03, SLC 5/04, controladores MicroLogix 1000)
0.01 ó 1.00
preseleccionado
0–32,767
acumulador
0–32,767 ninguno
fuente
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
velocidad
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
offset
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
Escalar con parámetros entrada
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
entrada mín. entrada máx. escala mín. escala máx. salida con escala
f-mín–f-máx
f-mín–f-máx
f-mín–f-máx
f-mín–f-máx
Á 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.
E–17
Manual de referencia del juego de instrucciones Preface
Instrucción
SINÁ
SQC
SQLÃ
Descripción
Seno
Parámetro de instrucción fuente
Secuenciador de comparación
Carga secuenciador
Modo(s) de direccionamiento válido(s)
Tipos de archivo válidos
Valores inmediatos
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
archivo
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, N, A, ST
ninguno
f-mín–f-máx
máscara
directo, directo indexadoÄ, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
fuente
directo, directo indexadoÄ, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
control
directo
R
ninguno
longitud
1–255
posición
0–255
archivo
directo indexado, indirecto indexado
O, I, S, B, N, A, ST
ninguno
fuente
directo, directo indexadoÄ, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
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
SQO
SQRÃ
Descripción
Secuenciador de salida
Raíz cuadrada
Parámetro de instrucción archivo
Modo(s) de direccionamiento válido(s) directo indexado, indirecto indexado
Tipos de archivo válidos
Valores inmediatos
O, I, S, B, N, A, ST
ninguno
máscara
directo, directo indexadoÄ, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
destino
directo, directo indexadoÄ, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
control
directo
R
ninguno
longitud
1–255
posición
0–255
fuente destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
f-mín–f-máx
STDÃ
Desactivar STI
ninguno
STEÃ
Activar STI
ninguno
STSÃ
Comenzar STI
SUB
Resta
archivo
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
0, 3–255 excepto que los controladores MicroLogix 1000 siempre son iguales a 5
tiempo
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
0–255 (SLC 5/02 y MicroLogix 1000), 0–32,767 (SLC 5/03 y 5/04)
fuente A
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,76
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
fuente B destino
f-mín–f-máx
f-mín–f-máx
à 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
Manual de referencia del juego de instrucciones Preface
Instrucción
Descripción
Parámetro de instrucción
Modo(s) de direccionamiento válido(s)
Tipos de archivo válidos
Valores inmediatos
SUS
Suspender
ID de suspensión
–32,768–32,767
SVCÆ
Servicio de comunicaciones
canl 0 (SLC 5/03 y SLC 5/04)
0=no, 1=sí
canal 1 (SLC 5/03 y SLC 5/04)
0=no, 1=sí
SWPÁ
Intercambiar
fuente
directo indexado, indirecto indexado
B, N, A, ST
longitud
TANÁ
Tangente
fuente destino
TND
Fin temporal
TOD
Convertir a BCD
TOF
E–20
Temporizador a la desconexión
ninguno 1–128: bit, 1–128: entero, 1–41: cadena, 1–128: ASCII
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
f-mín–f-máx
ninguno fuente (SLC 5/01)
directo
O, I, S, B, T, C, R, N
ninguno
fuente (SLC 5/02, SLC 5/03, SLC 5/04)
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
destino
directo
O, I. S. B. T, C, R, N, A, ST, M
ninguno
temporizador
directo
T
ninguno
Referencias de instrucciones de programación
Instrucción
Descripción
Parámetro de instrucción
Modo(s) de direccionamiento válido(s)
Tipos de archivo válidos
Valores inmediatos
base de tiempo (SLC 5/01)
0.01 solamente
base de tiempo (SLC 5/02, SLC 5/03, SLC 5/04, controladores MicroLogix 1000)
0.01 ó 1.00
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
Manual de referencia del juego de instrucciones Preface
Instrucción
TON
Descripción
Temporizador a la conexión
Parámetro de instrucción temporizador
Modo(s) de direccionamiento válido(s) directo
Tipos de archivo válidos T
Valores inmediatos ninguno
base de tiempo (SLC 5/01)
0.01 solamente
base de tiempo (SLC 5/02, SLC 5/03, SLC 5/04, controladores MicroLogix 1000)
0.01 ó 1.00
preseleccionado
0–32,767
acumulador
0–32,767
XIC
Examina si cerrado (examina si contacto cerrado)
bit de fuente
directo, indirecto
O, I, S, B, T, C, R, N, A, ST, M
ninguno
XIO
Examina si abierto (examina si contacto abierto)
bit de fuente
directo, indirecto
O, I, S, B, T, C, R, N, A, ST, M
ninguno
XOR
Operación O exclusivo
dirección A
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
dirección B
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
–32,768–32,767
destino
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, A, ST, M
ninguno
fuente A
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767 f-min–f-max
fuente B
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
–32,768–32,767
directo, directo indexado, indirecto, indirecto indexado
O, I, S, B, T, C, R, N, F, A, ST, M
ninguno
XPYÁ
X a la potencia de Y
destino
Á Soportado solamente por los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.
E–22
f-mín–f-máx
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
Manual de referencia del juego de instrucciones Preface
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 Espacio de trabajo 01
Disco duro 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 Preface
• • • • • •
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.
EEPROM
RAM
Datos de seg. Datos retentivos Archivos prog.
Esp. trabaj. CPU Datos retentivos Archivos prog. CPU
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
EEPROM
Esp. trab. CPU Datos retentivos Archivos prog.
Datos seguridad Datos retentivos Archivos prog CPU
Nota
Dispositivo de programación
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 Preface
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 Datos retentivos Archivos prog
Esp. trab. CPU Datos retentivos 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 Datos retentivos Archivos prog
Esp. trab. CPU Datos retentivos Archivos prog. CPU
F–6
Dispositivo de programación
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 Datos retentivos Archivos prog
Esp. trab. CPU Datos retentivos 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 Datos retentivos Archivos prog
Esp. trab. CPU Datos retentivos Archivos prog. CPU
Dispositivo de programación
F–7
Manual de referencia del juego de instrucciones Preface
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)
Nota
Tipo de archivo
Identificador
Número de archivo
Salida Entrada Estado Bit Temporiz. Contador Control Entero Flotar
O I S B T C R N F
0 1 2 3 4 5 6 7 8
Archivos definidos por el usuario Tipo de archivo
Identificador
Bit Temporiz. Contador Control Entero Flotar Cadena ASCII
B T C R N F St A
Número de archivo
9–255
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 de: Una palabra dentro de un archivo entero
Una palabra dentro de un archivo de estructura (por ej., un archivo de temporizador)
Un bit dentro de un archivo entero
Un bit dentro de un archivo de bit
Bit dentro de un archivo de estructura (por ej., un archivo de control)
À
Use estos parámetros:À N
7
:
2
Tipo de archivo No. de archivo Delimit. archivo No. de palabra T 4 : 7 . ACC
Tipo de archivo No. de archivo Delimit. archivo No. de estructura Delimitador Palabra N 7 : 2 /
5
Tipo de archivo No. de archivo Delimit. archivo No. de palabra Delimitador bit No. de bit B 3
/ 31
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. R 6 : 7
/ DN
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 Preface
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. Números de ranura 0
1
2
I/O
I/O
I/O
Ran. Entradas Salidas 0 1 2
Controlador de E/S fijo
24 6 Ninguna
16 6 8
Chasis expansor
Archivo de datos 0 – Imagen de salida 15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
0 O:0
X
Salidas de ranura 0 (0–15)
O:1
INVALID
Salidas de ranura 1 (0–5)
X
INVALID
Salidas de ranura 2 (0–7)
O:2
Archivo de datos 1 – Imagen de entrada 15 14 13 12 11 10 Entradas de ranura 0 (0–15) Entradas de ranura 0 (16–23) Entradas de ranura 1 (0–5)
9
8
7
6
5
4
3
2
1
0 I:0
X INVALID INVALID
X
I:0.1 X
I:1
X = Vea los ejemplos en la página siguiente.
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: Formato
Explicación O
Salida
I
Entrada
:
Delimitador de elemento No. de ranura (decimal)
e
Ranura izquierda del chasis expansor: 1 Ranura derecha del chasis expansor: 2
O:e.s/b I:e.s/b
Controlador de E/S fijo: 0
.
Delimitador de palabra. Requerido sólo si un número de palabra es necesario según lo mencionado a continuación.
s
No. de palabra
/
Delimitador de bit
b
No. de terminal
Requerido si el número de entradas o salidas exceden 16 para la ranura. Límite: 0–255 (el límite tiene lugar para “tarjetas especiales” de palabras múltiples).
Entradas: 0- 15 (ó 0 a 23, ranura 0) Salidas: 0- 15
Ejemplos (aplicables al controlador mostrado en la página F–10): O:0/4 O:2/7 I:1/4 I:0/15 I:0.1/7
Salida de controlador 4 (ranura 0) Salida 7, ranura 2 del chasis expansor Entrada 4, ranura 1 del chasis expansor Entrada de controlador 15 (ranura 0) Entrada de controlador 23 (bit 07, palabra 1 de ranura 0)
Alternativa para el direccionamiento de terminales de E/S 16 y superiores: Según se indicó anteriormente, la dirección I:0.1/7 se aplica a la terminal de entrada 23 de ranura 0. También puede direccionar esta terminal como I:0/23. Direcciones de palabra: O:1 I:0 I:0.1
Palabra de salida 0, ranura 1 Palabra de entrada, 0 ranura 0 Palabra de entrada 1, ranura 0
Valores predeterminados: El dispositivo de programación mostrará una dirección de una manera más detallada. Por ejemplo, cuando usted asigna la dirección I:1/4, el dispositivo de programación la muestra como I:1.0/4 (archivo de entrada, ranura 1, palabra 0, terminal 4).
F–11
Manual de referencia del juego de instrucciones Preface
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. Números de ranura 0 Fuente de CPU alim. eléc.
1
I/O
2
I/O
3
4
I/O
I/O
5
I/O
6
7 Fuente de alim. eléc. I/O
I/O
8
9
10
I/O
I/O
I/O Expansión futura
Controlador modular que usa un chasis de 7 ranuras interconectado con un chasis de 10 ranuras Archivo de datos 0 – Imagen de salida 15 14 13 12 11 10 Ran. Entradas Salidas 1 2 3 4 5 6 7 8 9 10
6 32 Ning. 8 Ning. 16 16 8 Ning. Ning.
6 Ning. 16 8 32 Ning. Ning. Ning. 16 16
Salidas de ranura 1 (0–5) Salidas de ranura 3 (0–15) Salidas de ranur 4 (0–7)
9
8
7
6
5
4
3
2
0 O:1
X
O:3 O:4
INVALID X
Ranura 5, salidas de palabra 0 (0–15) Salidas de ranura 9 (0–15)
Salidas de ranura 10 (0–15)
O:5 O:5.1
Slot 9 outputs (0–15)
O:9 X
O:10
Archivo de datos 1 – Imagen de entrada 15 14 13 12 11 10 Entradas de ranura 1 (0–5)
9
8
7
6
5
4
3
2
I:2.1 I:4
INVALID
Entradas de ranura 6 (0–15)
I:6 X
Entradas de ranura 7 (0–15) Entradas de ranura 8 (0–7)
0
I:2 X
Ranura 2, entradas de palabra 1 (0–15) Salidas de ranura 4 (0–7)
1
I:1
INVALID
Ranura 2, entradas de palabra 0 (0–15)
INVALID X = Vea los ejemplos en la página siguiente.
F–12
1
INVALID
I:7 I:8
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
Manual de referencia del juego de instrucciones Preface
En este ejemplo, el procesador usa las direcciones siguientes: Valor:
Dirección de base:
Valor offset en S:24
Dirección offset:
Fuente
N7:10
10
N7:20
Destino
N7:50
10
N7:60
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:
• •
F–14
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.
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 máximo de –3
T4:0.ACC
#T4:3.ACC
#T4:3.ACC T4:9.ACC
Positivo máximo de 6
No se permite la intersección de los límites de archivo
Final del 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 Preface
Ejemplo Si la aplicación requiere que usted monitorice los datos indexados, le recomendamos usar una instrucción MOV para almacenar el valor. MOV
B3 ] [ 1
MOVE Source
#N7:2
Dest
N10:2
ADD ADD Source A
#N7:2
Source B
T4:0.ACC
Dest
T4:1.PRE
N10:2 contendrá el valor de datos añadido a T4:0.ACC.
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
N7:[C5:7.ACC]
Número de palabra
El número de palabra es el valor acumulador del contador 7 en archivo 5.
B3/[I:0.17]
Número de bit
El número de bit se almacena en la palabra de salida 17.
N[N7:0]:[N9:1]
Número de archivo y palabra
El número de archivo se almacena en la dirección de entero N7:0 y el número de palabra en la dirección de entero N9:1.
St10:[N7:0].1
Número de elemento
El número de elemento se almacena en N7:0.
I:[N7:0].1/1
Número de ranura
El número de ranura se almacena en N7:0.
F–17
Manual de referencia del juego de instrucciones Preface
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. COP FLL BSL BSR FFL FFU
Copiar archivo Llenar archivo Desplazamiento a la izquierda Desplazamiento a la derecha (Carga FIFO)* (Descarga FIFO)*
LFL LFU SQO SQC SQL
(Carga LIFO)* (Descarga LIFO)* Salida secuenciador Comparación sec Carga secuenciador*
* 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: 15 La dirección de la gama de bit es #B3:2. La longitud de la gama de bit es 58, introducida como parámetro separado en la instrucción de desplazamiento de bit.
• •
Archivo de datos de bit 3
NO VALIDO
0 0 1 2 3 #B3:2 4 5 6
#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 Preface
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: 15
Archivo de datos de bit 3
0 0 1 2 3 4 5 6 7 #B3:4 8 9 10 11
0 1 2 3 4 5 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 15
0 NO VALIDO NO VALIDO
O:1 O:3 O:4 O:5 O:5.1 O:9 O:10
#O:3
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 Preface
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:
BSL, BSR
Parámetro (usa el indicador de archivo #) Archivo (gama de bit)
SQO, SQC, SQL
Archivo (archivo de secuenciador)
Instrucción
LFL, LFU
LIFO (pila)
FFL, FFU
FIFO (pila)
F–23
Manual de referencia del juego de instrucciones Preface
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 ] [ b
Mf:e.s ]/[ b
Mf:e.s ( ) b
Mf:e.s (L) b
Mf:e.s (U) 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 ] [
EQU
B3 ] [ 0
1
EQUAL Source A
N7:12
Source B
N7:3
M0:3.0 ( ) 1
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 ] [
EQU
B3 ] [ 0
1
EQUAL Source A
N7:12
Source B
N7:3
B3 ( ) 2 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.
Primero escanee el bit. Esto hace este renglón verdadero solamente durante el primer escán después de entrar en el modo de marcha.
S:1 ] [ 15
COP COPY FILE Source Dest Length
#B3:0 #M0:1.0 16
COP COPY FILE Source #N7:0 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 Preface
COP COPY FILE Source Dest Length
#M1:4.3 #N10:0 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.
1
M0:2.1 ] [ 1
2
B3 ] [ 12
B3 ( ) 10 M0:2.1 ] [ 1
B3 ( ) 14
Las instrucciones XIC en los renglones 1 y 2 son direccionadas al archivo de datos M0. Cada una de estas instrucciones añade aproximadamente 1 ms al tiempo de escán (procesador de serie B).
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
1
M0:2.1 ] [ 1
2
B3 ] [ 12
B3 ( ) 10 B3 ( ) 14
B3 ] [ 10
Estos renglones proporcionan la 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/7 hace que el archivo #M1:4.3 actualice el archivo #N10:0 cada 2.56 segundos.
S:4 ] [ 7
B11 [OSR] 0
COP COPY FILE Source Dest Length
#M1:4.3 #N10:0 6
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 Preface
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 ] [ 0
M0:2.1 ( ) 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 ] [ 15
M0:2.1 (U) 1
B3 ] [
M0:2.1 ( ) 1
0 M0:2.1 ] [ 1
F–28
Este renglón es verdadero durante el primer escán después del encendido para desenclavar M0:2.1/1.
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 G1:0 G1:10
0 xxxx 0
1 0 0
2 0 0
3 0 0
4 0 0
5 0 0
6 0
7 0
6 0000
7 0000
8
9 0
0
8 0000
9 0000
Archivo de G de 16 palabras, ranura de E/S 1, formato hexadecimal/bcd address G1:0 G1:10
0 xxxx 0000
1 0000 0000
2 0000 0000
3 0000 0000
4 0000 0000
5 0000 0000
Archivo G de 16 palabras, ranura de E/S 1, formato binario address G1:0 G1:1 G1:2 G1:3 G1:4 G1:5 G1:6 G1:7 G1:8 G1:9 G1:10 G1:11 G1:12 G1:13 G1:14 G1:15
15 xxxx 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
data xxxx xxxx 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0 xxxx 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
F–29
Manual de referencia del juego de instrucciones Preface
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:
• • Nota
F–30
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
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.
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 Preface
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
= 211+28+23+22+21 = 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
1x214 = 16384 16384 1x213 = 8192 8192 1x212 = 4096 4096 1x211 = 2048 2048 1x210 = 1024 1024 1x29 = 512 512 256 1x28 = 256 1x27 = 128 128 1x26 = 64 64 1x25 = 32 32 1x24 = 16 16 1x23 = 8 8 4 1x22 = 4 1x21 = 2 2 1 1x20 = 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) – 215 = (16384+8192+4096+2048+32+2+1) – 32768 = 30755 – 32768 = –2013. 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, 1111 1111 0001 1010 = (24+23+21) – 28 = (16+8+2) – 256 = –230.
G–3
Manual de referencia del juego de instrucciones Preface
1x214 = 16384 16384 1x213 = 8192 8192 4096 1x212 = 4096 1x211 = 2048 2048 1024 1x210 = 1024 512 1x29 = 512 256 1x28 = 256 128 1x27 = 128 64 1x26 = 64 32 1x25 = 32 16 1x24 = 16 8 1x23 = 8 4 1x22 = 4 2 1x21 = 2 1 1x20 = 1 32767 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1x215 = 32768 negativos.
G–4
Esta posición siempre es 1 para los números
Sistemas numéricos
Números hexadecimales Los números hexadecimales usan caracteres individuales con valores decimales equivalentes desde 0 hasta 15: HEX
0 1 2 3 4 5 6 7 8 9
Decimal
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: 163 162 161 160
Ejemplo El número hexadecimal 218A tienen un valor equivalente decimal de 8586: 2x163 = 8192 1x162 = 256 8x161 = 128 10x160 = 10
8192 256 128 10 8586
2 1 8 A
Los números hexadecimales y binarios tienen la equivalencia siguiente: Hexadecimal
Binario
2 1 8 A
= 8586
0 0 1 0
0 0 0 1
1 0 0 0
1 0 1 0
8192 1x213
256 1x28
128 1x27
10 1x23+1x21
= 8586
G–5
Manual de referencia del juego de instrucciones Preface
Ejemplo El número decimal –8586 en formas binarias y hexadecimales equivalentes: Binario
1 1 0 1
1 1 1 0
Hexadecimal
0 1 1 1
D E 7 6
0 1 1 0
= –8586
= 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 hex. 0 1 2 3 4 5 6 7 8 9 A B C D E F
Valor binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Código hexadecimal 0 0 F F
0 0 0 0
0 0 0 0
1 1 1 1
1 1 1 1
Palabra con máscara
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 (todos los bits son 0 inicialmente)
0 0 0 0
0 0 0 0
1 1 0 0
1 0 1 0
G–7
Manual de referencia del juego de instrucciones Preface
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 sxxxxxxxxmmmmmmmmmmmmmmmmmmmmmmm 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 Preface
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. OPERATOR PANEL
Start I:1/6 Stop I:1/7 Thumbwheel for Thickness in 1/4 in.
Change Drill Soon O:3/4
Change Drill Now O:3/6 5 Hole
Drill Change Reset 3 Hole
I:1/11–I:1/14
(Keyswitch) I:1/8
Drill Home I:1/5
Drilled Holes
Drill Depth I:1/4
Quadrature A–B Encoder and Drive I:1/0 I:1/1
I:1/9–I:1/10
Drill On/Off O:3/1 Drill Retract O:3/2 Drill Forward O:3/3 Photo–Eye Reset I:1/2 Counter Hold I:1/3
Photo–Eye Reflector
Conveyor Enable wired in series to the Drive O:3/5 Conveyor Drive Start/Stop wired in series to the Drive O:3/0 H–2
7 Hole
20226
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 Preface
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 Preface 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 preseleccionado 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 Preface 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 Preface 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 Preface 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 interruptor 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 Preface 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 Preface 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 Preface 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: Modo de gráficos Ancho de papel: Largo de papel: Archivo inicial: Archivo final: Línea de potencia: Comentarios de dirección: Visualización de dirección: Comentarios de renglón: Referencias cruzadas de escalera:
SI NO 80 66 2 7 SI SI SI SI NINGUNA
H–19
Manual de referencia del juego de instrucción Preface
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:
• •
H–20
las instrucciones XIC, XIO y TON, vea el capítulo 1. las instrucciones SQO y SQC, vea el capítulo 6.
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 Preface Renglones 2.2 | | |–––––––––––––––––––––––––––––––––––––+END+–––––––––––––––––––––––––––| | | Archivos de datos Dirección N7:0 N7:1 N7:2 N7:3
15 0000 0000 0000 0000
Data 0000 0000 0000 0000 0000 0000 0000 0000
0 0000 0100 0010 0001
Tabla de datos Dirección N7:0
H–22
Datos 0 4
(Raíz=decimal) 2 1 0 0 6000
1500
3000
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 Preface
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 Preface
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:
• •
H–26
las instrucciones XIC, XIO, OTE, OTU, OTL y OSR, vea el capítulo 1. las instrucciones JMP y LBL, vea el capítulo 5.
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 Preface
H–28
Indice
Indice Números 1746-BAS, 12-6 1747-CP3, 12-19 1747-KE, 12-6 1770-KF3, 12-6 1784-KR, 12-6 1785-KA5, 12-6 2760-RB, 12-6
A
archivo de contador (C5:), F-4 archivo de control (R6:), 1-6, F-4 archivo de datos de entrada (I1:), 1-3 archivo de datos de estado (S2:), F-3 archivo de datos de salida (O0:), 1-3 archivo de entrada (I:), F-3 archivo de estado, B-1 convenciones usadas en las pantallas, B-5 descripción general, A-2 descripciones, A-3 archivo de estado (S2:), 1-4
Absoluto (ABS), 3-24 instrucción matemática, 3-24
archivo de estado global (S:100 a S:163), B-74
acceso a archivos del procesador encendido, F-7 operación normal, F-6
archivo de salida (O:), F-3
archivo de punto (coma) flotante (F8:), 3-5 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 instrucciones básicas, 1-10
archivos de datos, F-3 organización, F-3 tipos, indicador de archivo (#), F-19
Actualización del acumulador del contador de alta velocidad, 7-24 Acumulador de restablecimiento del contador de alta velocidad (RAC), 7-22 cómo introducir parámetros, 7-22 operación, 7-22 acumulador DII (S:52), B-72 almacenamiento de archivos del procesador apagado, F-6 descarga, F-5 encendido, F-7
archivos de datos G, F-29 cómo editar los datos de archivo G, F-30 archivos de datos M0 y M1, F-23 cómo capturar los datos de archivo M0-M1, F-27 cómo minimizar el tiempo de escán, F-26 cómo transferir datos entre los archivos de procesador, F-25 módulos de E/S especiales con memoria retentiva, F-28
Añadir (ADD), 3-6 instrucciones matemáticas, 3-6
archivos de procesador descripción general, F-2 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–29
Manual de referencia del juego de instrucción Preface
archivos del procesador almacenamiento y acceso, F-4 apagado, F-6 encendido, F-7 operación normal, F-6 descripción general archivos de datos, F-3 archivos de programa, F-3 Arco conseno (ACS), instrucción matemática, 3-29 Arco coseno (ACS), 3-29 Arco seno (ASN), 3-28 instrucción matemática, 3-28 Arco tangente (ATN), 3-29 instrucción matemática, 3-29 aritmética de punto (coma) flotante binario, G-8
B base de tiempo del temporizador, 1-15 bit de acarreo (S:0/0), B-6 bit de acceso negado (S:1/14), B-16
bit de control DTR (canal 0) (S:33/14), B-64 bit de correspondencia incorrecta de contraseñas de módulo de memoria (S:5/9), B-30 bit de ejecución de interrupción (S:2/2), B-18 bit de ejecución DII (S:2/13), B-21 bit de error de registro de control (S:5/2), B-28 bit de error mayor detectado durante la ejecución de rutina de fallo de usuario (S:5/3), B-29 bit de error mayor detenido (S:1/13), B-15 bit de error menor (S:5), B-27 bit de fallo de protección de encendido (S:1/9), B-9 bit de forzados DTR (canal 0) (S:33/15), B-64 bit de forzados habilitados (S:1/5), B-9 bit de forzados instalados (S:1/6), B-9 bit de guardado con prueba de un solo paso habilitado (S:2/4), B-19
bit de alternador de escán (S:33/9), B-61
bit de habilitación de tabla de nodo activo DH+ (S:34/1), B-65
bit de anulación de fallo al encendido (S:1/8), B-9
bit de habilitación del indicador matemático de punto (coma) flotante (S:34/2), B-65
bit de arranque del módulo de memoria (S:5/8), B-30
bit de interrupción por overflow (S:5.0), B-28
bit de batería baja (S:5/11), B-30
bit de interrupción temporizada seleccionable habilitada (S:2/1), B-18
bit de carga de módulo y marcha (S:1/12), B-13
bit de interrupción por overflow, S:5/0, 3-4
bit de cero (S:0/2), B-7
bit de interrupción temporizada seleccionable pendiente (S:2/0), B-17
bit de comando de mensaje de salida pendiente DH-485 (S:2/7), B-20
bit de límite de archivo de dirección de índice (S:2/3), B-18
bit de comando entrante pendiente DH-485 (S:2/5), B-19
bit de M0-M1 indicados en ranura 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 (S:33/8), B-61
bit de overflow de interrupción temporizada seleccionable (S:5/10), B-30
I–30
Indice
bit de overflow DII (S:5/12), B-31 bit de primer paso (S:1/15), B-17
Carga de secuenciador (SQL), 6-14 instrucción específica de aplicación, 6-14
bit de respuesta de mensaje pendiente DH-485 (S:2/6), B-19
Carga del contador de alta velocidad (HSL), 7-18 cómo introducir parámetros, 7-18 operación, 7-18
bit de selección de overflow matemático (S:2/14), B-22
Carga FIFO (FFL), 4-30 instrucción FIFO, 4-30
bit de selección de overflow matemático S:2/14, 3-8
Carga LIFO (LFL), 4-32 instrucción de desplazamiento de bit, 4-32
bit de reconfiguración DII (S:33/10), B-62
bit de selección de resolución STI (S:2/10), B-21 bit de selección de servicio de comunicaciones DH-485 (S:2/15), B-23 bit de signo (S:0/3), B-7 bit de transferencia inhabilitada (S:34), B-65 bit DII habilitado (S:2/12), B-21 bit DII pendiente (S:2/11), B-21 bits de estado de instrucción ASCII, 10-6 Borrado del búfer ASCII de recepción y/o transmisión (ACL), 10-11 instrucción ASCII, 10-11 Borrar (CLR), 3-14 instrucción matemática, 3-14 Búsqueda de cadena (ASC), 10-22 instrucción ASCII, 10-22 byte de tiempo de escán de control (watchdog) (S:3H), B-26
C Cadena a entero (ACI), 10-10 instrucción ASCII, 10-10 Calcular (CPT), 3-25 instrucción matemática, 3-25 canal 0 de nodos activos DH-485 (S:67 a S:68), B-74 canal 1 de nodos activos DH+ (S:83 a S:86), B-74
Codificar (ENC), 4-13 actualizaciones de los bits de estado aritmético, 4-14 instrucción de manejo de datos, 4-13 Codificar 1 de 16 a 4 (ENC), 4-13 cómo introducir parámetros, 4-13 código de fallo de error mayor (S:6), B-33 código de suspensión/archivo de suspensión (S:7 y S:8), B-44 códigos de error, 13-4 instrucción MSG, 8-30 instrucciones ASCII, 10-29 códigos de error de instrucción ASCII, 10-29 códigos de error de instrucción de mensaje, 8-30 comando de entrada pendiente (canal 0) (S:33/0), B-58 comando de mensaje saliente pendiente (canal 0) (S:33/2), B-59 cómo anidar archivos de subrutina, 5-5 cómo capturar los datos de archivo M0-M1, F-27 cómo crear datos para direcciones indexadas, F-14 cómo especificar direcciones lógicas, usando los mnemónicos, F-9 cómo estimar el tiempo de escán, D-1 ciclo de operación del procesador, D-2 hojas de trabajo, D-8 I–31
Manual de referencia del juego de instrucción Preface
latencia de interrupción, D-4 tiempos de acceso para los datos M0/M1, D-3 cómo introducir constantes numéricas, F-22 valores, F-22 como localizar y corregir fallos, errores de ida a marcha, 13-12 cómo localizar y corregir fallos, 13-1 cómo borrar fallos automáticamente, 13-1 manualmente, 13-3 errores de E/S, 13-19 errores de encendido, 13-4 errores de instrucción de programa de usuario, 13-17 errores de marcha, 13-13 LED de procesador, 13-23 cómo monitorizar las direcciones indexadas, F-15 Comparación con máscara para igual (MEQ), 2-6 comparación con máscara para igual (MEQ), instrucción de comparación, 2-6 Comparación de cadena ASCII (ASR), 10-23 instrucción ASCII, 10-23 comparación de programa de módulo de memoria (S:2/9), B-20 Comparación de secuenciador (SQC), 6-9 instrucción específica de aplicación, 6-9 comunicación bidireccional, 12-31 comunicación de PLC-5 a SLC 500, 12-14 cómo usar el archivo CIF SLC 500 (emulación PLC-2), 12-15 usando la instrucciión de mensaje PLC-5 con "byte", 12-16 usando la instrucción de mensaje PLC-5 con "byte", ejemplo, 12-17 usando la instrucción de mensaje PLC-5 con "palabra", 12-16 ejemplo, 12-17
I–32
comunicación PLC-5 a SLC 500, instrucción de mensaje PLC-5, 12-15 comunicaciones activas (canal 0) (S:33/4), B-59 Comunicaciones de servicio (SVC), 8-60 instrucción de comunicación (5/02 solamente), 8-60 Concatenado de cadenas (ACN), 10-12 instrucción ASCII, 10-12 configuración de canal esclavo half duplex DF1, 12-24 full duplex DF1, 12-20 maestro half duplex DF1, 12-25 protocolo de comunicación ASCII, 12-38 configuración de canal de full duplex DF1, 12-20 configuración de canal del esclavo de half-duplex DF1, 12-24 configuración de los procesadores LSC 5/03 y SLC 5/04, configuración del canal maestro half duplex DF1, 12-25 configuración de los procesadores SLC 5/03 y SLC 5/04 configuración de canal ASCII genérico, 12-38 configuración del canal de esclavo half duplex DF1, 12-24 configuración del canal de maestro half duplex DF1, 12-25 configuracón de los procesadores SLC 5/03 y SLC 5/04, configuración de canal full duplex DF1, 12-20 consideraciones cuando usa el half duplex DF1, 12-30 constantes de programa, F-22 constantes numéricas, F-22 contador bidireccinoal, descripción general, 7-7 contador bidireccional, operación, 7-11
Indice
contador bidireccional con encoder de cuadratura descripción general, 7-7 operación, 7-15 contador bidireccional con restablecimiento y retención descripción general, 7-7 operación, 7-11 contador bidireccional con restablecimiento y retencion con encoder de cuadratura, operación, 7-15 contador bidireccional con restablecimiento y retención con encoder de cuadratura, descripción general, 7-7 Contador de alta velocidad (HSC), 1-29, 7-6 cableado, 7-7 cómo introducir parámetros, 7-6 ejemplo de aplicación, 1-32 ejemplos de aplicación, 1-33 estructura de direccionamiento, 1-31 lo que ocurre cuando pasa al modo de marcha REM, 7-25 tipos de, 7-7 contador bidireccional, 7-10 contador bidireccional con restablecimiento y retención, 7-10 contador bidireccional con restablecimiento y retención con encoder de cuadratura, 7-14 contador progresivo, 7-8 contador progresivo con restablecimiento y retención, 7-8 contador progresivo descripción general, 7-7 operación, 7-8 contador progresivo con restablecimiento y retencion, operación, 7-8 contador progresivo con restablecimiento y retención, descripción general, 7-7 contadores cómo funcionan los contadores, 1-26 contadores de direccionamiento, 1-24
Conteo progresivo (CTU), 1-27 Conteo progresivo (CTU), 1-26, 1-27 instrucción de contador, 1-27 uso de los bits de estado, 1-27 Conteo regresivo (CTD), 1-28 uso de los bits de estado, 1-28 controlador, archivo de estado, A-2 Convertir de BCD (FRD), 4-6 instrucción de manejo de datos, 4-6 Convertir en BCD (TOD), 4-3 instrucciones de manejo de datos, 4-3 Copiar (COP), 4-15 instrucción de manejo de datos, 4-15 Copiar archivo (COP), uso, 4-15 Coseno (COS), 3-30 instrucción matemática, 3-30
D Descarga FIFO (FFU), 4-30 instrucción FIFO, 4-30 Descarga LIFO (LFU), 4-32 instrucción de desplazamiento de bit, 4-32 Descodificar (DCD), 4-12 instrucción de manejo de datos, 4-12 descripción de la organización del archivo, F-2 cómo especificar direcciones indexadas, F-13 cómo usar el indicador de archivo (#), F-19 descripción general del procesador, F-2 descripción general instrucciones del contador de alta velocidad, 7-3 instrucciones FIFO y LIFO, 4-28 descripciones de la organización del archivo, constantes numéricas, F-22 Desenclavamiento de salida (OTU), 1-11
I–33
Manual de referencia del juego de instrucción Preface
desenclavamiento de salida (OTU), uso, 1-11 Desplazamiento de bit derecho (BSR), 6-5 instrucción de desplazamiento de bit, 6-5
Entero a cadena (AIC), 10-16 instrucción ASCII, 10-16 entrada de encoder de cuadratura, 7-14
Desplazamiento de bit izquierdo (BSL), 6-5 instrucción de desplazamiento de bit, 6-5
Entrada inmediata con máscara (IIM), 5-12 instrucción de flujo de programa, 5-12
diagrama de temporización ASCII, 10-19
errores descarga, A-15 encendido, 13-4 ida a marcha, 13-12 marcha, 13-13, A-14, A-15 programa de usuario, 13-17
diagramas de temporización ASCII, 10-19 instrucción de mensaje (SLC 5/02), 8-7 instrucción de mensaje (SLC 5/03 y SLC 5/04), 8-26 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 indexado, F-13 usando mnemónicos, F-9
errores de marcha, 13-13
direccionamiento de E/S para un controlador fijo, F-10 direccionamiento de E/S para un controlador modular, F-12 direccionamiento directo, E-2 direccionamiento indexado, 2-2, 3-3, E-2, F-13 cómo especificar, F-13 ejemplo, F-13 direccionamiento indirecto, 2-2, 3-4, 4-19, E-2 Dividir (DIV), 3-12 instrucción matemática, 3-12 División doble (DDV), 3-13 instrucción matemática, 3-13
E ejecución de interrupción de E/S (S:32), B-58 ENC, codificar 1 de 16 a 4, 4-13 Enclavamiento de salida (OTL), 1-11 enclavamiento de salida (OTL), uso, 1-11
I–34
errores de ida a marcha, 13-12 errores de programa de usuario, 13-17 Escala con parámetros, instrucción matemática, 3-15 Escala con parámetros (SCP), 3-15 Escala de datos (SCL), 3-18 instrucción matemática, 3-18 Escritura ASCII (AWT), 10-27 instrucción ASCII, 10-27 Escritura ASCII con anexo (AWA), 10-24 indirección en línea, 10-26 instrucción ASCII, 10-24 estado de edición en línea (S:33/11 y S:33/12), B-63 estado de selección (canal 0) (S:33/3), B-59 Etiqueta (LBL), 5-3 cómo introducir parámetros, 5-3 uso, 5-4 Examine si abierto (XIO), 1-9 instrucción básica, 1-9 Examine si cerrado (XIC), 1-9 instrucción básica, 1-9 Extracción de cadena (AEX), 10-13 instrucción ASCII, 10-13
Indice
F Fin temporal (TND), 5-10 instrucción de flujo programa, 5-10 FRD (convertir de BCD), 4-6 FRN del sistema de operación (S:59), B-73
G Grados en radianes (RAD), 4-11 instrucción de manejo de datos, 4-11
H Habilitación de interrupción del contador de alta velocidad (HSE), 7-23 Habilitación de interrupción del contador de alta velocidad (HSE), uso de HSE, 7-23 operación, 7-23
información de comunicación comunicación de PLC-5 a SLC 500, 12-14 cómo usar el archivo CIF SLC 500 (emulación PLC-2), 12-15 instrucción de mensaje PLC-5, 12-15 usando la instrucción de mensaje con "palabra", 12-16 usando la instrucción de mensaje PLC-5 con "byte", 12-16 protocolo de comunicación de Data Highway Plus, 12-7 protocolo de comunicación RS-232, full duplex, 12-19 protocolo de comunicación RS-232 (DF1), 12-19 full duplex, ejemplos, 12-19 protocolo maestro/esclavo de half-duplex DF1, 12-23 Inhabilitación (HSD) de interrupción del contador de alta velocidad (HSD), 7-23
Habilitación temporizada seleccionable (STE), 11-16 instrucción de interrupción, 11-16
Inhabilitación de interrupción de E/S (IID), 11-37 instrucción de interrupción de E/S, 11-37
habilitaciones de ranuras de E/S (S:11 y S:12), B-45
Inhabilitación de interrupción del contador de alta velocidad (HSD), uso de HSD, 7-24 operación, 7-24
HSD, Inhabilitación (HSD) de interrupción del contador de alta velocidad, 7-23
Inicio temporizado seleccionable (STS), 11-18 instrucción de interrupción, 11-18
HSE, Habilitación de interrupción del contador de alta velocidad, 7-23
instrucción de mensaje (procesador SLC 5/02), 8-3
HSL, Carga del contador de alta velocidad (HSL), 7-18
instrucción MSG, 12-19
I Igual (EQU), 2-3 instrucción de comparación, 2-3 indicador de archivo (#), F-19 indicadores aritméticos (S:0), B-6 índice de funcionabilidad del programa (S:64), B-73 indirección en línea, 10-26
instrucción MSG para procesador 5/02, instrucción de comunicación, 8-3 instrucción MSG para SLC 5/03 y SLC 5/04, ejemplos de configuración, 8-32 instrucción proporciona integral derivativa (PID), escala PID y E/S analógicas, uso de la instrucción SCP, 9-15 instrucción proporcional integral derivativa (PID), 9-1 configuración del bloque de control, 9-11 el concepto PID, 9-2
I–35
Manual de referencia del juego de instrucción Preface
errores de tiempo de ejecución, 9-12 escala PID y E/S analógicas, 9-14 indicadores de instrucción PID, 9-9 la ecuación PID, 9-3 instrucción proporcional integral derivativa (PID0 escala PID y E/S analógicas, uso de la instrucción SCL, 9-14 notas de aplicación, 9-18 instrucción proporcional integral proporcional (PID), sintonización PID, 9-25 instrucciones ASCII Borrado del búfer ASCII de recepción y/o transmisión (ACL), 10-11 Búsqueda de cadena (ASC), 10-22 Cadena a entero (ACI), 10-10 Comparación de cadena ASCII (ASR), 10-23 Concatenado de cadenas (ACN), 10-12 diagrama de temporización, 10-19 Entero a cadena (AIC), 10-16 Escritura ASCII (AWT), 10-27 Escritura ASCII con anexo (AWA), 10-24 Extracción de cadena (AEX), 10-13 Lectura ASCII de línea (ARL), 10-20 Lectura de caracteres ASCII (ARD), 10-17 Líneas de comunicación (AHL), 10-14 Número de caracteres en búfer (ACB), 10-8 Prueba de búfer por línea (ABL), 10-7 uso de cadenas, 10-4 instrucciones básicas, 1-2 acerca de las, 1-2 Active la salida (OTE), 1-10 Desenclavamiento de salida (OTU), 1-11 en el ejemplo de aplicación de la perforadora de papel, 1-35 Enclavamiento de salida (OTL), 1-11 Examine si abierto (XIO), 1-9 Examine si cerrado (XIC), 1-9 un frente ascendente (OSR), 1-12 un frente ascendente (OSR), 1-12 instrucciones de comparación, 2-1, 2-2 acerca de las, 2-2
I–36
Comparación con máscara para igual (MEQ), 2-6 en el ejemplo de aplicación de la perforadora de papel, 2-9 Igual (EQU), 2-3 Mayor o igual que (GEQ), 2-5 Mayor que (GRT), 2-5 Menor o igual que (LEQ), 2-4 Menor que (LES), 2-4 No igual (NEQ), 2-3 prueba de límite (LIM), 2-7 instrucciones de comunicacion, Comunicaciones de servicio (SVC), 8-60 instrucciones de comunicación, 8-1 códigos de error, 8-30 instrucción de mensaje, ilustración de los mensajes remotos, 8-53 instrucción de mensaje (5/02 solamente), 8-3 cómo introducir parámetros, 8-5 configuración del bloque de control, 8-9 diagrama de temporización, 8-7 ejemplos de aplicación, 8-15 opciones de configuración, lectura/escritura de dispositivos semejantes en una red local a otro procesador SLC 500, 8-5 uso de los bits de estado, 8-6 instrucción de mensaje (5/03 solamente), bits del archivo de estado relacionados, 8-19 instrucción de mensaje (procesador SLC 5/02), opciones de configuración, 8-5 lectura/escritura de dispositivos semejantes en una red local a un 485CIF (emulación PLC2), 8-5 instrucción de mensaje (procesadores LSC 5/03 y SLC 5/04), opciones de configuración, lectura/escritura local a un 485CIF, 8-20 instrucción de mensaje (procesadores SLC 5/03 y SLC 5/04), opciones de configuración lectura/escritura local a otro procesador SLC 500, 8-20
Indice
lectura/escritura local a un procesador PLC-5, 8-20 lectura/escritura remota a otro procesador SLC 500, 8-20 lectura/escritura remota a un 485CIF (emulación PLC2), 8-20 lectura/escritura remota a un procesador PLC-5, 8-20 instrucción de mensaje (SLC 5/03 y SLC 5/04) cómo introducir parámetros, 8-21 configuraciones del bloque de control, 8-24 diagrama de temporización, 8-26 ejemplos de configuración, 8-32 uso de la lógica de escalera, 8-32 uso de mensajes locales, 8-32 opciones de configuración, 8-20 uso de los bits de estado, 8-22 instrucciones de mensaje (SLC 5/03 y SLC 5/04), ejemplos de configuración, uso de mensajes remotos, 8-32 instrucciones de comunición, instrucción de mensaje (procesadores SLC 5/04), 8-18 instrucciones de contador, estructura de direccionamiento, 1-24 instrucciones de contador de alta velocidad, Carga del contador de alta velocidad (HSL), 7-18 instrucciones de control, 5-2 instrucciones de control de flujo de programa, 5-2 acerca de las, 5-2 en el ejemplo de aplicación de la perforadora de papel, 5-15 instrucciones de copiar archivo y llenar archivo, F-21 instrucciones de desplazamiento de bit, F-19 descripción general, 6-3 efectos en el registro de índice S:24, 6-3 Desplazamiento de bit derecho (BSR), 6-5 Desplazamiento de bit izquierdo (BSL), 6-5 operación, 6-5, 6-6
instrucciones de flujo de programa Entrada inmediata con máscara (IIM), 5-12 Fin temporal (TND), 5-10 Regenerar I/S (REF) uso de procesadores SLC 5/03 y SLC 5/04, 5-14 uso de un procesador SLC 5/02, 5-14 Salida inmediata con máscara (IOM), 5-13 instrucciones de interrupción de E/S, Restablecimiento de interrupción pendiente (RPI), 11-40 instrucciones de manejo de datos, 4-2 acerca de las, 4-2 Codificar (ENC), 4-13 Codificar 1 de 16 a 4 (ENC), 4-13 Convertir de BCD (FRD), 4-6 Convertir en BCD (TOD), 4-3 Copiar (COP), 4-15 Descodificar (DCD), 4-12 en el ejemplo de aplicación de la perforadora de papel, 4-34 Grados en radianes (RAD), 4-11 instrucciones FIFO y LIFO, descripción general, 4-28 Llenar archivo (FLL), 4-17 Negar (NEG), 4-27 Radianes en grados (DEG), 4-10 instrucciones de mover y lógicas actualizaciones de los bits de estado aritmético, 4-19 cambios del registro matemático, S:13 y S:14, 4-19 direccionamiento indexado, 4-19 Mover con máscara (MVM), 4-21 No (NOT), 4-26 O (OR), 4-24 O exclusivo (XOR), 4-25 parámetros de instrucción, 4-19 Y (AND), 4-23 instrucciones de programa de control de flujo Restablecimiento de control maestro (MCR), 5-8 Retornar (RET), 5-5 Saltar a subrutina (JSR), 5-5
I–37
Manual de referencia del juego de instrucción Preface
Subrutina (SBR), 5-5 instrucciones de programa flujo, Retornar de subrutina (RET), 5-7 instrucciones de secuenciador, F-20 Carga secuenciador (SQL), 6-14 cómo introducir parámetros para SQL, 6-14 cómo introducir parámetros para SQO y SQC, 6-9 Comparación de secuenciador (SQC), 6-9 descripción general, efectos en el registro de índice S:24, 6-8 Salida de secuenciador (SQO), 6-9 operation, 6-11 instrucciones de temporizador, estructura de direccionamiento, 1-16 instrucciones de temporizador y contador, 1-15 base de tiempo, 1-15 cómo funcionan los contadores, 1-26 contadores Contador de alta velocidad (HSC), 1-29 Conteo progresivo (CTU), 1-26, 1-27 Conteo regresivo (CTD), 1-28 Restablecimiento (RES), 1-34 instrucciones de estructura de direccionamiento, 1-16 precisión del temporizador, 1-16 temporizadores Temporizador a la conexión (TON), 1-18 Temporizador a la desconexión (TOF), 1-19 Temporizador retentivo (RTO), 1-21 valor del acumulador (.ACC), 1-15, 1-23 valor preseleccionado (.PRE), 1-15 instrucciones del contador de alta velocidad, 7-2 acerca de las, 7-2 Contador de alta velocidad (HSC), 7-6 descripción general, 7-3 en el ejemplo de aplicación de la perforadora de papel, 7-29 Habilitación (HSE) de interrupción del contador de alta velocidad, 7-23
I–38
inhabilitación (HSD) de interrupción del contador de alta velocidad, 7-23 instrucciones del contador de alta velocidad (RAC), Acumulador de restablecimiento del contador de alta velocidad (RAC), 7-22 instrucciones específicas de aplicación, 6-2 acerca de las, 6-2 Carga de secuenciador (SQL), operation, 6-16 en el ejemplo de aplicación de la perforadora de pape, 6-17 instrucciones de desplazamiento de bit, descripción general, 6-3 instrucciones FIFO y LIFO, descripción general, 4-28 efectos en el registro de índice S:24, 4-29 instrucciones matemáticas, 3-3 Absoluto (ABS), 3-24 acerca de las, 3-3 actualizaciones de los bits de estado aritmético, 3-4 adición y sustracción de 32 bits, 3-8 Añadir (ADD), 3-6 Arco coseno (ACS), 3-29 Arco sino (ASN), 3-28 Arco tangente (ATN), 3-29 bit de interrupción por overflow, S:5/0, 3-4 Borrar (CLR), 3-14 Calcular (CPT), 3-25 cambios del registro matemático S:13 y S:14, 3-4 Coseno (COS), 3-30 descripción general, 3-3 Dividir (DIV), 3-12 División doble (DDV), 3-13 en el ejemplo de aplicación de la perforadora de papel, 3-34 Escala con parámetros (SCP), 3-15 Escala de datos (SCL), 3-18 Intercambio (SWP), 3-27 Logaritmo a la base 10 (LOG), 3-31 Logaritmo natural (LN), 3-30 Multiplicar (MUL), 3-11
Indice
Raíz cuadrada (SQR), 3-14 Restar (SUB), 3-7 Seno (SIN), 3-31 Tangente (TAN), 3-32 uso de las direcciones de palabra indexadas, 3-3 uso de los bits de estado aritmético, 4-14 X a la potencia de Y (XPY), 3-33 instrucciones MSG para procesadores SLC 5/03 y SLC 5/04, 8-18 instrucción de comunicación, 8-18 Intercambio (SWP), 3-27 instrucción matemática, 3-27 interrupción de E/S habilitada (S:27 y S:28), B-56 interrupción de E/S pendiente (S:25 y S:26), B-55 interrupción de entrada de comparación/valor de comparación (S:49), B-71 Interrupción de entrada discreta (DII) contenido de subrutina, 11-22 ejemplo de aplicación, 11-28 latencia de interrupción y coincidencias de interrupción, 11-22 operación, 11-21 modo de evento, 11-21 parámetros, 11-25 prioridades de interrupción, 11-23 procedimiento de programación básico, 11-19 reconfigurabilidad, 11-24 interrupción de entrada discreta (DII), 11-19 Interrupción de entrada discreta (DII0, operación, modo de contador, 11-21 interrupción de entrada discreta/máscara de bit (S:48), B-70 interrupción de entrada discreta/máscara de retorno (S:52), B-72 interrupción de entrada discreta/número de archivo (S:46), B-69
interrupción de entrada discreta/número de ranura (S:47), B-70 interrupción de entrada discreta/valor preseleccionado (S:50), B-71 interrupción temporizada seleccionable/número de archivo (S:31), B-57 interrupción temporizada seleccionable/punto de ajuste (S:30), B-57 interrupción temporizadas seleccionable, Habilitación temporizada seleccionable (STE), 11-16 interrupciones de E/S, 11-30 contenido de subrutina (ISR), 11-31 Inhabilitación de interrupción de E/S (IID), 11-37 latencia de interrupción y coincidencias de interrupción, 11-31 operación, 11-31 parámetros, 11-35 prioridades de interrupción, 11-33 procedimiento de programación básico, 11-30 Subrutina de interrupción (INT), 11-41 interrupciones temporizadas seleccionables, 11-7 contenido de la subrutina, 11-8 Inhabilitación temporizada seleccionable (STD), 11-16 Inicio temporizado seleccionable (STS), 11-18 latencia de interrupción y coincidencias de interrupción, 11-9 operación, 11-8 parámetros, 11-11 prioridades de interrupción, 11-10 procedimiento de programación básico, 11-7 intersección de los límites de archivo, F-14, F-18
I–39
Manual de referencia del juego de instrucción Preface
J juego de instrucciones, E-1
L latencia de interrupción - controladores MicroLogix 1000, usuario, C-5 latencia de interrupción de usuario controladores MicroLogix 1000, C-5 Lectura ASCII de línea (ARL), 10-20 instrucción ASCII, 10-20 Lectura de caracteres ASCII (ARD), instrucción ASCII, 10-17
módems controladores de línea (corto alcance), 12-33 discado DTR, 12-32 línea telefónica, 12-31 contestación automática, 12-31 desconexión automática, 12-32 líneas arrendadas, 12-32 manual, 12-31 radio, 12-34 vínculo por satélite, 12-35 módems , línea telefónica, discado automático, 12-32 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 LED de SLC 5/03 y SLC 5/04, 13-24
módems controladores de línea (corto alcance), 12-33
Líneas de comunicación ASCII (AHL), 10-14 instrucción ASCII, 10-14
módems de contestación automática, 12-31
Llenar archivo (FLL), 4-17 instrucción de manejo de datos, 4-17 uso, 4-17
módems de discado automático, 12-32
Logaritmo a la base 10 (LOG), 3-31 instrucción matemática, 3-31 Logaritmo natural (LN), 3-30 instrucción matemática, 3-30
M
módems de desconexión automática, 12-32 módems de línea telefónica, 12-31 módems de radio, 12-34 módems de vínculo por satélite, 12-35 módems manuales, 12-31 modo de direccionamiento de archivo de interface común (S:2/8), B-20
manejo de cadena ASCII (S:5/15), B-32
modo/estado/control de procesador (S:1/0 a S:1/4), B-8
Mayor o igual que (GEQ), 2-5 instrucción de comparación, 2-5
modos de direccinamiento, direccionamiento indirecto, E-3
Mayor que (GRT), 2-5 instrucción de comparación, 2-5 Menor o igual que (LEQ), 2-4 instrucción de comparación, 2-4 Menor que (LES), 2-4 instrucción de comparación, 2-4 mnemónicos, uso, en direcciones lógicas, F-9 módem de canal 0 perdido (S:5/14), B-32 I–40
modos de direccionamiento, E-2, E-3 direccionamiento directo, E-3 direccionamiento indexado, E-3 direccionamiento indirecto indexado, E-3 módulo de memoria de carga en el bit de error de memoria (S:1/10), B-10 move and logical instructions, Move (MOV), 4-20
Indice
Mover (MOV), 4-20 actualizaciones de los bits de estado aritmético, 4-20 instrucción de mover, 4-20 Mover con máscara (MVM), 4-21 actualizaciones de los bits de estado aritmético, 4-21, 4-23 instrucción de mover, 4-21 Multiplicar (MUL), 3-11 instrucción matemática, 3-11
N Negar (NEG), 4-27 actualizaciones de bits de estado aritmético, 4-27 instrucción de manejo de datos, 4-27 No (NOT), 4-26 instrucción lógica, 4-26 No igual (NEQ), 2-3 instrucción de comparación, 2-3 nodos activos (S:9 y S:10), B-44 número de archivo de rutina de fallo de usuario (S:29), B-56 Número de caracteres en búfer (ACB), 10-8 instrucción ASCII, 10-8 número de catálogo del procesador (S:60), B-73 número de catálogo del sistema de operación (S:57), B-73
O O (OR), 4-24 actualizaciones de los bits de estado aritmético, 4-24, 4-25, 4-26 instrucción lógica, 4-24
archivos de programa, F-2 organización y direccionamento del archivo de datos, 1-3 archivo de control (R6:), 1-6 salidas y entradas, 1-3 organización y direccionamiento del archivo de datos, F-1 archivo de bit (B3:), 1-5 archivo de estado (S2:), 1-4 archivo de punto (coma) flotante (F8:), 3-5 archivo entero (N7:), 1-7 archivos de datos archivo ASCII, 10-4 archivo de cadena, 10-4 cómo crear datos para direcciones indexadas, F-14 cómo monitorizar las direcciones indexadas, F-15 efectos de interrupciones de programa en S:24, F-16 indicador de archivo (#), F-19 instrucciones de archivo, F-16 instrucciones de copiar archivo y llenar archivo, F-21 instrucciones de desplazamiento de bit, F-19 instrucciones de secuenciador, F-20 intersección de los límites de archivo, F-14, F-18 tipos de archivos de datos, F-8 OTL, enclavamiento de salida, 1-11 OTU, desenclavamiento de salida, 1-11
P palabra de estado global, 12-11, 12-12 bit de habilitación de transmisión (S:34/3), 12-11 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 archivos de datos, F-3
parámetro de retardo de desactivación RTS, 12-37
I–41
Manual de referencia del juego de instrucción Preface
parámetro de retardo de transmisión RTS, 12-37
prueba de límite (LIM), instrucción de comparación, 2-7
PBASE, software de emulación de terminal, 12-32
prueba de límite (LIM), 2-7
precisión del temporizador, 1-16
prueba de un solo paso/Inicie el paso en (S:16 y S:17), B-50
procesadores SLC 5/03 en un vínculo half duplex DF1, 12-30
prueba de un solo paso/punto de interrupción (S:18 y S:19), B-51
Procomm, software de emulación de terminal, 12-32
prueba-fallo/apagado (S:20 y S:21), B-52
program files, F-3 programa de instrucciones de control de flujo Etiqueta (LBL), 5-3 Saltar (JMP), 5-3 protección de sobrescritura del archivo de datos del módulo de memoria (S:36/10), B-67 protocolo de comunicación ASCII, 12-38 configuración de parámetro ASCII, 12-38 protocolo de comunicación Data Highway Plus descripción general de la palabra de estado global bit de habilitación de transmisión (S:34/3), 12-11 bit de recepción de transmisión (S:34/4), 12-12 opciones de direccionamiento, 12-14 protocolo de comunicación de Data Highway Plus, 12-7 descripción general de la palabra de estado global, 12-10 parámetros de configuración, 12-9 protocolo de comunicación DH-485 consideraciones de software, 12-3 dispositivos que usan la red DH-485, 12-6 Inicialización de la red DH-485, 12-3 parámetros de configuración, 12-5 rotación del testigo DH-485, 12-2
punto (coma) flotante, soportado, 2-2 Igual (EQU), 2-2 Límite (LIM), 2-2 Más o igual que (GEQ), 2-2 Más que (GRT), 2-2 Menos o igual que (LEQ), 2-2 Menos que (LES), 2-2 Mover (MOV), 4-19 Negar (NEG), 2-2
R RAC, Acumulador de restablecimiento del contador de alta velocidad, 7-22 Radianes en grados (DEG), 4-10 instrucción de manejo de datos, 4-10 Raíz cuadrada (SQR), 3-14 instrucción matemática, 3-14 Regenerar I/S (REF), 5-14 instrucción de flujo de programa, 5-14 registro de índice (S:24), B-54 registro matemático (S:13 y S:14), B-47 reloj de marcha libre (S:4), B-26 reloj/año calendario (S:37), B-68 reloj/calendario de día (S:39), B-68 reloj/calendario de horas (S:40), B-68 reloj/calendario de mes (S:38), B-68
protocolo de comunicación RS-232 (DF1), 12-19
reloj/calendario de minutos (S:41), B-68
Prueba de búfer por línea (ABL), 10-7 instrucción ASCII, 10-7
reservado (S:0/4 a S:0/15), B-7
I–42
reloj/calendario de segundos (S:42), B-68
Indice
reservado (S:36/0 a S:36/7), B-66 reservado (S:36/11 a S:36/15), B-68 reservado (S:5/1), B-28 reservado (S:5/5 a S:5/7), B-30 reservado (S:53 y S:54), B-72 reservado (S:87 a S:96), B-74 reservado (S:97 a S:98), B-74 respuesta de mensaje pendiente (canal 0) (S:33/1), B-58 Restablecimiento (RES), 1-34 restablecimiento del acumulador de alta velocidad, 7-21 restablecimiento del contador de alta velocidad (RES), operación, 7-21 Restablecimiento de interrupción pendiente (RPI), 11-40 instrucción de interrupción de E/S, 11-40
Saltar a subrutina (JSR), 5-5 cómo anidar archivos de subrutina, 5-5 uso, 5-6 selección de base de tiempo del tiempo de escán (S:33/13), B-63 selección de servicio de comunicaciones (canal 0) (S:33/5), B-60 selección de servicio de mensaje (canal 0) (S:33/6), B-60 selección de servicio de mensaje (canal 1) (S:33/7), B-61 Selectable Timed Disable (STD), 11-16 interrupt instruction, 11-16 Seno (SIN), 3-31 instrucción matemática, 3-31 serie del procesador (S:61), B-73 serie del sistema de operación (S:58), B-73
Restar (SUB), 3-7 instrucción matemática, 3-7
sistema de operación, descarga, 13-23
Retornar (RET), 5-5 cómo anidar archivos de subrutina, 5-5 uso, 5-7
sistemas numéricos, F-22 máscara hexadecimal, G-7 números binarios, G-2 números hexadecimales, G-5 raíces usadas, F-22
Retornar de subrutina (RET), 5-7 instrucción de flujo de programa, 5-7 revisión del procesador (S:62), B-73 rutinas de fallo (SLC 5/02, SLC 5/03 y SLC 5/04), 11-2 rutinas de fallo (SLC 5/02, SLC 5/03, SLC 5/04), ejemplo de aplicación, 11-4
S Salida de secuenciador (SQO), 6-9 instrucción específica de aplicación, 6-9 Salida inmediata con máscara (IOM), 5-13 instrucción de flujo de programa, 5-13 Saltar (JMP), 5-3 cómo introducir parámetros, 5-3 uso, 5-3
sistemas de operación, 13-23
STI perdido (S:36/9), B-67 Subrutina (SBR), 5-5 cómo anidar archivos de subrutina, 5-5 uso, 5-7 Subrutina de interrupción (INT), 11-41 instrucción de interrupción de E/S, 11-41 Suspender (SUS), 5-11 instrucción de flujo de programa, 5-11
T tabla de nodo activo de half duplex DF1 (S:69 a S:82), B-74 tamaño de NVRAM (S:65), B-73 tamaño del sistema de operación (S:66), B-73 I–43
Manual de referencia del juego de instrucción Preface
Tangente (TAN), 3-32 instrucción matemática, 3-32 Temporizador a la conexión (TON), 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 de interrupción de evento de E/S (S:44), B-69 temporizador de interrupción DII (S:45), B-69 temporizador de interrupción STI (S:43), B-69 Temporizador retentivo (RTO), 1-21 temporizadores, precisión del temporizador, 1-16 tiempo de ejecución de direccionamiento indirecto, C-45 tiempo de ejecución de instrucción controladores MicroLogix 1000, hoja de trabajo, C-7 tiempo de escán de 10 ms actual/último, B-24 tiempo de escán DII máximo observado (S:56), B-72 tiempo de escán máximo observado (S:22), B-53 tiempo de escán promedio (S:23), B-54 tiempo del último escán de 1 ms (S:35), B-66 tiempos de ejecución, enumeración, A-1 tiempos de ejecución - controladores MicroLogix 1000, hoja de trabajo, C-7 tiempos de ejecución de instrucción controladores MicroLogix 1000, lista, C-2 tiempos de ejecución de instrucción procesadores SLC, C-9 procesador SLC 5/02, C-15 procesador SLC 5/03, C-22 procesador SLC 5/04, C-35 procesadores fijos y SLC 5/01, C-9
I–44
tiempos de ejecución de punto (coma) flotante - procesadores SLC 5/03, C-28 tiempos de ejecución de punto (coma) flotante - procesadores SLC 5/04, C-41 timer valor del acumulador (.ACC), 1-15 tipo de programa (S:63), B-73 tipos de archivo de datos, F-8 archivo de datos ASCII, 10-4 archivo de datos de bit (B3:), 1-5 archivo de datos de cadena, 10-4 archivo de datos de control (R6:), 1-6 archivo de datos de entrada (I1:), 1-3 archivo de datos de estado (S2:), 1-4 archivo de datos de punto (coma) flotante (F8:), 3-5 archivo de datos de salida (O0:), 1-3 archivo de datos entero (N7:), 1-7 TOD (convertir de BCD), 4-3 transferencia, 12-39 consideraciones cuando la transferencia DF1 a DH+ se habilita, 12-40 transferencia de E/S remota (procesadores SLC 5/03 OS302 y SLC 5/04 OS401), 12-39 transferencia DF1 a DH+ (procesadores SLC 5/04 OS401), 12-39 transferencia DH+ a DH-485 - (todos los procesadores SLC 5/04), 12-39
U último tiempo de escán DII (S:55), B-72 un frente ascendente (OSR), introducción de parámetros, 1-12 usando el half duplex DF1 en un vínculo de múltiples conexiones, 12-30 usao de memoria - procesadores SLC, C-8 uso de memoria de instrucción controladores MicroLogix 1000 hoja de trabajo, C-6
Indice
lista, C-2
V valor del acumulador del contador (.ACC), 1-23 valor preseleccionado del contador (.PRE), 1-24 valor preseleccionador del temporizador (.PRE), 1-15 velocidad en baudios (S:15H), B-50 vínculo de múltiples conexiones, 12-30 visualización de los valores, F-22
W Window's Terminal, software de emulación de terminal, 12-32
X X a la potencia de Y (XPY), 3-33 instrucción matemática, 3-33 XIC, Examine si cerrado, 1-9 XIO, Examine si abierto, 1-9
Y Y (AND), 4-23 instrucción lógica, 4-23
I–45
Manual de referencia del juego de instrucción Preface
I–46
Indice
I–47
Rockwell Automation ayuda a sus clientes a lograr mejores ganancias de sus inversiones integrando marcas líder de la automatización industrial y creando así una amplia gama de productos de integración fácil. Estos productos disponen del soporte de proveedores de soluciones de sistema además de los recursos de tecnología avanzada de Rockwell.
Con oficinas en las principales ciudades del mundo. Alemania S Arabia Saudita S Argentina S Australia S Bahrein S Bélgica S Bolivia S Brasil S Bulgaria S Canadá S Chile S Chipre S Colombia S Corea S Costa Rica Croacia S Dinamarca S Ecuador S Egipto S El Salvador S Emiratos Arabes Unidos S Eslovaquia S Eslovenia S España S Estados Unidos S Finlandia S Francia Ghana S Grecia S Guatemala S Holanda S Honduras S Hong Kong S Hungría S India S Indonesia S Irán S Irlanda S Islandia S Israel S Italia S Jamaica S Japón Jordania S Katar S Kuwait S Las Filipinas S Líbano S Macao S Malasia S Malta S México S Morruecos S Nigeria S Noruega S Nueva Zelandia S Omán S Pakistán Panamá S Perú S Polonia S Portugal S Puerto Rico S Reino Unido República Checa S República de Sudáfrica S República Dominicana S República Popular China S Rumania S Rusia S Singapur S Suecia S Suiza S Taiwan S Tailandia S Trinidad S Tunisia S Turquía S Uruguay S Venezuela Sede central de Rockwell Automation: 1201 South Second Street, Milwaukee, WI 53204 USA, Tel: (1) 414–382–2000, Fax: (10) 414–382–4444 Sede central europea de Rockwell Automation: Avenue Herrmann Debrouxlaan, 46, 1160 Bruselas, Bélgica, Tel: (32) 2 663 06 00, Fax: (32) 2 663 06 40 Sede central de Asia–Pacífico de Rockwell Automation: 27/F Citicorp Centre, 18 Whitfield Road, Causeway Bay, Hong Kong, Tel: (852) 2887 4788, Fax: (852) 2508 1846
Publicación 1747-6.15ES – Enero 1996
PN 956713-63 I–1
Copyright 1997 Rockwell Automation