SlideShare una empresa de Scribd logo
AllenĆBradley



Juego de
instrucciones de
                                 Manual de
SLC 500t y
MicroLogixt 1000
                                 referencia
(Nos. de cat. 1747ĆL511,
1747ĆL514, 1747ĆL524,
1747ĆL532, 1747ĆL541,
1747ĆL542, 1747ĆL543, y
controladores de boletín 1761)
Información importante para el usuario
           Debido a la variedad de usos de los productos descritos en esta publicación, las
           personas responsables de la aplicación y uso de este equipo de control deben
           asegurarse de que se hayan seguido todos los pasos necesarios para que cada
           aplicación y uso cumplan con todos los requisitos de rendimiento y seguridad,
           incluyendo leyes, reglamentaciones, códigos y normas aplicables.

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

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

           Está prohibida la reproducción total o parcial de los contenidos de esta publicación
           de propiedad exclusiva sin el permiso escrito de Allen-Bradley Company, Inc.

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

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


           Las notas de “Atención” le ayudan a:
           •     identificar un peligro
           •     evitar un peligro
           •     reconocer las consecuencias

Nota       Identifica información crítica para una correcta aplicación y entendimiento
           del productol.
           SLC 500, SLC 5/01, SLC 5/02, SLC 5/03, SLC 5/04, MicroLogix, PanelView, RediPANEL, Dataliner, DH+,
           Data Highway Plus son marcas comerciales de Allen-Bradley Company, Inc.
           Gateway 2000 es una marca comercial de Gateway 2000, Inc.
           VERSA es una marca comercial de Nippon Electric Co. Information Systems Inc.
Tabla de contenido



Tabla de contenido

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

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


                                                                                                                                                     i
Preface
Manual de referencia del juego de instrucción


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

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


    ii
Tabla de contenido


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

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


                                                                                                                                               iii
Preface
Manual de referencia del juego de instrucción


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


  iv
Tabla de contenido


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

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


                                                                                                                                             v
Preface
Manual de referencia del juego de instrucción


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

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


    vi
Tabla de contenido


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

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



                                                                                                                                           vii
Preface
Manual de referencia del juego de instrucción


             Instrucciones específicas de aplicación en el ejemplo de aplicación de la
                  perforadora de papel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17

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



    viii
Tabla de contenido


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

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




                                                                                                                                                 ix
Preface
Manual de referencia del juego de instrucción


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


  x
Tabla de contenido


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

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


                                                                                                                                            xi
Preface
Manual de referencia del juego de instrucción


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

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


  xii
Tabla de contenido


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

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


                                                                                                                                              xiii
Preface
Manual de referencia del juego de instrucción


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




  xiv
Tabla de contenido


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



                                                                                                                                         xv
Preface
Manual de referencia del juego de instrucción


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

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


  xvi
Tabla de contenido


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

A   Archivo de estado del controlador MicroLogix 1000 . . . . . . . . . . . . . . . . . . . . . . . . A–1
     Descripción general del archivo de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–2
     Descripciones de archivo de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–3

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

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


                                                                                                                                       xvii
Preface
Manual de referencia del juego de instrucción


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




  xviii
Tabla de contenido


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

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

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


                                                                                                                                       xix
Preface
Manual de referencia del juego de instrucción


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


  xx
Tabla de contenido


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

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

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




                                                                                                                                        xxi
Preface
Manual de referencia del juego de instrucción




  xxii
Prefacio




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




                                                                                          P-1
Preface
Juego de instrucciones del manual de referencia


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

                         Debe poseer un entendimiento básico de los productos SLC 500t. Si no lo tiene,
                         póngase en contacto con su representante local Allen-Bradley para obtener la
                         instrucción técnica correcta antes de usar este producto.


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




 P-2
Prefacio


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




                                                                                                           P-3
Preface
Juego de instrucciones del manual de referencia


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




 P-4
Prefacio


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

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



                                                                                                                    P-5
Preface
Juego de instrucciones del manual de referencia


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


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

                              Referencias de la posición        Referencias al modo de     Referencias a la línea de
                               del interruptor de llave               procesador                   estado
                             Posición RUN                  Modo de marcha                 RUN
                                                           Modo de marcha                 REM RUN
                                                           Modo de programa               REM PROG
                                                           Prueba - modo de paso único    REM SRG
                             Posición REMote
                                                           Prueba - modo de escán único   REM SSN
                                                           Prueba - modo de escán
                                                                                          REM CSN
                                                           continuo
                             Posición PROGram              Modo de programa               PROG




 P-6
Instrucciones básicas




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

                   Además, la última sección contiene un ejemplo de aplicación para una perforadora
                   de papel que muestra las instrucciones básicas en uso.


Instrucciones de bit

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

                       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          Enclav. de salida y   OTL activa un bit cuando el renglón está ejecutado         1-11
                       OTU            desenclavamiento      y este bit retiene su estado cuando el renglón no
                                      de salida             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.
                       OSR            Un frente ascenĆ      Ocasiona un evento de una sola vez.                        1-12
                                      dente


                                                                                                  continúa en la página siguiente




                                                                                                                         1–1
Preface
Manual de referencia del juego de instrucciones


Instrucciones del temporizador/contador

                                     Instrucción
                                                                                     Propósito                         Página
                           Mnemónico         Nombre
                          TON           Temporizador            Cuenta los intervalos de la base de tiempo cuando      1-18
                                        a la conexión           la instrucción es verdadera.
                          TOF           Temporizador            Cuenta los intervalos de la base de tiempo cuando      1-19
                                        a la desconexión        la instrucción es falsa.
                          RTO           Temporizador       reĆ Cuenta los intervalos de la base de tiempo cuando       1-21
                                        tentivo                la instrucción es verdadera y retiene el valor acumuĆ
                                                               lador cuando la instrucción se hace falsa o cuando
                                                               ocurre un ciclo de alimentación eléctrica.
                          CTU           Conteo progresivo       Incrementa el valor acumulador a cada transición       1-26
                                                                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.
                          CTD           Conteo regresivo        Disminuye el valor acumulado a cada transición de      1-28
                                                                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.
                          HSC           Contador de alta        Cuenta los impulsos de alta velocidad de una           1-29
                                        velocidad               entrada de alta velocidad de controlador fijo.
                          RES           Restablecimiento        Pone a cero el valor acumulado y los bits de estado    1-34
                                                                de un temporizador o contador. No use con
                                                                temporizadores TOF.


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

                         Las instrucciones básicas se dividen en tres grupos: bit, temporizador y contador.
                         Antes de aprender acerca de las instrucciones en cada uno de estos grupos, le
                         recomendamos que lea la descripción general que precede dicho grupo:
                         •    Descripción general de las instrucciones de bit
                         •    Descripción general de las instrucciones de temporizador
                         •    Descripción general de las instrucciones de contador




 1–2
Instrucciones básicas



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

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


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

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

                La tabla a continuación explica el formato de direccionamiento para salidas y
                entradas. Anote que el formato especifica e como el número de ranura y s como el
                número de palabra. Cuando trabaje con instrucciones de archivo, haga referencia al
                elemento como e.s (ranura y palabra) tomados juntos.

                  Formato                                       Explicación

                              O    Salida

                              I    Entrada

                              :    Delimitador del elemento

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

                                   Delimitador de palabra. Requerido sólo si es necesario un número de palabra
                   I:e.s/b    .
                                   según lo indicado a continuación.

                                                   Requerido si el número de entradas o salidas exceden 16
                                   Número de
                              s                    para la ranura. Rango: 0Ć255 (el rango acepta tarjetas
                                   palabra
                                                   especiales" de palabras múltiples)

                              /    Delimitador de bit

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


                                                                                                           1–3
Preface
Manual de referencia del juego de instrucciones



                           Ejemplos (aplicables al controlador ilustrado en página FĆ12):

                                          O:3/15           Salida 15, ranura 3
                                          O:5/0            Salida 0, ranura 5
                                          O:10/11          Salida 11, ranura 10
                                          I:7/8            Entrada 8, ranura 7
                                          I:2.1/3          Entrada 3, ranura 2, palabra 1

                              Direcciones de palabra:

                                          O:5              Palabra de salida 0, ranura 5
                                          O:5.1            Palabra de salida 1, ranura 5
                                          I:8              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                                          Explicación

                                          S     Archivo de estado

                                          :     Delimitador de elemento

                              S:e/b       e     Número de       Rangos de 0Ć15 en un controlador fijo o SLC 5/01, 0Ć32 en un
                                                elemento        procesador SLC 5/02, 0Ć83 en un SLC 5/03 OS300, 0-96 en
                                                                un SLC 5/03 OS301 y posterior y 5/04 OS400 y 0Ć164 en un
                                                                SLC 5/04. Estos son elementos de 1 palabra. 16 bits por
                                                                cada elemento

                                          /     Delimitador de bit

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

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



 1–4
Instrucciones básicas


Archivo de datos de bit (B3:)

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

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


                  Formato                           Explicación                               Ejemplos

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

                  Formato                           Explicación                               Ejemplos

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



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

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




                                                                                                          1–5
Preface
Manual de referencia del juego de instrucciones


Archivo de datos de control (R6:)

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

                         En el elemento de control hay ocho bits de estado y un byte de código de error. Un
                         controlador fijo y un elemento de control SLC 5/01 tienen seis bits. Los bits EU y
                         EM no son usados por el procesador.

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

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

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

                         Asigne direcciones de control según lo siguiente:


                            Formato                                                 Explicación

                                          R       Archivo de control

                                                  Número de archivo. Número 6 es el archivo predeterminado. Se puede usar
                              Rf:e         f      un número de archivo entre 10Ć255 se puede usar si se requiere
                                                  almacenamiento adicional.

                                           :      Delimitador de elemento

                                                  Número de       Rangos de 0Ć255. Estos son elementos de 3 palabras. Vea
                                          e
                                                  elemento        la figura anterior.



 1–6
Instrucciones básicas



                 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.LEN Valor de longitud
                               R6:2.2     ó   R6:2.POS Valor de posición

                               R6:2.1/0        Bit 0 del valor de longitud
                               R6:2.2/0        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
Preface
Manual de referencia del juego de instrucciones


                         Asigne las direcciones de enteros según lo siguiente:


                            Formato                                       Explicación

                                         N    Archivo de enteros

                                              Número de archivo. Número 7 es el archivo predeterminado. Un número de
                                         f
                             Nf:e/b           archivo entre 10Ć255 se puede usar si se requiere almacenamiento adicional.

                                         :    Delimitador de elemento

                                              Número de       Rangos de 0Ć255. Estos son elementos de 1 palabra. 16 bits
                                         e
                                              elemento        por cada elemento.
                                         /    Delimitador de bit
                                              Número de
                                         b                    Ubicación del bit dentro del elemento. Rangos de 0Ć15.
                                              bit

                           Ejemplos:

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




 1–8
Instrucciones básicas


Examine si cerrado (XIC)

                                                          3 3 3 3 3 3

                         Use la instrucción XIC en su programa de escalera para determinar si un bit está
     ] [
                         activado. Cuando la instrucción se ejecuta, si la dirección de bit está activada (1),
Instrucción de entrada
                         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


                         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á
Instrucción de entrada
                         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
Preface
Manual de referencia del juego de instrucciones


Active la salida (OTE)
                                                  3 3 3 3 3 3


                         Use una instrucción OTE en su programa de escalera para activar/desactivar un bit
     ( )
                         cuando las condiciones de renglón son evaluada como verdaderas/falsas
Instrucción de salida
                         respectivamente.

                         Un ejemplo de un dispositivo que se activa y desactiva es una salida cableada a una
                         luz piloto (direccionada como O:0/4).

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

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




 1–10
Instrucciones básicas



Enclavamiento de salida (OTL) y
desenclavamiento de salida (OTU)                               3 3 3 3 3 3




                   OTL y OTU son instrucciones de salida retentivas. OTL sólo puede activar un bit,
   (L)
                   en cambio, OTU sólo puede desactivar un bit. Estas instrucciones se usan
                   generalmente en parejas, con ambas instrucciones direccionando el mismo bit.
    (U)
                   Su programa puede examinar un bit controlador por instrucciones OTL y OTU
Instrucciones de
salida             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
Preface
Manual de referencia del juego de instrucciones


One–Shot Rising (OSR)
                                                   3 3 3 3 3 3


                         La instrucción OSR es una instrucción de entrada retentiva que ocasiona un evento
     [OSR]
                         durante una sola vez. Use la instrucción OSR cuando un evento debe comenzar
Instrucción de entrada   basado en el cambio de estado del renglón de falso a verdadero.

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

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


Cómo introducir parámetros

                         La dirección asignada a la instrucción OSR no es la dirección de ONE–SHOT
                         mencionada por su programa, ni indica el estado de la instrucción OSR. Esta
                         dirección permite que la instrucción OSR recuerde su estado de renglón anterior.

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


Ejemplos

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




 1–12
Instrucciones básicas


Procesadores SLC 600 y SLC 50/1
    I:1.0 B3                                       O:3.0
      ] [       [OSR]                                ( )
          0           0                                 0
  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.
    I:1.0 B3                        TOD
      ] [       [OSR]              TO BCD
          0           0            Source        Tf:0.ACC

                                    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 temporizaĆ
  dor, 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                          B3                 O:3.0
    ] [                            [OSR]              ( )
      0                               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        B3               O:3.0
    ] [          [OSR]            ( )
      0             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
Preface
Manual de referencia del juego de instrucciones


                         Cuando use un procesador SLC 500 ó SLC 5/01, no ubique condiciones de
                         entrada después de la instrucción OSR en un renglón. Puede ocurrir una
                         operación inesperada.


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

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




 1–14
Instrucciones básicas



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

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

                               Bits direccionables                   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
Preface
Manual de referencia del juego de instrucciones


Precisión del temporizador

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

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


Estructura de direccionamiento

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


                                                                   Explicación

                              T    Archivo de temporizador

                                   Número de archivo. Para los procesadores SLC 500, el número predetermiĆ
                                   nado es 4. Se puede usar un número entre 10Ć255 para almacenamiento
                              f
                                   adicional. El único número de archivo válido es 4 para los controladores
                                   MicroLogix 1000.

                              :    Delimitador de elemento

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




 1–16
Instrucciones básicas


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




                                                                                              1–17
Preface
Manual de referencia del juego de instrucciones


Temporizador a la conexión (TON)
                                                                             3 3 3 3 3 3

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

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




 1–18
Instrucciones básicas



Temporizador a la desconexión (TOF)
                                                                                     3 3 3 3 3 3

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


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


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




                                                                                                                    1–19
Preface
Manual de referencia del juego de instrucciones


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

                           Condición                        Resultado
                                                            El bit TT se restablece.
                                                            El bit DN permanece establecido.
                           Si el renglón es verdadero:
                                                            El bit EN se establece.
                                                            El valor ACC se restablece.
                                                            El bit TT se restablece.
                                                            El bit DN se restablece.
                           Si el renglón es falso:          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                     El TOF temporiza dentro de una pareja MCR inactiva.




 1–20
Instrucciones básicas



Temporizador retentivo (RTO)
                                                                        3 3 3 3 3 3

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

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

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

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


                                                                                                                        1–21
Preface
Manual de referencia del juego de instrucciones


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

                         Puede ocurrir lo siguiente al regresar al modo de marcha REM o prueba REM o
                         cuando se restaura la alimentación eléctrica:

                             Condición                          Resultado
                                                                El bit TT permanece establecido.
                                                                El bit EN permanece establecido.
                             Si el renglón es verdadero:
                                                                El valor ACC permanece sin cambio y
                                                                vuelve a incrementar.
                                                                El bit TT se restablece.
                                                                El bit DN permanece en su último estado.
                             Si el renglón es falso:            El bit EN se restablece.
                                                                El valor ACC permanece en su último
                                                                estado.




 1–22
Instrucciones básicas



Uso de los contadores

Elementos del archivo de datos del contador

                  Cada dirección de contador se compone de un elemento de archivo de datos de 3
                  palabras. Palabra 0 es la palabra de control y contiene los bits de estado de la
                  instrucción. Palabra 1 es el valor preseleccionado. Palabra 2 es el valor acumulado.

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

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

                                 Bits direccionables                 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
Preface
Manual de referencia del juego de instrucciones


Valor preseleccionado (PRE)

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

                         Los valores preseleccionados y acumulados para los contadores oscilan entre
                         –32,768 hasta +32,767 y se almacen como enteros con signos. Los valores
                         negativos se almacenan en forma de complemento de dos.


Estructura de direccionamiento

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

                                                          Explicación

                             C       Contador

                                     Número de archivo. Para los procesadores SLC 500, el valor
                                     predeterminado es 5. Un número de archivo entre 10-255 se
                              f      puede usar para obtener almacenamiento adicional. El único
                                     número de archivo válido es 5 para los controladores
                                     MicroLogix 1000.

                              :      Delimitador de elemento

                                                            Estos son elementos de 3 palabras.
                                     Número de              Para los procesadores SLC 500 el
                              e
                                     elemento               rango es 0Ć255. Para los controladores
                                                            MicroLogix 1000 el rango es de 0Ć39.
                              .      Elemento de palabra
                              s      Subelemento
                              /      Delimitador de bit
                              b      Bit




 1–24
Instrucciones básicas


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




                                                                                         1–25
Preface
Manual de referencia del juego de instrucciones


Cómo funcionan los contadores

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

                               Un contador se puede poner a cero usando la instrucción de restablecimiento (RES).
                               -32,768                                  0                                 +32,767
                                                            (CTU)
                                                 Conteo progresivo

                                                                Valor acumulado del contador

                                                                                Conteo regresivo
                                                                                    (CTD)

                               Underflow                                                                 Overflow



Conteo progresivo (CTU)
                                                            3 3 3 3 3 3

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

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

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




 1–26
Instrucciones básicas


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


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




                                                                                                       1–27
Preface
Manual de referencia del juego de instrucciones


Conteo regresivo (CTD)
                                                                 3 3 3 3 3 3

   CTD
  COUNT DOWN             (CD)
                                El CTD es una instrucción que cuenta las transiciones de renglón de falso a
  Counter
  Preset
             C5:1
              120        (DN)
                                verdadero. Las transiciones de renglón pueden ser causadas por eventos que
  Accum         0               ocurren en el programa, tales como piezas pasando por un detector o accionando un
                                final de carrera.
 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
                                                                                                   Y permanece establecido
                                             Este bit                Se establece cuando           hasta ocurrir uno de los
                                                                                                      siguientes eventos
                                 Bit de underflow de conteo       el valor acumulado cambia a     una instrucción RES con la
                                 regresivo UN                     -32,768 (desde +32,767) y       misma dirección que la
                                 (bit 11)                         continúa contando regresivaĆ    instrucción CTD se ejecuta O
                                                                  mente desde ese punto           BIEN el conteo es
                                                                                                  incrementado menor o igual
                                                                                                  que +32,767 con una
                                                                                                  instrucción CTU
                                 Bit de efectuado DN (bit 13)     el valor acumulado es igual o   el valor acumulado se hace
                                                                  mayor que el valor              menor que el valor
                                                                  preseleccionado                 preseleccionado
                                 Bit de habilitación de conteo    las condiciones de renglón      las condiciones de renglón
                                 regresivo CD                     son verdaderas                  se hacen falsas O BIEN se
                                 (bit 14)                                                         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     (CU)
                               El contador de alta velocidad constituye una variación del contador CTU. La
 Counter        C5:0
 Preset          120    (DN)   instrucción HSC se habilita cuando la lógica de renglón es verdadera y se inhabilita
 Accum              0
                               cuando la lógica de renglón es falsa.
Instrucción de salida
                               Para obtener información acerca de la instrucción del contador de alta velocidad del
                               controlador MicroLogix 1000, vea el capítulo 7.


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

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


Operación del contador de alta velocidad

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

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

                               2.   Quite el envolvente del SLC 500.

                               3.   Localice y corte el cable del puente J2. No lo quite completamente, pero
                                    asegúrese que los extremos del cable del puente cortado no hagan contacto
                                    entre sí.




                                                                                                               1–29
Preface
Manual de referencia del juego de instrucciones


                                  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                      J2




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

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

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

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

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




 1–30
Instrucciones básicas


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

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

               Use la instrucción RES para restablecer el contador de alta velocidad en dirección
               C5:0. La instrucción HSC pone a cero el bit de estado, el acumulador y carga el
               valor preseleccionado durante:
               •   el encendido
               •   entrada en el modo de marcha REM
               •   un restablecimiento



Elementos de datos del contador de alta velocidad

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

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

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




                                                                                              1–31
Preface
Manual de referencia del juego de instrucciones


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

                              –    El bit 10 (UA) actualiza la palabra de acumulador del HSC para reflejar el
                                   estado inmediato del HSC cuando es verdadero.

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

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

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

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


Ejemplo de aplicación

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




 1–32
Instrucciones básicas


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

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




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




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

               Rung 32       ] [      ] [      ] [               ( )




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


               Rung 0        ] [                                   ( )
                                                                                 Lógica de aplicaĆ
               Rung 1        ] [       ] [     ] [                ( )            ción




                                                                C5:0
               Rung 20                                           (U)          DesenclavaĆ
                                                                   DN         miento del bit
                                                     RET                      DN
               Rung 21                               RETURN




                                                                                           1–33
Preface
Manual de referencia del juego de instrucciones


Restablecimiento (RES)
                                                         3 3 3 3 3 3


  (RES)                  Use una instrucción RES para restablecer un temporizador o contador. Cuando se
 Instrucción de salida   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:
                                                                   valor ACC a 0
                           Temporizador                            bit DN
                           (No use una instrucción RES con TOF.)   bit TT
                                                                   bit EN
                                                                   valor ACC a 0
                                                                   bit OV
                                                                   bit UNt
                           Contador
                                                                   bit DN
                                                                   bit CU
                                                                   bit CD
                                                                   valor POS a 0
                                                                   bit EN
                                                                   bit EUt
                                                                   bit DN
                           Control
                                                                   bit EM
                                                                   bit ER
                                                                   bit UL
                                                                   IN y FD van al último estado

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

                         Cuando restablece un contador, si la instrucción RES está habilitada y el renglón de
                         contador está habilitado, se pone a cero el bit CU o CD.

                         Si el valor preseleccionado del contador es negativo, la instrucción RES establece el
                         valor acumulado a cero. Esto, a su vez, causa que el bit de efectuado sea establecido
                         por una instrucción de conteo regresivo o conteo progresivo.

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




 1–34
Instrucciones básicas



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


Cómo añadir archivo 2

               Los renglones ilustrados en la página siguiente son definidos como la lógica de
               “arranque” del programa. Determinan las condiciones necesarias para arrancar la
               máquina monitorizando los botones pulsadores de arranque y paro. Cuando se
               presiona el botón pulsador de arranque, habilita al transportador a moverse e inicia
               la rotación de la broca. Cuando se presiona el botón pulsador de paro, inhabilita el
               movimiento del transportador y detiene el motor de la perforadora.

               La lógica de arranque también verifica la retracción completa de la perforadora (a la
               posición original) y el desgaste excesivo de la broca (determinado en otra parte del
               programa) antes de permitir el movimiento del transportador.

                                 Posición
                                                       Perforadora activada/desactivada O:3/1
                                 original
                                  I:1/5




                                                                                                      1–35
Preface
Manual de referencia del juego de instrucciones


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




 1–36
Instrucciones básicas


Cómo añadir el archivo 6

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

                Posición
                original              Perf. act./desact. O:3/1
                 I:1/5                Retracción perf. O:3/2
                                      Avance perf. O:3/3
                   Prof.
                perforación
                   I:1/4




                                                                                             1–37
Preface
Manual de referencia del juego de instrucciones


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




 1–38
Instrucciones de comparación




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

                  Además, la última sección contiene un ejemplo de aplicación para una perforadora
                  de papel que muestra el uso de instrucciones de comparación.


Instrucciones de comparación

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

                  EQU           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             Probar si un valor es menor o igual que un segundo      2-4
                                igual que           valor.
                  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      2-5
                                                    valor.
                  MEQ           Comparación         Probar porciones de dos valores para saber si son       2-6
                                igualdad con        iguales. Compara datos de 16 bits de una dirección
                                máscara             de fuente contra datos de 16 bit en una dirección de
                                                    referencia mediante una máscara.
                  LIM           Prueba de límite    Probar si un valor se encuentra dentro del rango de     2-7
                                                    límite de otros dos valores.




                                                                                                              2–1
Preface
Manual de referencia del juego de instrucciones


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

                         Para aprender más acerca de las instrucciones de comparación, le recomendamos
                         que lea la sección Descripción general de las instrucciones de comparación, a
                         continuación.


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


Uso de direcciones de palabra indexadas

                         Al usar las instrucciones de comparación, tiene la opción de usar direcciones de
                         palabra indexadas para parámetros de instrucción especificando direcciones de
                         palabra. El direccionamiento indexado se trata en el apéndice F de este manual.


Uso de direcciones de palabra indirectas

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




 2–2
Instrucciones de comparación



Igual (EQU)
                                3 3 3 3 3 3

      EQU
     EQUAL                  Use la instrucción EQU para probar si dos valores son iguales. Si la fuente A y la
     Source A
                            fuente B son iguales, la instrucción es lógicamente verdadera. Si estos valores no
     Source B
                            son iguales, la instrucción es lógicamente falsa.
Instrucción de entrada
                            La fuente A debe ser una dirección. La fuente B puede ser una constante de
                            programa o una dirección. Los enteros negativos se almacenan de forma
                            complementaria de dos.




No igual (NEQ)
                                       3 3 3 3 3 3

      NEQ
     NOT EQUAL              Use la instrucción NEQ para probar si dos valores no son iguales. Si la fuente A y
     Source A
                            la fuente B no son iguales, la instrucción es lógicamente verdadera. Si los dos
     Source B
                            valores son iguales, la instrucción es lógicamente falsa.
   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–3
Preface
Manual de referencia del juego de instrucciones


Menor que (LES)
                                        3 3 3 3 3 3

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

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




Menor o igual que (LEQ)
                                                         3 3 3 3 3 3



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

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




 2–4
Instrucciones de comparación



Mayor que (GRT)
                                           3 3 3 3 3 3

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




Mayor o igual que (GEQ)
                                                            3 3 3 3 3 3

    GEQ
   GRTR THAN OR EQUAL     Use la instrucción GEQ para probar si un valor (fuente A) es mayor o igual que otro
   Source A
                          (fuente B). Si la fuente A es mayor o igual que el valor en la fuente B, la
   Source B
                          instrucción es lógicamente verdadera. Si el valor en la fuente A es menor que el
                          valor en la fuente B, la instrucción es lógicamente falsa.
 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
Preface
Manual de referencia del juego de instrucciones


Comparación con máscara
para igual (MEQ)                                           3 3 3 3 3 3




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



  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              Use la instrucción LIM para probar los valores dentro o fuera de un rango
   Low Lim
                           especificado, según cómo usted haya establecido los límites.
   Test

   High Lim



  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                 Verdadero                   Falso
                           –32,768                                                              + 32,767
                                                Límite bajo               Límite alto

                           Ejemplo - límite bajo menor que el límite alto:
                               Límite    Límite La instrucción es verdadera    La instrucción es falsa
                                bajo      alto cuando el valor de prueba es cuando el valor de prueba es
                                 5         8           5a8                       -32,768 a 4 y 9 a 32,767




                                                                                                                     2–7
Preface
Manual de referencia del juego de instrucciones


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

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

                          Ejemplo - límite bajo mayor que el límite alto:
                            Límite   Límite La instrucción es verdadera    La instrucción es falsa
                             bajo     alto cuando el valor de prueba es cuando el valor de prueba es
                               5        8         -32,768 a 5 y 8 a 32,767                  6y7




 2–8
Instrucciones de comparación



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


Cómo iniciar una subrutina en archivo 7

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


                                        OPERATOR PANEL



                   Start I:1/6 Stop I:1/7
                                                    Change Tool Soon     Change Tool Now
                                                         O:3/4                O:3/6
                    Thumbwheel for
                                            Tool Change Reset               5 Hole
                    Thickness in 1/4"

                                                                3 Hole                 7 Hole

                                              (Keyswitch)
                       I:1/11-I:1/14             I:1/8                      I:1/9-I:1/10




                                                                                                                      2–9
Preface
Manual de referencia del juego de instrucciones


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




 2–10
Instrucciones matemáticas




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

                  Además, la última sección contiene un ejemplo de aplicación para una perforadora
                  de papel que muestra el uso de las instrucciones matemáticas.


Instrucciones matemáticas

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




                                                                                                                3–1
Preface
Manual de referencia del juego de instrucciones



                                     Instrucción
                                                                                  Propósito                         Página
                           Mnemónico           Nombre
                          SCL           Datos de escala      Multiplica la fuente por una tasa especificada,        3-18
                                                             añade a un valor offset y almacena el resultado en
                                                             el destino.
                          ABS           Absoluto             Calcula el valor absoluto de la fuente y coloca el     3-24
                                                             resultado en el destino.
                          CPT           Calcular             Evalúa una expresión y almacena el resultado en el     3-25
                                                             destino.
                          SWP           Cambiar              Cambia los bytes bajos y altos de un número espeĆ       3Ć27
                                                             cificado de palabras en un archivo de bit, entero,
                                                             ASCII o cadena.
                          ASN           Arco seno            Acepta el arco seno de un número y almacena el          3Ć28
                                                             resultado (en radianes) en el destino.
                          ACS           Arco coseno          Acepta el arco coseno de un número y almacena el       3-29
                                                             resultado (en radianes) en el destino.
                          ATN           Arco tangente        Acepta el arco tangente de un número y almacena         3Ć29
                                                             el resultado (en radianes) en el destino.
                          COS           Coseno               Acepta el coseno de un número y almacena el reĆ         3Ć30
                                                             sultado en el destino.
                          LN            Logaritmo natural    Acepta el logoritmo natural del valor en la fuente y    3Ć30
                                                             lo almacena en el destino.
                          LOG           Logaritmo de base Acepta el logoritmo de la base 10 del valor en la         3-31
                                        10                fuente y almacena el resultado en el destino.
                          SIN           Seno                 Acepta el seno de un número y almacena el resultaĆ     3-31
                                                             do en el destino.
                          TAN           Tangente             Acepta la tangente de un número y almacena el          3-32
                                                             resultado en el destino.
                          XPY           X a la potencia de Y Eleva un valor a la potencia y almacena el resultado    3Ć33
                                                             en el destino.




 3–2
Instrucciones matemáticas



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

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

               Para aprender más acerca de las instrucciones matemáticas, le recomendamos que
               lea la Descripción general de las instrucciones matemáticas que sigue.


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


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


Uso de las direcciones de palabra indexadas

               Tiene la opción de usar direcciones de palabra indexadas para parámetros de
               instrucción especificando direcciones de palabra (excepto los procesadores fijos y
               SLC 5/01). El direccionamiento indexado se trata en el apéndice F.




                                                                                                3–3
Preface
Manual de referencia del juego de instrucciones


Uso de las direcciones de palabra indirectas

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


Actualizaciones de los bits de estado aritmético

                         Los bits de estado aritmético se encuentran en la palabra 0, bits 0–3 en el archivo de
                         estado del controlador. Después de la ejecución de una instrucción, los bits de
                         estado aritmético en el archivo de estado son actualizados:

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


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

                         El bit de error menor (S:5/0) se establece a la detección de un overflow matemático
                         o división entre 0. Si este bit se establece a la ejecución de una instrucción END o
                         una instrucción de fin temporal (TND) o una regeneración de E/S (REF), se
                         establece el código 0020 de error mayor recuperable.

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


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

                         La palabra de estado S:13 contiene la palabra de mínimo significado de los valores
                         de 32 bits de las instrucciones MUL y DDV. Contiene el resto para las instrucciones
                         DIV y DDV. También contiene los cuatro primeros dígitos BCD para las
                         instrucciones de conversión desde BCD (FRD) y conversión a BCD (TOD).




 3–4
Instrucciones matemáticas


                La palabra S:14 contiene la palabra de máximo significado para los valores de 32
                bits de las instrucciones MUL y DDV. Contiene el cociente no redondeado para las
                instrucciones DIV y DDV. También contiene el dígito más significativo (dígito 5)
                para las instrucciones TOD y FRD.


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

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

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


                  Formato                                      Explicación

                             F    Archivo de punto (coma) flotante

                                  Número del archivo. El número 8 es el archivo predeterminado. Un número
                    Ff:e      f   de archivo entre 9-255 se puede usar si se requiere almacenamiento
                                  adicional.

                              :   Delimitador de elemento

                                  Número de       Tiene un rango de 0-255. Estos son elementos de 2
                              e
                                  elemento        palabras. Números de 32 bits no extendidos.

                 Ejemplos:
                              F8:2          Elemento 2, archivo de punto (coma) flotante 8
                              F10:36        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
Preface
Manual de referencia del juego de instrucciones


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

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

  Dest



Instrucción de salida



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




 3–6
Instrucciones matemáticas



Restar (SUB)
                                     3 3 3 3 3 3

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

  Dest



Instnrucción de salida


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




                                                                                                                     3–7
Preface
Manual de referencia del juego de instrucciones


Adición y sustracción de 32 bits
                                                                  3          3 3 3


                         Tiene la opción de realizar adición y sustracción de entero con signo de 16 ó 32 bits.
                         Esto es facilitado por el bit de archivo de estado S:2/14 (bit de selección de overflow
                         matemático).


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

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

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

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

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

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



 3–8
Instrucciones matemáticas


Ejemplo de adición de 32 bits

                   El ejemplo siguiente muestra cómo se añade un entero signado de 16 bits a un
                   entero signado de 32 bits. Recuerde que S:2/14 debe estar establecido para la
                   adición de 32 bits.

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

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




                                                                                                    3–9
Preface
Manual de referencia del juego de instrucciones




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

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



        B3       B3                                        ADD                                               Cuando el renglón se hace
         ] [      [OSR]                                   ADD
                                                          Source A      B3:1                                 verdadero para un solo
               0      1
                                                            0101010110101000                                 escán, B3:1 es añadido a
                                                          Source B      B3:2                                 B3:2. El resultado se
                                                            0001100101000000                                 coloca en B3:2.
                                                          Dest          B3:2
                                                            0001100101000000

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

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

                                                          Dest          B3:3
                                                            0000000000000011

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



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




 3–10
Instrucciones matemáticas



Multiplicar (MUL)
                                         3 3 3 3 3 3

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

  Dest



Instrucción de salida


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


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

                        Entero – Contiene el resultado con signo de 32 bits de la operación de
                        multiplicación. Este resultado es válido durante el overflow.

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




                                                                                                                  3–11
Preface
Manual de referencia del juego de instrucciones


Dividir (DIV)
                                     3 3 3 3 3 3

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


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


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

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

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

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

 3–12
Instrucciones matemáticas



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


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


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

                        Inicialmente contiene el dividendo de la operación DDV. A la ejecución de
                        instrucción, el cociente no redondeado se coloca en la palabra más significativa del
                        registro matemático. El residuo se coloca en la palabra menos significativa del
                        registro matemático.




                                                                                                                   3–13
Preface
Manual de referencia del juego de instrucciones


Borrar (CLR)
                             3 3 3 3 3 3

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



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


                         La instrucción calcula la raíz cuadrada de un número negativo sin overflow ni fallos.
 Instrucción de salida
                         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:
                                                  es reservado (entero). Para el punto
                           Acarreo (C)            (coma) flotante, siempre está puesto a
                                                  cero.
                           Overflow (V)           siempre se restablece.
                                                  se establece cuando el valor de destino
                           Cero (Z)
                                                  es cero.
                           Signo (S)              siempre se restablece.



 3–14
Instrucciones matemáticas



Cómo escalar con parámetros (SCP)
                                                                                          3 3

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

                               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
Preface
Manual de referencia del juego de instrucciones


Actualizaciones de los bits de estado aritmético
                           Con este bit:          El procesador:
                           Acarreo (C)            siempre se restablece.
                                                  se establece si el overflow es generado o si una entrada sin capacidad
                           Overflow (V)
                                                  se detecta; si no, se restablece.
                           Cero (Z)               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
                           Signo (S)
                                                  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
Preface
Manual de referencia del juego de instrucciones


Escala de datos (SCL)
                                                   3         3 3 3

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

  Dest



 Instrucción de salida


Ejemplo

                                 SCL
                                SCALE
                                Source             N7:0
                                                    100
                                                                 La fuente 100 es multiplicada por
                                Rate [/10000]     25000
                                                                 25000 y dividida entre 10000 y
                                Offset              127          sumada a 127. El resultado 377
                                                                 se coloca en el destino.
                                Dest               N7:1
                                                    377



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

                         Anote que a veces el término régimen significa pendiente. La función de régimen se
                         limita al rango –3.2768 a 3.2767. Por ejemplo, –32768/10000 a +32767/10000.


Cómo introducir parámetros

                         El valor para los parámetros siguientes es entre –32,768 a 32,767.
                         •    La fuente es una dirección de palabra.
                         •    El régimen (o pendiente) es el valor positivo o negativo que usted introduce
                              dividido entre 10,000. Puede ser una constante de programa o una dirección de
                              palabra.
                         •    El offset puede ser una constante de programa o una dirección de palabra.




 3–18
Instrucciones matemáticas


Actualizaciones de los bits de estado aritmético
                     Con este bit:                  El procesador:
                     Acarreo (C)                    es reservado.
                                                    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
                     Overflow (V)                   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.
                                                    se establece si el valor de destino es negativo; en caso contrario, se
                     Signo (S)
                                                    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 esĆ
                 cala




                            0
                  (Escala mín.)
                                      3,277                                     16,384
                                  (Entrada mín.)                                (Entrada máx.)
                                                                Valor de entrada




                                                                                                                              3–19
Preface
Manual de referencia del juego de instrucciones


Cómo calcular la relación lineal

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

                         Valor 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 esĆ
                       cala




                         0    0V
                       (Escala mín.)
                                           3,277 4 mA                               16,384 20 mA
                                           (Entrada mín.)                            (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
Preface
Manual de referencia del juego de instrucciones




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




                             Valor con esĆ
                             cala




                               0    0V
                             (Escala mín.)
                                               0 4 mA                                      13,107 20 mA
                                      (Entrada mín. desplazada)                     (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                         Entrada analógica
                   Source A          I:1.0
                   Source B           3277
                   Dest               N7:0


            Valor analógico con escala desplazado
                 SCL
                SCALE
                Source                N7:0
                Rate [/10000]        24997
                Offset                   0
                Dest                 O:2.0          Salida analógica




                                                                                   3–23
Preface
Manual de referencia del juego de instrucciones


Absoluto (ABS)
                                                    3 3

   ABS
  ABSOLUTE VALUE         Use la instrucción ABS para calcular el valor absoluto de la fuente y colocar el
  Source
                         resultado en el destino. Esta instrucción tiene capacidad para los valores de entero y
  Dest
                         punto (coma) flotante. Use esta instrucción con procesadores SLC 5/03 OS302 y
 Instrucción de salida
                         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.
                                                   siempre se restablece con un valor de punto (coma) flotante; se
                             Overflow (V)
                                                   establece si la entrada es -32,768 (valor de entero).
                                                   se establece cuando el valor de destino es cero; en caso contrario, se
                             Cero (Z)
                                                   restablece.
                             Signo (S)             siempre se restablece.




 3–24
Instrucciones matemáticas



Calcular (CPT)
                                                       3 3

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

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

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

Cómo introducir parámetros

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

Actualizaciones de los bits de estado aritmético
                              Con este bit:         El procesador:
                              Acarreo (C)           se establece según el resultado de la última instrucción en la expresión.
                                                    se establece cuando un overflow ocurre durante la evaluación de la
                              Overflow (V)
                                                    expresión.
                              Cero (Z)              se establece según el resultado de la última instrucción en la expresión.
                              Signo (S)             se establece según el resultado de la última instrucción en la expresión.


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


                                                                                                                       3–25
Preface
Manual de referencia del juego de instrucciones


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


 3–26
Instrucciones matemáticas



Intercambio (SWP)
                                                          3 3

  SWP
 SWAP                   Use esta instrucción para intercambiar los bytes bajos y altos de un número de
 Source
 Length                 palabras especificado en un archivo de bit, entero, ASCII o cadena. Use esta
                        instrucción con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.
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       #ST10:1.1
                                          Length              13



                            Antes:
                            ST10:1 = abcdefghijklmnopqrstuvwxyz

                            Después:
                            ST10:1 = badcfehgjilknmporqtsvuxwzy




                                                                                                         3–27
Preface
Manual de referencia del juego de instrucciones


Arco seno (ASN)
                                                  3 3

   ASN
  ARC SINE               Use la instrucción ASN para tomar el arco seno de un número (fuente en radianes) y
  Source
                         almacenar el resultado (en radianes) en el destino. La fuente debe ser mayor o igual
  Dest
                         que –1 y menor o igual que 1. El valor resultante en el destino siempre es mayor o
 Instrucción de salida
                         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.
                                                  se establece si un overflow es generado o una entrada sin capacidad se
                           Overflow (V)
                                                  detecta; si no, se restablece.
                           Cero (Z)               se establece si el resultado es cero; en caso contrario, se restablece.
                                                  se establece si el resultado es negativo; en caso contrario, se
                           Signo (S)
                                                  restablece.




 3–28
Instrucciones matemáticas



Arco coseno (ACS)
                                                      3 3

   ACS
  ARC COSINE             Use la instrucción ACS para tomar el arco seno de un número (fuente en radianes) y
  Source
                         almacenar el resultado (en radianes) en el destino. La fuente debe ser mayor o igual
  Dest
                         que –1 y menor o igual que 1. El valor resultante en el destino siempre es mayor o
Instrucción de salida
                         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.
                                                se establece si un overflow es generado o una entrada sin capacidad se
                          Overflow (V)
                                                detecta; en caso contrario, se restablece.
                          Cero (Z)              se establece si el resultado es cero; en caso contrario, se restablece.
                          Signo (S)             siempre se restablece.




Arco tangente (ATN)
                                                             3 3

   ATN
  ARC TANGENT            Use la para tomar el arco tangente de un número (fuente) y almacenar el resultado
  Source
                         (en radianes) en el destino. El valor resultante en el destino siempre es mayor o
  Dest
                         igual que –π /2 y menor o igual que π/2, donde π = 3.141592. Use esta instrucción
 Instrucción de salida
                         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.
                                                se establece si un overflow es generado o una entrada sin capacidad se
                          Overflow (V)
                                                detecta; en caso contrario, se restablece.
                          Cero (Z)              se establece si el resultado es cero; en caso contrario, se restablece.
                                                se establece si el resultado es negativo; en caso contrario, se
                          Signo (S)
                                                restablece.




                                                                                                                  3–29
Preface
Manual de referencia del juego de instrucciones


Coseno (COS)
                                                  3 3

   COS
  COSINE                 Use la instrucción COS para tomar el coseno de un número (fuente en radianes) y
  Source
                         almacenar el resultado (en radianes) en el destino. La fuente debe ser mayor o igual
  Dest
                         que –205887.4 y menor o igual que 205887.4. La óptima exactitud se obtiene
 Instrucción de salida
                         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.
                                                  se establece si un overflow es generado o una entrada sin capacidad se
                           Overflow (V)
                                                  detecta; en caso contrario, se restablece.
                           Cero (Z)               se establece si el resultado es cero; en caso contrario, se restablece.
                           Signo (S)              siempre se restablece.




Logaritmo natural (LN)
                                                                   3 3

   LN
  NATURAL LOG            Use la instrucción LN para tomar el logaritmo natural del valor en la fuente y
  Source
                         almacenar el resultado en el destino. La fuente debe ser mayor que cero. El valor
  Dest
                         resultante en el destino siempre es mayor que o igual que –87.33654 y menor o
 Instrucción de salida
                         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.
                                                  se establece si un overflow es generado o una entrada sin capacidad se
                           Overflow (V)
                                                  detecta; en caso contrario, se restablece.
                           Cero (Z)               se establece si el resultado es cero; en caso contrario, se restablece.
                           Signo (S)              siempre se restablece.



 3–30
Instrucciones matemáticas



Logaritmo a la base 10 (LOG)
                                                                                  3 3

   LOG
  LOG BASE 10            Use la instrucción LOG para tomar el logaritmo de base 10 del valor en la fuente y
  Source
                         almacenar el resultado en el destino. La fuente debe ser mayor que cero. El valor
  Dest
                         resultante en el destino siempre es mayor o igual que –37.92978 y menor o igual
Instrucción de salida
                         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.
                                                se establece si un overflow es generado o una entrada sin capacidad se
                          Overflow (V)
                                                detecta; en caso contrario, se restablece.
                          Cero (Z)              se establece si el resultado es cero; en caso contrario, se restablece.
                          Signo (S)             siempre se restablece.




Seno (SIN)
                                          3 3

   SIN
  SINE                   Use la instrucción SIN para tomar el seno de un número (fuente en radianes) y
  Source
                         almacenar el resultado en el destino. La fuente debe ser mayor o igual que
  Dest
                         –205887.4 y menor o igual que 205887.4. La óptima exactitud se obtiene cuando la
 Instrucción de salida
                         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.
                                                se establece si un overflow es generado o una entrada sin capacidad se
                          Overflow (V)
                                                detecta; en caso contrario, se restablece.
                          Cero (Z)              se establece si el resultado es cero; en caso contrario, se restablece.
                          Signo (S)             siempre se restablece.



                                                                                                                3–31
Preface
Manual de referencia del juego de instrucciones


Tangente (TAN)
                                                  3 3

   TAN
  TANGENT                Use la instrucción TAN para tomar la tangente de un número (fuente en radianes) y
  Source
                         almacenar el resultado en el destino. El valor de la fuente debe ser mayor o igual
  Dest
                         que –102943.7 y menor o igual que 102943.7. La óptima exactitud se obtiene
 Instrucción de salida
                         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.
                                                  se establece si un overflow es generado o una entrada sin capacidad se
                           Overflow (V)
                                                  detecta; en caso contrario, se restablece.
                           Cero (Z)               se establece si el resultado es cero; en caso contrario, se restablece.
                           Signo (S)              siempre se restablece.




 3–32
Instrucciones matemáticas



X a la potencia de Y (XPY)
                                                                         3 3

  XPY
 X TO POWER OF Y        Use la instrucción XPY para elevar un valor (fuente A) a una potencia (fuente B) y
 Source A
                        almacenar el resultado en el destino. Si el valor en la fuente A es negativo, la
 Source B
                        exponente (fuente B) debe ser un número entero. Si no es un número entero, el bit
 Dest
                        de overflow se establece y el valor absoluto de la base se usa en el cálculo. Use esta
Instrucción de salida
                        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.
                                                se establece si un overflow es generado o una entrada sin capacidad se
                         Overflow (V)
                                                detecta; en caso contrario, se restablece.
                         Cero (Z)               se establece si el resultado es cero; en caso contrario, se restablece.
                         Signo (S)              siempre se restablece.




                                                                                                                3–33
Preface
Manual de referencia del juego de instrucciones


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




 3–34
Instrucciones matemáticas


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




                                                                                      3–35
Preface
Manual de referencia del juego de instrucciones


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




 3–36
Instrucciones de manejo de datos




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

                  Además, la última sección contiene un ejemplo de aplicación para una perforadora
                  de papel que muestra el uso de las instrucciones de manejo de datos.


Instrucciones de manejo de datos

                            Instrucción
                                                                          Propósito                            Página
                   Mnemónico        Nombre
                   TOD         Convertir a BCD       Convierte el valor de fuente de entero en el formato        4-3
                                                     BCD y lo almacena en el destino.
                   FRD         Convertir desde       Convierte el valor de fuente BCD en un entero y lo          4-6
                               BCD                   almacena en el destino.
                   DEG         Convertir de          Convierte radianes (fuente) en grados y almacena           4-10
                               radianes a grados     el resultado en el destino.
                   RAD         Convertir de          Convierte grados (fuente) en radianes y almacena           4-11
                               grados a radianes     el resultado en el destino.
                   DCD         Descodificar 4 a 1    Descodifica un valor de 4 bits (0 a 15) activando el       4-12
                               de 16                 bit correspondiente en el destino de 16 bits.
                   ENC         Codificar 1 de 16 a   Codifica una fuente de 16 bits a un valor de 4 bits.       4-13
                               4                     Busca la fuente desde el bit mínimo al bit máximo y
                                                     busca el primer bit establecido. La posición de bit
                                                     correspondiente se escribe en el destino como
                                                     entero.
                   COP y FLL   Copiar el archivo y   La instrucción COP copia datos del archivo de               4Ć15
                               llenar el archivo     fuente al archivo de destino. La instrucción FLL
                                                     carga un valor de fuente en cada posición al archivo
                                                     de destino.
                                                                                           continúa en la página siguiente




                                                                                                                  4–1
Preface
Manual de referencia del juego de instrucciones



                                      Instrucción
                                                                               Propósito                        Página
                           Mnemónico          Nombre
                          MOV            Mover            Mueve el valor de fuente al destino.                  4-20
                          MVM            Mover con        Mueve los datos de un lugar de fuente a una           4-21
                                         máscara          porción seleccionada del destino.
                          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      4-27
                                                          destino.
                          FFL y FFU      Carga FIFO y     La instrucción FFL carga una palabra en una pila      4-30
                                         descarga FIFO    FIFO en transiciones de falso a verdadero sucesiĆ
                                                          vas. El FFU descarga una palabra de la pila en
                                                          transiĆ ciones de falso a verdadero sucesivas. La
                                                          primera palabra cargada es la primera de ser
                                                          descargada.
                          LFL y LFU      Carga LIFO y     La instrucción LFL carga una palabra en una pila      4-32
                                         descarga LIFO    LIFO en transiciones de falso a verdadero sucesiĆ
                                                          vas. El LFU descarga una palabra de la pila en
                                                          transiciones de falso a verdadero sucesivas. La
                                                          última palabra cargada es la primera de ser descarĆ
                                                          gada.




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

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




 4–2
Instrucciones de manejo de datos



Convertir en BCD (TOD)
                                                            3 3 3 3 3 3

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

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

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




Actualizaciones de los bits de estado aritmético
                                    Con este bit:          El procesador:
                                    Acarreo (C)            siempre se restablece.
                                                           se establece si el resultado BCD es mayor de 9999. El overflow resulta
                                    Overflow (V)
                                                           en un error menor.
                                    Cero (Z)               se establece si el valor de destino es cero.
                                                           se establece si la palabra de fuente es negativa; en caso contrario, se
                                    Signo (S)
                                                           restablece.


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

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




                                                                                                                               4–3
Preface
Manual de referencia del juego de instrucciones


Ejemplo 1

                              3 3 3

                         El valor de entero 9760 almacenado en N7:3 se convierte en BCD y la equivalente
                         de BCD se almacena en N10:0. El máximo valor BCD posible es 9999.

                                  TOD
                                  TO BCD
                                  Source            N7:3
                                                    9760            El valor de destino se muestra en el
                                  Dest             N10:0            formato BCD
                                                    9760



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



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



Ejemplo 2

                              3 3 3

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

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




 4–4
Instrucciones de manejo de datos


                                  3 2 7 6 0        N7:3 Decimal


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

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


                                        MVM
                                     MASKED MOVE
                                     Source                  S:14
                                                                3
                                     Mask                    000F

                                     Dest                   O:3.0            0000 0000 0000 0011
                                                                3




                                                                                                   4–5
Preface
Manual de referencia del juego de instrucciones


Convertir de BCD (FRD)
                                                                3 3 3 3 3 3

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



   FRD
  FROM BCD
  Source

  Dest



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




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



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




 4–6
Instrucciones de manejo de datos


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

                                  Source B        I:0.0                     Dest            N7:2
                                                      0                                        0

                                                                         MOV
                                                                        MOVE
                                                                        Source           I:0.0
                                                                                             0

                                                                        Dest              N7:1
                                                                                             0



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


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

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


Ejemplo 1

                   3 3 3

               El valor BCD 9760 en la fuente N7:3 se convierte y se almacena en N10:0. El
               máximo valor de fuente es 9999, BCD.

                     FRD
                     FROM BCD
                     Source         N7:3          El valor de fuente se muestra
                                    9760          en el formato BCD.
                     Dest          N10:0
                                    9760


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


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


                                                                                                   4–7
Preface
Manual de referencia del juego de instrucciones


Ejemplo 2

                   3 3 3 3 3 3

                         El valor BCD 32760 en el registro matemático se convierte y se almacena en N7:0.
                         El máximo valor de fuente es 32767, BCD.

                                               FRD
                                               FROM BCD
                                               Source          S:13       S:13 y S:14 se muestran en
                                                           00032760       el formato BCD.
                                               Dest            N7:0
                                                              32760



                        0000 0000 0000 0011           0010 0111 0110 0000
                                  15    S:14      0   15     S:13     0     BCD de 5 dígitos
                                   0   0   0      3    2    7   6   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                     Si el registro matemático (S:13 y S:14) se usa como la fuente para la instrucción
                         FRD y el valor BCD no excede 4 dígitos, asegúrese de borrar la palabra S:14 antes
                         de ejecutar la instrucción FRD. Si S:14 no se borra y un valor se contiene en esta
                         palabra procedente de otra instrucción matemática ubicada en otra parte del
                         programa, se colocará un valor decimal incorrecto en la palabra de destino.




 4–8
Instrucciones de manejo de datos


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


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

                         CLR
                         CLEAR
                         Dest           S:14
                                           0

                         FRD
                         FROM BCD                        S:13 y S:14 se
                         Source         S:13             muestran en el formato
                                    00001234
                         Dest           N7:0
                                                         BCD.
                                        1234
                                                         0000 0100 1101 0010



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




                                                                                  4–9
Preface
Manual de referencia del juego de instrucciones


Radianes en grados (DEG)
                                                                           3 3

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


 Instrucción de salida         Fuente 180/Π
                               donde Π = 3.141592

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


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



Actualizaciones de los bits de estado aritmético
                             Con este bit:         El procesador:
                             Acarreo (C)           siempre se restablece
                                                   se establece si un overflow es generado o si una entrada sin capacidad
                             Overflow (V)
                                                   se detecta; en caso contrario, se restablece
                             Cero (Z)              se establece si el resultado es cero; en caso contrario, se restablece
                                                   se establece si el resultado es negativo; en caso contrario, se
                             Signo (S)
                                                   restablece




 4–10
Instrucciones de manejo de datos



Grados en radianes (RAD)
                                                                          3 3

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


Instrucción de salida         Fuente Π/180
                              donde Π = 3.141592

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


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



Actaulizaciones de los bits de estado aritmético
                            Con este bit:         El procesador:
                            Acarreo (C)           siempre se restablece
                                                  se establece si un overflow es generado o si una entrada sin capacidad
                            Overflow (V)
                                                  se detecta; en caso contrario, se restablece
                            Cero (Z)              se establece si el resultado es cero; en caso contrario, se restablece
                                                  se establece si el resultado es negativo; en caso contrario, se
                            Signo (S)
                                                  restablece




                                                                                                                    4–11
Preface
Manual de referencia del juego de instrucciones


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

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


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

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



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



Actualizaciones de los bits de estado aritmético

                              Permanecen sin cambios.




 4–12
Instrucciones de manejo de datos



Codificar 1 de 16 a 4 (ENC)
                                                          3

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


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

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



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




                                                                                                                     4–13
Preface
Manual de referencia del juego de instrucciones


Actualizaciones de los bits de estado aritmético

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

                                    Con este bit:                                 El controlador:
                           S:0/0     Acarreo (C)         siempre se restablece.
                                                         se establece si más de un bit se establece; en caso contrario,
                           S:0/1     Overflow (V)        se restablece. El bit de overflow matemáitico (S:5/0) 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.




 4–14
Instrucciones de manejo de datos



Instrucciones para copiar el archivo (COP)
y llenar el archivo (FLL)                                                                 3 3 3 3 3 3



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


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

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

                                  –    Vea la tabla siguiente respecto a los controladores MicroLogix 1000:
                                             Si el archivo de tipo    entonces puede especificar una
                                              destino es un/una:           longitud máxima de:
                                         Salida                      1
                                         Entrada                     2
                                         Estado                      33
                                         Bit                         32
                                         Temporizador                40
                                         Contador                    32
                                         Control                     16
                                         Entero                      105

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

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

                         Si su archivo de tipo destino es un archivo de temporizador, contador o control,
                         asegúrese que las palabras de fuente correspondientes a las palabras de estado de su
                         archivo de destino contengan ceros.

                         Asegúrese de especificar con precisión la dirección inicial y la longitud del bloque
                         de datos que está copiando. La instrucción no sobrescribirá un límite de archivo
                         (por ejemplo, entre archivos N16 y N17) en el destino. Ocurre un error si se intenta
                         una sobrescritura del límite de archivo.

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




 4–16
Instrucciones de manejo de datos


Uso de FLL

                  Esta instrucción carga elementos de un archivo con una constante de programa o
                  valor de una dirección de elemento.

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

                                              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
Preface
Manual de referencia del juego de instrucciones


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

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

                                  –    Vea la tabla siguiente respecto a los controladores MicroLogix 1000:
                                             Si el archivo de tipo        entonces puede especificar na
                                              destino es un/una:               longitud máxima de:
                                         Salida                       1
                                         Entrada                      2
                                         Estado                       33
                                         Bit                          32
                                         Temporizador                 40
                                         Contador                     32
                                         Control                      16
                                         Entero                       105


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

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




 4–18
Instrucciones de manejo de datos



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


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


Uso de direcciones de palabra indexadas

                Tiene la opción de usar direcciones de palabra indexadas como parámetros de
                instrucción especificando las direcciones de palabra. El direccionamiento indexado
                se trata en el apéndice C.


Actualizaciones de los bits de estado aritmético

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


Uso de direcciones de palabra indirectas

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


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

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

                                                                                                 4–19
Preface
Manual de referencia del juego de instrucciones


Mover (MOV)
                                 3 3 3 3 3 3

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




Cómo introducir parámetros

                         Introduzca los parámetros siguientes al programar esta instrucción:
                         •      La fuente es la dirección o constante de los datos que desea mover.
                         •      El destino es la dirección a la cual la instrucción mueve los datos.

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


Actualizaciones de los bits de estado aritmético
                                     Con este bit:                                   El controlador:
                             S:0/0    Acarreo (C)           siempre se restablece.
                             S:0/1    Overflow (V)          siempre se restablece.
                                                            se establece si el resultado es cero; en caso contrario, se
                             S:0/2    Cero (Z)
                                                            restablece.
                                                            se establece si el resultado es negativo (el bit más significante
                             S:0/3    Signo (S)
                                                            establecido); en caso contrario, se restablece.




 4–20
Instrucciones de manejo de datos



Mover con máscara (MVM)
                                                             3 3 3 3 3 3

  MVM
 MASKED MOVE            La instrucción MVM es una instrucción de palabra que mueve datos de un lugar de
 Source
                        fuente a un destino y permite que porciones de los datos de destino estén
 Mask
                        enmascarados por una palabra separada. Siempre que el renglón permanenzca
 Dest
                        verdadero, la instrucción mueve los datos durante cada escán.
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.
                                                           se establece si el resultado es cero; en caso contrario, se
                            S:0/2    Cero (Z)
                                                           restablece.
                                                           se establece si el resultado es negativo; en caso contrarior, se
                            S:0/3    Signo (S)
                                                           restablece.




                                                                                                                    4–21
Preface
Manual de referencia del juego de instrucciones


Operación

                         Cuando un renglón que contiene esta instrucción es verdadero, los datos en la
                         dirección de fuente pasan por la máscara a la dirección de destino. Vea la
                         ilustración siguiente:

                                    MVM
                                   MASKED MOVE
                                   Source          B3:0

                                   Mask            F0F0

                                   Dest            B3:2




                                    B3:2 antes de mover
                           1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

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

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

                                  B3:2 después de mover
                           0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1


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




 4–22
Instrucciones de manejo de datos



Y (AND)
                         3 3 3 3 3 3

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

  Dest


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



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

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


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




                                                                                                                      4–23
Preface
Manual de referencia del juego de instrucciones


O (OR)
                         3 3 3 3 3 3

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

  Dest


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



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

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


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




 4–24
Instrucciones de manejo de datos



O exclusivo (XOR)
                                               3 3 3 3 3 3


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

  Dest

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



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

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


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




                                                                                                                        4–25
Preface
Manual de referencia del juego de instrucciones


No (NOT)
                         3 3 3 3 3 3

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



 Instrucción de salida   Tabla de verdad

                             Destino = NOT A
                              A        Destino
                              0           1
                              1           0



                         La fuente y el destino deben ser direcciones de palabra.

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


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




 4–26
Instrucciones de manejo de datos



Negar (NEG)
                                 3 3 3 3 3 3

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


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




                                                                                                                 4–27
Preface
Manual de referencia del juego de instrucciones


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

                         Las instrucciones LIFO cargan palabras en un archivo y las descargan en el orden
                         inverso en que fueron cargadas. La última palabra que llega es la primera palabra
                         que sale.



Cómo introducir parámetros

                         Introduzca los parámetros siguienes al programar estas instrucciones:
                         •    La fuente es una dirección de palabra o constante (–32,768 a 32,767) que se
                              convierte en el próximo valor en la pila.
                         •    El destino es una dirección de palabra que almacena el valor que sale de la pila.
                                        Esta instrucción        Descarga el valor a partir de la:
                                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.




 4–28
Instrucciones de manejo de datos


                   Los bits de estado de la estructura de control son direccionados
                   mnemónicamente. Estos incluyen:

                    –   Bit de vacío EM (bit 12) lo establece el procesador para indicar que la
                        pila está vacía.

                    –   Bit de efectuado DN (bit 13) lo establece el procesador para indicar que
                        la pila está llena. Esto inhibe la carga en la pila.

                    –   Bit de habilitación FFU/LFU EU (bit 14) se establece en una transición
                        de falso a verdadero del renglón FFU/LFU y se restablece en una transición
                        de verdadero a falso.

                    –   Bit de habilitación FFL/LFL EN (bit 15) se establece en una transición
                        de falso a verdadero del renglón FFL/LFL y se restablece en una transición
                        de verdadero a falso.


Efectos en el registro de índice S:24

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

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




                                                                                               4–29
Preface
Manual de referencia del juego de instrucciones


Carga FIFO (FFL)
Descarga FIFO (FFU)                                       3               3 3 3



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



Instrucciones de salida


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


                     FFL
                    FIFO LOAD                      (EN)                   Destino                                           Posición
                    Source                 N7:10   (DN)                  N7:11                             N7:12               0
                    FIFO                  #N7:12
                                                   (EM)                                                    N7:13               1
                    Control                 R6:0              La instrucción FFU descarga
                    Length                    34              datos de pila #N7:12 en                      N7:14               2
                    Position                   9              posición 0, N7:12.                                               3
                                                                                                                               4
                                                                                                                               5
                                                                                                                                       34 palabras han sido
                     FFU                                                                                                       6       asignadas para la pila
                    FIFO UNLOAD                    (EU)
                                                                                                                               7       FIFO a partir de N7:12
                    FIFO                  #N7:12   (DN)
                                                                          Fuente                                               8       hasta N7:45.
                    Dest                   N7:11   (EM)
                    Control                 R6:0                         N7:10                                                 9
                    Length                    34
                    Position                   9              La instrucción FFL carga datos
                                                              en pila #N7:12 en la próxima
                                                              posición disponible, la cual es 9                                33
                                                                                                           N7:45
                  Instrucciones FFL-FFU                       en este caso.
                                                                                                  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
Preface
Manual de referencia del juego de instrucciones


Carga LIFO (LFL)
Descarga LIFO (LFU)                                   3              3 3 3



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

                                  Los parámetros de instrucción han sido programados en las instrucciones LFL–LFU
Instrucciones de salida
                                  ilustradas abajo.


                                                          La instrucción LFU descarga
                                                          datos de pila #N7:12 en
                  LFL                                     posición 0, N7:12.
                 LIFO LOAD                   (EN)                                                                      Posición
                 Source              N7:10   (DN)                  N7:11                              N7:12               0
                 LIFO               #N7:12
                                             (EM)                                                                         1     34 palabras se asignan
                 Control              R6:0                           Destino                          N7:13                     para la pila LIFO a partir
                 Length                 34                                                            N7:14               2     de N7:12 hasta N7:45.
                 Position                9                                                                                3
                                                                                                                          4
                                                                                                                          5
                                                          La instrucción LFL carga datos en
                  LFU                                                                                                     6
                 LIFO UNLOAD                 (EU)         pila #N7:12 en la próxima
                                                          posición disponible, la cual es 9                               7
                 LIFO               #N7:12   (DN)
                 Dest                N7:11                en este caso.                                                   8
                                             (EM)
                 Control              R6:0                         N7:10                                                  9
                 Length                 34
                 Position                9                           Fuente

                 Instrucciones LFL-LFU                                                                N7:45               33
                                                                                              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
Preface
Manual de referencia del juego de instrucciones


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


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




 4–34
Instrucciones de manejo de datos


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




                                                                                     4–35
Preface
Manual de referencia del juego de instrucciones




 4–36
Instrucciones de flujo de programa




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

                   Además, la última sección contiene un ejemplo de aplicación para una perforadora
                   de papel que muestra el uso de las instrucciones de control de flujo de programa.


Instrucciones de control de flujo de programa

                                Instrucción
                                                                              Propósito                         Página
                    Mnemónico           Nombre
                    JMP y LBL      Saltar a etiqueta y   Saltar hacia adelante o hacia atrás a la instrucción    5Ć3
                                   etiqueta              de etiqueta especificada.
                    JSR, SBR,      Saltar a subrutina,   Saltar a una subrutina designada y retornar.            5Ć5
                    y RET          subrutina, y
                                   retornar de la
                                   subrutina
                    MCR            Restablecimiento      Desactivar todas las salidas no retentivas en una       5-8
                                   del control maestro   sección de un programa de escalera.
                    TND            Fin temporal          Marcar un fin temporal que detiene la ejecución del    5-10
                                                         programa.
                    SUS            Suspender             Identifica condiciones específicas para la              5-11
                                                         depuración del programa y la localización y
                                                         corrección de fallos del sistema.
                    IIM            Entrada inmediata     Programar una entrada inmediata con máscara.           5-12
                                   con máscara
                    IOM            Salida inmediata      Programar una salida inmediata con máscara.            5-13
                                   con máscara
                    REF            Regenerar                                                                    5-14




                                                                                                                  5–1
Preface
Manual de referencia del juego de instrucciones


Acerca de las instrucciones de control de flujo de
programa
                         Use estas instrucciones para controlar la secuencia en que se ejecuta su programa.

                         Las instrucciones de control le permiten cambiar el orden en que el procesador
                         realiza un escán de un programa de escalera. Estas instrucciónes típicamente se
                         usan para minimizar el tiempo de escán, crear un programa más eficiente y para
                         localizar y corregir fallos de un programa de escalera.




 5–2
Instrucciones de flujo de programa



Salto (JMP) y etiqueta (LBL)
                                                    3 3 3 3 3 3


 (JMP)         Use estas instrucciones conjuntamente para saltar porciones del programa de
               escalera.
  ]LBL[            Si el renglón que contiene la
                                                                           El programa:
                      instrucción de salto es:
                  Verdadero                        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.
                  Falso                            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
Preface
Manual de referencia del juego de instrucciones


Uso de LBL

                         Esta instrucción de entrada es el blanco de las instrucciones JMP que tienen el
                         mismo número de etiqueta. Debe programar esta instrucción como la primera
                         instrucción de un renglón. Esta instrucción no tiene bits de control.

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




 5–4
Instrucciones de flujo de programa



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




          RET
         RETURN




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

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

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

                      Las salidas controladas dentro de una subrutina permanecen en su último
                      estado hasta que la subrutina se vuelva a ejecutar.




Cómo anidar archivos de subrutina

                      El anidar subrutinas le permite dirigir el flujo de programa desde el programa
                      principal hasta una subrutina y luego a otra subrutina. Las reglas siguientes se
                      aplican al anidar subrutinas:

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




                                                                                                         5–5
Preface
Manual de referencia del juego de instrucciones


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

                          La ilustración siguiente muestra cómo se pueden anidar las subrutinas.
            Programa                       Nivel 1                      Nivel 2                  Nivel 3
            principal               Archivo de subrutina 6       Archivo de subrutina 7   Archivo de subrutina 8
                     6                  SBR                           SBR                     SBR
                    JSR
                                                   7                             8
                                                  JSR                           JSR



                                                  RET                           RET                    RET




                                     Ejemplo de cómo anidar subrutinas hasta el nivel 3


                          Ocurrirá un error si se llaman más niveles de subrutinas que los permitidos
                          (overflow de pila de subrutina) o si se ejecutan más retornos que niveles de llamada
                          existentes (underflow de pila de subrutina).


Uso de JSR

                          Cuando la instrucción JSR se ejecuta, el controlador salta a la instrucción de
                          subrutina (SBR) al inicio del archivo de subrutina destino y reanuda la ejecución
                          desde aquel punto. No puede saltar en una parte de una subrutina con excepción de
                          la primera instrucción en ese archivo.

                          Debe programar cada subrutina en su propio archivo de programa asignando un
                          número de archivo único:
                          •   3–255 para los procesadores SLC
                          •   4–15 para los controladores MicroLogix 1000

                          Fijo y específico del SLC 5/01 – La instrucción JSR no se debe programar en
                          bifurcaciones de salida anidadas. Un error de compilador se ocurrirá si se encuentra
                          un renglón que contenga salidas múltiples con lógica condicional y una instrucción
                          JSR.


 5–6
Instrucciones de flujo de programa


Uso de SBR

             La subrutina de destino se identifica por el número de archivo que usted introdujo
             en la instrucción JSR. Esta instrucción sirve como etiqueta o identificador de un
             archivo de programa designado como un archivo de subrutina normal.

             Esta instrucción no tiene bits de control. Siempre se evalúa como verdadera. La
             instrucción se debe programar como la primera instrucción en el primer renglón de
             una subrutina. El uso de esta instrucción es opcional; sin embargo, recomendamos
             su uso para obtener mayor claridad.


Uso de RET

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

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

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




                                                                                                5–7
Preface
Manual de referencia del juego de instrucciones


Restablecimiento de control maestro (MCR)
                                                                                                     3 3 3 3 3 3


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

                             Si el renglón MCR que inicia la
                                                                                      El controlador:
                                         zona es:
                             Verdadero                         Ejecuta los renglones en la zona MCR según la condición de
                                                               entrada de cada renglón (como si la zona no existiera)
                             Falso                             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:
                         •      Debe terminar la zona con una instrucción MCR no condicional.
                         •      No puede anidar una zona MCR dentro de otra.
                         •      No salte a una zona MCR. Si la zona es falsa, el saltar a ella activa la zona.
                         •      Siempre coloque la instrucción MCR como la última instrucción en un renglón.

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

                         Si inicia instrucciones tales como temporizadores o contadores en una zona
                         MCR, la operación de instrucción se detiene cuando la zona se inhabilita.
                         Vuelva a programar operaciones críticas fuera de la zona si fuese necesario.




 5–8
Instrucciones de flujo de programa


Operación del procesador SLC

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

              Si inicia instrucciones tales como temporizadores o contadores en una zona
              MCR, la operación de instrucción se detiene cuando la zona se inhabilita.
              Vuelva a programar operaciones críticas fuera de la zona si fuese necesario.

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

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

              Puede guardar el programa cuando está en línea si existen instrucciones MCR
              desatendidas. Sin embargo, si está fuera de línea y existen instrucciones MCR
              desatendidas, ocurrirá un error.




                                                                                              5–9
Preface
Manual de referencia del juego de instrucciones


Fin temporal (TND)
                                                  3 3 3 3 3 3


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




 5–10
Instrucciones de flujo de programa



Suspender (SUS)
                                   3 3 3 3 3 3

  SUS
 SUSPEND                Cuando esta instrucción se ejecuta, causa que el procesador entre en el modo de
 Suspend ID
                        Suspend/Idle y almacena la identificación de suspender en palabra 7 (S:7) del
Instrucción de salida
                        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
Preface
Manual de referencia del juego de instrucciones


Entrada inmediata con máscara (IIM)
                                                                                        3 3 3 3 3 3

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




Cómo introducir parámetros

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

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


Ejemplo

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


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

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



 5–12
Instrucciones de flujo de programa



Salida inmediata con máscara (IOM)
                                                                                      3 3 3 3 3 3

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




Cómo introducir parámetros

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

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


Ejemplo

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


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

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




                                                                                                                    5–13
Preface
Manual de referencia del juego de instrucciones


Regenerar I/S (REF)
                                                          3 3 3


Uso de un procesador SLC 5/02

  (REF)                  La instrucción REF no tiene parámetros de programación. Cuando se evalúa como
Instrucción de salida
                         verdadero, el escán de programa se interrumpe para ejecutar el escán de E/S y
                         porporcionar servicio a porciones de comunicación del ciclo de operación (escritura
                         de salidas, servicios de comunicación, lectura de entradas). Luego el escán se
                         reanuda en la instrucción siguiente a la instrucción REF.

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

                         Los temporizadores de control (watchdog) y de escán son restablecidos al
                         ejecutar la instrucción REF. Debe asegurarse que la instrucción REF no se
                         coloque dentro de un lazo de programa sin fin.

                         No coloque una instrucción REF dentro de un lazo de programa a menos que
                         el programa se analice detenidamente.


Uso de procesadores SLC 5/03 y SLC 5/04
   REF
  I/O REFRESH            La operación de la instrucción REF en el procesador SLC 5/03 y SLC 5/04 es la
  Channel 0
  Channel 1              misma que para el procesador SLC 5/02. Sin embargo, al usar un procesador SLC
                         5/03 ó SLC 5/04 también puede seleccionar un canal de comunicación específico
 Instrucción de salida   para el cual desea servicio.
                         •    Procesador SLC 5/03

                              –    el canal 0 esfull duplex DF1/RS-23 ó DH-485

                              –    el canal 1 es DH-485

                         •    El procesador SLC 5/04

                              –    el canal 0 es DH-485, full duplex DF1 ó ASCII

                              –    el canal 1 es DH+




 5–14
Instrucciones de flujo de programa



Instrucciones de control de flujo de programa en el
ejemplo de aplicación de la perforadora de papel
                  Esta sección proporciona renglones de escalera para demostrar el uso de las
                  instrucciones de control de flujo de programa. Los renglones son parte del ejemplo
                  de aplicación de la perforadora de papel descrito en el apéndice H. Va a añadir al
                  programa principal en el archivo 2. Los nuevos renglones son necesarios para
                  llamar las otras subrutinas que contienen la lógica necesaria para hacer funcionar la
                  máquina.


Cómo añadir el archivo 2
    Renglón 2:3
    Este renglón llama la subrutina de secuencia de la perforadora. Esta subrutina
    maneja la operación de una secuencia de perforación y vuelve a arrancar el
    transportador cuando se termina la secuencia de perforación.
    |                                                         +JSR–––––––––––––––+ |
    |–––––––––––––––––––––––––––––––––––––––––––––––––––––––––+JUMP TO SUBROUTINE+–|
    |                                                         |SBR file number 6| |
    |                                                         +––––––––––––––––––+ |
    Renglón 2:4
    Este renglón llama la subrutina que registra la cantidad de desgaste de la broca
    actual.
    |                                                         +JSR–––––––––––––––+ |
    |–––––––––––––––––––––––––––––––––––––––––––––––––––––––––+JUMP TO SUBROUTINE+–|
    |                                                         |SBR file number 7| |
    |                                                         +––––––––––––––––––+ |
    Renglón 2:5
    Existe una lógica de inicialización en la subrutina DII (archivo 4) que se debe
    ejecutar antes de la primera interrupción DII. Así este renglón permite que el
    DII esté inicializado saltando a la subrutina DII cuando el procesador entre
    en el modo RUN.
    | Primera                                                                       |
    | transferencia                                                                 |
    |    S:1                                                  +JSR–––––––––––––––+ |
    |––––] [––––––––––––––––––––––––––––––––––––––––––––––––––+JUMP TO SUBROUTINE+–|
    |       15                                                |SBR file number 4| |
    |                                                         +––––––––––––––––––+ |




                                                                                                   5–15
Preface
Manual de referencia del juego de instrucciones




 5–16
Instrucciones específicas de aplicación




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

                   Además, la última sección contiene un ejemplo de aplicación para una perforadora
                   de papel que muestra el uso de las instrucciones específicas de aplicación.


Instrucciones específicas de aplicación

                             Instrucción
                                                                         Propósito                          Página
                    Mnemónico        Nombre
                    BSL y BSR   Desplazamiento de   Cargan un bit de datos en un fichero de bit,             6-5
                                bit izquierdo y     desplaza la configuración de datos por el fichero y
                                desplazamiento de   descarga el último bit de datos en el fichero. El BSL
                                bit derecho         desplaza datos a la izquierda y el BSR desplaza
                                                    datos a la derecha.
                    SQO y       Salida de           Controlan operaciones de máquina secuenciales            6-9
                    SQC         secuenciador y      transfiriendo datos de 16 bits a través de una
                                comparación de      máscara a direcciones de imagen.
                                secuenciador
                    SQL         Carga de secuenĆ    Captura condiciones indicadas pasando manualĆ           6-14
                                ciador              mente la máquina por sus secuencias de operación.




                                                                                                              6–1
Preface
Manual de referencia del juego de instrucciones


Acerca de las instrucciones específicas de aplicación
                         Estas instrucciones simplifican el programa de escalera permitiéndole a usted usar
                         una sola instrucción o un par de instrucciones para efectuar operaciones complejas
                         comunes.

                         En este capítulo se encuentra una descripción general antes de cada grupo de
                         instrucciones. Antes de aprender acerca de las instrucciones en cada uno de estos
                         grupos, le recomendamos que lea la descripción general. Este capítulo contiene las
                         descripciones generales siguientes:
                         •    Descripción general de las instrucciones de desplazamiento de bit
                         •    Descripción general de las instrucciones del secuenciador




 6–2
Instrucciones específicas de aplicación



Descripción general de las instrucciones de
desplazamiento de bit
               La información general siguiente se aplica a las instrucciones de desplazamiento de
               bit.



Cómo introducir los parámetros

               Introduzca los parámetros siguientes al programar estas instrucciones:
               •   El archivo es la dirección del fichero de bit que desea manejar. Debe usar el
                   indicador de archivo (#) en la dirección de fichero de bit.
               •   El control es el elemento de control que almacena el byte de estado de la
                   instrucción, el tamaño del fichero (en número de bits). Anote que la dirección
                   de control no se debe usar para otras instrucciones.

                   El elemento de control se muestra abajo.

                            15      13     11 10                                    00
                   Pal. 0   EN      DN     ER UL                   No usada
                   Pal. 1   Tamaño del fichero de bit (número de bits)
                            Reservada
                   Pal. 2


                   Los bits de estado del elemento de control se pueden direccionar
                   mnemónicamente. Entre éstos se incluyen:

                   –   El bit de descarga UL (bit 10) almacena el estado del bit salido del
                       fichero cada vez que la instrucción se habilita.

                   –   El bit de error ER (bit 11), cuando se establece, indica que la instrucción
                       ha detectado un error tal como la introducción de un número negativo para
                       la longitud o posición. Evite usar el bit de salida cuando este bit esté
                       establecido.

                   –   El bit de efectuado DN (bit 13), cuando se establece, indica que el
                       fichero de bit se ha desplazado una posición.

                   –   El bit de habilitación EN (bit 15) está establecido en una transición de
                       falso a verdadero del renglón e indica que la instrucción está habilitada.



                                                                                                 6–3
Preface
Manual de referencia del juego de instrucciones


                              Cuando el registro se desplaza y las condiciones de entrada se hacen falsas, los
                              bits de habilitación, efectuado y error se restablecen.
                         •    El bit de dirección es la dirección del bit de fuente que la instrucción inserta en
                              la primera (más baja) posición de bit (BSL) o en la última (más alta) posición de
                              bit (BSR).
                         •    La longitud (tamaño del arreglo de bit) es el número de bits en el fichero de bit,
                              hasta 2048 bits. Un valor de longitud de 0 causa que el bit de entrada se
                              transfiera al bit UL.

                              –    Para los procesadores SLC la longitud es 2048

                              –    Para los controladores MicroLogix 1000 la longitud es 1680
                              Un valor de longitud que indica más allá del fin del archivo programado causa
                              la ocurrencia de un error mayor de tiempo de ejecución. Si modifica un valor de
                              longitud con su programa de escalera, asegúrese que el valor modificado sea
                              válido.

                         La instrucción invalida todos los bits más allá del último bit en el fichero (según se
                         define por la longitud) hasta el próximo límite de palabra.
Nota                     Si una dirección de elemento STring se usa para el parámetro del archivo, la
                         longitud máxima en un procesador SLC 5/03 y SLC 5/04 es 672 bits. Además, los
                         límites del elemento STring no se pueden cruzar.


Efectos en el registro de índice S:24

                         La operación de desplazamiento pone a cero el registro de índice S:24.




 6–4
Instrucciones específicas de aplicación



Desplazamiento de bit izquierdo (BSL)
Desplazamiento de bit derecho (BSR)                                                         3 3 3 3 3 3



  BSL
  BIT SHIFT LEFT          (EN)   BSL y BSR son instrucciones de salida que cargan bit por bit los datos en un fichero
  File         #B3:1      (DN)
  Control      R6:14             de bit. Los datos son desplazados a través del fichero y luego son descargados bit
  Bit AddressI:22/12
  Length          58             por bit.

   BSR
  BIT SHIFT RIGHT         (EN)
  File         #B3:2      (DN)
  Control      R6:15
  Bit AddressI:23/06
  Length          38


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
Preface
Manual de referencia del juego de instrucciones


                         La ilustración siguiente muestra cómo funciona la instrucción de desplazamiento de
                         bit izquierdo.
                                                   BSL
                                                   BIT SHIFT LEFT                     (EN)
                                                   File           #B3:1               (DN)
                                                   Control        R6:14
                                                   Bit Address I:22/12
                                                   Length            58


                                                                                                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           24   23   22   21   20   19   18   17   16
                              47 46 45 44 43 42 41           40   39   38   37   36   35   34   33   32         Fichero de bit 58
                              63 62 61 60 59 58 57           56   55   54   53   52   51   50   49   48         #B3:1
                                  NO VALIDO     73           72   71   70   69   68   67   66   65   64




                                                    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              (EN)
                 File           #B3:2         (DN)
                 Control        R6:15
                 Bit Address I:23/06
                 Length            38
                                                         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                       Fichero de bit 38
           INVALID            69 68 67 66 65 64                       #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
Preface
Manual de referencia del juego de instrucciones


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


Efectos en el registro de índice S:24

                         El valor presente en el registro de índice S:24 se sobrescribe cuando la instrucción
                         de secuenciador es verdadera. El valor del registro de índice será igual al valor de
                         posición de la instrucción.


Aplicaciones que requieren más de 16 bits

                         Cuando la aplicación requiere más de 16 bits, use instrucciones de secuenciador
                         múltiple en paralelo.
Nota                     Refiérase al apéndice H para ejemplos de aplicación que usan las instrucciones de
                         secuenciador.
Nota                     Si se usa una dirección de elemento STring para el parámetro de archivo, la
                         longitud máxima en un procesador SLC 5/03 y SLC 5/04 es 41 palabras.
                         Además,no se pueden cruzar los límites del elemento STring.




 6–8
Instrucciones específicas de aplicación



Salida de secuenciador (SQO)
Comparación de secuenciador (SQC)                                                        3 3 3 3 3 3



  SQO
  SEQUENCER OUTPUT        (EN)
                                 Estas intstrucciones transfieren datos de 16 bits a direcciones de palabra para el
  File
  Mask
             #B10:1
               0F0F       (DN)   control de operaciones secuenciales de la máquina.
  Dest         O:14
  Control     R6:20
  Length           4
  Position         2


   SQC
  SEQUENCER COMPARE       (EN)
  File      #B10:11
  Mask         FFF0       (DN)
  Source       I:03
                          (FD)
  Control     R6:21
  Length          4
  Position        2


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
                                                                  Datos de referencia para monitorizar
                                      SQC
                                                                  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
Preface
Manual de referencia del juego de instrucciones


Nota                     Puede direccionar la máscara, fuente o destino de una instrucción de secuenciador
                         como palabra o archivo. Si la direcciona como archivo (usando # de indicador de
                         archivo), la instrucción pasa automáticamente por el archivo de fuente, máscara o
                         destino.
                         • El control (SQO, SQC) es la estructura de control que almacena el byte de
                             estado de la instrucción, la longitud del archivo de secuenciador y la posición
                             instantánea en el archivo. No debe usar la dirección de control para otras
                             instrucciones.

                                         15       13   11         08                            00
                              Pal. 0     EN       DN   ER         FD
                              Pal. 1     Longitud del archivo de secuenciador
                              Pal. 2     Posición


                              Los bits de estado de la estructura de control incluyen:
                              –    El bit de encontrado FD (bit 08) – SQC solamente. Cuando el estado de
                                   todos los bits sin máscara en la dirección de fuente corresponden a los de la
                                   palabra de referencia, el bit FD está establecido. Este bit se evalúa cada
                                   vez que la instrucción SQC es evaluada mientras el renglón sea verdadero.
                              –    El bit de error ER (bit 11) se establece cuando el procesador detecta un
                                   valor de posición negativo, o un valor de longitud negativo o de cero. Esto
                                   resulta en un error mayor si no se borra antes de la ejecución de la
                                   instrucción END o TND.
                              –    El bit de efectuado Bit DN (bit 13) lo establece la instrucción SQO o
                                   SQC después de operar en la última palabra en el archivo de secuenciador.
                                   Se restablece en la próxima transición de renglón de falso a verdadero
                                   después de que el renglón se haga falso.
                              –    El bit de habilitación EN (bit 15) lo establece una transición de renglón
                                   de falso a verdadero e indica que la instrucción SQO o SQC se ha
                                   habilitado.
                         •    La longitud es el número de pasos del archivo de secuenciador a partir de la
                              posición 1. El número máximo que puede introducir es 255 palabras (104
                              palabras cuando usa los controladores MicroLogix 1000). La posición 0 es la
                              posición de arranque. La instrucción se restablece (se ajusta automáticamente)
                              a la posición 1 durante cada ciclo completado.
                              La dirección asignada para un archivo de secuenciador es paso cero. Las
                              instrucciones de secuenciador usan la longitud + 1 palabra de archivos de la
                              tabla de datos para cada archivo indicado en la instrucción. Esto se aplica a la
                              fuente, máscara y/o destino si se direccionan como archivos.

                              Un valor de longitud que indica más allá del fin del archivo programado causa
                              la coincidencia de un error mayor de tiempo de ejecución. Si modifica un valor
                              de longitud con su programa de escalera, asegúrese que el valor modificado sea
                              válido.


 6–10
Instrucciones específicas de aplicación


             •   La posición es la ubicación o paso de palabra en el archivo de secuenciador al
                 cual/desde el cual la instrucción mueve datos.
                 Un valor de longitud que indica más allá del final del archivo programado
                 provoca un error mayor de tiempo de ejecución. Si modifica un valor de
                 longitud con su programa de escalera, asegúrese que el valor modificado sea
                 válido.

             Nota de aplicación: Puede usar la instrucción de restablecimiento (RES) para
             restablecer un secuenciador. Todos los bits de control (excepto FD) se pondrán a
             cero. La posición también se pondrá a cero. Programe la dirección de su registro de
             control en el RES (por ej., R6:0).


Uso de SQO

             Esta instrucción de salida pasa por el archivo de secuenciador cuyos bits han sido
             enviados para controlar varios dispositivos de salida.

             Cuando el renglón va de falso a verdadero, la instrucción se incrementa hasta el
             próximo paso (palabra) en el archivo de secuenciador. Los datos almacenados en
             éste se transfieren a través de una máscara a la dirección de destino especificada en
             la instrucción. Los datos actuales se escriben en la palabra de destino
             correspondiente durante cada escán en que el renglón permanece verdadero.

             El bit de efectuado se establece cuando la última palabra del archivo de
             secuenciador se transfiere. En la próxima transición de renglón de falso a
             verdadero, la instrucción restablece la posición al paso uno.

             Si la posición es igual a cero al momento de arranque, cuando usted conmuta el
             procesador del modo de programa al modo de marcha, la operación de la instrucción
             dependerá de si el renglón es verdadero o falso en el primer escán.
             •   Si es verdadero, la instrucción transfiere el valor al paso cero.
             •   Si es falso, la instrucción espera la primera transición de renglón de falso a
                 verdadero y transfiere el valor al paso uno.

             Los bits enmascaran datos cuando se restablecen y transfieren datos cuando se
             establecen. La instrucción no cambia el valor en la palabra de destino a menos que
             usted establezca los bits de máscara. La máscara puede ser fija o variable. Será
             variable si introduce una dirección de elemento o una dirección de archivo para
             cambiar la máscara con cada paso.




                                                                                                 6–11
Preface
Manual de referencia del juego de instrucciones


                         La ilustración siguiente indica cómo funciona la instrucción SQO.

                                                  SQO
                                                  SEQUENCER OUTPUT          (EN)
                                                  File         #B10:1
                                                  Mask           0F0F       (DN)
                                                  Dest         O:14.0
                                                  Control       R6:20
                                                  Length            4
                                                  Position          2


                                          Destino O:14.0                               Salidas externas
                                15          8      7          0                        asociadas con O:14
                                 0000    0101      0000    1010
                                                                                           00
                                                                                           01     Activ.
                                     Valor de máscara 0F0F                                 02
                                15          8      7          0
                                                                                           03     Activ.
                                                                                           04
                                 0000    1111      0000    1111                            05
                                                                                           06
                                                                                           07
                             Archivo de salida de secuenciador #B10:1
                                                                                           08     Activ.
                          Palabra                                 Paso                     09
                         B10:1 0000      0000      0000    0000    0                       10     Activ.
                                                                                           11
                             2 1010      0010      1111    0101    1                       12
                             3 1111      0101      0100    1010    2     Paso actual       13
                             4 0101      0101      0101    0101    3                       14
                             5 0000      1111      0000    1111    4                       15



Uso de SQC

                         Cuando el estado de todos los bits sin máscara en la palabra de fuente corresponden
                         a los de la palabra de referencia, la instrucción establece el bit de encontrado (FD)
                         en la palabra de control. En caso contrarior, el bit de encontrado (FD) se pone a
                         cero.

                         Los bits enmascaran datos cuando se restablecen y transfieren datos cuando se
                         establecen.

                         La máscara puede ser fija o variable. Si introduce un código hexadecimal, la
                         máscara es fija. Si introduce una dirección de elemento o una dirección de archivo
                         para cambiar la máscara con cada paso, la máscara es variable.

                         Cuando el renglón va de falso a verdadero, la instrucción se incrementa al próximo
                         paso (palabra) en el archivo de secuenciador. Los datos almacenados en éste se
                         transfieren a través de una máscara y se comparan contra los datos de fuente para
                         determinar igualdad. Si los datos de fuente son iguales a los datos de referencia, el bit
                         FD se establece en el contador de control de SQC. Los datos actuales se comparan
                         contra la fuente durante cada escán en que el renglón es evaluado como verdadero.


 6–12
Instrucciones específicas de aplicación


Las aplicaciones de la instrucción SQC incluyen diagnósticos de máquina. La
ilustración siguiente explica cómo funciona la instrucción SQC.

              SQC
             SEQUENCER COMPARE               (EN)
             File        #B10:11             (DN)
             Mask           FFF0             (FD)
             Source        I:3.0
             Control       R6:21
             Length            4
             Position          2




               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                               Paso
   B10:11                                  0
       12                                  1
       13 0010      0100     1001     1010 2
       14                                  3
       15                                  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
Preface
Manual de referencia del juego de instrucciones


Carga de secuenciador (SQL)
                                                                       3          3 3 3
   SQL
  SEQUENCER LOAD         (EN)   La instrucción SQL almacena datos de 16 bits en un archivo de carga de
  File
  Source
                         (DN)
                                secuenciador a cada paso de la operación del secuenciador. La fuente de estos datos
  Control
  Length                        puede ser una dirección de palabra de E/S o de almacenamiento, una dirección de
  Position
                                archivo o una constante.
 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      DN     ER
    Pal. 1    Longitud
    Pal. 2    Posición


    Los bits de estado de la estructura de control incluyen:

    –   El bit de error ER (bit 11) se establece cuando el procesador detecta un
        valor de posición negativo, o un valor de longitud negativo o de cero.
         Para los procesadores SLC, esto resulta en un error mayor si no se pone a
         cero antes de la ejecución de la instrucción END o TND.
         Para los controladores MicroLogix 1000, cuando el bit ER se establece
         también se establece el bit de error (S5:2). Ambos bits se deben poner a
         cero.

    –   El bit de efectuado DN (bit 13) se establece después de que la instrucción
        haya operado en la última palabra en el archivo de carga de secuenciador.
        Se restablece en la próxima transición de renglón de falso a verdadero
        después de que el renglón se haga falso.

    –   El bit de habilitación EN (bit 15) se establece en una transición de falso
        a verdadero del renglón SQL y se restablece en una transición de verdadero
        a falso.




                                                                                   6–15
Preface
Manual de referencia del juego de instrucciones


Operación

                         Los parámetros de instrucción han sido programados en la instrucción SQL ilustrada
                         abajo. La palabra de entrada I:1.0 es la fuente. Los datos en esta palabra son
                         cargados en el archivo de entero #N7:30 por la instrucción de carga de secuenciador.

                                 SQL
                                SEQUENCER LOAD             (EN)
                                File         #N7:30
                                Source        I:1.0        (DN)
                                Control        R6:4
                                Length            4                                    Entradas externas
                                Position          2                                    asociadas con I:1.0
                                                                                            00
                                                                                            01     Activ.
                                           Fuente I:1.0                                     02
                                   15           8   7         0
                                                                                            03     Activ.
                                                                                            04
                                    0000     0101   0000   1010                             05
                                                                                            06
                                                                                            07
                              Archivo de carga de secuenciador #N7:30
                                                                                            08     Activ.
                             Palabra                              Paso                      09
                            N7:30 0000       0000   0000   0000    0                        10     Activ.
                                                                                            11
                               31 1010       0010   1111   0101    1                        12
                               32 0000       0101   0000   1010    2     Paso actual        13
                               33 0000       0000   0000   0000    3                        14
                               34 0000       0000   0000   0000    4                        15


                         Cuando las condiciones de renglón cambian de falso a verdadero, el bit de
                         habilitación SQL (EN) se establece. El elemento de control R6:4 se incrementa a la
                         próxima posición en el archivo de secuenciador y carga el contenido de la fuente
                         I:1.0 en esta ubicación. La instrucción SQL sigue cargando los datos actuales en
                         esta ubicación durante cada escán en que el renglón permanece verdadero. Cuando
                         el renglón se vuelve falso, el bit de habilitación (EN) se pone a cero.

                         La instrucción carga los datos en un nuevo elemento de archivo a cada transición de
                         falso a verdadero del renglón. Cuando se completa el paso 4, el bit de efectuado
                         (DN) se establece. La operación avanza a la posición 1 en la próxima transición de
                         falso a verdadero del renglón después de la posición 4.

                         Si la fuente fuera una dirección de archivo tal como #N7:40, los archivos #N7:40 y
                         #N7:30 tendrían una longitud de 5 (0–4) y rastrearían conjuntamente por los pasos
                         según el valor de posición.




 6–16
Instrucciones específicas de aplicación



Instrucciones específicas de aplicación en el ejemplo de
aplicación de la perforadora de papel
                 Esta sección proporciona renglones de escalera para demonstrar el uso de las
                 instrucciones específicas de aplicación. Los renglones son parte del ejemplo de
                 aplicación de la perforadora de papel descrito en el apéndice H. Usted iniciará una
                 rubrutina en el archivo 4.

                 Esta porción de la subrutina indica al transportador dónde detenerse para permitir la
                 perforación de un orificio. Las instrucciones de secuenciador se usan para
                 almacenar las posiciones de parada del transportador y cargar la “próxima” posición
                 de parada en la palabra preseleccionada DII. (La interrupción de entrada discreta,
                 DII, se usa para contar impulsos precedentes del codificador [encoder] que está
                 conectado al transportador.) Las posiciones de parada se usan para almacenar y
                 acceder cada una de las tres configuraciones de orificios.


                                                     OPERATOR PANEL



                                Start I:1/6 Stop I:1/7
                                                                 Change Drill Soon     Change Drill Now         Interruptor
                                                                      O:3/4                O:3/6                selector de
                                Thumbwheel for                                                                  perforación
                                                         Drill Change Reset               5 Hole
                                Thickness in 1/4"

                                                                              3 Hole                   7 Hole

                                                            (Keyswitch)
                                   I:1/11-I:1/14               I:1/8                    I:1/9-I:1/10




                                                                      Perforadora




         Orificios
        perforados




                                                                                                                          6–17
Preface
Manual de referencia del juego de instrucciones


        Renglón 4:0
        Este renglón restablece los secuenciadores de conteo de orificios cada vez que el
        procesador entra en el modo RUN. Esto asegura que el primer valor preseleccionado se
        cargue en la DII preseleccionada a cada entrada en el modo de marcha.
        |                            Primer                               secuenciador   |
        |                            paso                                 de 3 orificios |
        |                                                                 preseleccionado|
        | +INT––––––––––––––––––––+     S:1                                      R6:4    |
        |–+INTERRUPT SUBROUTINE    +––––] [––––––––––––––––––––––––––––––+–––(RES)––––+–|
        | +–––––––––––––––––––––––+       15                              |            | |
        |                                                                 | secuenc.   | |
        |                                                                 | de 5 orif. | |
        |                                                                 | preselecc. | |
        |                                                                 |     R6:5   | |
        |                                                                 +–––(RES)––––+ |
        |                                                                 |            | |
        |                                                                 | secuenc.   | |
        |                                                                 | de 7 orif. | |
        |                                                                 | preselecc. | |
        |                                                                 |     R6:6   | |
        |                                                                 +–––(RES)––––+ |
        |                                                                                |
        Renglón 4:2
        Este renglón registra el número de orificio que se perfora y carga la próxima DII
        correcta preseleccionada basada en el conteo de orificios. Este renglón solamente
        está activo cuando el “interruptor selector de orificio” está en la posición de “3
        orificios”. El secuenciador usa el paso 0 como un paso nulo al restablecerse. Usa el
        último paso como “continuar infinitivamente” en espera del “fin de manual”. El mover
        0 a S:49 le indica a la DII que dispare una interrupción cuando el borde trasero del
        libro actual se detecta.
        | bit 0       |bit 1                                        secuenciador         |
        | del interr. |del interr.                                  de 3 orificios       |
        | selector    |selector                                     preseleccionado      |
        | de orificio |de orificio                                                       |
        |   I:1.0      I:1.0                                +SQO–––––––––––––––+         |
        |––––]/[––––––––] [–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–|
        |       9         10         |                      |File         #N10:0+–(DN) | |
        |                            |                      |Mask           FFFF|      | |
        |                            |                      |Dest           S:50|      | |
        |                            |                      |Control        R6:4|      | |
        |                            |                      |Length            4|      | |
        |                            |                      |Position          0|      | |
        |                            |                      +––––––––––––––––––+       | |
        |                            |                                                 | |




 6–18
Instrucciones específicas de aplicación


|                           |                                                |         |
|                           |                      forzar que el             |         |
|                           |                      secuenciador              |         |
|                           |                      incremente en             |         |
|                           |                      el próximo escán          |         |
|                           |                          R6:4                  |         |
|                           +–––––––––––––––––––––––––(U)––––––––––––––––––––+         |
|                           |                           EN                   |         |

Renglón 4:3
Este renglón es idéntico al renglón anterior con la excepción de que sólo está
activado cuando el “interruptor selector de orificio” está en la posición de “5
orificios”.
| bit 0        |bit 1                                      secuenciador          |
| del interr. |del interr.                                  de 5 orificios       |
| selector de |selector de                                  preseleccionado      |
| orificio     |orificio                                                         |
|   I:1.0      I:1.0                               +SQO–––––––––––––––+          |
|––––] [––––––––]/[–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–|
|       9         10        |                      |File          #N10:5+–(DN) | |
|                           |                      |Mask            FFFF|      | |
|                           |                      |Dest            S:50|      | |
|                           |                      |Control         R6:5|      | |
|                           |                      |Length             6|      | |
|                           |                      |Position           0|      | |
|                           |                      +––––––––––––––––––+        | |
|                           |                                                  | |
|                           |                      forzar que el               | |
|                           |                      secuenciador                | |
|                           |                      incremente en               | |
|                           |                      el próximo escán            | |
|                           |                          R6:5                    | |
|                           +–––––––––––––––––––––––––(U)––––––––––––––––––––+ |
|                           |                            EN                    | |




                                                                                        6–19
Preface
Manual de referencia del juego de instrucciones


        Renglón 4:4
        Este renglón is idéntico a los 2 renglones anteriores con la excepción de que sólo
        está activado cuando el “interruptor selector de orificio” está en la posición de “7
        orificios”.
        | bit 0        |bit 1                                      secuenciador          |
        | del interr. |del interr.                                  de 7 orificios       |
        | selector de |selector de                                  preseleccionado      |
        | orificio     |orificio                                                         |
        |   I:1.0      I:1.0                               +SQO–––––––––––––––+          |
        |––––] [––––––––] [–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–|
        |       9         10        |                      |File         #N10:12+–(DN) | |
        |                           |                      |Mask            FFFF|      | |
        |                           |                      |Dest            S:50|      | |
        |                           |                      |Control         R6:6|      | |
        |                           |                      |Length             8|      | |
        |                           |                      |Position           0|      | |
        |                           |                      +––––––––––––––––––+        | |
        |                           |                      forzar que el               | |
        |                           |                      secuenciador                | |
        |                           |                      incremente en               | |
        |                           |                      el próximo escán            | |
        |                           |                          R6:6                    | |
        |                           +–––––––––––––––––––––––––(U)––––––––––––––––––––+ |
        |                           |                            EN                    | |




 6–20
Cómo usar las instrucciones del contador de alta velocidad




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

                   Además, la última sección contiene un ejemplo de aplicación para una perforadora
                   de papel que muestra el uso de las instrucciones del contador de alta velocidad.
Instrucciones del contador de alta velocidad

                       Mnemónico           Nombre                                 Propósito                      Página
                                                                Aplica la configuración al hardware del
                                                                contador de alta velocidad, actualiza el
                       HSC         Contador de alta
                                                                acumulador de imagen, habilita el conteo          7Ć6
                                   velocidad
                                                                cuando el HSC es verdadero e inhabilita el
                                                                conteo cuando el renglón de HSC es falso.
                                                                Configura los valores preseleccionados bajos
                       HSL         Carga del contador de
                                                                y altos, las configuraciones de salida y          7Ć18
                                   alta velocidad
                                                                configuraciones de bit con máscara.
                                   Restablecimiento del
                       RES                                      Escribe un cero al acumulador de hardware y
                                   contador de alta                                                               7Ć21
                                                                al acumulador de imagen.
                                   velocidad
                                   Acumulador de
                       RAC         restablecimiento del         Escribe el valor especificado al acumulador
                                                                                                                  7Ć22
                                   contador de alta             de hardware y al acumulador de imagen.
                                   velocidad
                       HSE         Habilit. de interrupción
                                                                Habilita o inhabilita la ejecución de la
                                   del contador de alta
                                                                subrutina de interrupción del contador de alta
                       HSD         velocidad
                                                                velocidad cuando se alcanza un valor             7-23
                                   Inhabilit. de interrupción
                                                                preseleccionado alto, valor preseleccionado
                                   del contador de alta
                                                                bajo, overflow o underflow.
                                   velocidad
                                   Actualiz. del acumulador     Le proporciona acceso de tiempo real al valor
                       OTE         de imagen del contador       de acumulador del hardware actualizando el        7Ć24
                                   de alta velocidad            acumulador de imagen.


                                                                                                                   7–1
Preface
Manual de referencia del juego de instrucciones


Acerca de las instrucciones del contador de alta
velocidad
                         Las instrucciones del contador de alta velocidad usadas en su programa de escalera
                         configuran, controlan y monitorizan el contador de hardware del controlador. El
                         acumulador de hardware del contador incrementa o decrementa en respuesta a
                         señales de entrada externas. Cuando el contador de alta velocidad está habilitado, el
                         contador de tabla de datos C5:0 es usado por el programa de escalera para
                         monitorizar el acumulador y estado del contador de alta velocidad. El contador de
                         alta velocidad opera independientemente del escán de controlador.

                         Cuando use el contador de alta velocidad, asegúrese de ajustar debidamente los
                         filtros de entrada.

                         Antes de aprender estas instrucciones, lea la descripción general que sigue en la
                         próxima página.




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



Descripción general de las instrucciones del contador
de alta velocidad
                    Use las instrucciones del contador de alta velocidad para detectar y almacenar
                    impulsos estrechos (rápidos) y para iniciar otras operaciones de control basadas en
                    los valores preseleccionados. Estas operaciones de control incluyen la ejecución
                    automática e inmediata de la rutina de interrupción del contador de alta velocidad
                    (archivo 4) y la actualización inmediata de salidas basada en una configuración de
                    fuente y máscara que usted ha establecido.

Elementos del archivo de datos del contador

                    Las instrucciones del contador de alta velocidad hacen referencia al contador C5:0. La
                    instrucción HSC se fija a C5:0. Se compone de tres palabras. La palabra 0 es la
                    palabra de estado que contiene 15 bits de estado. La palabra 1 es el valor preselec-
                    cionado. La palabra 2 es el valor acumulador. Una vez asignado a la instrucción HSC,
                    C5:0 no está disponible como dirección para otras instrucciones de contador.

                                 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
                    Pal. 0       CU CD DN OV UN UA HP LP IV IN IH IL PE LS IE                                         Palabra
                                                                                                                      de estado
                    Pal. 1       Valor preseleccionado
                    Pal. 2       Valor de acumulador

                     CU   =   Bit   de   habilitación de conteo progresivo
                     CD   =   Bit   de   habilitación de conteo regresivo
                     DN   =   Bit   de   alto valor preseleccionado alcanzado
                     OV   =   Bit   de   overflow ocurrido
                     UN   =   Bit   de   underflow ocurrido
                     UA   =   Bit   de   actualización de acumulador de contador de alta velocidad
                     HP   =   Bit   de   alto valor preseleccionado ≥ de acumuladorÀ
                     LP   =   Bit   de   bajo valor preseleccionado ≤ de acumulador
                     IV   =   Bit   de   overflow ha causado interrupción de contador de alta velocidadÀ
                     IN   =   Bit   de   underflow ha causado interrupción de contador de velocidadÀ
                     IH   =   Bit   de   alto valor preseleccionado ha causado interrupciónÀ
                     IL   =   Bit   de   bajo valor preseleccionado ha causado interrupciónÀ
                     PE   =   Bit   de   interrupción pendiente de contador de alta velocidadÀ
                     LS   =   Bit   de   interrupción perdida de contador de alta velocidadÀ
                     IE   =   Bit   de   habilitación de interrupción de contador de alta velocidadÀ

                À   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
Preface
Manual de referencia del juego de instrucciones


                         •    El bit de habilitación del contador progresivo CU (bit 15) se usa con todos
                              los tipos de contadores de alta velocidad. Si la instrucción HSC es verdadera, el
                              bit CU se pone a uno. Si la instrucción HSC es falsa, el bit CU se pone a cero.
                              No escriba a este bit.
                         •    El bit de habilitación del contador regresivo CD (bit 14) se usa con los
                              contadores bidireccionales (modos 3–8). Si la instrucción HSC es verdadera, el
                              bit CD se pone a uno. Si la instrucción HSC es falsa, el bit CD se pone a cero.
                              No escriba a este bit.
                         •    Bit de valor alto preseleccionado alcanzado DN (bit 13) Para los contadores
                              progresivos (modos 1 y 2), este bit es un bit de enclavamiento disparado por
                              flanco. Este bit se establece cuando el valor alto preseleccionado se alcanza.
                              Puede restablecer este bit con una instrucción OTU o ejecutando una
                              instrucción RAC o RES.
                              El bit DN es un bit reservado para todas las otras opciones del contador (modos
                              3–8).
                         •    Bit de overflow ocurrido OV (bit 12) Para los contadores progresivos (modos
                              1 y 2), este bit está establecido por el controlador cuando el valor alto
                              preseleccionado se alcanza si el bit DN se ha establecido.
                              Para los contadores bidireccionales (modos 3–8), el bit OV está establecido por
                              el controlador después de la transición del acumulador de hardware de 32,767 a
                              –32,768. Puede restablecer este bit con una instrucción OTU o ejecutando una
                              instrucción RAC o RES para los contadores progresivos y bidireccionales.
                         •    El bit de underflow ocurrido UN (bit 11) es un bit reservado para los
                              contadores progresivos (modos 1 y 2). No escriba a este bit.
Nota                         Para los contadores bidireccionales (modos 3–8), el bit UN está establecido por
                             el controlador cuando el acumulador de hardware hace una transición de
                             –32,768 a +32,767. Puede restablecer este bit con una instrucción o ejecutando
                             una instrucción RAC o RES.
                         •    El bit de actualización del acumulador del contador de alta velocidad UA
                              (bit 10) se usa con una instrucción OTE para actualizar el valor del acumulador
                              de imagen de instrucción con el valor del acumulador de hardware. (La
                              instrucción HSC también realiza esta operación cada vez que el renglón con la
                              instrucción HSC es evaluado como verdadero.)
                         •    El bit de acumulador  valor alto preseleccionado HP (bit 9) es un bit
                              reservado para todos los contadores progresivos (modos 1 y 2). No escriba a
                              este bit. (Excepción – puede establecer o restablecer este bit durante la
                              configuración inicial de la instrucción HSC. Vea la página 7–6 para obtener
                              más información.)
                              Para los contadores bidireccionales (modos 3–8), si el acumulador de hardware
                              se hacer mayor o igual que el valor alto preseleccionado, el bit HP se restablece.
                              Si el acumulador de hardware se hace menor que el valor alto preseleccionado,
                              el bit HP será restablecido por el controlador.




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


•   El bit de acumulador ≤ valor bajo preseleccionado LP (bit 8) es un bit
    reservado para todos los contadores progresivos. No escriba a este bit.
    (Excepción – puede establecer o restablecer este bit durante la configuración
    inicial de la instrucción HSC. Vea la página 7–6 para obtener más información.
    Para los contadores bidireccionales, si el acumulador de hardware se hace
    menor o igual que el valor bajo preseleccionado, el bit LP será establecido por el
    controlador. Si el acumulador de hardware se hace mayor que el valor bajo
    preseleccionado, el bit LP será restablecido por el controlador.
•   El bit de interrupción del contador de alta velocidad causada por overlow
    IV (bit 7) se establece para identificar un overflow como la causa de una rutina
    de interrupción del contador de alta velocidad. Los bits IN, IH e IL serán
    restablecidos por el controlador cuando el bit IV se establezca. Examine este bit
    al inicio de la rutina de interrupción del contador de alta velocidad (archivo 4)
    para determinar el porqué de la interrupción ocurrida.
•   El bit de interrupción del usuario causada por underflow IN (bit 6) se
    establece para identificar un underflow como la causa de una ejecución de la
    rutina de interrupción del contador de alta velocidad. Los bits IV, IH e IL serán
    restablecidos por el controlador cuando el bit IN se establezca. Examine este bit
    al inicio de la rutina de interrupción del contador de alta velocidad (archivo 4)
    para determinar el porqué de la interrupción ocurrida.
•   El bit de interrupción del usuario causada por el valor alto preseleccionado
    alcanzado IH (bit 5) se establece para identificar un valor alto
    preseleccionado alcanzado como la causa de ejecución de la rutina de
    interrupción del contador de alta velocidad. Los bits IV, IN e IL serán
    restablecidos por el controlador cuando el bit IH se establezca. Examine este bit
    al inicio de la rutina de interrupción del contador de alta velocidad (archivo 4)
    para determinar el porqué de la interrupción ocurrida.
•   El bit de interrupción del contador de alta velocidad causada por valor
    bajo preseleccionado alcanzado IL (bit 4) se establece para identificar un
    valor bajo preseleccionado alcanzado como la causa de ejecución de la rutina de
    interrupción del contador de alta velocidad. Los bits IV, IN e IH serán
    restablecidos por el controlador cuando el bit IL se establezca. Examine este bit
    al inicio de la rutina de interrupción del contador de alta velocidad (archivo 4)
    para determinar el porqué de la interrupción ocurrida.
•   Bit de interrupción pendiente del contador de alta velocidad PE (bit 3) es
    establece para indicar que una interrupción del contador de alta velocidad
    espera la ejecución. Este bit es puesto a cero por el controlador cuando la rutina
    de interrupción del contador de alta velocidad comienza a ejecutar. Este se
    restablece si una instrucción RAC o RES se ejecuta. No escriba a este bit.
•   El bit de interrupción perdida del contador de alta velocidad LS (bit 2) se
    establece si una interrupción del contador de alta velocidad ocurre mientras que
    el bit PE esté establecido. Puede restablecer este bit con una instrucción OTU o
    ejecutando una instrucción RAC o RES.
•   El bit de habilitación de interrupción del contador de alta velocidad IE
    (bit 1) se establece cuando la interrupción del contador de alta velocidad se
    habilita para marchar cuando ocurre una condición de interrupción del contador
    de alta velocidad. Se restablece cuando la interrupción se inhabilita. Este bit
    también se establece cuando el contador de alta velocidad se configura por
    primera vez. No escriba a este bit.


                                                                                    7–5
Preface
Manual de referencia del juego de instrucciones


Contador de alta velocidad (HSC)
   HSC
  HIGH SPEED COUNTER    (CU)
                               Use esta instrucción para configurar el contador de alta velocidad. Solamente una
  Type
  Counter        C5:0
                        (CD)
                        (DN)
                               instrucción HSC se puede usar en un programa. El contador de alta velocidad no
  High Preset
  Accum
                    0
                    0          opera hasta que la primera ejecución verdadera de la instrucción HSC. Cuando el
                               renglón HSC es falso, el contador de alta velocidad está inhabilitado para contar,
                               pero todas las otras características HSC funcionan.
                               La dirección de contador de la instrucción se fija a C5:0.
                               Después de la configuración del HSC, el acumulador de imagen (C5:0.ACC) se
                               actualiza con el valor del acumulador de hardware actual cada vez que la instrucción
                               HSC se evalúa como verdadera o falsa.

Cómo introducir parámetros
                               Introduzca los parámetros siguientes al programar esta instrucción:
                               •   El tipo indica el contador seleccionado. Refiérase a la página 7–7 para hacer su
                                   selección del contador de alta velocidad. Cada tipo está disponible con
                                   funciones de restablecimiento y retención.
                               •   El valor alto preseleccionado es el valor acumulado que dispara una acción
                                   especificada por el usuario tal como la actualización de salidas o la generación
                                   de una interrupción del contador de alta velocidad.
                               •   El acumulador es el número de conteos acumulados.

                               La terminología siguiente se usa en la tabla siguiente para indicar el estado del
                               conteo:
                               •   Progresivo↑ – aumenta en 1 cuando la entrada se activa (margen).
                               •   Regresivo↑ – disminuye en 1 cuando la entrada se activa (margen).
                               •   Restablecimiento↑ – pone el acumulador a cero cuando la entrada se activa
                                   (margen).
                               •   Retención – inhabilita que el contador de alta velocidad cuente durante la
                                   activación de la entrada (nivel).
                               •   Conteo – aumenta o disminuye en 1 cuando la entrada se activa (margen).
                               •   Dirección – permite conteos progresivos cuando la entrada está desactivada y
                                   conteos regresivos cuando la entrada está activada (nivel).
                               •   A – impulso de entrada en un codificador (encoder) (cuadratura) incremental
                                   (margen/nivel).
                               •   B – impulso de entrada en un codificador (encoder) (cuadratura) incremental
                                   (margen/nivel).
                               •   Z – restablecimiento del impulso en un codificador (encoder) (cuadratura)
                                   incemental (margen/nivel).
                               •   ↑ – la señal está activa en la margen ascendente solamente (desactivado a
                                   activado)



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


                          La tabla siguiente lista la tecla de función que debe presionar para seleccionar el
                          tipo de contador de alta velocidad deseado.

 Tipo de contador de alta                                                                 Terminal de entrada usada
                                     Funcionalidad del contador
   velocidad y tecla de
         función                         de alta velocidad                      I/0             I/1          I/2         I/3
                               La operación del contador progresivo usa
Progresivo                                                                  Progresivo↑     No usado     No usado     No usado
                               una entrada unipolar.
Progresivo                     La operación del contador progresivo usa
                                                                                                         RestableĆ
(con restablecimiento y        una sola entrada con entradas de             Progresivo↑     No usado                  Retención
                                                                                                         cimiento↑
retención)                     restablecimiento y retención externos
                               La operación bidireccional usa entradas
Impulso y dirección                                                         Conteo↑         Dirección    No usado     No usado
                               de impulso y dirección.
Impulso y dirección            La operación bidireccional usa entradas
                                                                                                         RestableĆ
(con restablecimiento y        de impulso y dirección con entradas de       Conteo↑         Dirección                 Retención
                                                                                                         cimiento↑
retención externos)            restablecimiento y retención externos.
                               La operación bidireccional usa entradas
Progresivo y regresivo                                                      Progresivo↑     Regresivo↑   No usado     No usado
                               de dirección progresiva y regresiva.
                               La operación bidireccional usa entradas
Progresivo y regresivo
                               de impulso progresivo y regresivo con                                     RestableĆ
(con restablecimiento y                                                     Progresivo↑     Regresivo↑                Retención
                               entrada de restablecimiento y retención                                   cimiento↑
retención externos)
                               externos.
                               La operación bidireccional usa entradas
Codificador (encoder)                                                       A               B            No usado     No usado
                               de codificador (encoder) de cuadratura.
Codificador (encoder)          La operación bidireccional usa entradas
(con restablecimiento y        de codificador (encoder) de cuadratura       A               B            Z            Retención
retención externos)            con restablecimiento y retención externos.



                          Una diferencia entre los contadores progresivos y los contadores bidireccionales es
                          que los valores de acumulador y preseleccionados de los contadores bidireccionales
                          no son cambiados por el contador de alta velocidad cuando los valores preselec-
                          cionados se alcanzan. Las instrucciones RAC y HSL se deben usar para esta
                          función. Los contadores progresivos ponen a cero el acumulador y vuelven a cargar
                          los valores altos preseleccionados cuando el valor preseleccionado se alcanza.




                                                                                                                          7–7
Preface
Manual de referencia del juego de instrucciones


Uso del contador progresivo y el contador regresivo con restablecimiento
y retención

                         Los contadores progresivos se usan cuando el parámetro que se mide es
                         unidireccional, tal como el material que se alimenta en una máquina o un tacómetro
                         que registra el número de impulsos realizados durante un plazo determinado.

                         Ambos tipos de contadores progresivos operan de la misma manera, excepto que el
                         contador progresivo con restablecimiento y retención usa entradas externas 2 y 3.

                         Para el contador progresivo, cada cambio del estado desactivado a activado de la
                         entrada I:0/0 añade 1 al acumulador hasta que se alcance el valor alto
                         predeterminado. Luego el acumulador se pone automáticamente a cero. El
                         contador progresivo opera en el rango de 0 a +32,767 inclusivamente y se puede
                         poner a cero usando la instrucción de restablecimiento (RES).

                         Cuando la instrucción HSC se ejecuta como verdadera por primera vez:
                         •      El acumulador C5:0.ACC se carga en el acumulador de hardware.
                         •      El valor alto preseleccionado C5:0.PRE se carga en el valor alto
                                preseleccionado de hardware.


Operación

                         Si usted mueve los datos al valor alto predeterminado sin usar la instrucción HSL
                         (con MOV) después de la configuración del contador de alta velocidad, los datos se
                         cargan en la imagen de instrucción pero no se cargan en el hardware. El valor alto
                         preseleccionado modificado no se carga en el hardware hasta que el valor alto
                         preseleccionado de hardware existente se alcance o hasta que una instrucción RAC o
                         RES se ejecute.

                         El valor alto preseleccionado cargado en el hardware debe ser entre 1 y 32,767
                         inclusivamente o un error de INVALID PRESETs LOADED TO HIGH SPEED
                         COUNTER (37H) ocurre. Todo valor entre –32,768 y +32,767, ambos valores
                         inclusive, se puede cargar en el acumulador de hardware.
                               La condición siguiente                                  Ocurre cuando
                                                             el acumulador de hardware hace la transición del valor alto preselecĆ
                                                             cionado de hardware -1 al valor alto preseleccionado de hardware, o
                             Un valor alto preseleccionado   el acumulador de hardware se carga con un valor mayor o igual
                             se ha alcanzado                 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.




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


                  Cuando se alcanza un valor alto preseleccionado, los conteos se pierden.
                 •         Los acumuladores de hardware e instrucción se restablecen.
                 •         El valor alto preseleccionado de instrucción se carga en el valor alto
                           preseleccionado de hardware.
                 •         El bit DN se establece.
                 •         El archivo de interrupción del contador de alta velocidad (archivo de programa
                           4) se ejecuta si la interrupción se habilita. El bit IH se establece y los bits IL,
                           IV e IN se establecen.

                  Si el bit DN ya está establecido cuando se alcanza un valor alto preseleccionado, el
                  bit OV está establecido.

                  Las tablas siguientes resumen los estados de entrada necesarios para que la acción
                  del contador de alta velocidad se lleve a cabo:


Contador progresivo

                                                    Estado de entrada
                                                                                                      Acción del
                       Conteo de       Dirección       RestableciĆ    Retención                     contador de alta
                                                                                      Renglón
                        entrada        de entrada       miento de     de entrada                       velocidad
                                                                                       HSC
                         (E/S)            (I/1)        entrada (I/2)     (I/3)
                      Desactivado                                                                   Conteo
                                      NA              NA             NA             Verdadero
                      a activado                                                                    progresivo
                                                                                                    Retención de
                      NA              NA              NA             NA             Falso
                                                                                                    conteo

               NA (no aplicable)




                                                                                                                 7–9
Preface
Manual de referencia del juego de instrucciones


Contador progresivo con restablecimiento y retención

                                                        Estado de entrada
                                                                                                     Acción del
                            Conteo de      Dirección       RestableciĆ    Retención                contador de alta
                                                                                        Renglón
                             entrada       de entrada       miento de     de entrada                  velocidad
                                                                                         HSC
                              (E/S)           (I/1)        entrada (I/2)     (I/3)
                                                          Desactivado,
                           Desactivado                                                             Conteo
                                          NA              activado o a   Off           Verdadero
                           a activado                                                              progresivo
                                                          desactivado
                                                          Desactivado,
                                                                                                   Retención de
                           NA             NA              activado o a   On            NA
                                                                                                   conteo
                                                          desactivado
                                                          Desactivado,
                                                                                                   Retención de
                           NA             NA              activado o a   NA            Falso
                                                                                                   conteo
                                                          desactivado
                           Desactivado,                   Desactivado,
                                                                                                   Retención de
                           activado o a   NA              activado o a   NA            NA
                                                                                                   conteo
                           desactivado                    desactivado
                                                                                                   Restablecimiento
                           NA             NA              A activado     NA            NA
                                                                                                   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
                                                el acumulador de hardware hace la transición del valor alto preselecĆ
                                                cionado de hardware -1 al valor alto preseleccionado de hardware, o
                Un valor alto preseleccionado   el acumulador de hardware se carga con un valor mayor o igual
                se ha alcanzado                 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                                  Ocurre cuando
                                                el acumulador de hardware hace la transición del valor bajo preselecĆ
                                                cionado de hardware +1 al valor bajo preseleccionado de hardware, o
                U valor b j
                Un l bajo                       el acumulador de hardware se carga con un valor menor o igual
                preseleccionado se ha           que el valor alto preseleccionado de hardware, o
                alcanzado
                                                el valor bajo preseleccionado de hardware se carga con un valor
                                                que es mayor o igual que el acumulador de hardware.


                                                                                                               7–11
Preface
Manual de referencia del juego de instrucciones


                         Cuando el valor bajo preseleccionado se alcanza, el:
                         •        Bit LP se establece.
                         •        Archivo de interrupción del contador de alta velocidad (archivo de programa 4)
                                  se ejecuta si la interrupción se habilita. El bit IL se establece y los bits IH, IV e
                                  IN se restablecen.

                         Un overflow ocurre cuando el acumulador de hardware hace una transición de
                         +32,767 a –32,768. Cuando un overflow ocurre, el:
                         •        Bit OV se establece.
                         •        Archivo de interrupción del contador de alta velocidad (archivo de programa 4)
                                  se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e
                                  IN se restablecen.

                         Un underflow ocurre cuando el acumulador de hardware hace una transición de
                         –32,768 a +32,767. Cuando un underflow ocurre, el:
                         •        Bit UN se establece.
                         •        Archivo de interrupción del contador de alta velocidad (archivo de programa 4)
                                  se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e
                                  IN se restablecen.

                         Las tablas siguientes resumen los estados de entrada necesarios para que la acción
                         del contador de alta velocidad correspondiente se lleve a cabo:


Contador bidireccional (impulso/dirección)

                                                           Estado de entrada
                                                                                                         Acción del
                              Conteo de       Dirección       RestableciĆ    Retención                 contador de alta
                                                                                           Renglón
                               entrada        de entrada       miento de     de entrada                   velocidad
                                                                                            HSC
                                (E/S)            (I/1)        entrada (I/2)     (I/3)
                             Desactivado                                                               Conteo
                                             Desactivado     NA             NA            Verdadero
                             a activado                                                                progresvio
                             Desactivado
                                             Activado        NA             NA            Verdadero    Conteo regresivo
                             a activado
                                                                                                       Retención de
                             NA              NA              NA             NA            Falso
                                                                                                       conteo

                      NA (no aplicable)




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


Contador bidireccional con restablecimiento y retención (impulso/dirección)

                                                      Estado de entrada
                                                                                                       Acción del
                       Conteo de        Dirección        RestableciĆ    Retención                    contador de alta
                                                                                          Renglón
                        entrada         de entrada        miento de     de entrada                      velocidad
                                                                                           HSC
                         (E/S)             (I/1)         entrada (I/2)     (I/3)
                                                        Desactivado,
                      Desactivado                                                                    Conteo
                                       Desactivado      activado o a   Desactivado    Verdadero
                      a activado                                                                     progresivo
                                                        desactivado
                                                        Desactivado,
                      Desactivado
                                       Activado         activado o a   Desactivado    Verdadero      Conteo regresivo
                      a activado
                                                        desactivado
                                                        Desactivado,
                                                                                                     Retención de
                      NA               NA               activado o a   NA             Falso
                                                                                                     conteo
                                                        desactivado
                                                        Desactivado,
                                                                                                     Retención de
                      NA               NA               activado o a   Activado       NA
                                                                                                     conteo
                                                        desactivado
                      Desactivado,                      Desactivado,
                                                                                                     Retención de
                      activado o a     NA               activado o a   NA             NA
                                                                                                     conteo
                      desactivado                       desactivado
                                                                                                     Restablecimiento
                      NA               NA               A activado     NA             NA
                                                                                                     a0

                 NA (no aplicable)



Contador bidireccional (conteo progresivo/regresivo)

                                     Estado de entrada
                        Conteo            Conteo                         Acción del
                      progresivo         regresivo     Renglón         contador de alta
                      de entrada         de entrada     HSC               velocidad
                         (E/S)              (I/1)
                                       Desactivado,
                      Desactivado                                      Conteo
                                       activado o a     Verdadero
                      a activado                                       progresivo
                                       desactivado
                      Desactivado,
                                       Desactivado
                      activado o a                      Verdadero      Conteo regresivo
                                       a activado
                      desactivado
                                                                       Retención de
                      NA               NA               Falso
                                                                       conteo

                 NA (no aplicable)



                                                                                                                  7–13
Preface
Manual de referencia del juego de instrucciones


Contador bidireccional con restablecimiento y retención (conteo progresivo/regresivo)

                                                         Estado de entrada
                                                                                                      Acción del
                            Conteo de      Dirección        RestableciĆ    Retención                contador de alta
                                                                                         Renglón
                             entrada       de entrada        miento de     de entrada                  velocidad
                                                                                          HSC
                              (E/S)           (I/1)         entrada (I/2)     (I/3)
                                          Desactivado,     Desactivado,
                           Desactivado                                                              Conteo
                                          activado o a     activado o a   Desactivado   Verdadero
                           a activado                                                               progresivo
                                          desactivado      desactivado
                           Desactivado,                    Desactivado,
                                          Desactivado
                           activado o a                    activado o a   Desactivado   Verdadero   Conteo regresivo
                                          a activado
                           desactivado                     desactivado
                                                           Desactivado,
                                                                                                    Retención de
                           NA             NA               activado o a   NA            Falso
                                                                                                    conteo
                                                           desactivado
                                                           Desactivado,
                                                                                                    Retención de
                           NA             NA               activado o a   Activado      NA
                                                                                                    conteo
                                                           desactivado
                           Desactivado,   Desactivado,     Desactivado,
                                                                                                    Retención de
                           activado o a   activado o a     activado o a   NA            NA
                                                                                                    conteo
                           desactivado    desactivado      desactivado
                                                                                                    Restablecimiento
                           NA             NA               A activado     NA            NA
                                                                                                    a0

                      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



                                                                              Entrada 0
                                                         A
                                                                              Entrada 1
                                                         B
                    Codificador (encoder)                                     Entrada 2
                       de cuadratura                 Z
                                       (Entrada de restablecimiento)
                           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
Preface
Manual de referencia del juego de instrucciones


                               La condición siguiente                                  Ocurre cuando
                                                             el acumulador de hardware hace la transición del valor alto preselecĆ
                                                             cionado de hardware -1 al valor alto preseleccionado de hardware, o
                             Un valor alto preseleccionado   el acumulador de hardware se carga con un valor mayor o igual
                             se ha alcanzado                 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                                  Ocurre cuando
                                                             el acumulador de hardware hace la transición del valor bajo preselecĆ
                                                             cionado de hardware +1 al valor bajo preseleccionado de hardware, o
                             U valor b j
                             Un l bajo                       el acumulador de hardware se carga con un valor menor o igual
                             preseleccionado se ha           que el valor alto preseleccionado de hardware, o
                             alcanzado
                                                             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. . .
                         •      Bit OV se establece.
                         •      Archivo de interrupción del contador de alta velocidad (archivo de programa 4)
                                se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e
                                IN se restablecen.



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


                     Un underflow ocurre cuando el acumulador de hardware hace una transición de
                     –32,768 a +32,767. Cuando un underflow ocurre, el. . .
                     •        Bit UN se establece.
                     •        Archivo de interrupción del contador de alta velocidad (archivo de programa 4)
                              se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e
                              IN se restablecen.

                     Las tablas siguientes resumen los estados de entrada necesarios para que la acción
                     del contador de alta velocidad correspondiente se lleve a cabo:


Contador bidireccional (codificador [encoder])

                                    Estado de entrada                            Acción del
                          Entrada A     Entrada B     Renglón                  contador de alta
                            (E/S)          (I/1)       HSC                        velocidad
                         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
                                                                                                                      Acción del
                          Conteo de       Dirección         RestableciĆ    Retención                                contador de alta
                                                                                                    Renglón
                           entrada        de entrada         miento de     de entrada                                  velocidad
                                                                                                     HSC
                            (E/S)            (I/1)          entrada (I/2)     (I/3)
                         A desactivado   Desactivado        Desactivado        Desactivado        Verdadero         Conteo progres.
                         A desactivado   Desactivado        Desactivado        Desactivado        Verdadero         Conteo regresivo
                         Desactivado                                                                                Retención de
                                         NA                 Desactivado        NA                 NA
                         o activado                                                                                 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     Desactivado        ActivadoÀ          NA                 NA                Restablec. a 0

                 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
Preface
Manual de referencia del juego de instrucciones


Carga del contador de alta velocidad (HSL)
   HSL
  HSC LOAD
                           Esta instrucción le permite establecer los valores bajo y alto preseleccionados, las
  Counter
  Source
             C5:0
                    (CU)   fuentes baja y alta de salida y la máscara de salida. Cuando un valor alto o bajo
  Length       5
                    (DN)   preseleccionado se alcanza, usted puede actualizar inmediatamente las salidas
                           seleccionadas.

                           Si usa la instrucción HSL con el contador progresivo, el valor alto preseleccionado
                           debe ser ≥ 1 y ≤ +32,767 o de lo contrarior ocurrirá un error INVALID PRESETs
                           LOADED TO HIGH SPEED COUNTER (37H). Para los contadores bidireccionales,
                           el valor alto preseleccionado debe ser mayor que el valor bajo preseleccionado o de
                           lo contrarior ocurrirá un error INVALID PRESETs LOADED TO HIGH SPEED
                           COUNTER (37H).

                           El contador indincado por esta instrucción tiene la misma dirección que el contador
                           de instrucción HSC y se fija a C5:0.


Cómo introducir parámetros

                           Introduzca los parámetros siguientes al programar esta instrucción:
                           •   La fuente es una dirección que identifica la primera de cinco palabras de datos
                               usadas por el HSL. La fuente puede ser un elemento de archivo de entero o
                               binario.
                           •   La longitud es el número de elementos que comienzan de la fuente. Este
                               número siempre es 5.


Operación

                           La instrucción HSL le permite configurar el contador de alta velocidad para que
                           actualice instantánea y automáticamente las salidas externas cuando un valor alto o
                           bajo preseleccionado se alcanza. Las salidas físicas se actualizan automáticamente
                           en menos de 30 µs. (El tiempo de encendido físico de las salidas no se incluye en
                           este total.) Luego la imagen de salida se actualiza automáticamente a la próxima
                           encuesta para interrupciones del usuario o instrucción IOM, cualquiera que ocurra
                           primero.

                           Con esta instrucción, puede cambiar el valor alto preseleccionado para los
                           contadores progresivos o los valores alto y bajo preseleccionados para los
                           contadores bidireccionales durante la operación. Tambien puede modificar la
                           confinguración de máscara de salida durante la operación.

                           La dirección de fuente es un elemento de archivo de entero o binario. Por ejemplo,
                           si N7:5 se selecciona como la dirección de fuente, los parámetros adicionales para la
                           ejecución de esta instrucción aparecerían tal como se muestra en la tabla siguiente.


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


  Ubicación
                Contador
    de la                     Contadores
               progresivo                                        Descripción
  imagen de                  bidireccionales
               solamente
  parámetro
                                               Identifica qué grupo de bits en el archivo de
                                               salida (palabra 0) es controlado.
               Máscara de    Máscara de             000F=bits 3-0
 N7:5                                               00F0=bits 7-4
               salida        salida
                                                    0003=bits 0 y 1
                                                    00FF= bits 7-0

               Fuente de     Fuente alta de    (Conteo progresivo.) El estado de bits en esta
 N7:6                                          palabra se escribe a través de la máscara en
               salida        salida            las salidas reales.
                                               (Conteo progresivo.) Cuando el acumulador
               Valor alto    Valor alto        alcanza este valor, la fuente de salida se
 N7:7          preselecĆ     preselecĆ         escribe a través de la máscara de salida a las
               cionado       cionado           salidas reales, y un escán se realiza de la
                                               subrutina HSC (archivo 4).

                             Fuente baja de    (Conteo regresivo.) El estado de bits en esta
 N7:8          Reservado                       palabra se escribe a través de la máscara a las
                             salida            salidas reales.
                                               (Conteo progresivo.) Cuando el acumulador
                             Valor bajo        alcanza este valor, la fuente de salida se
 N7:9          Reservado     preselecĆ         escribe a través de la máscara de salida a las
                             cionado           salidas reales y un escán se realiza de la
                                               subrutina HSC (archivo 4).

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
Preface
Manual de referencia del juego de instrucciones


                         El hardware del contador de velocidad se actualiza inmediatemente cuando la
                         instrucción HSL se ejecuta sin importar el tipo de contador de alta velocidad
                         (contador progresivo o contador bidireccional). Para los contadores progresivos, no
                         se hace caso de los dos últimos registros ya que el valor bajo preseleccionado no se
                         aplica.

                         Si un fallo ocurre a causa de la instrucción HSL, los parámetros HSL no se cargan
                         en el hardware del contador de alta velocidad. Puede usar más de una instrucción
                         HSL en su programa. Las instrucciones HSL pueden tener ubicaciones de imagen
                         diferentes para los parámetros adicionales.

                         No cambie un valor preseleccionado y una fuente/máscara de salida con la
                         misma instrucción HSL cuando el acumulador se acerca al valor
                         preseleccionado anterior.

                         Si el contador de alta velocidad se habilita y la instrucción HSL se evalúa como
                         verdadera, los parámetros del contador de alta velocidad en la instrucción
                         HSL se aplican inmediatemente sin detener la operación del contador de alta
                         velocidad. Si la misma instrucción HSL se usa para cambiar la
                         máscara/fuente y valor preseleccionado controlados por el contador de alta
                         velocidad, la máscara/fuente se cambia primero y el valor preseleccionado se
                         cambia segundo. (El valor preseleccionado se cambia dentro de 40 µs después
                         de la máscara/fuente.) Si el valor preseleccionado original se alcanza después
                         de que la nueva máscara/fuente se aplique pero antes de que el valor
                         preseleccionado nuevo se aplique, las salidas nuevas se aplicarán
                         inmediatamente.




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



Restablecimiento del contador de alta velocidad (RES)
    C5:0    La instrucción RES le permite escribir un cero en el acumulador de hardware y en el
    RES)
    )
            acumulador de imagen.

            El contador indicado por esta instrucción tiene la misma dirección que el contador
            de instrucción HSC y se introduce como C0.




Operación

            La ejecución de esta instrucción inmediatamente:
            •   elimina las interrupciones pendientes del contador de alta velocidad
            •   restablece los acumuladores de hardware e instrucción
            •   restablece los bits de estado PE, LS, OV, UN y DN
            •   carga el valor alto preseleccionado de instrucción y el valor alto
                preseleccionado de hardware (si el contador de alta velocidad se ha configurado
                como un contador progresivo)
            •   restablece los bits de estado IL, IT, IN o IV

            Puede tener más de una instrucción RES en su programa.




                                                                                                7–21
Preface
Manual de referencia del juego de instrucciones


Acumulador de restablecimiento del contador de alta
velocidad (RAC)
   RAC
  RESET TO ACCUM VALUE
                              Esta instrucción le permite escribir un valor específico al acumulador de hardware y
  Counter              C5:0
  Source                      al acumulador de imagen.

                              El contador indicado por esta instrucción tiene la misma dirección que el contador
                              de instrucción HSC y se fija a C5:0.




Cómo introducir parámetros

                              Introduzca los parámetros siguientes al programar esta instrucción:
                              •   La fuente representa el valor que se carga en el acumulador. La fuente puede
                                  ser una constante o una dirección.


Operación

                              La ejecución del RAC:
                              •   elimina las interrupciones pendientes del contador de alta velocidad
                              •   restablece los bits de estado PE, LS, OV UN y DN
                              •   carga un valor de acumulador nuevo en la imagen de hardware e instrucción
                              •   carga el valor alto preseleccionado de instrucción en el valor alto
                                  preseleccionado de hardware (si el contador de alta velocidad se ha configurado
                                  como un contador progresivo)
                              •   restablece los bits de estado IL, IT, IN o IV

                              La fuente puede ser una constante o cualquier elemento entero en los archivos 0–7.
                              Los acumuladores de hardware e instrucción se actualizan con el valor de
                              acumulador nuevo inmediatamente al momento de ejecución de la instrucción.

                              Puede tener más de una instrucción RZC por programa indicando la misma fuente o
                              fuentes diferentes.




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



Habilitación (HSE) e inhabilitación (HSD) de interrupción
del contador de alta velocidad
  HSE
 HSC INTERRUPT ENABLE
                               Estas instrucciones habilitan o inhabilitan la interrupción del contador de alta
 COUNTER                C5:0
                               velocidad cuando se alcanza un valor alto preseleccionado, un valor bajo
                               preseleccionado, un overflow o un underflow. Use el HSD y HSE conjuntamente
                               para proporcionar ejecución precisa a su aplicación.
  HSD
 HSC INTERRUPT DISABLE
 COUNTER               C5:0
                               El contador indicado por estas instrucciones tiene la misma dirección que el
                               contador de instrucción y se fija a C5:0.




Uso de HSE

Operación

                               Cuando la interrupción del contador de alta velocidad se habilita, la subrutina del
                               usuario (archivo de programa 4) se ejecuta cuando:
                               •   Se alcanza un valor alto o bajo preseleccionado.
                               •   Ocurre un overflow o underflow.

                               Cuando, en el modo de un solo escán de prueba y en una condición de operación
                               pasiva, la interrupción del contador de alta velocidad se retarda hasta que el próximo
                               disparo de escán se reciba del dispositivo de programación. El acumulador del
                               contador de alta velocidad cuenta durante el reposo.

                               El estado predeterminado de la interrupción del contador de alta velocidad se
                               habilita (el bit IE se establece a 1).

                               Si la rutina de interrupción del contador de alta velocidad se ejecuta y otra
                               interrupción del contador de alta velocidad ocurre, la segunda interrupción del
                               contador de alta velocidad se guarda pero se considera como pendiente. (El bit PE
                               se establece.) La segunda interrupción se ejecuta inmediatamente después que la
                               primera finalice su ejecución. Si una interrupción del contador de alta velocidad
                               ocurre mientras una interrupción del contador de alta velocidad está pendiente, se
                               perderá la interrupción del contador de alta velocidad más reciente y se establecerá
                               el bit LS.



                                                                                                                  7–23
Preface
Manual de referencia del juego de instrucciones


Uso de HSD

Operación

                         La instrucción HSD inhabilita la interrupción del contador de alta velocidad
                         evitando así que la subrutina de interrupción se ejecute.

                         Si el HSE se ejecuta después del establecimiento del bit pendiente, la interrupción se
                         ejecuta inmediatamente.

                         Esta instrucción HSD no cancela una interrupcion, sino que resulta en el
                         establecimiento del bit pendiente (C5:0/3) cuando:
                         •    Se alcanza un valor alto o bajo preseleccionado.
                         •    Ocurre un overflow o underflow.




Actualización del acumulador de imagen del contador
de alta velocidad (OTE)
 C5:0                    Cuando se direcciona una instrucción del bit OTE para el contador de alta velocidad
  ( )
    UA                   (C5:0), causa que el bit UA se establezca. Cuando este bit se establece, el valor en
                         el acumulador de hardware se escribe al valor en el acumulador de imagen
                         (C5:0.ACC). Esto le proporciona acceso real al valor del acumulador de hardware.
                         Esto es adicional a la transferencia automática desde el acumulador de hardware
                         hacia el acumulador de imagen que ocurre cada vez que la instrucción HSC se
                         evalúa.


Operación

                         Esta instrucción transfiere el acumulador de hardware al acumulador de instrucción.
                         Cuando la instrucción OTE/UA se ejecuta como verdadera, el acumulador de
                         hardware se carga en el acumulador de imagen de instrucción (C5:0.ACC).




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



Lo que ocurre con el HSC cuando pasa al modo de
marcha REM
           Una vez inicializada, la instrucción HSC retiene su estado anterior cuando pasa por
           un cambio de modo o la desconexión y reconexión de la alimentación eléctrica.
           Esto significa que se retienen el acumulador HSC (C5:0.ACC) y los valores altos
           preseleccionados. Las salidas bajo el control directo del HSC también retienen su
           estado anterior. Los bits del valor bajo preseleccionado alcanzado y del valor bajo
           preseleccionado alcanzado (Co/LP y C0/HP) también se retienen. Son examinados
           por la instrucción HSC durante la primera evaluación verdadera del contador de alta
           velocidad en el modo de marcha REM para diferenciar entre un modo de marcha
           REM y una modificación externa o inicial del acumulador (C5:0.ACC).

           A la primera ejecución verdadera de la instrucción HSC después del paso a marcha,
           el valor bajo preseleccionado se inicializa a –32,768 y la máscara de salida y las
           configuraciones de salida baja se incializan a cero. Use la instrucción HSL durante
           el primer paso para restaurar cualesquier valores necesarios para su aplicación.

           Puede modificar el comportamiento del contador de alta velocidad a la introducción
           del modo de marcha REM ajustando los parámetros HSC antes de la primera
           ejecución verdadera de la instrucción HSC. El siguiente ejemplo de renglones de
           escalera demuestra las varias maneras de ajustar los parámetros HSC.




                                                                                             7–25
Preface
Manual de referencia del juego de instrucciones


Ejemplo 1

                         Para introducir el modo de marcha REM y hacer que las salidas HSC, ACC y
                         subrutina de interrupción reanuden su estado anterior, aplique lo siguiente:
                         (Renglón 2:0)
                         No requiere acción. (Recuérdese de que todas las instrucciones
                         OUT se ponen a cero cuando se introduce el modo de marcha REM.
                         Use las instrucciones SET/RST en lugar de las instrucciones
                         OUT en la lógica condicional que requier retención.)
                         | S:1                                   +HSL–––––––––––––––+ |
                         |––][–––––––––––––––––––––––––––––––––––+HSC LOAD          +–|
                         |    15                                 |Counter       C5:0| |
                         |                                       |Source        N7:0| |
                         |                                       |Length           5| |
                         |                                       +––––––––––––––––––+ |
                         Renglón 2:1
                         |                             +HSC––––––––––––––––––––+      |
                         |–––––––––––––––––––––––––––––+HIGH SPEED COUNTER     +–(CU)–|
                         |                             |Type Encoder(Res,Hld) +–(CD) |
                         |                             |Counter            C5:0+–(DN) |
                         |                             |High Preset        1000|      |
                         |                             |Accum                 0|      |
                         |                             +–––––––––––––––––––––––+      |




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


Ejemplo 2

            Para introducir el modo de marcha REM y retener el valor HSC ACC mientras que
            hace que las salidas HSC y la subrutina de interrupción se reanuden, aplique lo
            siguiente:
            Renglón 2:0
            Desenclave los bits C5:0/HP y C5:0/LP durante el primer escán ANTES de
            la ejecución de la instrucción HSC por primera vez.

            | S:1                                          +HSL–––––––––––––––+ |
            |––][––––––––––––––––––––––––––––––––––––––––––+HSC LOAD          +– |
            |    15                                        |Counter       C5:0| |
            |                                              |Source        N7:0| |
            |                                              |Length           5| |
            |                                              +––––––––––––––––––+ |

            Renglón 2:1
            | S:1                                                       C5:0     |
            |––][–––––––––––––––––––––––––––––––––––––––––––––––––––––+–(U)––+|––|
            |    15                                                   |    HP | |
            |                                                         | C5:0 | |
            |                                                         +––(U)––+ |
            |                                                              LP    |

            Renglón 2:2
            |                                     +HSC––––––––––––––––––––+      |
            |–––––––––––––––––––––––––––––––––––––+HIGH SPEED COUNTER     +–(CU)–|
            |                                     |Type Encoder (Res,Hld)+–(CD) |
            |                                     |Counter            C5:0+–(DN) |
            |                                     |High Preset        1000|      |
            |                                     |Accum                 0|      |
            |                                     +–––––––––––––––––––––––+      |




                                                                                             7–27
Preface
Manual de referencia del juego de instrucciones


Ejemplo 3

                         Para introducir el modo de marcha REM y hacer que el HSC ACC y la subrutina de
                         interrupción reanuden su estado anterior a la vez que se inicializan externamente las
                         salidas HSC, aplique lo siguiente:
                         Renglón 2:0
                         Desenclave o enclave los bits de salida bajo el control HSC durante el
                         primer escán después de la ejecución por primera vez de la instrucción
                         HSC. (Nota: usted podría colocar este renglón antes de la instrucción
                         HSC; sin embargo, no se recomienda.)

                         | S:1                                           +HSL–––––––––––––––+ |
                         |––][–––––––––––––––––––––––––––––––––––––––––––+HSC LOAD          +–|
                         |    15                                         |Counter       C5:0| |
                         |                                               |Source        N7:0| |
                         |                                               |Length           5| |
                         |                                               +––––––––––––––––––+ |

                         Renglón 2:1
                         |                                     +HSC––––––––––––––––––––+      |
                         |–––––––––––––––––––––––––––––––––––––+HIGH SPEED COUNTER     +–(CU)–|
                         |                                     |Type Encoder (Res,Hld)+–(CD) |
                         |                                     |Counter            C5:0+–(DN) |
                         |                                     |High Preset        1000|      |
                         |                                     |Accum                 0|      |
                         |                                     +–––––––––––––––––––––––+      |

                         Renglón 2:2
                         Este renglón se programa con el conocimiento de una máscara HSL de
                         0007 (se usan salidas 0–2) e inicializa las salidas HSC a cada
                         introducción del modo de marcha REM. Las salidas O/0 y O/1 están
                         desactivadas mientras que la salida O/2 está activada.

                         | S:1                                                       O:0      |
                         |––][––––––––––––––––––––––––––––––––––––––––––––––––––––+––(U)––+|––|
                         |    15                                                  |    0   | |
                         |                                                        | O:0    | |
                         |                                                        +––(U)–––+ |
                         |                                                        |    1   | |
                         |                                                        | O:0    | |
                         |                                                        +––(L)–––+ |
                         |                                                               2    |




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



Instrucciones del contador de alta velocidad en el
ejemplo de aplicación de la perforadora de papel
                Los renglones de escalera en esta sección demuestran el uso de la instrucción HSC
                en el ejemplo de aplicación de la perforadora de papel iniciado en el capítulo 4.
                Refiérase al apéndice G para obtener el ejemplo de aplicación entero de la
                perforadora de papel.

                                      Posición
                                      original                    Perforadora activada/desactivada O:3/1
                                       I:1/5                      Retracción de perforadora O:3/2
                                                                  Avance de perforadora O:3/3
                                  Profundidad
                                  perforadora                          Restablecimiento del sensor fotoeléctrico I:1/2
        Orificios                                                      Retención de contador I:1/3
       perforados                     I:1/4


                          Codificador (encoder) y drive                 Reflector
                                AĆB de cuadratura                       fotoeléctrico
                                    I:1/0 I:1/1
                    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
Preface
Manual de referencia del juego de instrucciones


                       Renglón 2:0
                       Inicializa el contador de alta velocidad cada vez que el modo de marcha
                       REM se introduce. El área de datos del contador de alta velocidad
                       corresponde con la dirección de arranque (dirección de fuente) de la
                       instrucción HSL. La instrucción HSC se inhabilita durante cada entrada
                       en el modo de marcha REM hasta la primera vez que se ejecute como
                       verdadera. (El valor alto preseleccionado fue “enclavijado” a la
                       inicialización para evitar que una interrupción de valor alto
                       preseleccionado ocurra durante el proceso de inicialización.)
                       | Primer                                           Máscara de salida |
                       | paso                                             (use sólo el bit 0 |
                       |                                                    por ej. O:0/0)     |
                       |    S:1                                       +MOV–––––––––––––––+     |
                       |––––] [–––––––––––––––––––––––––––––––––––––+–+MOVE               +–+–|
                       |      15                                    | |Source            1| | |
                       |                                            | |                   | | |
                       |                                            | |Dest           N7:5| | |
                       |                                            | |                  0| | |
                       |                                            | +––––––––––––––––––+ | |
                       |                                            | Conf. de salida alta| |
                       |                                            | (desactiva O:0/0)      | |
                       |                                            |                        | |
                       |                                            | +MOV–––––––––––––––+ | |
                       |                                            +–+MOVE                +–+ |
                       |                                            | |Source            0| | |
                       |                                            | |                   | | |
                       |                                            | |Dest           N7:6| | |
                       |                                            | |                  0| | |
                       |                                            | +––––––––––––––––––+ | |
                       |                                            | Valor alto preselec.| |
                       |                                            |(cuenta al próx. orif)| |
                       |                                                                     | |
                       |                                            | +MOV–––––––––––––––+ | |
                       |                                            +–+MOVE                +–+ |
                       |                                            | |Source        32767| | |
                       |                                            | |                   | | |
                       |                                            | |Dest           N7:7| | |
                       |                                            | |                  0| | |
                       |                                            | +––––––––––––––––––+ | |
                       |                                            | Conf. de salida baja| |
                       |                                            |    (activa O:0/0       | |
                       |                                            |    a cada restab.)     | |
                       |                                                                     | |
                       |                                            | +MOV–––––––––––––––+ | |
                       |                                            +–+MOVE                +–+ |
                       |                                            | |Source            1| | |
                       |                                            | |                   | | |
                       |                                            | |Dest           N7:8| | |
                       |                                            | |                  0| | |
                       |                                            | +––––––––––––––––––+ | |
                       |                                            | Valor bajo preselec.| |
                       |                                            | (causa valor bajo      | |
                       |                                            |   preselec. inicial | |
                       |                                            |    a cada restab.)     | |
                       |                                                                     | |
                       |                                            | +MOV–––––––––––––––+ | |
                       |                                            +–+MOVE                +–+ |
                       |                                            | |Source            0| | |
                       |                                            | |                   | | |
                       |                                            | |Dest           N7:9| | |
                       |                                            | |                  0| | |
                       |                                            | +––––––––––––––––––+ | |
                       |                                            |                        | |




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


|                                                       |                      |          |
|                                                       | Contador alta veloc.|           |
|                                                       |                      |          |
|                                                       | +HSL–––––––––––––––+ |          |
|                                                       + –+HSC LOAD         +–+          |
|                                                         |Counter       C5:0|            |
|                                                         |Source        N7:5|            |
|                                                         |Length           5|            |
|                                                         +––––––––––––––––––+            |


Los renglones 2.0 y 2.2 se requieren para escribir varios parámetros al área de archivo
de datos del contador de alta velocidad. Estos dos renglones están acondicionados
por el bit de primer paso durante un escán cuando el controlador va del programa
REM al modo de marcha REM.
Renglón 2:1
Esta instrucción HSC no se coloca en la subrutina de interrupción del
contador de alta velocidad. Si esta instrucción se colocara en la
subrutina de interrupción, el contador de alta velocidad nunca se
activaría ni se inicializaría (porque una interrupción debe ocurrir
primero para realizar un escán de la subrutina de interrupción del
contador de alta velocidad.
|                                           Contador de alta velocidad|
|                                      +HSC––––––––––––––––––––+       |
|––––––––––––––––––––––––––––––––––––––+HIGH SPEED COUNTER      +–(CU)–|
|                                      |Type Encoder (Res,Hld)+–(CD) |
|                                      |Counter            C5:0+–(DN) |
|                                      |High Preset        1250|       |
|                                      |Accum                 1|       |
|                                      +–––––––––––––––––––––––+       |
Renglón 2:2
Fuerza que ocurra una interrupción del valor bajo preseleccionado del
contador de alta velocidad a cada entrada al modo de marcha REM. Una
interrupción sólo puede ocurrir en la transición del acumulador del
contador de alta velocidad a un valor preseleccionado (restablecimiento
del acumulador a 1, y luego a 0). Esto se hace para permitir que los
secuenciadores de la subrutina de interrupción del contador de alta
velocidad se inicialicen. El orden de la inicialización del contador de
alta velocidad es: (1) carga de parámetros del contador de alta
velocidad (2) ejecución de la instrucción HSL (3) ejecución de la
instrucción HSC verdadera (4) (opcional) forzar que ocurra una
interrupción del contador de alta velocidad..
| Primer                                    Contador de alta velocidad|
| paso                                                                |
|    S:1                                    +RAC––––––––––––––––––+   |
|––––] [––––––––––––––––––––––––––––––––––+–+RESET TO ACCUM VALUE +–+–|
|      15                                 | |Counter          C5:0| | |
|                                         | |Source              1| | |
|                                         | |                     | | |
|                                         | +–––––––––––––––––––––+ | |
|                                         |    Contador de          | |
|                                         |    alta velocidad       | |
|                                         |   C5:0                  | |
|                                         +–––(RES)–––––––––––––––––+ |




                                                                                     7–31
Preface
Manual de referencia del juego de instrucciones


                         El contador de alta velocidad se usa para controlar la posición del transportador. El
                         contador de alta velocidad cuenta los impulsos proporcionados por el codificador
                         (encoder) del transportador vía las entradas I:0/0 e I:0.1 de hardware. Las entradas
                         I:0/2 (restablecimiento) e I:0/3 (retención) de hardware están conectadas a un
                         interruptor fotoeléctrico para asegurar que la instrucción HSC cuente únicamente los
                         impulsos de codificador (encoder) cuando haya un manual enfrente de la
                         perforadora y que el contador de alta velocidad se restablezca a la punta de cada
                         manual.

                         El contador de alta velocidad pone a cero el bit de salida de propulsión del
                         transportador cada vez que se alcanza un valor alto preseleccionado. Como
                         resultado, la unidad propulsora decelera y detiene el motor del transportador. El
                         contador de alta velocidad borra la entrada en microsegundos asegurando así
                         exactitud y repetibilidad.

                         El contador de alta velocidad establece el bit de salida de la unidad propulsora del
                         transportador (O:0/0) cada vez que un valor bajo preseleccionado se alcanza. Como
                         resultado, la unidad propulsora acelera y mantiene el motor del transportador.

                         Cuando el manual ha recorrido la distancia especificada establecida por el valor alto
                         preseleccionado del contador de alta velocidad, la subrutina de interrupción del
                         contador de alta velocidad indica al programa principal que realice la secuencia de
                         perforación. Para obtener más información respecto a la subrutina de interrupción
                         usada en este programa, refiérase al ejemplo de aplicación en el capítulo 9.

                         Este ejemplo usa el codificador (encoder) de cuadratura con la instrucción de
                         restablecimiento y retención. El acumulador del contador de alta velocidad
                         incrementa y decrementa según la relación de cuadratura de las entradas A y B
                         (I:0/0 e I:01) del codificador (encoder). El acumulador se pone a cero cuando el
                         restablecimiento está activado o cuando la instrucción RES se ejecuta. Todos los
                         valores preseleccionados se introducen como un offset relativo a la punta de un
                         manual. Los valores preseleccionados para las configuraciones de orificio se
                         almacenan en las instrucciones SQO. (Refiérase al capítulo 6 para obtener la
                         instrucción SQO.) La entrada de restablecimiento externo (I:0/2) del contador de
                         alta velocidad y la entrada de retención externa (I:0/3) están cableadas en paralelo
                         para evitar que el contador de alta velocidad cuente mientras el restablecimiento esté
                         activo.

                         Se pueden ajustar los retardos del filtro de entrada para las entradas A y B (I:0/0 e
                         I:0/1) del contador de alta velocidad así como las entradas de restablecimiento y
                         retención (I:0/2 e I:0/3) del contador de alta velocidad.




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


Renglón 4:5
Ocurrió una interrupción debido al valor bajo preseleccionado
alcanzado.
| C5:0                                           +RET–––––––––––––––+–|
|––––][––––––––––––––––––––––––––––––––––––––––––+RETURN            + |
|      IL                                        +––––––––––––––––––+ |
Renglón 4:6
Indica al programa principal (archivo 2) que inicialice la secuencia de
perforación. El contador de alta velocidad ya ha detenido el
transportador en la posición correcta usando sus datos de configuración
de salida del valor alto preseleccionado (borrar O:0/0). Esto ocurrió
microsegundos después de alcanzar el valor alto preseleccionado (justo
antes de introducir esta subrutina de interrupción del contador de alta
velocidad). La subrutina de secuencia de perforación restablece el bit
de inicio de secuencia de perforación y establece el bit de la unidad
propulsora del transportador (O:0/0) una vez finalizada la secuencia de
perforación.
| interrupción ocurrió         |   Inicio de secuencia de perforación |
| debido al valor alto         |                                      |
| preseleccionado alcanzado    |                                      |
|   C5:0                                                      B3      |
|––––] [––––––––––––––––––––––––––––––––––––––––––––––––––––––(L)–––––|
|      IH                                                        32   |
Renglón 4:7
|                                                                     |
|–––––––––––––––––––––––––––––––+END+–––––––––––––––––––––––––––––––––|
|                                                                     |




                                                                               7–33
Preface
Manual de referencia del juego de instrucciones




 7–34
Instrucciones de comunicación




        8 Instrucciones de comunicación
                  Este capítulo contiene información general acerca de las instrucciones de
                  comunicación. Cada una de las instrucciones incluye información acerca de:
                 •    cómo aparece el símbolo de instrucción
                 •    cómo usar la instrucción
                 •    un ejemplo de aplicación y diagramas de temporización

                  Además, la operación de la palabra de estado global (S:99) se proporciona.


Instrucciones de comunicación

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

                  MSG          Lectura/escritura   Esta instrucción transfiere datos desde un nodo         8-3
                               de mensaje          hacia otro en la red de comunicación. Cuando la
                                                   instrucción se habilita, la transferencia de mensaje
                                                   está pendiente. La transferencia real de datos se
                                                   realiza durante el escán.
                  SVC          Comunicaciones      Cuando las condiciones que preceden la instrucción     8-60
                               de servicio         SVC en el renglón son verdaderas, la instrucción
                                                   SVC interrumpe el escán de programa para ejecutar
                                                   la porción de comunicación de servicio del ciclo de
                                                   operación.




                                                                                                            8–1
Preface
Manual de referencia del juego de instrucciones


Acerca de las instrucciones de comunicación
                         Use la instrucción de mensaje para enviar y recibir datos de otros procesadores y
                         dispositivos. Use la instrucción SVC para mejorar el rendimiento de comunicación
                         de su procesador.

                         En este capítulo se encuentra una descripción general antes de cada tipo de
                         instrucción:
                         •    Instrucción de mensaje para el procesador SLC 5/02
                         •    Instrucción de mensaje para los procesadores SLC 5/03 y SLC 5/04
                         •    Instrucción de comunicación de servicio para el procesador SLC 5/02
                         •    Instrucción de comunicación de servicio para los procesadores SLC 5/03
                              y SLC 5/04




 8–2
Instrucciones de comunicación



Descripción general de
la instrucción de mensaje
                                                                                     3

  MSG
 READ/WRITE MESSAGE         (EN)   Esta es una instrucción de salida que le permite transferir datos desde un nodo hacia
 Read/write                 (DN)
 Target Device
 Control Block
                            (ER)   otro por la red DH-485. El procesador SLC 5/02 puede dar servicio a una
 Control Block Length   7
                                   instrucción de mensaje en cualquier momento, aunque el procesador puede retener
                                   varios mensajes “habilitados y en espera”. Los mensajes en espera reciben servicio
 Instrucción de salida
                                   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
Preface
Manual de referencia del juego de instrucciones


Bits del archivo de estado relacionados

                         Hay tres bits del archivo de estado que están relacionados con la instrucción MSG:
                         •    Bit de comando entrante pendiente (S:2/5) – Este bit se establece cuando el
                              procesador determina que otro nodo en la red ha solicitado información o le ha
                              proporcionado un comando. Este bit se puede establecer en cualquier momento.
                              Este bit se pone a cero cuando el procesador atiende la solicitud (o comando).
                              Use este bit como condición de una instrucción SVC para mejorar la capacidad
                              de comunicación de su procesador.
                         •    Bit de respuesta de mensaje pendiente (S:2/6) – Este bit se establece cuando
                              otro nodo en la red ha proporcionado la información que solicitó en la
                              instrucción MSG de su procesador. Este bit se pone a cero cuando el
                              procesador almacena la información y actualiza su instrucción MSG.
                              Use este bit como condición de una instrucción SVC para mejorar la capacidad
                              de comunicación de su procesador.
                         •    Bit de comando de mensaje saliente pendiente (S:2/7) – Este bit se establece
                              cuando uno o más mensajes en su programa se habilitan y esperan, pero no hay
                              un mensaje que se esté transmitiendo en este momento. Tan pronto comienza la
                              transmisión de un mensaje, el bit se pone a cero. Después de la transmisión, el
                              bit se vuelve a establecer si hay más mensajes en espera, o permanece en cero si
                              no hay más mensajes en espera.
                              Use este bit como condición de una instrucción SVC para mejorar la capacidad
                              de comunicación de su procesador.

                         Es posible que desee usar el bit S:2/15, selección de servicio de comunicaciones.
                         Refiérase al apéndice B en este manual para obtener más información.




 8–4
Instrucciones de comunicación


Opciones de configuración disponibles

               Las siguientes opciones de configuración están disponibles con el procesador
               SLC 5/02:
               •   Lectura/escritura de dispositivos semejantes en una red local a otro procesador
                   SLC 500
               •   Lectura/escritura de dispositivos semejantes en una red local a un 485CIF
                   (emulación PLC2)

               Refiérase al apéndice D para obtener parámetros válidos al programar la instrucción
               de mensaje.


Cómo introducir parámetros

               Después de colocar la instrucción MSG en un renglón, especifique si el mensaje es
               de lectura o escritura. Luego especifique el dispositivo receptor y el bloque de
               control para la instrucción MSG.
               •   Lectura/escritura – La lectura indica que el procesador local (el procesador en
                   que se encuentra la instrucción) está recibiendo datos; la escritura indica que el
                   procesador está enviando datos.
               •   El dispositivo receptor identifica el tipo de dispositivo que recibirá los datos.
                   Las opciones válidas son:

                   –   500CPU, si el dispositivo recpetor es otro procesador SLC

                   –   485CIF, si el dispositivo receptor es un procesador que no sea SLC
                       (emulador PLC2)
               •   El bloque de control es una dirección de archivo de entero que usted
                   selecciona. Es un archivo de 7 elementos que contiene los bits de estado, la
                   dirección del archivo receptor y otros datos asociados con la instrucción de
                   mensaje.
               •   La longitud del bloque de control se fija a siete elementos. Este campo no se
                   puede modificar.

Nota               La longitud del bloque de control MSG incrementa de 7 a 14 palabras al
                   cambiarse de un programa de procesador SLC 5/02 a un programa de
                   procesador SLC 5/03 ó SLC 5/04. Asegúrese que haya un mínimo de 7
                   palabras no usadas siguientes cada bloque de control MSG en su programa.




                                                                                                8–5
Preface
Manual de referencia del juego de instrucciones


Uso de los bits de estado

        Read/Write:                                 READ        ignore if timed out:    0     TO
         Target Device:                           500CPU              to be retried:    0     NR
         Control Block:                             N7:0         awaiting execution:    0     EW
         Local Destination File Address:             ***
         Target Node:                                  0                      error:    0     ER
         Target File Address:                        ***               message done:    0     DN
         Message Length in elements                  ***       message transmitting:    0     ST
                                                                    message enabled:    0     EN

                                                                control bit address:        N7:0/8

          ERROR CODE: 0
          Error Code Desc:




                         La columna derecha en la ilustración de arriba indica los diversos bits de estado
                         asociados con la instrucción MSG del SLC 5/02.
                         •    Bit de tiempo sobrepasado TO (bit 08) Puede establecer este bit en su
                              aplicación para eliminar una instrucción de mensaje activo del control del
                              procesador. La aplicación debe proporcionar su propio valor de límite de
                              tiempo sobrepasado. Un ejemplo aparecen la página 8–15.
                         •    El bit no respuesta NR (bit 09) se establece si el procesador receptor no
                              responde a la primera solicitud de mensaje. El bit NR se restablece cuando el
                              bit ER, DN o ST se establece.
                         •    El bit habilitado y en espera EW (bit 10) se establece después de que el bit
                              de habilitación se ha establecido y el mensaje está en espera de ser enviado.
                         •    El bit de error ER (bit 12) se establece cuando la transmisión de mensaje está
                              con fallo. El bit ER se restablece la próxima vez que el renglón asociado va de
                              falso a verdadero.
                         •    El bit de efectuado DN (bit 13) se establece cuando el mensaje se ha
                              transmitido exitosamente. El bit DN se restablece la próxima vez que el renglón
                              asociado va de falso a verdadero.
                         •    El bit de arranque ST (bit 14) se establece cuando el procesador acusa recibo
                              desde el dispositivo receptor. El bit ST se restablece cuando el bit DN, ER o
                              TO se establece.
                         •    El bit de habilitación EN (bit 15) se establece cuando las condiciones del
                              renglón se hacen verdaderas y la instrucción se ejecuta. Permanece establecido
                              hasta que la transmisión de mensaje se finaliza y el renglón se hace falso.




 8–6
Instrucciones de comunicación



Diagrama de temporización para una instrucción MSG
exitosa del SLC 5/02
           La sección siguiente describe el diagrama de temporización para una instrucción
           MSG del SLC 5/02.

                El renglón se         El nodo receptor        El nodo receptor procesa el
                hace verdadero.       recibe el paquete.      paquete exitosamente y retorĆ
                                                              na los datos (lectura) o escribe
                        À         Á     Â                     los datos (éxito). Ä

              1
           EN 0

                1
           EW
                0
              1
           ST 0

              1
           DN 0
              1
           ER 0
              1
           NR 0
              1
           TO 0


           1.   Cuando el renglón MSG se hace verdadero y el MSG es escaneado, el bit EN se
                establece y permanece establecido hasta que el bit DN, ER o TO se establezca.
                El bit EW está establecido, lo que indica que la instrucción MSG ha sido
                colocada en la cola MSG. (El procesador SLC 5/02 siempre tiene espacio en la
                cola MSG.) La cola trabaja en base al concepto primero en llegar–primero en
                salir y así permite al procesador recordar el orden en que las instrucciones MSG
                se habilitaron. Anote que el programa no tiene acceso a la cola MSG del SLC
                5/02.

           2.   En el siguiente final de escán o instrucción de comunicación de servicio (SVC),
                el procesador SLC 5/02 determina si debe examinar la cola MSG en busca de
                una tarea. El procesador toma una decisión según el estado de bit S:2/15, las
                solicitudes de comunicación DH-485 de otros nodos y si hay otra instrucción
                MSG anterior en ejecución. Si el procesador 5/02 determina que no debe
                acceder a la cola, los bits EN y EW permanecen establecidos hasta el próximo
                final de escán o SVC.



                                                                                                 8–7
Preface
Manual de referencia del juego de instrucciones


                              Si el procesador SLC 5/02 determina que hay una tarea de hacer, usa la primera
                              entrada de la cola de mensaje para construir un paquete DH-485. Si un paquete
                              se puede construir exitosamente, se coloca en el búfer de transmisión. Si un
                              paquete no se puede construir con éxito, el bit ER se establece y un código se
                              coloca en el bloque MSG para informarle del error.

                              Si ésta fuera una instrucción de escritura MSG, los datos de fuente serían
                              transferidos al búfer de transmisión en este momento.

                              Luego el procesador SLC 5/02 sale del final de escán o la porción SVC del
                              escán. La función de comunicación de fondo del procesador envía el paquete
                              transmitido con búfer al nodo receptor que ha especificado en su instrucción
                              MSG.

                         3.   Si el nodo receptor recibe exitosamente el paquete DH-485, envía un ACK
                              (acuse de recibo). El ACK causa que el procesador ponga a cero el bit EW y
                              establezca el bit ST. Observe que el nodo recpetor todavía no ha examinado el
                              paquete DH-485 para determinar si entiende su solicitud.

                              Una vez establecido el bit ST, el procesador espera infinitamente una respuesta
                              del nodo receptor. No es necesario que el nodo receptor responda dentro de un
                              plazo de tiempo determinado. En este momento no se dará servicio a ninguna
                              instrucción MSG.
Nota                          Si el nodo receptor está con fallo o desconecta y vuelve a conectar la
                              alimentación eléctrica durante el plazo de tiempo de una transacción MSG,
                              usted nunca recibirá una respuesta. Es por eso que se recomienda el uso de una
                              instrucción de temporizador conjuntamente con el bit TO. Refiérase al ejemplo
                              en la página 8–15.

                         El paso 4 no se muestra en el diagrama de temporización.

                         4.   Si no recibe un ACK, el paso 3 no ocurre. Un NAK (ningún acuse de recibo) se
                              recibe en su lugar. Cuando esto ocurre, el bit ST permanece puesto a cero. Un
                              NAK indica que:
                              •   el nodo receptor no existe,
                              •   no responde,
                              •   está demasiado ocupado o
                              •   recibe un paquete DH-485 alterado.
                              Cuando un NAK ocurre, el bit EW se pone a cero y el bit NR se establece
                              durante un escán. La próxima vez que la instrucción MSG es escaneada, el bit
                              ER se establece y el bit NR se pone a cero. Esto indica que la instrucción MSG
                              está con fallo. Observe que si el nodo receptor está demasiado ocupado, el bit
                              ER no se establece. En cambio, la instrucción MSG vuelve a hacer cola para la
                              retransmisión.




 8–8
Instrucciones de comunicación


               5.     Después del recibo exitoso del paquete, el nodo receptor envía un paquete de
                      respuesta. El paquete de respuesta contendrá una de las respuestas siguientes:
                     •    He realizado exitosamente su solicitud de escritura.
                     •    He realizado exitosamente su solicitud de lectura y le presento aquí los
                          datos.
                     •    No he realizado su solicitud; tiene un error.
                      Al próximo final de escán o SVC, después de la respuesta del nodo receptor, el
                      procesador SLC 5/02 examina el paquete DH-485 del dispositivo receptor. Si la
                      respuesta contiene “He realizado exitosamente su solicitud de escritura”, el bit
                      DN se establece y el bit ST se pone a cero. La función de la instrucción MSG
                      ha sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la
                      próxima vez que la instrucción MSG es escaneada.

                      Si la respuesta contiene “He realizado exitosamente su solicitud de lectura y le
                      presento aquí los datos”, los datos se escriben a la tabla de datos, el bit DN se
                      establece y el bit ST se pone a cero. La función de la instrucción MSG ha sido
                      completada. Si el renglón MSG es falso, el bit EN se pone a cero la próxima
                      vez que la instrucción MSG es escaneada.

                      Si la respuesta contiene “No he realizado su solicitud; tiene un error”, el bit ER
                      se establece y el bit ST se pone a cero. La función de la instrucción MSG ha
                      sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la
                      próxima vez que la instrucción MSG es escaneada.


Configuración del bloque de control

               La configuración del bloque de control se ilustra abajo si usted selecciona un
               500CPU como el dispositivo receptor:

                    Configuración del bloque de control - 500CPU
                15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00                  Pal.
                    EN ST DN ER       EW NR TO            Error Code              0
                    Node Number                                                   1
                    Reserved for length in words                                  2
                    File Number                                                   3
                    File Type (S, B, T, C, R, N)                                  4
                    Element Number                                                5
                    Reserved                                                      6




                                                                                                     8–9
Preface
Manual de referencia del juego de instrucciones


                         La configuración del bloque de control se ilustra abajo si usted selecciona un 485
                         CIF como el dispositivo receptor:

                           Configuración del bloque de control - 485 CIF
                          15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00              Pal.
                           EN ST DN ER            EW NR TO      Error Code              0
                           Node Number                                                  1
                           Reserved for length in words                                 2
                           Offset words                                                 3
                           Not used                                                     4
                           Not used                                                     5
                           Not used                                                     6




 8–10
Instrucciones de comunicación



Ejemplos de aplicación para procesadores SLC 5/02

Ejemplo 1

                  El ejemplo de aplicación 1 muestra cómo puede implementar la operación continua
                  de una instrucción de mensaje.

                   B3                             MSG
            0       ] [                          READ/WRITE MESSAGE                     (EN)
                      1                          Read/write          WRITE
                                                 Target Device      500CPU              (DN)
                                                 Control Block        N7:0
                                                 Control Block Length    7              (ER)


                    N7:0                                                            N7:0          * bit de estado de
            1        ] [                                                             (U)            la instrucción
                       13*                                                             15*          MSG
                    N7:0                                                                            12 = ER
                     ] [                                                                            13 = DN
                       12*                                                                          15 = EN
            2                                         END


                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
Preface
Manual de referencia del juego de instrucciones


Ejemplo 2 – Archivo de programa 2 del procesador SLC 5/02

                         El ejemplo de aplicación 2 involucra un procesador SLC 5/02 y un procesador SLC
                         5/01 comunicándose en una red DH-485. El enclavamiento se proporciona para
                         verificar la transferencia de datos y para detener ambos procesadores en el caso de
                         fallo de comunicación.

                         Un dispositivo de detección de temperatura, conectado como entrada al procesador
                         SLC 5/02, controla la operación activada/desactivada de un ventilador de
                         enfriamiento, conectado como salida al procesador SLC 5/01. Los programas de
                         escalera de SLC 5/02 y SLC 5/01 se explican en la figura en la página 8–14.




 8–12
Instrucciones de comunicación


                              I:1.0                                                       N7:0            Bit 1 de la palabra
                          0    ] [                                                         ( )            de mensaje. Usado
Dispositivo de                   5                                                           1            para el control del
entrada de sensor de          S:1                                                       T4:0              ventilador.
temperatura               1    ] [                                                       (RES)
                                  15
Bit de primer paso
                                                                                         N7:0             Bit 0 de la palabra
                                                                                          (L)             de mensaje. Este
                                                                                            0             es el bit de
                                                                                          B3              enclavamiento.
                                                                                          (U)
                                                                                             0
                                                                     TON
                          2                                          TIMER ON DELAY
                                                                     Timer         T4:0
                                                                                                (EN)     Temporizador de 4
                                                                     Time Base     0.01                  segundos
                                                                                                (DN)
                                                                     Preset         400
                                                                     Accum            0
    Bit de primer paso
                                                          MSG
                              S:1                                                                       Instrucción de escritura
                          3    ] [                       READ/WRITE MESSAGE                (EN)
                                                                                                        de mensaje. Las
                                                         Read/write          WRITE
                                  15
                                                         Target Device      500CPU         (DN)         direcciones del archivo
                                                         Control Block       N10:0
                              S:4
                               ] [                       Control Block Length    7         (ER)         de fuente y receptor son
                                  6                                                                     N7:0
                                                                                                        Nodo receptor: 3
Bit de reloj de 1280 ms       B3                                                          B3            Longitud del mensaje: 1
                               ] [
                                 0
                                                                                          (L)           palabra.
                                                                                             0
                              N10:0                          MSG                                        Instrucción de lectura de
                          4    ] [                          READ/WRITE MESSAGE                  (EN)    mensaje. Las direcciones
                                 13*                        Read/write
                                                            Target Device
                                                                                 READ
                                                                               500CPU
                                                                                                        del archivo de destino y
   Bit de efectuado de                                      Control Block       N11:0
                                                                                                (DN)
                                                                                                        receptor son N7:0
   escritura de mensaje                                     Control Block Length    7           (ER)    Nodo receptor: 3
                                                                                                        Longitud del mensaje: 1
                                                                                                        palabra.
                              T4:0                                                         B3
                          5    ] [                                                          (L)         Enclavamiento - Esta
                                 DN                                                           10        instrucción de alarma
                                                                                                        notifica a la aplicación
                              N11:0 N7:0                                                T4:0            si el bit de enclavaĆ
                          6    ] [   ]/[                                                 (RES)          miento N7:0/0
                                 13*   0
                                                                                         N7:0           permanece
  Bit de efectuado                                                                        (U)           establecido durante
  de lectura de                                                                             0           más de 4 segundos.
  mensaje
                                                                                          B3
                                                                                          (U)           * Bits de estado de la
                                                                                             0            instrucción MSG:
                                                                                         N11:0            13 = DN
                                                                                          (U)             15 = EN
                                                                                            15*
                                                                                         N10:0
                                                                                          (U)
                                                                                            15*
                          7                                   END

                                      Las notas de operación aparecen en la página siguiente.




                                                                                                                            8–13
Preface
Manual de referencia del juego de instrucciones


Archivo de programa 2 del procesador SLC 5/01 a nodo 3
                                           S:1                                                              N7:0           Bit 0 de la palabra de
                                    0       ] [                                                             (U)            mensaje. Este es el bit
                                               15                                                             0            de enclavamiento.
             Bit de primer paso                                                                          T4:0
                                                                                                          (RES)
                                                                                     TON
                                    1                                               TIMER ON DELAY            (EN)         Temporizador de 4
                                                                                    Timer
                                                                                    Time Base
                                                                                                   T4:0
                                                                                                   0.01
                                                                                                                           segundos
                                                                                                              (DN)
                                                                                    Preset          400
                                                                                    Accum             0


                                           T4:0                                                            B3
                                    2       ] [                                                             (L)          Instrucción de
                                              DN                                                              10         enclavamiento - Esta
                                                                                                                         alarma notifica a la
                                           N7:0      B3                                                   B3             aplicación si el bit de
                                    3       ] [       [OSR]                                                ( )
                                                                                                                         enclavamiento N7:0/0 no
                                              0           0                                                  1
                                                                                                                         se establece después de
                                           B3                                                               N7:0         4 segundos.
                                    4       ] [                                                             (U)
                                              1                                                                0
                                                                                                         T4:0
        Bit 1 de la palabra de                                                                            (RES)
        mensaje. Usado para                                                                                                O:1/0 activa el
                                           N7:0                                                           O:1.0            ventilador de
        control del ventilador.     5       ] [                                                            ( )
                                              1                                                              0             enfriamiento.

                                    6                                        END



          Notas de operación acerca de los programas SLC 5/02 y SLC 5/01
          Parámetros de instrucción de mensaje: N7:0 es la palabra de              Procesador SLC 5/02: N7:0/0 está enclavado; el temporizador
          mensaje. Es la dirección de archivo receptor (procesador                 T4:0 está restablecido, B3/0 está desenclavado (renglón 1) y
          SLC 5/01) y la fuente local y direcciones de destino (procesador         luego enclavado (renglón 3). El procesador SLC 5/01: N7:0/0
          SLC 5/02) en las instrucciones de mensaje.                               está desenclavado; el temporizador T4:0 está restablecido.
          N7:0/0 de la palabra de mensaje es el bit de enclavamiento; se           Operación de instrucción de mensaje: La instrucción de
          escribe al procesador 5/01 como 1 (establecido) y se lee del             escritura de mensaje en el procesador SLC 5/02 se inicia cada
          procesador SLC 5/01 como 0 (restablecido).                               1280 ms por el bit de reloj S:4/5. El bit de efectuado de la
                                                                                   instrucción de escritura de mensaje inicia la instrucción de
          N7:0/1 de la palabra de mensaje controla la operación del                lectura de mensaje.
          ventilador de enfriamiento; se escribe al procesador SLC 5/01
          como 1 (establecido) si se requiere enfriamiento o como 0                B3/0 enclava la instrucción de escritura de mensaje. B3/0 se
          (restablecido) si no se requiere enfriamiento. Se lee del                desenclava cuando el bit de efectuado de la instrucción de
          procesador SLC 5/01 como 1 ó 0.                                          lectura de mensaje se establece, siempre que el bit de
                                                                                   enclavamiento N7:0/0 esté restablecido.
          Palabra N7:0 debe tener un valor de 1 ó 3 durante la ejecución
          de escritura de mensaje. N7:0 debe tener un valor de 0 ó 2               Fallo de comunicación: En el procesador SLC 5/02, el bit B3/10
          durante la ejecución de lectura de mensaje.                              se establece si el bit de enclavamiento N7:0.0 permanece
                                                                                   establecido (1) durante más de 4 segundos. En el procesador
          Inicialización de programa: El bit de primer paso S:1/15                 SLC 5/01, el bit B3/10 se establece si el bit de enclavamiento
          inicializa los programas de escalera en la entrada al modo de            N7:0/0 permanece establecido (1) durante más de 4 segundos.
          marcha.                                                                  Su aplicación puede detectar este evento, tomar la acción
                                                                                   apropiada y luego desenclavar el bit B3/10.




 8–14
Instrucciones de comunicación


Ejemplo 3
                            El ejemplo de aplicación 3 le muestra cómo usar el bit de límite de tiempo
                            sobrepasado para inhabilitar una instrucción de mensaje activa. En este ejemplo,
                            una salida se activa después de cinco ensayos fallidos (duración de dos segundos)
                            para transmitir un mensaje.
                                   1       B3                  MSG
                           0     [LBL]      ] [               READ/WRITE MESSAGE                   (EN)
                                              1               Read/write           WRITE           (DN)
                                                              Target Device      500CPU            (ER)
   B3/1 está enclavado                                        Control Block         N7:0
   (externo de este                                           Control Block Length     7

   ejemplo) para iniciar la
                                 B3        T4:0                       TON
   instrucción de           1     ] [       ]/[                       TIMER ON DELAY               (EN)
   mensaje.                         1         DN                      Timer          T4:0                     Temporizador de 2
                                                                                                   (DN)
                                                                      Time Base      0.01                     segundos. Cada ensayo
                                                                      Preset          200                     de transmisión tiene una
                                                                      Accum             0
                                                                                                              duración de 2 segundos.
                                 T4:0                                  CTU
                           2      ] [                                 COUNT UP
                                                                      Counter          C5:0
                                                                                                   (CU)       El contador permite 5
                                    DN
                                                                      Preset              5        (DN)       ensayos.
                                                                      Accum               0



                                 N7:0       N7:0                             CLR
                           3      ] [        ] [                            CLEAR                            Borre la palabra de
                                   8*          12
                                                                            Dest            N7:0
                                                                                               0
                                                                                                             control y salte hacia atrás
                                                                                                             a renglón 0 para otro
                                                                                                             ensayo.
                                                                                      1
                                                                                    (JMP)


                                 T4:0                                                       N7:0             N7:0/8 es el bit de límite
                           4      ] [                                                        (L)             de tiempo sobrepasado
                                    DN                                                         8             de la instrucción de
                                                                                                             mensaje (/TO)
                                 C5:0                                                       O:1.0
                           5      ] [                                                        (L)             El quinto ensayo enclava
                                    DN                                                         0             O0:1/0.




                                 N7:0                                                       C5:0
                           6      ] [                                                        (RES)            * Bits de estado de la
                                    13*
                                                                                            O:1.0               instrucción MSG:
                                                                                             (U)                 8 = TO
                                                                                                0               13 = DN
                                                                                             B3
                                                                                             (U)
                                                                                                1
                           7                                    END


    Notas de operación
    El bit de límite de tiempo sobrepasado se enclava (renglón 4)     Un ensayo exitoso de transmisión restablece el contador,
    después de 2 segundos. Esto borra la instrucción de mensaje del   desenclava O:1/0 y desenclava B3/1.
    control de procesador en el próximo escán. Luego la instrucción
    de mensaje vuelve a habilitarse para el segundo ensayo de
    transmisión. Después de 5 ensayos, O:1/0 se enclava.



                                                                                                                                          8–15
Preface
Manual de referencia del juego de instrucciones


Ejemplo 4

                         El ejemplo de aplicación 4 le muestra como vincular las instrucciones de mensaje
                         para transmitir en serie, uno tras otro. En este ejemplo una escritura MSG es
                         seguida por una lectura MSG, lo que provoca la transmisión en serie.




 8–16
Instrucciones de comunicación


            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
Renglón 2:0         ] [                                                                                      (U)
                       15                                                                                        15
                Este renglón establece el valor de límite de tiempo sobrepasado. (Cuando se usa un procesador SLC 5/03 ó SLC
                5/04, este renglón y renglón 2:2 no son necesarios porque puede introducir el valor 6 en el campo de valor del
                límite de tiempo sobrepasado en el bloque de instrucción MSG.)
                  N7:0         N7:0             N7:0                                   TON
Renglón 2:1        ] [          ]/[              ]/[                                  TIMER ON DELAY                (EN)
                     15           12               13                                 Timer          T4:0           (DN)
                                                                                      Time Base      0.01
                                                                                      Preset          600
                                                                                      Accum             0


                                                                                           T4:0         N7:0
                                                                                            ] [          (L)
                                                                                              DN            8
                Idéntico al renglón anterior.
                  N7:20        N7:20            N7:20                                  TON
Renglón 2:2        ] [          ]/[              ]/[                                  TIMER ON DELAY                (EN)
                     15           12               13                                 Timer          T4:1           (DN)
                                                                                      Time Base      0.01
                                                                                      Preset          600
                                                                                      Accum             0


                                                                                           T4:1         N7:20
                                                                                            ] [          (L)
                                                                                              DN            8

               La instrucción MSG se activa a la entrada al modo de marcha REM o RUN. No se requieren condiciones de entrada.
                                                                                MSG
Renglón 2:3                                                                    READ/WRITE MESSAGE                    (EN)
                                                                               Read/write                 WRITE      (DN)
                                                                               Target Device             500CPU      (ER)
                                                                                  Control Block        N7:0
                                                                                  Control Block Length    7


                La instrucción MSG se activa cuando la instrucción MSG anterior se finaliza.
                         N7:0                                                      MSG
Renglón 2:4                ] [                                                    READ/WRITE MESSAGE                       (EN)
                               12                                                 Read/write            READ               (DN)
                                                                                  Target Device      500CPU                (ER)
                         N7:0                                                     Control Block        N7:20
                          ] [                                                     Control Block Length     7
                            13

                Este renglón restablece todas las instrucciones MSG cuando la última instrucción MG se ha finalizado. La
                palabra de control se borra para asegurar que los bits EN, DN, ER y TO se pongan a cero.
                         N7:20                                                            CLR
                                                                                         CLEAR
Renglón 2:5                ] [
                                                                                         Dest            N7:0
                              12                                                                              0

                         N7:0
                          ] [
                                                                                         CLR
                            13                                                          CLEAR
                                                                                        Dest             N7:20
                                                                                                             0


Renglón 2:6                                                          END




                                                                                                                                          8–17
Preface
Manual de referencia del juego de instrucciones


Descripción general de la
instrucción de mensaje
                                                                                           3 3

   MSG
  READ/WRITE MESSAGE
  Type
                              (EN)   Los datos asociados con una instrucción de escritura de mensaje se almacena en un
  Read/write
  Target Device
                              (DN)
                              (ER)
                                     búfer cuando usted habilita la instrucción. El SLC 5/03 con OS300 tiene cuatro
  Local/Remote
  Control Block
                                     búferes de transmisión. El SLC 5/03 con procesadores OS301, OS302 y SLC 5/04
  Control Block Length   14
                                     con procesadores OS400, OS401 dan servicio a un máximo de cuatro instrucciones
                                     de mensaje por canal para un máximo de ocho instrucciones de mensaje.
 Instrucción de salida

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
                   S:2/7  Comando de mensaje saliente             S:33/2 Comando de mensaje saliente
                          pendiente                                      pendiente
                   S:2/15 Selección de servicio de                S:33/5 Selección de servicio de
                          comunicaciones                                 comunicaciones
                   S:33/7 Selección de servicio de mensaje        S:33/6 Selección de servicio de mensaje


                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
Preface
Manual de referencia del juego de instrucciones


Opciones de configuración disponibles

                         Las siguientes opciones de configuración están disponibles cuando se usa un
                         procesador SLC 5/03 ó SLC 5/04. Refiérase al apéndice D para obtener parámetros
                         válidos al programar la instrucción de mensaje.
                         •    Lectura/escritura de dispositivos semejantes en una red local a otro procesador
                              SLC 500
                         •    Lectura/escritura de dispositivos semejantes en una red local a un 485CIF
                         •    Lectura/escritura de dispositivos semejantes en una red local a un PLC-5 À
                         •    Lectura/escritura de dispositivos semejantes en una red remota a otro
                              procesador SLC 500
                         •    Lectura/escritura de dispositivos semejantes en una red remota a un 485CIF
                              (emulación PLC2)
                         •    Lectura/escritura de dispositivos semejantes en una red remota a un procesador
                              PLC-5 À
                        À 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:
              •    Lectura/escritura – La lectura indica que el procesador local (el procesador en
                   que se encuentra la instrucción) está recibiendo datos; la escritura indica que
                   está enviando datos.
              •    El dispositivo receptor identifica el tipo de dispositivo que recibirá datos. Las
                   opciones válidas son:

                   –   el 500CPU si el dispositivo receptor es otro procesador SLC

                   –   el 485CIF si el dispositivo receptor es un dispositivo que no sea SLC en la
                       red DH-485

                   –   el PLC-5 si el dispositivo receptor acepta comandos PLC-5

              •    Local o remoto identifica si el mensaje es enviado a un dispositivo en una red
                   local DH-485 ó DH+, o a un dispositivo remoto en otra red a través de un
                   puente. Las opciones válidas son:

                   –   Local si el dispositivo receptor se encuentra en una red local

                   –   Remoto si el dispositivo receptor se encuentra en una red remota

              •    El bloque de control es una dirección de archivo de entero que usted
                   selecciona. Es un archivo de entero de 14 palabras que contiene bits de estado,
                   dirección de archivo receptor y otros datos asociados con la instrucción de
                   mensaje.
              •    La longitud del bloque de control se fija a 14 elementos. Este campo no se
                   puede modificar.

Nota               La longitud del bloque de control MSG incrementa de 7 a 14 palabras al
                   cambiarse de un programa de procesador SLC 5/02 a un programa de
                   procesador SLC 5/03 ó SLC 5/04. Asegúrese que haya un mínimo de 7
                   palabras no usadas después de cada bloque de control MSG en su programa.




                                                                                              8–21
Preface
Manual de referencia del juego de instrucciones


Uso de los bits de estado

                         La columna derecha en la ilustración siguiente alista los varios bits de estado
                         asociados con la instrucción SLC 5/03 y SLC 5/04.

           Type:                                  Peer–to–Peer
           Read/Write:                                    READ             ignore if timed out:    0   TO
           Target Device:                               500CPU                   to be retried:    0   NR
           Local/Remote:                                 Local              awaiting execution:    0   EW
           Control Block:                                N10:0                  continuous run:    0   CO
           Channel:                                          1                           error:    0   ER
           Target Node:                                      2                    message done:    0   DN
                                                                          message transmitting:    0   ST
                                                                               message enabled:    0   EN
           Destination File Addr:                        N7:0          waiting for queue space:    0   WQ
           Target Source File Address:                  N7:50
           Message Length In Elements:                     10
           Message Timeout (seconds):                       5

           ERROR CODE: 0                                                    control bit address:   N10:0/8
           Error Code Desc:




                         •    Bit del límite de tiempo sobrepasado TO (palabra 0, bit 08) Establezca este
                              bit en su aplicación para eliminar una instrucción de mensaje activa del control
                              de procesador. Puede usar su propia rutina de control de límite de tiempo
                              sobrepasado semejante a la instrucción MSG del SLC 5/02 o puede usar el
                              control de límite de tiempo sobrepasado interno. Le recomendamos que use el
                              control de límite de tiempo sobrepasado incorporado porque simplifica el
                              programa del usuario.
                              Si usa su propia rutina de control de límite de tiempo sobrepasado, el valor del
                              límite de tiempo sobrepasado (palabra 8) se debe poner a cero. Si la instrucción
                              MSG no se completa dentro del plazo de tiempo especificado y el bit DN no se
                              establece, usted debe establecer el bit TO (bit 8 de palabra 0) y volver a realizar
                              un escán de la instrucción MSG, de lo contrario el mensaje llevará un búfer
                              activo hasta que el procesador se detenga y se vuelva a arrancar. Después de la
                              ejecución de la instrucción MSG, el procesador establece el bit ER (bit 12) y
                              retorna el código de error 37H. Vuelva a iniciar la instrucción MSG
                              restableciendo el bit TO y volviendo a ejecutar la instrucción MSG.

                              Si usa el control de límite de tiempo sobrepasado interno, establezca el valor del
                              límite de tiempo sobrepasado (palabra 8) entre 1 y 255 segundos. Cuando el
                              límite de tiempo sobrepasado ocurre, el bit TO y el bit ER (bit 12 de palabra 0)
                              se establecen y el procesador retorna el código de error 37H. Vuelva a iniciar la
                              instrucción MSG restableciendo el bit TO y volviendo a ejecutar la instrucción
                              MSG.
                         •    Bit no respuesta NR (bit 09) se establece si el procesador receptor responde a
                              la instrucción con un acuse de recibo negativo. Esto significa que el dispositivo
                              receptor no puede dar servicio al paquete en ese momento y se debe volver a
                              intentar. El bit NR se restablece cuando el bit ER, DN o ST se establece.
                              Recomendamos no intentar controlar este bit. Se usa para funciones DH-485 y
                              se presenta a título informativo únicamente.


 8–22
Instrucciones de comunicación


       •   El bit habilitado y en espera EW (bit 10) se establece después de que el bit
           de habilitación se ha establecido y el mensaje se almacena en el búfer y espera
           ser enviado en el búfer. Recomendamos no intentar controlar este bit. Se
           presenta a título informativo únicamente.
       •   Operación continua CO (bit 11) Establezca este bit si desea enviar la
           instrucción MSG de manera continua. Recomendamos que el control del límite
           de tiempo sobrepasado interno se use para esta opción y que el renglón sea
           incondicionalmente verdadero. Use este bit para activar y desactivar el modo.
Nota       No intente establecer ni restablecer los otros bits en la palabra de control.
           Este modo operará continuamente siempre que el renglón sea escaneado
           continuamente. Si la instrucción tiene error, vuelve a intentar automáticamente
           hasta tener éxito. Si sobrepasa el límite de tiempo y se vuelve a escanear, el
           modo se detendrá. El bit ER se debe poner a cero para reanudar la operación.
       •   El bit de error ER (bit 12) se establece cuando la transmisión de mensaje está
           con fallo. El bit ER se restablece la próxima vez que el renglón asociado vaya
           de falso a verdadero.
       •   El bit de efectuado DN (bit 13) se establece cuando el mensaje se transmite
           con éxito. El bit DN se restablece la próxima vez que el renglón asociado vaya
           de falso a verdadero.
       •   El bit de arranque ST (bit 14) se establece cuando el procesador acusa recibo
           del dispositivo receptor. El bit ST se restablece cuando el bit DN, ER o TO se
           establece. Recomendamos no intentar controlar este bit. Se presenta a título
           informativo únicamente.
       •   El bit de habilitación EN (bit 15) se establece cuando las condiciones de
           renglón se hacen verdaderas y la instrucción se ejecuta. Permanece establecido
           hasta que la transmisión de mensaje se haya completado y el renglón se haga
           falso.
       •   El bit de espera de espacio en la cola WQ (Word 7, bit 0) se establece
           cuando no hay espacio en la cola activa para escribir o leer datos. Este bit se
           pone a cero cuando hay espacio disponible en al cola activa. Recomendamos
           no intentar controlar este bit. Se presenta a título informativo únicamente.

Nota   Cuando el bit WQ se establece, o cuando sólo se establece el bit EN, y usted usa
       una instrucción de escritura MSG, sus datos de fuente no tienen búfer. Si su
       aplicación requiere datos con búfer (o “fotografía”), espere hasta que el bit EW se
       establezca antes de sobrescribir sus datos de fuente.
           •   EN = 1 y EW = 1 cuando MSG entra en el búfer
           •   EN = 1 cuando MSG entra en cola
           •   WQ = 1 cuando la cola (que retiene 10 MSG) está llena:
               búfer – retiene 4 mensajes con los datos
               cola – almacena el puntero (lista de espera)

Nota   Si su programa contiene cuatro instrucciones de mensaje con el bit de operación
       continua (CO) establecido, la instrucción de mensaje de la rutina de fallo no se
       ejecutará.


                                                                                       8–23
Preface
Manual de referencia del juego de instrucciones


                         La cantidad de datos transferidos por una instrucción MSG es determinada por el
                         tamaño del tipo de datos de destino. El límite es 206 bytes de datos. Si una lectura
                         se usa, entonces el tipo de datos en el procesador determina el número de elementos.
                         Si una escritura se usa, entonces el tipo de datos en el dispositivo remoto determina
                         el número de elementos. Por ejemplo, si una lectura de contadores desde un
                         dispositivo remoto se efectúa y el destino en el procesador es un archivo de entero,
                         entonces el número máximo de elementos que se pueden solicitar es 103. Los datos
                         provienen de las 103 primeras palabras del archivo de temporizador remoto.


Configuraciones del bloque de control

                         La configuración del bloque de control se muestra abajo si selecciona un 500CPU o
                         un PLC-5 como el dispositivo receptor:

                               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                    Pal.
                           EN ST DN ER CO EW NR TO                  Error Code                 0
                           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)                            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–24
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                    Pal.
 EN ST DN ER CO EW NR TO                 Error Code                  0
 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
Preface
Manual de referencia del juego de instrucciones


Diagrama de temporización para una instrucción exitosa
del SLC 5/03 ó SLC 5/04
                         La sección siguiente describe el diagrama de temporización para una instrucción
                         MSG del SLC 5/03 ó SLC 5/04.

                                   El renglón se      El nodo receptor    El nodo receptor procesador
                                   hace verdadero     recibe el paquete   el paquete exitosamente y
                                                                          retorna los datos (lectura) o
                                                                       escribe los datos (éxito) 

                                 1
                              EN 0

                                   1
                              EW
                                   0
                                 1
                              ST 0

                                 1
                              DN 0
                                 1
                              ER 0
                                 1
                              NR 0
                                 1
                              TO 0
                                 1
                              WQ 0

                         1.   Cuando el renglón MSG se hace verdadero y el MSG es escaneado, si hay
                              espacio en cualquiera de los cuatro búferes MSG activos, los bits EN y EW es
                              establecen. Si esta fuera una instrucción de escritura MSG, los datos de fuente
                              sería transferidos al búfer MSG en este momento. Si no hay espacio en los
                              cuatro búferes MSG, pero hay disponible una posición en la cola MSG de 10
                              posiciones, sólo el bit EN se establece. La cola MSG de 10 posiciones trata los
                              datos primeros en llegar y así permite al procesador SLC 5/03 ó SLC 5/04
                              recordar el orden en que las instrucciones MSG se habilitaron. Anote que el
                              programa no tiene acceso a la cola MSG de SLC 5/03 ó SLC 5/04.

                              Si no hay espacio en ninguno de los cuatro búferes MSG ni en la cola MSG de
                              10 posiciones, sólo el bit WQ se establece. Observe que cuando el bit WQ se
                              establece, la instrucción MSG se debe volver a escanear más adelante cuando
                              haya espacio en los cuatro búferes MSG o la cola MSG de 10 posiciones.




 8–26
Instrucciones de comunicación


            Una vez establecido el bit EN, permanece establecido hasta que el proceso
            entero MSG se haya finalizado y el bit DN, ER o TO se establezca. El valor del
            límite de tiempo sobrepasado MSG comienza a temporizar cuando el bit EN
            se establece. Si el período del límite de tiempo sobrepasado vence antes de que
            la instrucción MSG finalice su función, el bit ER se establece y un código se
            coloca en el bloque MSG para informarle del error del límite de tiempo
            sobrepasado.

            Si decide establecer el bit CO, su instrucción MSG residirá de manera
            permanente en uno de los cuatro búferes MSG activos. La instrucción MSG
            continuará volviendo a transmitir sus datos cada vez que el bit DN o ER se
            establece. Si esta fuera una instrucción de escritura MSG, sus datos de fuente se
            actualizarían durante cada ciclo MSG.

       2.   Al próximo final de escán o SVC, el procesador SLC 5/03 ó SLC 5/04
            determina si debe examinar la cola MSG en busca de una tarea. El procesador
            toma su decisión según en el estado de los bits S:2/15, S:33/7, S:33/5, S:33/6,
            solicitudes de comunicación de la red desde otros nodos y si hay instrucciones
            MG anteriores que ya están en progreso. Si el procesador SLC 5/03 determina
            que no debe acceder a la cola, la instrucción MSG permanece tal como era.
            (Los bits EN y EW permanecen establecidos o sólo el bit EN se establece, o de
            lo contrario sólo el bit WQ se establece hasta el próximo final de escán o SVC.
            Si solamente el bit WQ se establece, la instrucción MSG se debe volver a
            escanear.)

            Si el procesador SLC 5/03 ó SLC 5/04 determina que hay una “tarea de
            desempeñar”, descargar las entradas de la cola MSG en los búferes MSG hasta
            que todos los cuatro búferes estén llenos. Cada búfer MSG contiene un paquete
            de red válido. Si un paquete no se puede construir exitosamente de la cola
            MSG, el bit ER se establece y un código se coloca en el bloque MSG para
            informarle de un error. Cuando una instrucción MSG se carga en un búfer
            MSG, los bits EN y EW se establecen.

            Luego el procesador SLC 5/03 ó SLC 5/04 sale al final de escán o la porción
            SVC del escán. La función de comunicación de fondo del procesador envía los
            paquetes a los nodos receptores que especificó en su instrucción MSG. Según el
            estado de los bits S:2/14, S:33/7, S:33/5 y S:33/6, puede tener hasta cuatro
            instrucciones MSG activas en todo momento.

       3.   Si el nodo receptor recibe exitosamente el paquete, envía un ACK (un acuso de
            recibo). El ACK causa que el procesador ponga a cero el bit EW y establezca el
            bit ST. El nodo receptor todavía no ha examinado el paquete para determinar si
            entiende su solicitud. Observe que el nodo receptor no tiene que responder
            dentro de un plazo de tiempo determinado.
Nota        Si el nodo receptor está con fallo o desconecta y vuelve a conectar la
            alimentación eléctrica durante este plazo de tiempo de una transacción MSG,
            nunca recibirá una respuesta. Es por eso que recomendamos el uso del valor
            del límite de tiempo sobrepasado MSG en su instrucción MSG.




                                                                                       8–27
Preface
Manual de referencia del juego de instrucciones


                         El paso 4 no se muestra en el diagrama de temporización.

                         4.   Si no recibe un ACK, el paso 3 no ocurre. Un NAK (ningún acuso de recibo) se
                              recibe en su lugar. Cuando esto ocurre, el bit ST permanece puesto a cero. Un
                              NAK indica que:
                              •   el nodo receptor no existe,
                              •   no responde,
                              •   está demasiado ocupado o
                              •   recibe un paquete DH-485 alterado.
                              Cuando un NAK ocurre, el bit EW se pone a cero y el bit NR se establece para
                              un escán. La próxima vez que la instrucción MSG es escaneada, el bit ER se
                              establece y el bit NR se pone a cero. Esto indica que la instrucción MSG está
                              con fallo. Anote que si el nodo receptor está demasiado ocupado, el bit ER no
                              se establece. En cambio, la instrucción MSG vuelve a hacer cola para la
                              retransmisión.

                         5.   Después del recibo exitoso del paquete, el nodo receptor envía un paquete de
                              respuesta. El paquete de respuesta contendrá una de las respuestas siguientes:
                              •   He realizado exitosamente su solicitud de escritura.
                              •   He realizado exitosamente su solicitud de lectura y le presento aquí los
                                  datos.
                              •   No he realizado su solicitud; tiene un error.
                              Al próximo final de escán o SVC, después de la respuesta del nodo receptor, el
                              procesador SLC 5/02 examina el paquete DH-485 del dispositivo receptor. Si la
                              respuesta contiene “He realizado exitosamente su solicitud de escritura”, el bit
                              DN se establece y el bit ST se pone a cero. La función de la instrucción MSG
                              ha sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la
                              próxima vez que la instrucción MSG es escaneada.

                              Si la respuesta contiene “He realizado exitosamente su solicitud de lectura y le
                              presento aquí los datos”, los datos se escriben a la tabla de datos, el bit DN se
                              establece y el bit ST se pone a cero. La función de la instrucción MSG ha sido
                              completada. Si el renglón MSG es falso, el bit EN se pone a cero la próxima
                              vez que la instrucción MSG es escaneada.

                              Si la respuesta contiene “No he realizado su solicitud; tiene un error”, el bit ER
                              se establece y el bit ST se pone a cero. La función de la instrucción MSG ha
                              sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la
                              próxima vez que la instrucción MSG es escaneada.




 8–28
Instrucciones de comunicación


Los cuatro búferes son compartidos entre el canal 0 y el canal 1 para los
procesadores SLC 5/03 OS300. Para los procesadores SLC 5/03 OS301, OS302 y
SLC 5/04 OS400, OS401, hay cuatro búferes MSG por canal. Cada canal tiene su
propia cola MSG de diez posiciones. El procesador SLC 5/03 ó SLC 5/04 descarga
las dos colas MSG en los búferes MSG equitativamente al final de escán o SVC.
Esto permite que ambos canales tengan el mismo acceso a las comunicaciones. Si
usted programa una instrucción SVC que es configurada para dar servicio solamente
a un canal, entonces dicho canal tendrá su cola MSG descargada en los búferes
MSG (hasta el próximo final de escán o SVC cuando ambos canales se volverán a
descargar equitativamente).




                                                                            8–29
Preface
Manual de referencia del juego de instrucciones


Códigos de error de la instrucción MSG
                           Cuando una condición de error ocurre, el código de error y su descripción se indican
                           en la pantalla.

                     Código de
                                                          Descripción de la condición de error
                       error
                                   El nodo receptor está ocupado. La instrucción MSG se volverá a cargar
                     02H           automáticamente. Si hay otros mensajes que esperan, el mensaje se coloca en la
                                   parte inferior de la pila.
                     03H           El nodo receptor no puede responder porque el mensaje es demasiado grande.
                                   El nodo receptor no puede responder porque no entiende los parámetros de
                     04H           comando O BIEN es posible que el bloque de control haya sido modificado
                                   inadvertidamente.
                     05H           El procesador local está fuera de línea (posible situación de nodo duplicado).
                     06H           El nodo receptor no puede responder porque la función solicitada no está disponible.
                     07H           El nodo receptor no responde.
                     08H           El nodo receptor no puede responder.
                     09H           La conexión del módem local ha sido perdida.
                     0AH           El búfer no está disponible para recibir la respuesta SRD.
                     OBH           El nodo receptor no acepta este tipo de instrucción MSG.
                                   Recibió un restablecimiento del vínculo principal (una fuente posible es del maestro
                     0CH
                                   DF1).
                                   El nodo receptor no puede responder a causa de parámetros de comando
                     10H
                                   incorrectos o comando sin capacidad.
                     11H           El archivo local tiene protección de archivo constante.
                     12H           Un error del protocolo de configuración de canal local existe.
                     13H           Error de configuración MSG local en los parámetros MSG remotos.
                     14H           El variador de comunicación local no es compatible con la instrucción MSG.
                     15H           Un error del parámetro de configuración de canal local existe.
                                   La dirección receptora o del puente local es mayor que la dirección máxima de
                     16H
                                   nodo.
                     17H           El servicio local no es compatible.
                     18H           La difusión (dirección de nodo 255) no es compatible.
                     37H           El mensaje sobrepasó el límite de tiempo en un procesador local.
                     38H           El mensaje inhabilitó la respuesta del vínculo pendiente.
                     50H           El nodo receptor agotó su memoria.
                     60H           El nodo receptor no puede responder porque el archivo está protegido.
                                   El nodo receptor no puede responder porque la longitud solicitada es demasiado
                     E7H
                                   larga.
                     EBH           El nodo receptor no puede responder porque el nodo receptor ha negado el acceso.



 8–30
Instrucciones de comunicación


       Código de
                                           Descripción de la condición de error
         error
                     El nodo receptor no puede responder porque la función solicitada no está disponible
       ECH
                     actualmente.
       F1H           El procesador local detecta un tipo ilegal de archivo receptor.
                     El nodo receptor no puede responder porque el otro nodo es el propietario del
       FAH
                     archivo (tiene el único acceso al archivo).
                     El nodo receptor no puede responder porque el otro nodo es el propietario del
       FBH
                     programa (tiene el único acceso a todos los archivos).
       FFH           El canal de comunicación local se ha desactivado.



Nota         Para los usuarios del juego de protocolo y comando 177-6.5.16 DH, DH+,
             DH-485:
             El código de error MSG representa el campo STS de la respuesta a su instrucción
             MSG. Los códigos E0 – EF representan los códigos EXT STS 0 – F. Los códigos
             F0 – FC representan los códigos EXT STS 10 – 1C.




                                                                                                           8–31
Preface
Manual de referencia del juego de instrucciones


Ejemplos de configuraciones usando la instrucción de
mensaje
                         La instrucción siguiente proporciona ejemplos para enviar comandos entre los
                         dispositivos compatibles con DH-485 y DF1 de dúplex completo y los dispositivos
                         compatibles con DH+.

                         Esta sección proporciona una variedad de ejemplos de aplicación usando la
                         instrucción MSG.
                         •    Lógica de escalera usando:

                                  –    la operación continua de la instrucción de mensaje

                                  –    la instrucción de mensaje de regeneración automática

                                  –    el bit de límite de tiempo sobrepasado para inhabilitar una instrucción
                                       de mensaje activa

                                  –    la transmisión en serie

                         •    Mensajes locales vía:

                                  –    la lectura local de un 500CPU

                                  –    la lectura local de un 485CIF

                                  –    la lectura local de un PLC-5

                         •    Mensajes remotos usando:

                                  –    un sólo módulo de interface de comunicación 1785-KA5

                                  –    dos módulos de comunicación 1785-KA

                                  –    los procesadores SLC con transferencia al canal 0

                                  –    un integrador de pirámide

                                  –    dos módulos de interface de comunicación 1785-KA5

                                  –    “saltos” múltiples usando dos módulos de interface de comunicación
                                       1785-KA5




 8–32
Instrucciones de comunicación


Uso de la lógica de escalera

Ejemplo 1

                Hay dos métodos para configurar una instrucción de mensaje que lee o escribe datos
                hacia/desde su nodo receptor de manera continua. El método más indicado y más
                eficiente es establecer el bit continuo (CO) de la instrucción de mensaje. Con este
                bit establecido, el mensaje reside permanentemente en uno de los cuatro búferes de
                mensaje del procesador SLC 5/03 ó SLC 5/04 y solicita/envía datos al nodo receptor
                continuamente. La única restricción de este método es que usted puede tener
                solamente hasta cuatro instrucciones de mensajes continuamente configuradas. Si
                tiene instrucciones de mensaje configuradas de esta manera, otras instrucciones de
                mensaje en su programa de escalera tomarán más tiempo para completarse porque
                en efecto ha reducido el número de búferes de mensaje disponibles.

                El segundo método se llama una instrucción de mensaje de regeneración automática.
                El efecto es semejante al establecer el bit continuo (CO) donde la instrucción de
                mensaje lee o escribe datos hacia/desde su nodo receptor de manera continua. Sin
                embargo, en vez de residir permanentemente en un búfer de mensaje, el mensaje de
                regeneración automática se elimina de su búfer de mensaje. Este método es muy
                útil si tiene más de cuatro mensajes que necesita operar continuamente o si desea
                que estos mensajes configurados continuamente compartan espacio de búfer con
                otras instrucciones de mensaje en su programa. Aunque este método tiene el mismo
                efecto que el establecimiento del bit CO, anote que será más lento que un mensaje
                continuo verdadero (con el bit CO establecido).




                                                                                              8–33
Preface
Manual de referencia del juego de instrucciones


                         El ejemplo de aplicación 1 muestra cómo puede implementar la operación continua
                         de una instrucción de mensaje. Este ejemplo usa un valor del límite de tiempo
                         sobrepasado de mensaje interno que no sea cero.
Renglón 2:0
Esta es la manera correcta de programar un mensaje continuo en un procesador
5/03 ó 5/04. Este mensaje residirá permanentemente en uno de los 4 búferes de
transmisión de mensaje. Puede activar o desactivar el mensaje continuo
estableciendo/restableciendo B3/0. Sin embargo, debe desenclavar el bit de
HABILITACION de mensaje cada vez que active el bit de MENSAJE CONTINUO – esto
permite que la instrucción se vuelva a cargar en un búfer de mensaje.
|                                               +MSG––––––––––––––––––––+        |
|–––––––––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE       +–(EN)–|
|                                               |Type       PEER–TO–PEER+–(DN) |
|                                               |Read/Write           READ+–(ER) |
|                                               |Target Device     500CPU|       |
|                                               |Local/Remote       LOCAL|       |
|                                               |Control Block        N7:0|      |
|                                               |Control Block Length 14|        |
|                                               +–––––––––––––––––––––––+        |
Renglón 2:1
|                                                                  Bit           |
|                                                                  MSG           |
|                                                                  continuo      |
| B3                      N7:0   À                                      N7:0     |
|––] [––––––––––––––––––––––––––––––––––––––––––––––––+––––––––––––( )–––––+–|
                        ––]/[–––
|     0                     10                          |                11    | |
|                                                       |          Bit MSG     | |
|                                                       |          continuo    | |
|                                                       |   B3          N7:0   | |
|                                                       |––[OSR]–––––(U)–––––+ |
|                                                       |        1 |      15     |
|                                                       |           |            |
|                                                       |   N7:0    |            |
|                                                       +––] [ –––|              |
|                                                              8                 |
Renglón 2:2
|                                                                                |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
|                                                                                |
                      À 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    |                         10                                15   |
| | Bit ERROR |                                                                  |
| | mensaje 1 |                                                                  |
| |     N7:0    |                                                                |
| +––––] [–––––+                                                                 |
|         12                                                                     |
Renglón 2:2
| Bit activado/                                            Mensaje 2             |
| desactivado de mensaje 2                                                       |
|      B3                                        +MSG––––––––––––––––––––+       |
|––––] [––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE       +–(EN)–|
|       1                                        |Type       PEER–TO–PEER+–(DN) |
|                                                |Read/Write          READ+–(ER) |
|                                                |Target Device     500CPU|      |
|                                                |Local/Remote       LOCAL|      |
|                                                |Control Block      N7:40|      |
|                                                |Control Block Length 14|       |
|                                                +–––––––––––––––––––––––+       |




                                                                                             8–35
Preface
Manual de referencia del juego de instrucciones


Renglón 2:3
|   Bit de EFECTUADO                                      Bit de HABILITACION |
|   de mensaje 2                                              de mensaje 2     |
|     N7:40                              N7:40 À                      N7:40    |
|–+––––] [–––––+–––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
                                       ––]/[–––
| |      13    |                           10                            15    |
| | Bit ERROR |                                                                |
| | mensaje 2 |                                                                |
| |   N7:40    |                                                               |
| +––––] [–––––+                                                               |
|        12                                                                    |
Renglón 2:4
|                                                                              |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
|                                                                              |
                      À 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                       10                 | |Counter         C5:0+–(DN) | |
|                                                  | |Preset             5|      | |
|                                                  | |Accum              5|      | |
|                                                  | +––––––––––––––––––+        | |
|                                                  | Bit de HABILITACION         | |
|                                                  | de mensaje                  | |
|                                                  |      N7:0                   | |
|                                                  +––––(U)––––––––––––––––––––+ |
|                                                          15                      |




                                                                                                 8–37
Preface
Manual de referencia del juego de instrucciones


Renglón 2:2
|                                                                 El mensaje    |
|                                                                 no se         |
|                                                                 completó      |
| C5:0                                                               O:3        |
|––] [––––––––––––––––––––––––––––––––––––––––––––––––––––––––––+––––(L)–––––+–|
|    DN                                                         |        0    | |
|                                                               | Bit de      | |
|                                                               | disparo MSG| |
|                                                               | del usuario| |
|                                                               |       B3    | |
|                                                               +––––(U)–––––+ |
|                                                                        1      |
Renglón 2:3
| Bit de    |                                                      Bit de       |
| EFECTUADO |                                                      disparo MSG |
| de mensaje|                                                      del usuario |
|      N7:0                                                                B3   |
|––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
|       13                                                                  1   |
Renglón 2:4
|                                                                               |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
|                                                                               |
                      À 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                             10                                   15   |
Renglón 2:3
Una vez completado con éxito el mensaje de ESCRITURA, habilite el mensaje de
LECTURA.
| Bit de EFECTUADO                                                              |
| de escritura de mensaje                                                       |
|     N7:0                                      +MSG––––––––––––––––––––+       |
|––––] [––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE      +–(EN)–|
|      13                                       |Type       PEER–TO–PEER+–(DN) |
|                                               |Read/Write          READ+–(ER) |
|                                               |Target Device    500CPU|       |
|                                               |Local/Remote       LOCAL|      |
|                                               |Control Block      N7:20|      |
|                                               |Control Block Length 14|       |
|                                               +–––––––––––––––––––––––+       |




                                                                                               8–39
Preface
Manual de referencia del juego de instrucciones


Renglón 2:4
Si el mensaje de LECTURA tiene error, siga ensayando el mensaje de LECTURA hasta
que se haya completado con éxito. No vuelva a ensayar la ESCRITURA hasta que
haya una LECTURA exitosa.
| Bit ERROR |                                            Bit de HABILITACION   |
| lec. mens.|                                            de lectura de mensaje |
|   N7:20                           N7:20 À                           N7:20    |
|––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
                                  ––]/[–––
|      12                             10                                 15    |
Renglón 2:5
Una vez que los mensajes de ESCRITURA y LECTURA se hayan completado
exitosamente, vuelva a iniciar la secuencia de mensaje desenclavando el bit de
habilitación del mensaje de ESCRITURA.
| Bit EFEC. |Bit EFEC. |                               Bit de HABILITACION     |
| lec. mens.|esc. mens.|                               de escritura de mensaje |
|   N7:20        N7:0                      N7:20 À                      N7:0   |
|––––] [––––––––] [––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
                                         ––]/[–––
|      13         13                         10                          15    |
Renglón 2:6
|                                                                              |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
|                                                                              |
                      À 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:                                 Peer–to–Peer
        Read/Write:                                   READ                     ignore if timed out:          0   TO
        Target Device:                              500CPU                           to be retried:          0   NR
        Local/Remote:                                Local                      awaiting execution:          0   EW
        Control Block:                               N10:0                          continuous run:          0   CO
        Channel:                                         1                                   error:          0   ER
        Target Node (decimal):                           2                            message done:          0   DN
                                                                              message transmitting:          0   ST
                                                                                   message enabled:          0   EN
        Destination File Addr:                        N7:0                 waiting for queue space:          0   WQ
        Target Source File Address:                  N7:50
        Message Length In Elements:                     10
        Message Timeout (seconds):                       5

        ERROR CODE: 0                                                           control bit address:         N10:0/8
        Error Code Desc:




                    En la pantalla anterior, el procesador SLC 5/03 ó SLC 5/04 lee 10 elementos del
                    archivo N7 del nodo receptor, a partir de la palabra N7:50. Las 10 palabras se
                    colocan en su archivo de entero a partir de la palabra N7:0. Si pasan cinco segundos
                    sin respuesta, el bit de error N10:0/12 se establece, lo que indica que la instrucción
                    ha sobrepasado el límite de tiempo. El dispositivo en el nodo 2 entiende el
                    protocolo de la familia del procesador SLC 500 (SLC 500, SLC 5/01, SLC 5/02,
                    SLC 5/03 y SLC 5/04).
                           Tecla de función                                     Descripción
                                                 Especifica el número de nodo del procesador que recibe el mensaje. El
                     Nodo receptor
                                                 rango válido es 0-31. (Especifica la dirección DH-485.)
                                                 Para una lectura (destino), ésta es la dirección en el procesador iniciador
                                                 que va a recibir los datos.
                     Dirección de archivo        Para una escritura (fuente), ésta es la dirección del procesador iniciador
                                                 que va enviar los datos.
                                                 Los tipos de archivo válidos son S, B, T, C, R, N, I, O, M0, M1, F, ST y A.
                                                 Para una lectura (fuente), ésta es la dirección en el procesador receptor
                                                 que va a enviar los datos.
                     Dirección receptora         Para una escritura (destino), ésta es la dirección del procesador receptor
                                                 que va a recibir los datos.
                                                 Los tipos de archivo válidos son S, B, T, C, R, N, I, O, M0, M1, F, ST y A.
                                                 Define la longitud del mensaje en elementos. Los elementos de una
                     Longitud de mensaje         palabra se limitan a una longitud máxima de 1-103. Los elementos de
                                                 tres palabras se limitan a una longitud máxima de 1-37.




                                                                                                                      8–41
Preface
Manual de referencia del juego de instrucciones


                              Tecla de función                                    Descripción
                                                   Define la longitud del temporizador de mensaje en segundos. Un límite
                           Límite de tiempo
                                                   de tiempo sobrepasado de 0 segundos significa que no hay temporizador
                           sobrepasado del
                                                   y que el mensaje esperará indefinidamente una respuesta. El rango
                           mensaje
                                                   válido es 0Ć255 segundos.
                                                   Identifica el canal físico usado para la comunicación de mensaje.
                                                   Canales disponibles:
                           Canal
                                                   SLC 5/03 - (0, RS-232) o (1, DH-485)
                                                   SLC 5/04 - (0, RS-232) o (1, DH+)




Ejemplo 2 – Lectura local de un 485CIF

         Type:                                Peer–to–Peer
         Read/Write:                                  READ                     ignore if timed out:          0   TO
         Target Device:                             485CIF                           to be retried:          0   NR
         Local/Remote:                               Local                      awaiting execution:          0   EW
         Control Block:                              N10:0                          continuous run:          0   CO
         Channel:                                        1                                   error:          0   ER
         Target Node (decimal):                          2                            message done:          0   DN
                                                                              message transmitting:          0   ST
                                                                                   message enabled:          0   EN
         Destination File Addr:                       N7:0                 waiting for queue space:          0   WQ
         Target Offset:                                 20
         Message Length In Elements:                     5
         Message Timeout (seconds):                     15

         ERROR CODE: 0                                                           control bit address:        N10:0/8
         Error Code Desc:




                         En la ilustración anterior, los procesadores SLC 5/03 ó SLC 5/04 leen cinco
                         elementos (palabras) del archivo CIF del nodo receptor, a partir de la palabra 20 (o
                         byte 20 para los dispositivos que no sean SLC 500). Los cinco elementos se
                         colocan en su archivo de enteros a partir de palabra N7:0. Si 15 segundos pasan sin
                         respuesta, el bit de error N10:0/12 se establece, lo que indica que la instrucción ha
                         sobrepasado el límite de tiempo. El dispositivo en el nodo 2 entiende el protocolo
                         485CIF (emulación de PLC-2).
                              Tecla de función                                    Descripción
                                                   Especifica el número de nodo del procesador que recibe el mensaje. El
                           Nodo receptor
                                                   rango válildo es 0Ć31.
                                                   Para una lectura (destino), ésta es la dirección en el procesador iniciador
                                                   que va a recibir los datos.
                           Dirección de archivo    Para una escritura (fuente), ésta es la dirección en el procesador
                                                   iniciador que va a enviar los datos.
                                                   Los tipos de archivo válidos son: S, B, T, C, R, N, I, O, M0, M1, F, ST y A
                                                   Para una lectura o escritura, éste es el valor offset de palabra en el
                           Offset receptor         archivo de interface común (offset de byte para dispositivos distintos de
                                                   SLC).


 8–42
Instrucciones de comunicación


                          Tecla de función                                  Descripción
                                             Cuando usa una instrucción de mensaje 485CIF, la longitud de mensaje
                      Longitud de mensaje    es el número de palabras de 16 bits. Puede especificar 1 a 103
                                             elementos (palabras de información).
                                             Define la longitud del temporizador de mensaje en segundos. Un límite
                      Límite de tiempo
                                             de tiempo sobrepasado de 0 segundos significa que no hay temporizador
                      sobrepasado del
                                             y que el mensaje esperará indefinidamente una respuesta. El rango
                      mensaje
                                             válido es 0Ć255 segundos.
                                             Identifica el canal físico usado para la comunicación de mensaje.
                                             Canales disponibles:
                      Canal
                                             SLC 5/03 - (0, RS-232) o (1, DH-485)
                                             SLC 5/04 - (0, RS-232) o (1, DH+)




Ejemplo 3 – Lectura local de un PLC-5

       Type:                             Peer–to–Peer
       Read/Write:                               READ                     ignore if timed out:          0   TO
       Target Device:                            PLC5                           to be retried:          0   NR
       Local/Remote:                            Local                      awaiting execution:          0   EW
       Control Block:                           N10:0                          continuous run:          0   CO
       Channel:                                     1                                   error:          0   ER
       Target Node (decimal):                       2                            message done:          0   DN
                                                                         message transmitting:          0   ST
                                                                              message enabled:          0   EN
       Destination File Addr:                   N7:0                  waiting for queue space:          0   WQ
       Target Src/Dst File Address:            N7:50
       Message Length In Elements:                10
       Message Timeout (seconds):                  5

       ERROR CODE: 0                                                       control bit address:         N10:0/8
       Error Code Desc:




                    En la ilustración anterior, el procesador SLC 5/03 ó SLC 5/04 lee 10 elementos del
                    archivo N7 del nodo receptor 2 a partir de la palabra N7:50. Las 10 palabras se
                    colocan en su archivo de entero a partir de la palabra N7:0. Si cinco segundos pasan
                    sin respuestas, el bit de error N10:0/12 se establece, lo que indica que la instrucción
                    ha sobrepasado el límite de tiempo. El dispositivo en el nodo 2 entiende el
                    protocolo del procesador PLC-5.
                          Tecla de función                                  Descripción
                                             Especifica el número de nodo del procesador que recibe el mensaje. El
                      Nodo receptor
                                             rango válildo es 0Ć31. (Especifica la dirección DHĆ485.)
                                             Para una lectura (destino), ésta es la dirección en el procesador iniciador
                                             que va a recibir los datos.
                      Dirección de archivo   Para una escritura (fuente), ésta es la dirección en el procesador
                                             iniciador que va a enviar los datos.
                                             Los tipos de archivo válidos son: S, B, T, C, R, N, I, O, F, ST y A.



                                                                                                                  8–43
Preface
Manual de referencia del juego de instrucciones


                              Tecla de función                                  Descripción
                                                  Para una lectura (fuente), ésta es la dirección en el procesador receptor
                                                  que va a enviar los datos.
                           Dirección receptora    Para una escritura (destino), ésta es la dirección 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.
                                                  Define la longitud del mensaje en elementos. Los elementos de una
                           Longitud de mensaje    palabra se limitan a una longitud máxima de 1-103. Los elementos de
                                                  tres palabras se limitan a una longitud máxima de 1-37.
                                                  Define la longitud del temporizador de mensaje en segundos. Un límite
                           Límite de tiempo
                                                  de tiempo sobrepasado de 0 segundos significa que no hay temporizador
                           sobrepasado del
                                                  y que el mensaje esperará indefinidamente una respuesta. El rango
                           mensaje
                                                  válido es 0Ć255 segundos.
                                                  Identifica el canal físico usado para la comunicación de mensaje.
                                                  Canales disponibles:
                           Canal
                                                  SLC 5/03 - (0, RS-232) o (1, DH-485)
                                                  SLC 5/04 - (0, RS-232) o (1, DH+)




 8–44
Instrucciones de comunicación


Uso de mensajes remotos

Ejemplo 1 – Comunicación con procesadores A–B usando un 1785-KA5

  Nodo 1        Dispositivo A
   (oct)                                                                                                                                    Dispositivo C
                                                                                                                               Nodo 2

                                               Dispositivo B
                                                                                   Nodo 7 DHĆ485
           Controlador modular de                                                                        DHĆ485
               E/S SLC 5/04
                                                                                                   Identificación de red = 1            Controlador modular de
                                           Nodo 3                                                      (19.2 KBaudio)                       E/S SLC 5/03
                            DH+             (oct)
                                                                                   DH+ Nodo 6
           Identificación de red = 2                                                  (oct)
               (57.6 KBaudio)                            PLC-5/40 con módulo
                                                             1785-KA5

                                                                 DH+
                                                       Identificación de red = 2
                                                           (57.6 KBaudio)




Procesador SLC 5/04 (A) a procesador SLC 5/03 (C) vía 1785-KA5

                    Type:                              Peer–to–Peer
                    Read/Write:                                Read
                    Target Device:                          500 CPU
                    Local/Remote:                            Remote
                    Control Block:                    user specified
                    Channel:                                      1
                    Target Node (decimal):                        2
                    Remote Bridge Link Id dec:                  1
                    Remote Bridge Node Address dec:             0
                    Local Bridge Node Address dec:              6
                    Destination/Source File Addr:     user specified
                    Target Src/Dst File Address:      user specified
                    Message Length In Elements:                  11
                    Message Timeout (seconds):                    5




Comentarios

                                    El canal se establece a 1 ya que el comando original es iniciado por un procesador
                                    SLC 5/04 en la red DH+ (identificación de red 2).

                                    El nodo receptor es el procesador SLC 5/03 a dirección de nodo 2.

                                    La identificación de red del puente remoto es la identificación de red de la red
                                    remota DH-485 con el procesador SLC 5/03 (identificación de red 1).




                                                                                                                                                            8–45
Preface
Manual de referencia del juego de instrucciones


                         La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
                         comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
                         con capacidades de Internet.

                         La dirección de nodo del puente local se establece a 6 porque esta es la dirección
                         de nodo de la red DH+ usada por el módulo de interface de comunicación
                         1785-KA5.


Procesador SLC 5/03 (C) a procesador SLC 5/04 (A) vía 1785-KA5

               Type:                              Peer–to–Peer
               Read/Write:                                Read
               Target Device:                          500 CPU
               Local/Remote:                            Remote
               Control Block:                    user specified
               Channel:                                      1
               Target Node (decimal):                        1
               Remote Bridge Link Id dec:                  1
               Remote Bridge Node Address dec:             0
               Local Bridge Node Address dec:              7
               Destination/Source File Addr:     user specified
               Target Src/Dst File Address:      user specified
               Message Length In Elements:                  11
               Message Timeout (seconds):                    5




Comentarios

                         El canal se establece a 1 ya que el comando original es iniciado por un procesador
                         SLC 5/03 en la red DH-485 (identificación de red 1).

                         El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 1.

                         La identificación de vínculo del puente remoto es el vínculo con el procesador
                         SLC 5/04 (identificación de red 2).

                         La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
                         comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
                         con capacidades de Internet.

                         La dirección de nodo del puente local se establece a 7 porque ésta es la dirección
                         de nodo de la red DH-485 usada por el módulo de interface de comunicación
                         1785-KA5.




 8–46
Instrucciones de comunicación


Procesador SLC 5/03 (C) a un PLC-5 (B) vía 1785-KA5

           Type:                              Peer–to–Peer
           Read/Write:                               Write
           Target Device:                             PLC5
           Local/Remote:                            Remote
           Control Block:                    user specified
           Channel:                                      1
           Target Node (decimal):                        3
           Remote Bridge Link Id dec:                  2
           Remote Bridge Node Address dec:             0
           Local Bridge Node Address dec:              7
           Destination/Source File Addr:     user specified
           Target Src/Dst File Address:      user specified
           Message Length In Elements:                  11
           Message Timeout (seconds):                    5




Comentarios

                   El canal se establece a 1 ya que el comando original es iniciado por un procesador
                   SLC 5/03 en la red DH-485 (identificación de red 1).

                   El nodo receptor es el procesador PLC-5 a dirección de nodo 3.

                   La identificación de vínculo del puente remoto es el vínculo con el procesador
                   PLC–5 (identificación de red 2).

                   La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
                   comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
                   con capacidades de Internet.

                   La dirección de nodo del puente local se establece a 7 porque ésta es la dirección
                   de nodo de la red DH-485 usada por el módulo de interface de comunicación
                   1785-KA5.




                                                                                                 8–47
Preface
Manual de referencia del juego de instrucciones


Ejemplo 2 – Comunicación con procesadores A–B usando dos 1785-KA

                  Dispositivo A
                                                                                                                        Dispositivo B

   Nodo 22
    (oct)                                Dispositivo C                                             Nodo 13
                                                                              Nodo 220              (oct)
             Controlador modular de                                          (1785-KA)
                 E/S SLC 5/04                                                                                   Controlador modular de
                                                                                                                    E/S SLC 5/04
                                       Nodo 3
                         DH+            (oct)
                     57.6 KBaudio                                                                                     DH+
                                                    PLC-5/40 con módulo
                                                                                                                  57.6 KBaudio
                                                         1785-KA                         Nodo 3
                                                                                          (oct)



                                                                          Data Highway                                            Nodo 110
                                                                                                                                  (1785ĆKA)
                                                                                                  PLC-5/40 con módulo
                                                                                                       1785-KA




Procesador SLC 5/04 (B) a procesador PLC5 (C) vía dos 1785-KA

                Type:                              Peer–to–Peer
                Read/Write:                               Write
                Target Device:                             PLC5
                Local/Remote:                            Remote
                Control Block:                    user specified
                Channel:                                      1
                Target Node (decimal):                        0
                Remote Bridge Link Id dec:                  0
                Remote Bridge Node Address dec:           131
                Local Bridge Node Address dec:              8
                Destination/Source File Addr:     user specified
                Target Src/Dst File Address:      user specified
                Message Length In Elements:                  10
                Message Timeout (seconds):                    0




Comentarios

                               El canal se establece a 1 porque el comando original es iniciado por un procesador
                               SLC 5/04 en la red DH+.

                               El nodo receptor es el procesador PLC-5 a dirección de nodo 0. (En realidad, esta
                               es la dirección de nodo 3, pero la dirección de nodo se establece a 0 porque la
                               dirección de nodo del puente remoto maneja la estructura de direccionamiento.)

                               La identificación de vínculo del puente remoto siempre se establece a 0 cuando se
                               usa esta estructura de direccionamiento.


 8–48
Instrucciones de comunicación


                   La dirección de nodo del puente remoto se establece a 131. La dirección de nodo
                   del puente remoto consiste en el dígito más significativo (octal) del 1785-KA (220)
                   remoto más la dirección del nodo receptor. Por ejemplo, 200 + 3 = 203 octales (131
                   decimal).

                   La dirección de nodo del puente local se establece a 8 porque esta es la
                   equivalente decimal del segundo dígito menos significante de la dirección 1785-KA
                   (10 octal).


Procesador SLC 5/04 (B) a procesador SLC 5/04 (A) vía dos 1785-KA

           Type:                              Peer–to–Peer
           Read/Write:                               Write
           Target Device:                          500 CPU
           Local/Remote:                            Remote
           Control Block:                    user specified
           Channel:                                      1
           Target Node (decimal):                        0
           Remote Bridge Link Id dec:                  0
           Remote Bridge Node Address dec:           146
           Local Bridge Node Address dec:              8
           Destination/Source File Addr:     user specified
           Target Src/Dst File Address:      user specified
           Message Length In Elements:                  10
           Message Timeout (seconds):                    0




Comentarios

                   El canal se establece a 1 porque el comando original es iniciado por un procesador
                   SLC 5/04 en la red DH+.

                   El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 0. (En
                   realidad, esta es dirección de nodo 22, pero la dirección de nodo se establece a 0
                   porque la dirección de nodo del puente remoto maneja la estructura de
                   direccionamiento.)

                   La identificación de vínculo del puente remoto siempre se establece a 0 cuando se
                   usa esta estructura de direccionamiento.

                   La dirección de nodo del puente remoto se establece a 146. La dirección de nodo
                   del puente remoto consiste en el dígito más significante (octal) del 1785-KA remoto
                   más la dirección del nodo receptor. Por ejemplo, 200 + 22 = 222 octal (146
                   decimal).

                   La dirección de nodo del puente local se establece a 8 porque esta es la
                   equivalente decimal del segundo dígito menos significativo de la dirección
                   1785-KA (10 octal).


                                                                                                   8–49
Preface
Manual de referencia del juego de instrucciones


Ejemplo 3 – Transferencia vía canal 0 DH-485 del procesador SLC 5/04
                   Dispositivo B



 Nodo 3                                                                                                                          Dispositivo D
  (oct)                                                                 Dispositivo C                                 Nodo 2
                                                     DH+ Nodo 2                                                        (oct)
                     PLC-5/40                           (oct)                                             DHĆ485
                                            DH+
                                                                                                           Identificación
                                   Identificación de red = 2                                                 de red = 1
                                       (57.6 KBaudio)                                                                          Controlador modular de
                                                               DHĆ485    Controlador modular de           (19.2 KBaudio)           E/S SLC 5/03
                                                                             E/S SLC 5/04
                        Dispositivo A                          Nodo 1
          Nodo 1                                                           RSĆ232
           (oct)
                                                                                       Convertidor de
                                                                                    intenrface 1747ĆPIC
                   Controlador modular de
                       E/S SLC 5/04




Procesador SLC 5/04 (A) a procesador SLC 5/03 (D) vía un procesador SLC 5/04 (C)
(transferencia usando canal 0 DH-485)

                   Type:                              Peer–to–Peer
                   Read/Write:                                Read
                   Target Device:                          500 CPU
                   Local/Remote:                            Remote
                   Control Block:                    user specified
                   Channel:                                      1
                   Target Node (decimal):                        2
                   Remote Bridge Link Id dec:                  1
                   Remote Bridge Node Address dec:             0
                   Local Bridge Node Address dec:              2
                   Destination/Source File Addr:     user specified
                   Target Src/Dst File Address:      user specified
                   Message Length In Elements:                  10
                   Message Timeout (seconds):                    5




Comentarios
                                   El canal se establece a 1 porque el comando original es iniciado por un procesador
                                   SLC 5/04 en la red DH+.
                                   El nodo receptor es el procesador SLC 5/03 en la dirección de nodo 2.
                                   La identificación de vínculo del puente remoto es el vínculo con el procesador
                                   SLC 5/04 (canal 0, identificación de red 1).
                                   La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
                                   comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
                                   con capacidades de Internet.
                                   La dirección de nodo del puente local se establece a 2 porque esta es la dirección
                                   de nodo DH+.


 8–50
Instrucciones de comunicación


Procesador SLC 5/03 (D) a procesador SLC 5/04 (A) vía un procesador SLC 5/04 (C)
(transferencia usando canal 0 DH-485)

           Type:                              Peer–to–Peer
           Read/Write:                                Read
           Target Device:                          500 CPU
           Local/Remote:                            Remote
           Control Block:                    user specified
           Channel:                                      1
           Target Node (decimal):                        3
           Remote Bridge Link Id dec:                  2
           Remote Bridge Node Address dec:             0
           Local Bridge Node Address dec:              1
           Destination/Source File Addr:     user specified
           Target Src/Dst File Address:      user specified
           Message Length In Elements:                  10
           Message Timeout (seconds):                    5




Comentarios
                   El canal se establece a 1 porque el comando original es iniciado por un procesador
                   SLC 5/03 en la red DH-485.
                   El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 1.
                   La identificación de vínculo del puente remoto es el vínculo con el procesador
                   SLC 5/04 (canal 1, identificación de red 2).
                   La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
                   comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
                   con capacidades de Internet.
                   La dirección de nodo del puente local se establece a 1 porque ésta es la dirección
                   de nodo DH-485.




                                                                                                 8–51
Preface
Manual de referencia del juego de instrucciones


Procesador SLC 5/03 (D) a PLC-5 (B) vía un procesador SLC 5/04
(transferencia usando canal 0 DH-485)

               Type:                              Peer–to–Peer
               Read/Write:                               Write
               Target Device:                             PLC5
               Local/Remote:                            Remote
               Control Block:                    user specified
               Channel:                                      1
               Target Node (decimal):                        3
               Remote Bridge Link Id dec:                  2
               Remote Bridge Node Address dec:             0
               Local Bridge Node Address dec:              1
               Destination/Source File Addr:     user specified
               Target Src/Dst File Address:      user specified
               Message Length In Elements:                  10
               Message Timeout (seconds):                    5




Comentarios
                         El canal se establece a 1 porque el comando original es iniciado por un procesador
                         SLC 5/03 en la red DH-485.
                         El nodo receptor es el procesador PLC-5 en la dirección de nodo 3.
                         La identificación de vínculo del puente remoto es el vínculo con el procesador
                         SLC 5/04 (canal 1, identificación de red 2).
                         La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
                         comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
                         con capacidades de Internet.
                         La dirección de nodo del puente local se establece a 1 porque ésta es la dirección
                         de nodo DH-485.




 8–52
Instrucciones de comunicación


Mensajes remotos (SLC 5/03 a un SLC 500, SLC 5/01 ó SLC 5/02)

                                   La ilustración siguiente muestra la conectividad para un mensaje remoto.

                             1747-AIC                                                    1747-AIC                                                               Identif. de
                                                                                                                                                                red = 1
                                                                                                                                                                 Nodo 4
                                                                                                                                                                 

                  Nodo 2                                                        Nodo 6                                                                       Identificación
                                                                                                                          PLC con módulo                     de red = 3
                                                                                                                                                   Nodo 7
                                                                                                                          1785ĆKA5
                                                                                                                                                    
                                                                                                                        Nodo 1
                             Controlador modular de E/S                                  Controlador modular de E/S
                                      SLC 5/02                                                    SLC 5/03




     Nodo 9                                                      Identif. de red = 3
     (11 octal)                                                                          Nodo 3
                                                                 Nodo 8                                                     Nodo 2
                                                                  (10 octal)
                                                                 Nodo 5
                                                                 
                           PLCĆ5 con módulo
                           1785ĆKA5
                                                                                                  PLC-5                                Computadora
                                                                                                                                       industrial T60
                                     Identificación de red = 2
                                     


                                                                    1747-AIC
                                                                                                                                      1747-AIC




                                           Nodo 3                                                              Nodo 1
                                           



                                                        Controlador modular de E/S                                         Controlador modular de E/S
                                                                 SLC 5/02                                                           SLC 5/01

             Longitud máxima de la red DHĆ485 1200 m (4,000 pies)
             Red DH+

                                          Los siguientes pies de gráfico representan los parámetros de direccionameinto
                                          de un SLC 5/03 a un procesador SLC 5/02 remoto.
                                          Estes es el nodo original de la instrucción MSG. No tiene que especificar
                                           esta dirección.
                                          Esta es la dirección de nodo del puente local.
                                          Esta es la dirección de nodo remoto del puente local. No tiene que
                                           especificar esta dirección.
                                          Esta es la dirección de nodo del puente remoto.
                                          Esta es la dirección de nodo del puente remoto. No tiene que especificar
                                           esta dirección.
                                          Esta es la identificación de red remota.
                                         
 Esta es la dirección de nodo receptor.

                                                                                                                                                                        8–53
Preface
Manual de referencia del juego de instrucciones


Ejemplo 4 – Transferencia vía canal 0 DF1 del procesador SLC 5/04

               Dispositivo A                     Dispositivo B                             Dispositivo C                         Dispositivo D
 DH+                                   DH+                                   DH+                                    DH+
Nodo 0                                Nodo 2                                Nodo 35                                Nodo 77
 (oct)                                 (oct)                                 (oct)                                  (oct)


         Controlador modular de                 Controlador modular de                Controlador modular de                 Controlador modular de
             E/S SLC 5/04                           E/S SLC 5/04                          E/S SLC 5/04                           E/S SLC 5/04

                                               S:34/5 = 1          DF1
                          DH+                                    (RSĆ232)                         DH+
          Identificación de red = 2
              (57.6 KBaudio)                      Identificación de red = 1            Identificación de red = 3
                                                      (19.2 KBaudio)                       (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 dec:             0
                  Local Bridge Node Address dec:              2
                  Destination/Source File Addr:     user specified
                  Target Src/Dst File Address:      user specified
                  Message Length In Elements:                  10
                  Message Timeout (seconds):                    5




Nota                              La configuración incorrecta puede causar que los datos sean escritos o leídos de un
                                  procesador no seleccionado. Asegúrese que todos parámetros e identificaciones de
                                  vínculo de canal se establezcan correctamente.
Comentarios
                                  El canal se establece a 1 porque el comando original es iniciado por un procesador
                                  SLC 5/04 en la red DH+.
                                  El nodo receptor es el procesador SLC 5/04 a dirección de nodo 77 (63 decimales).
                                  La identificación de vínculo del puente remoto es el vínculo con el procesador
                                  SLC 5/04 (identificación de vínculo 1).
                                  La dirección de nodo del puente remoto se establece a 0 (no usado) porque canal
                                  0 es dúplex total DF1.
                                  La dirección de nodo del puente local se establece a 2 porque ésta es la dirección
                                  de nodo DH+.


 8–54
Instrucciones de comunicación


Ejemplo 5 – Transferencia vía canal 0 DH+ del procesador SLC 5/04
               Dispositivo A                            Dispositivo B                                     Dispositivo C
Nodo 77                                      Nodo 2                                       Nodo 35
 (oct)                                        (oct)                                        (oct)



          Controlador modular de                       Controlador modular de                         Controlador modular de
              E/S SLC 5/04                                 E/S SLC 5/04                                    E/S SLc 5/04
                                       DH+                                         DF1
                                                      S:34/5 = 1                   (RSĆ232)
                       Identificación de red = 2
                           (57.6 KBaudio)                                 Identificación de red = 1
                                                                              (19.2 KBaudio)




Nota                               El dispositivo B tiene S:34/5 establecido a 1.


Procesador SLC 5/04 (A) a procesador SLC 5/04 (C) vía un solo procesador SLC 5/04
(transferencia usando canal 0 DF1)

                   Type:                                              Peer–to–Peer
                   Read/Write:                                                Read
                   Target Device:                                          500 CPU
                   Local/Remote:                                            Remote
                   Control Block:                                    user specified
                   Channel:                                                      1
                   Target Node:                                                  0
                   Remote Bridge Link Id dec:                                  1
                   Remote Bridge Node Address:                                   0
                   Local Bridge Node Address:                                    2
                   Destination/Source File Addr:                     user specified
                   Target Src/Dst File Address:                      user specified
                   Message Length In Elements:                                  10
                   Message Timeout (seconds):                                    5




Comentarios
                                   El canal se establece a 1 porque el comando original es iniciado por un procesador
                                   SLC 5/04 en la red DH+.
                                   El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 0 (dúplex total
                                   DF1).
                                   La identificación de vínculo del puente remoto es el vínculo con el procesador
                                   SLC 5/04 (identificación de vínculo 1).
                                   La dirección de nodo del puente remoto se establece a 0 (no usado) porque canal
                                   0 es dúplex total DF1.
                                   La dirección de nodo del puente local se establece a 2 porque ésta es la dirección
                                   de nodo DH+.




                                                                                                                                          8–55
Preface
Manual de referencia del juego de instrucciones


Procesador SLC 5/04 (C) a procesador SLC 5/04 (A) vía un solo procesador SLC 5/04
(transferencia usando canal 0 DF1)

               Type:                                Peer–to–Peer
               Read/Write:                                  Read
               Target Device:                            500 CPU
               Local/Remote:                               Local
               Control Block:                      user specified
               Channel:                                        0

               Target Node (decimal):                         63
               Destination/Source File Addr:       user specified
               Target Src/Dst File Address:        user specified
               Message Length In Elements:                    10
               Message Timeout (seconds):                      5




Comentarios

                         El canal se establece a 0 porque el comando original es iniciado por un procesador
                         SLC 5/04 conectado vía dúplex total DF1.

                         El nodo receptor es el procesador SLC 5/04 en la dirección nodo 63 decimales (77
                         octal).


Procesador SLC 5/04 (C) a procesador SLC 5/04 (B) cuando la transferencia está habilitada

               Type:                                Peer–to–Peer
               Read/Write:                                  Read
               Target Device:                            500 CPU
               Local/Remote:                               Local
               Control Block:                      user specified
               Channel:                                        0
               Target Node (decimal):                          2



               Destination/Source File Addr:       user specified
               Target Src/Dst File Address:        user specified
               Message Length In Elements:                    10
               Message Timeout (seconds):                      5




Comentarios

                         El canal se establece a 1 porque el comando original es iniciado por un procesador
                         SLC 5/04 en la red DH+.

                         El nodo receptor es el procesador SLC 5/04 en la dirección de nodo DH+ 29
                         decimal (34 octal).




 8–56
Instrucciones de comunicación


Ejemplo 6 – Transferencia usando un integrado pirámide para encaminar una instrucción
de mensaje

   Dispositivo A                                                                                         Dispositivo B
                                                      Estación 3
  Nodo 7                                                                                                 Nodo 1
   (oct)                                                                                                  (oct)
                   Controlador modular de                                 Estación 15                                    Controlador de E/S
                       E/S SLC 5/04                                          (oct)          DH+                          modular SLC 5/04
                                               DH+
                                                                                        Identificación de red = 2
                                     Identificación de red = 1                                (57.6KBaud)
                                         (57.6 KBaudio)




Procesador SLC 5/04 (B) a procesador SLC 5/04 (A) via un integrador de pirámide usando
el encaminamiento PI

                     Type:                                          Peer–to–Peer
                     Read/Write:                                            Read
                     Target Device:                                      500 CPU
                     Local/Remote:                                        Remote
                     Control Block:                                user specified
                     Channel:                                                  1
                     Target Node:                                              7
                     Remote Bridge Link Id dec:                              1
                     Remote Bridge Node Address:                               0
                     Local Bridge Node Address:                               13
                     Destination/Source File Addr:                 user specified
                     Target Src/Dst File Address:                  user specified
                     Message Length In Elements:                              15
                     Message Timeout (seconds):                                5




Comentarios
                                    El canal se establece a 1 porque el comando original es iniciado por un procesador
                                    SLC 5/04 en la red DH+.
                                    El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 7.
                                    La identificación de vínculo del puente remoto es el vínculo con el procesador
                                    SLC 5/04 (identificación de vínculo 1).
                                    La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
                                    comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
                                    con capacidades de Internet.
                                    La dirección de nodo del puente local se establece a 13 decimal (15 octal) porque
                                    ésta es la dirección de nodo DH+.




                                                                                                                                              8–57
Preface
Manual de referencia del juego de instrucciones


Ejemplo 7 –
                  Dispositivo A
                                                                                                                     Dispositivo B

   Nodo 10
    (oct)                                                                                       Nodo 13
                                                                           Nodo 220              (oct)
             Controlador modular de                                       (1785-KA)
                 E/S SLC 5/03                                                                                Controlador modular de
                                                                                                                 E/S SLC 5/03
                                        Nodo 3
                          DHĆ485         (oct)
                                                                                                                     DH+
                       19.2 KBaudio
                                                 PLCĆ5/40 con módulo                                          57.6 KBaudio
                                                      1785ĆKA5                        Nodo 3
                                                                                       (oct)



                                                                       Data Highway                                            Nodo 110
                                                                                                                               (1785ĆKA)
                                                                                               PLCĆ5/40 con módulo
                                                                                                    1785ĆKA5




Procesador SLC 5/03 a un procesador SLC 5/03 (transferencia usando dos 1785-KA5)

                Type:                                           Peer–to–Peer
                Read/Write:                                    Read or Write
                Target Device:                                 485CIF or 500 CPU
                Local/Remote:                                         Remote
                Control Block:                                 user specified
                Channel:                                                   1
                Target Node:                                               2
                Remote Bridge Link Id:                                     8
                Remote Bridge Node Address:                                0
                Local Bridge Node Address:                                20
                Destination/Source File Addr:                  user specified
                Target Src/Dst File Address:                   user specified
                Message Length In Elements:                    user specified
                Message Timeout (seconds):                                10




Comentarios

                               El canal se establece a 1 porque el comando es enviado en el canal RS485 del 5/03
                               en la identificación de vínculo 4.

                               El nodo receptor se establece a 2 porque esta es la dirección DH-485 en la que el
                               dispositivo de destino reside en el vínculo de destino (identificación de vínculo 8).




 8–58
Instrucciones de comunicación


La identificación de red del puende remoto se establece a 8 porque la red de
destino es DH-485.

La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.

La dirección de nodo del puente local se establece a 20 porque es el dispositivo de
puente (identificación de vínculo 4) por el cual el comando debe ser enviado
(dispositivo D).




                                                                              8–59
Preface
Manual de referencia del juego de instrucciones


Comunicaciones de servicio (SVC)
                                                                                    3 3 3


Uso de un procesador SLC 5/02
    (SVC)
                           La instrucción SVC es una instrucción de salida que no tiene parámetros de
 Instrucción de salida     programación. Cuando se evalúa como verdadera, el escán de programa se
                           interrumpe para ejecutar la porción de comunicaciones de servicio del ciclo de
                           operación. Luego el escán se reanuda en la instrucción siguiente a la instrucción
                           SVC. Use esta instrucción para mejorar el rendimiento de comunicación de su
                           procesador SLC 5/02.

                           No se le permite colocar una instrucción SVC en una subrutina de interrupción STI,
                           interrupción de E/S ni fallo del usuario.

                           Los bits siguientes le permiten personalizar o monitorizar el servicio de
                           comunicaciones. Refiérase al capítulo 1 de este manual para obtener información
                           adicional acerca del archivo de estado.
                           •      S:2/5 DH-485 Comando entrante pendiente
                           •      S:2/6 DH-485 Respuesta de mensaje pendiente
                           •      S:2/7 DH-485 Comando de mensaje saliente pendiente
                           •      S:2/15 DH-485 Selección de servicio de comunicaciones



Uso de un procesador SLC 5/03 ó SLC 5/04
   SVC
  SERVICE COMMUNICATIONS   Cuando usa un procesador SLC 5/03 ó SLc 5/04, la instrucción SVC opera según lo
  Channel 0
  Channel 1                expuesto anteriormente. Estos procesadores le permiten seleccionar un canal de
                           comunicación específico (0, 1 ó ambos) al que se debe dar servicio. No se le
                           permite colocar una instrucción SVC en una subrutina de fallo, DII, STI ni evento
 Instrucción de salida     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                                     Canal 0
                               S:2/5   DH-485 Comando entrante pendiente   S:33/0   Comando entrante pendiente
                               S:2/6   DH-485 Respuesta de mensaje
                                                                           S:33/1   Respuesta de mensaje pendiente
                                       pendiente
                               S:2/7   DH-485 Comando de mensaje           S:33/2   Comando de mensaje saliente
                                       saliente pendiente                           pendiente




 8–60
Instrucciones de comunicación


                                       Canal 1                                  Canal 0
                    S:2/15   DH-485 Selección de servicio de   S:33/5   Selección de servicio de
                             comunicaciones                             comunicaciones
                    S:33/7   DH-485 Selección de servicio de
                                                               S:33/6   Selección de servicio de mensaje
                             mensaje




Servicio de canal

                  Cuando un canal no ha sido seleccionado para recibir servicio por parte de la
                  instrucción SVC, dicho canal recibe servicio normalmente al final del escán.


Ejemplo de aplicación

                  La instrucción SVC se usa cuando desea ejecutar una función de comunicación, tal
                  como la transmisión de un mensaje, antes de la porción de comunicación de servicio
                  normal del escán de operación. El ejemplo siguiente muestra cómo usar
                  selectivamente la instrucción SVC.

                   Bit de comando de
                   mensaje saliente                   S:2
                   pendiente                           ] [                 (SVC)
                                                          7


                  Puede colocar este renglón después de una instrucción de escritura de mensaje.
                  S:2/7 se establece cuando la instrucción de mensaje se habilita y está esperando
                  (siempre que no se transmita un mensaje). Cuando S:2/7 se establece, la instrucción
                  SVC se evalúa como verdadera y el escán de programa se interrumpe para ejecutar
                  la porción de comunicaciones de servicio del escán de operación. Luego el escán se
                  reanuda en la instrucción siguiente a la instrucción SVC.

                  Este ejemplo sencillo asume que el bit de selección de servicio de comunicaciones
                  S:2/15 se ha puesto a cero y que ésta es la única instrucción MSG activa.
Nota              Puede programar la instrucción SVC sin condiciones a través de los renglones.
                  Esta es la técnica normal de programación para la instrucción SVC.

                  El procesador SLC 5/03 ó SLC 5/04 puede pasar una instrucción MSG a través de
                  una red remota a su destino receptor. (Puede hacer un salto por una red.) El
                  procesador SLC 5/03 ó SLC 5/04 también puede pasar una instrucción MSG a la red
                  que existe en el otro lado del puente local.




                                                                                                    8–61
Preface
Manual de referencia del juego de instrucciones




 8–62
Instrucción proporcional integral derivativa




                 9 Instrucción proporcional integral
                               derivativa
                                Este capítulo describe la instrucción proporcional integral derivativa (PID).


Descripción general
                                                               3 3 3

  PID
 PID                            Esta es una instrucción de salida que controla las características físicas tales como la
 Control   Block
 Process
 Control
           Variable
           Variable
                                temperatura, presión, nivel líquido o régimen de caudal usando lazos de proceso.
 Control   Block Length   23



                                La instrucción PDI normalmente controla un lazo cerrado usando entradas de un
 Instrucción de salida
                                módulo de entrada análogico y proporcionando una salida a un módulo de salida
                                analógico. Para el control de temperatura, usted puede convertir la salida analógica
                                a una salida activada/desactivada de tiempo proporcional para impulsar una unidad
                                de calefacción o enfriamiento. Un ejemplo aparecen en las páginas 9–15 a 9–17.

                                La instrucción PID se puede operar en el modo temporizado o el modo STI. En el
                                modo temporizado, la instrucción actualiza su salida periódicamente a un régimen
                                seleccionado por el usuario. En el modo STI, la instrucción se debe colocar en una
                                subrutina de interrupción STI. Entonces actualiza su salida cada vez que se realiza
                                un escán de la subrutina STI. El intervalo de tiempo STI y el régimen de
                                actualización de lazo deben ser idénticos para que la ecuación se ejecute
                                correctamente.




                                                                                                                       9–1
Preface
Manual de referencia del juego de instrucciones


El concepto PID
                         El control en lazo cerrado PID retiene una variable de proceso a un punto de ajuste
                         deseado. Un ejemplo del régimen de caudal/nivel de fluido se muestra abajo.

                                                                               Alimentación hacia
                                                                                adelante o bias


                          Punto de ajuste                 Error
                                                    ∑               Ecuación               ∑
                         Régimen de caudal                            PID

                                                     Variable de                             Salida
                                                      proceso                                   de
                                                                                             control


                                                         Detector
                                                         de nivel


                                                                               Válvula de control

                         La ecuación PID controla el proceso enviando una señal de salida a la válvula de
                         control. Cuanto más grande sea el error entre el punto de ajuste y la entrada de
                         variable de proceso, tanto más grande es la señal de salida y vice versa. Un valor
                         adicional (alimentación hacia adelante o bias) se puede añadir a la salida de control
                         como offset. El resultado del cálculo PID (variable de control) impulsará la variable
                         de proceso que controla hacia el punto de ajuste.




 9–2
Instrucción proporcional integral derivativa



La ecuación PID
                La instrucción PID usa el algoritmo siguiente:

                Ecuación estándar con ganancias dependientes:

                      Salida + K C [(E) ) 1ńT I      ŕ(E)dt ) T    D   · D(PV)ńdt] ) bias


                Las constantes de ganancia estándar son:

                           Término                           Rango (bajo a alto)                             Referencia
                 Ganancia de                      0.1 a 25.5 (adimensional)                       Proporcional
                 controlador KC                                                   À
                                                  0.01 a 327.67 (adimensional)
                 Término de                       25.5 a 0.1 (minutos por repetición)             Integral
                 restablecimiento 1/TI                                                   À
                                                  327.67 a 0.01 (minutos por repetición)
                 Término de régimen TD            0.01 a 2.55 (minutos)                           Derivativa
                                                  0.01 a 327.67 (minutos)
                                                                         À

             À Se aplica a los rangos PID SLC 5/03 y SLC 5/04 cuando el bit de restablecimiento de bit y rango de refuerzo (RG)
                se establecen a 1.

                El término (régimen) derivativo proporciona la uniformización por medio de un
                filtro de paso bajo. La frecuencia de corte del filtro es 16 veces mayor que la
                frecuencia de ángulo del término derivativo.


Cómo introducir parámetros

                Normalmente, la instrucción PID se coloca en un renglón sin lógica condicional. La
                salida permanece a su último valor cuando el renglón es falso. El término integral
                también se borra cuando el renglón es falso.
Nota            La instrucción PID es un tipo de algortimo PID de sólo entero y no le permite
                introducir valores de punto (coma) flotante para sus parámetros. Por lo tanto, si
                intenta mover un valor de punto (coma) flotante a uno de los parámetros PID
                usando la lógica de escalera, ocurrirá una conversión de punto (coma) flotante a
                entero.




                                                                                                                          9–3
Preface
Manual de referencia del juego de instrucciones


                         Durante la programación, usted introduce las direcciones del bloque de control,
                         variable de proceso y variable de control después de colocar la instrucción PID en
                         un renglón:
                         •    El bloque de control es un archivo que almacena los datos requeridos para
                              operar la instrucción. La longitud de archivo se fija a 23 palabras y se debe
                              introducir como dirección de archivo de entero. Por ejemplo, la introducción de
                              N10:0 asignará los elementos N10:0 a N10:22. La configuración del bloque de
                              control se ilustra en la página 9–11.
                              No escriba a las direcciones de bloque de control con otras instrucciones en su
                              programa excepto según lo descrito más adelante en este capítulo. Si vuelve a
                              usar un bloque de datos que fue asignado anteriormente para otro uso, es buena
                              práctica poner primero a cero los datos. Recomendamos que use un archivo de
                              datos único para contener sus bloques de control PID. Por ejemplo N10:0. Esto
                              evita el reuso imprevisto de las direcciones de bloque de control PID por otras
                              instrucciones en su programa.
                         •    La variable de proceso PV es una dirección de elemento que almacena el
                              valor de entrada de proceso. Esta dirección puede ser la ubicación de la palabra
                              de entrada analógica donde el valor de la entrada A/D se almacena. Este valor
                              también podría ser un valor de entero si decide escanear su valor de entrada de
                              antemano al rango 0–16383.
                         •    La variable de control CV es una dirección de elemento que almacena la
                              salida de la instrucción PID. El valor de salida tiene un rango de 0 a 16383;
                              16383 es el 100%. Esto es normalmente un valor de entero para que usted
                              pueda escalar el rango de entrada PID según el rango analógico específico que
                              su aplicación requiere.

                         La ilustración a continuación muestra una instrucción PID con direcciones típicas
                         para estos parámetros introducidos:


                                                  PID
                                                  PID
                                                  Control   Block         N10:0
                                                  Process   Variable     N10:28
                                                  Control   Variable     N10:29
                                                  Control   Block Length     23




 9–4
Instrucción proporcional integral derivativa



             auto/manual: MANUAL ∗                                  time mode Bit:       1   TM
                    mode: TIMED ∗                                 auto/manual bit:       1   AM
                 control: E=SP–PV ∗                              control mode bit:       0   CM
           setpoint (SP):        0                   0output limiting enabled bit:       0   OL
            process (PV):        0 ∗                         reset and gain range:       0   RG
            scaled error:        0 ∗                          scale setpoint flag:       0   SC
                deadband:        0                      loop update time too fast:       0   TF
             output (CV):        0 %∗                    derivitive (rate) action:       0   DA
                                                      DB, set when error is in DB:       0   DB
             loop update:       0 [.01 secs]            output alarm, upper limit:       0   UL
                    gain:       0 [/10]                 output alarm, lower limit:       0   LL
                   reset:       0 [/10 m/r]                 setpoint out of range:       0   SP
                    rate:       0 [/100 min]             process var out of range:       0   PV
              min scaled:       0                                        PID done:       0   DN
              max scaled:       0
       output (CV) limit:       NO ∗                                    PID enabled:     0 EN
         output (CV) min:       0 %
         output (CV) max:       0 %




               La columna izquierda en la ilustración anterior enumera otros parámetros de
               instrucción PID que debe introducir.
               •    Automático/manual AM (palabra 0, bit 1) alterna entre automático y
                    manual. Automático indica que el PID controla la salida. (El bit se ha puesto a
                    cero.) Manual indica que el usuario establece el valor de salida. (El bit está
                    establecido.) Cuando haga ajustes, le recomendamos que efectúe los cambios
                    en el modo manual, seguido por un retorno al modo automático. El límite de
                    salida también se aplica en el modo manual.
               •    El modo TM (word 0, bit 0) alterna los valores temporizados y STI.
                    Temporizado indica que el PID actualiza su salida al régimen especificado en el
                    párametro de actualización del lazo.
Nota               Cuando usa el modo temporizado, el tiempo de escán de su procesador debe ser
                   un mínimo de diez veces más rápido que el tiempo de actualización del lazo para
                   evitar inexactitudes o perturbaciones.

                   STI indica que el PID actualiza su salida cada vez que se escanea. Cuando
                   selecciona STI, la instrucción PID debe ser programada en una subrutina de
                   interrupción STI, y la rutina STI debe tener un intervalo de tiempo igual al
                   ajuste del parámetro de “actualización del lazo” PID. Establezca el período STI
                   en la palabra S:30. Por ejemplo, si el tiempo de actualización del lazo contiene
                   el valor 10 (para 100 ms), entonces el intervalo de tiempo STI también debe ser
                   igual a 10 (para 10 ms).
               •    El control CM (palabra 0, bit 2) alterna los valores E=SP–PV y E=PV–SP.
                    La acción directa (E=PV–SP) causa que la salida CV incremente cuando la
                    salida PV es mayor que el punto de ajuste SP (por ejemplo, una aplicación de
                    enfriamiento). La acción inversa (E=SP–PV) causa que la salida CV
                    incremente cuando la salida PV sea menor que el punto de ajuste SP (por
                    ejemplo, una aplicación de calefacción).

                                                                                                    9–5
Preface
Manual de referencia del juego de instrucciones


                              –    El punto de ajuste SP (palabra 2) es el punto de control deseado de la
                                   variable del proceso. Puede cambiar este valor con las instrucciones en su
                                   programa de escalera. Escriba el valor en la tercera palabra en el bloque de
                                   control (por ejemplo, escriba el valor en N10:2 si su bloque de control es
                                   N10:0). Sin escala, el rango de este valor es 0–16383. En caso contrario,
                                   el rango es de escala mínima (palabra 8) a escala máxima (palabra 7),
                              –    La ganancia Kc (palabra 3) es la ganancia proporcional, con un rango de
                                   0.1 a 25.5 La regla general es establecer esta ganancia a la mitad del valor
                                   necesario para causar que la salida oscile cuando los términos de
                                   restablecimiento y régimen (abajo) se ponen a cero.
                                   Específico para SLC 5/03 y SLC 5/04 – El rango válido es 0 a 32767. Esta
                                   palabra no es afectada por el bit RG.

                              –    El restablecimiento Ti (palabra 4) es la ganancia integral, con un rango de
                                   0.1 a 25.5 minutos por repetición. La regla general es establecer el tiempo
                                   de restablecimiento para que sea igual al período natural medido en la
                                   calibración de ganancia de arriba.
                                   Específico para SLC 5/03 y SLC 5/04 – El rango válido es 0 a 32767
                                   minutos/repetición. Anote que el valor 1 añadirá el término integral
                                   mínimo posible en la ecuación PID.

                              –    Régimen Td (palabra 5) es el término derivativo. El rango de ajuste es
                                   0.01 a 2.55 minutos. La regla general es establecer este valor a 1/8 del
                                   tiempo integral de arriba.
                                   Específico para SLC 5/03 and SLC 5/04 – El rango válido es 0 a 32767
                                   minutos.

                              –    Escala máxima Smax (palabra 7) – Si el punto de ajuste debe ser leído en
                                   unidades de ingeniería, entonces este parámetro corresponde al valor del
                                   punto de ajuste en unidades de ingeniería cuando la entrada de control es
                                   16383. El rango válido es ±16383 a +16383.
                                   Específico para SLC 5/03 y SLC 5/04 – El rango válido es ±32768 a
                                   +32767.

                              –    Escala mínima Smin (palabra 8) – Si el punto de ajuste debe ser leído en
                                   unidades de ingeniería, este parámetro corresponde al valor del punto de
                                   ajuste en unidades de ingeniería cuando la entrada de control es cero. El
                                   rango válido es ±16383 a +16383.
                                   Específico SLC 5/03 y SLC 5/04 – El rango válido ±32768 a 32767.
Nota                               La escala Smin – Smax le permite introducir el punto de ajuste en unidades
                                   de ingeniería. La banda muerta, error y PV se mostrarán en unidades de
                                   ingeniería. Todavía se espera que el PV de la variable de proceso se
                                   encuentre dentro del rango de 0 a 16383. El uso de Smin – Smax no
                                   minimiza la resolución PV PID.




 9–6
Instrucción proporcional integral derivativa


           Específico para SLC 5/03 y SLC 5/04: Los errores con escala mayores que
           +32767 ó menores que ±32768 no se pueden representar. Si el error con
           escala es mayor que +32767, se representa como +32767. Si el error con
           escala es menor que ±32768, se representa como ±32768.

       –   La banda muerta DB (palabra 9) es un valor no negativo. La banda
           muerta se extiende sobre y debajo el punto de ajuste según el valor que
           usted introduce. La banda muerta se introduce en la intersección con cero
           de la variable de proceso PV y el punto de ajuste SP. Esto significa que la
           banda muerta estará en efecto sólo después que la variable de proceso PV
           entre en la banda muerta y pase a través del punto de ajuste SP.
           El rango válido es 0 a la escala máxima ó 0 a 16383 cuando no hay escala.

       –   Actualización del lazo (palabra 13) es el intervalo de tiempo entre los
           cálculos PID. La entrada es en intervalos de 0.01 segundo. La regla
           general es introducir un tiempo de actualización del lazo cinco a diez veces
           más rápido que el período natural de la carga (determinado poniendo los
           parámetros de restablecimiento y régimen a cero y luego incrementando la
           ganancia hasta que la salida comience a oscilar). En el modo STI, este
           valor debe ser igual al valor de intervalo de tiempo STI de S:30.
           El rango válido es 1 a 2.55 segundos.
           Específico para SLC 5/03 y SLC 5/04 – El rango válido es 0.01 a 10.24
           segundos.

       –   El proceso con escala PV (palabra 14) se usa para la muestra en pantalla
           únicamente. Este es el valor con escala de la variable de proceso (la
           entrada analógica). Sin escala, el rango de este valor es 0–16383. Si no, el
           rango es de escala mínimia (palabra 8) a escala máxima (palabra 7).

       –   Error con escala (palabra 15) se usa para visualización solamente. Este es
           el error de escala según es seleccionado por el parámetro de modo de
           control. Rango: escala máxima a –escala mínima, ó 16383 a –16383
           cuando no hay escala.
Nota       Específico para SLC 5/03 y SLC 5/04: Los errores con escala mayores que
           +32767 ó menores que ±32768 no se pueden representar. Si el error con
           escala es mayor que +32767, se representa como +32767. Si el error con
           escala es menor que ±32768, se representa como ±32768.




                                                                                       9–7
Preface
Manual de referencia del juego de instrucciones


                                –      La salida CV% (palabra 16) muestra la salida CV real de 0 a 16383 en
                                       términos de porcentaje. (El rango es 0 a 100%.) Si usted seleccionó el
                                       modo AUTO con la tecla de llave F1, es para la visualización únicamente.
                                       Si seleccionó el modo manual y usa un monitor de datos APS, puede
                                       cambiar la salida CV% y el cambio se aplicará a CV. El escribir a la salida
                                       CV% con su programa de usuario o un dispositivo de programación no
                                       inteligente no afectará el CV. Cuando usa un dispositivo que no sea APS,
                                       debe escribir directamente a CV que tiene un rango de 0 a 16383.

                         •      El límite de salida (CV) OL (palabra 0, bit 3) alterna entre Sí y No.
                                Seleccione Sí, si desea limitar la salida a los valores mínimos y máximos.

                                                             SI (1)                                    NO (0)
                             salida CV%      límite de salida CV% seleccionado           límite de salida CV% cancelado

                                mín.         El valor que introduce será el            El valor que introduce determinará
                                             porcentaje de salida mínimo que la        cuándo se establecerá el bit de alarma
                                             variable de control CV obtendrá:          de salida, límite inferior.
                                             Si el CV cae debajo de este valor míniĆ   Si el CV cae debajo de este valor míniĆ
                                             mo, ocurrirá lo siguiente:                mo, se establecerá el bit de alarma de
                                                                                       salida, límite inferior (LL).
                                             • El CV estará establecido al valor que
                                               usted introdujo, y
                                             • El bit de alarma de salida, límite
                                               LL inferior estará establecido.

                               máx.          El valor que introduce será el            El valor que introduce determinará
                                             porcentaje de salida máximo que la        cuándo se establecerá el bit de alarma
                                             variable de control CV obtendrá:.         de salida, límite superior.
                                             Si el CV excede este valor máximo, lo     Si el CV excede este valor máximo, se
                                             siguiente ocurre:                         establecerá el bit de alarma de salida,
                                             • El CV establecerá el valor que usted    límite superior (UL).
                                               introdujo, y
                                             • El bit de alarma de salida, límite
                                               de UL superior estará establecido.




 9–8
Instrucción proporcional integral derivativa



Indicadores de instrucción PID
             auto/manual: AUTO ∗                                    time mode Bit:       1   TM
                    mode: STI   ∗                                 auto/manual bit:       0   AM
                 control: E=SP–PV ∗                              control mode bit:       0   CM
           setpoint (SP):     500                    0output limiting enabled bit:       1   OL
            process (PV):       0 ∗                          reset and gain range:       0   RG
            scaled error:       0                             scale setpoint flag:       0   SC
                deadband:       5                       loop update time too fast:       0   TF
             output (CV):       0 %∗                     derivitive (rate) action:       0   DA
                                                      DB, set when error is in DB:       0   DB
             loop update:     50 [.01 secs]             output alarm, upper limit:       0   UL
                    gain:     25 [/10]                  output alarm, lower limit:       0   LL
                   reset:     10 [/10 m/r]                  setpoint out of range:       0   SP
                    rate:     1 [/100 min]               process var out of range:       0   PV
              min scaled:     0                                          PID done:       0   DN
              max scaled:     1000
       output (CV) limit:     NO ∗                                      PID enabled:     0 EN
         output (CV) min:     0 %
         output (CV) max:     0 %




               La columna derecha de la pantalla anterior muestra varios indicadores asociados con
               la instrucción PID. La sección siguiente describe estos indicadores:
               •   El bit de modo de tiempo TM (palabra 0, bit 0) especifica el modo PID. Se
                   establece cuando el modo TEMPORIZADO está en efecto. Se pone a cero
                   cuando el modo STI está en efecto. Este bit se puede establecer o poner a cero
                   por medio de instrucciones en su programa de escalera.
               •   El bit manual/automático AM (palabra 0, bit 01) especifica la operación
                   automática cuando se pone a cero y la operación manual cuando se establece.
                   Este bit puede ser establecido o poner a cero por medio de instrucciones en su
                   programa de escalera.
               •   El bit de modo de control CM (palabra 0, bit 02) se pone a cero si el control
                   es E=SP–PV. Se establece si el control es E=PV–SP. Este bit se puede
                   establecer o poner a cero por medio de instrucciones en su programa de
                   escalera.
               •   El bit de límite de salida habilitado OL (palabra 0, bit 03) se establece
                   cuando ha seleccionado limitar la variable de control usando la tecla de función
                   [F4]. Este bit se puede establecer o poner a cero por medio de instrucciones en
                   su programa de escalera.
               •   Específico para SLC 5/03 y SLC 5/04 – Bit de mejoramiento de
                   restablecimiento y rango de ganancia RG (palabra 0, bit 4) Cuando se
                   establece, este bit causa que el valor de restablecimiento de minuto/repetición y
                   el multiplicador de ganancia sean mejorados por un factor de 10 (multiplicador
                   de restablecimiento de .01 y multiplicador de ganancia de .01).
                   Ejemplo con el juego de bit 4 El valor de restablecimiento de 1 indica que el
                   valor integral de 0.01 minutos/repetición (0.6 segundos/repetición) se aplicará al
                   algoritmo integral PID. El valor de ganancia de 1 indica que el error será
                   multiplicado en 0.01 y aplicado al algoritmo PID.


                                                                                                    9–9
Preface
Manual de referencia del juego de instrucciones


                              Cuando se pone a cero, este bit permite que el valor de restablecimiento de
                              minutos/repetición y el valor del multiplicador de ganancia sean evaluados en
                              las mismas unidades que la instrucción 5/02 PID (multiplicador de
                              restablecimiento de 0.1 y multiplicador de ganancia de 0.1).

                              Ejemplo con el juego de bit 4 El valor de restablecimiento de 1 indica que el
                              valor integral de 0.01 minutos/repetición (0.6 segundos/repetición) se aplicará al
                              algoritmo integral PID. El valor de ganancia de 1 indica que el error será
                              multiplicado en 0.01 y aplicado al algoritmo PID.

                              Observe que el multiplicador de régimen no es afectado por esta selección. (La
                              edición inicial del software, versión 4.0, puede no permitirle introducir este bit.
                              Sin embargo, puede alterar el estado de este bit directamente en el bloque de
                              control.)
                         •    El indicador de punto de ajuste de escala SC (palabra 0, bit 05) se pone a
                              cero cuando se especifican los valores de escala del punto de ajuste.
                         •    El tiempo de actualización del lazo demasiado rápido TF (palabra 0, bit
                              06) está establecido por el algoritmo PID si el tiempo de actualización del lazo
                              que ha especificado no puede ser realizado por el programa en cuestión (debido
                              a límites de tiempo de escán).
                              Si este bit está establecido, trate de corregir el problema actualizando su lazo
                              PID a un régimen más lento o moviendo la instrucción PID a una rutina de
                              interrupción STI. Las ganancias de restablecimiento y régimen aparecerán con
                              error si la instrucción funciona con este bit establecido.
                         •    Bit de acción de derivativa (régimen) DA (palabra 0, bit 07) Cuando está
                              establecido, este bit causa que el cálculo de derivativa (régimen) sea evaluado
                              en el error en vez del PIV. Cuando se pone a cero, este bit permite que el
                              cálculo de derivativa (régimen) sea evaluado de la misma manera que la
                              instrucción 5/02 PID (donde la derivativa se realiza en el PIV). Este bit es
                              usado únicamente por los procesadores SLC 5/03 y SLC 5/04.
                         •    DB, establecido cuando el error está en DB (palabra 0, bit 08) se establece
                              cuando la variable de proceso se encuentra dentro del rango de banda muerta de
                              intersección con 0.
                         •    La alarma de salida, límite superior UL (palabra 0, bit 09) se establece
                              cuando el CV de de salida de control calculado excede el límite CV superior.
                         •    La alarma de salida, límite inferior LL (palabra 0, bit 10) se establece
                              cuando el CV de salida de control calculado es menor que el límite CV inferior.
                         •    El punto de ajuste fuera de rango SP (palabra 0, bit 11) se establece cuando
                              el punto de ajuste excede el valor con escala máximo o es menor que el valor
                              con escala mínimo.
                         •    La variable de proceso fuera de rango PV (palabra 0, bit 12) se establece
                              cuando la variable de proceso sin escala (o sin procesar) excede 16838 ó es
                              menor que cero.
                         •    El PID efectuado DN (palabra 0, bit 13) se establece en escanes donde el
                              algoritmo PID se calcula. Se calcula al régimen de actualización del lazo.
                         •    El PID habilitado EN (palabra 0, bit 15) se establece mientras que el
                              renglón de la instrucción PID se habilita.

 9–10
Instrucción proporcional integral derivativa



Configuración del bloque de control
           La longitud del bloque de control se fija a 23 palabras y se debe programar como
           archivo de entero. Los indicadores de instrucción PID (palabra 0) y otros
           parámetros se ubican de la manera siguiente:

             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
                                                                                              OL, CM,
             * Reset Ti                                                                   4
                                                                                              AM, TM À
             * 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
                                                                                         19
             INTERNAL USE
             DO NOT CHANGE                                                               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
Preface
Manual de referencia del juego de instrucciones


Errores de tiempo de ejecución
                         El código de error 0036 aparece en el archivo de estado cuando ocurre un error de
                         tiempo de ejecución de instrucción PID. El código 0036 abarca las condiciones de
                         error PID siguientes, cada una de las cuales ha sido asignada a un valor de código de
                         un solo byte exclusivo que aparece en el MSbyte de la segunda palabra del bloque
                         de control.

    Código de error       Descripción de la(s) condición(es) de error                        Acción correctiva
         11H                   SLC 5/02             SLC 5/03 y SLC 5/04             SLC 5/02              SLC 5/03 y SLC 5/04
                        1) Tiempo de actualizaĆ    1) Tiempo de actualizaĆ   Cambie el tiempo de        Cambie el tiempo de
                        ción del lazo Dt  255 ó   ción del lazo Dt  1024   actualización del lazo     actualización del lazo
                                                                             Dt a 0  Dt  255          Dt a 0  Dt  1024
                        2) Tiempo de actualizaĆ    2) Tiempo de actualizaĆ
                        ción del lazo Dt = 0       ción del lazo Dt = 0
         12H                   SLC 5/02             SLC 5/03 y SLC 5/04             SLC 5/02            SLC 5/03 and SLC 5/04
                        1) Ganancia                1) Ganancia               Cambie la ganancia         Cambie la ganancia
                           proporcional Kc           proporcional Kc  0    porporcional Kc a          proporcional Kc a
                           255 ó                                             0  Kc  255               0  Kc
                        2) Ganancia
                           proporcional Kc = 0
         13H                   SLC 5/02             SLC 5/03 y SLC 5/04             SLC 5/02            SLC 5/03 and SLC 5/04
                        Ganancia integral          Ganancia integral         Cambie la ganancia inteĆ Cambie la ganancia inteĆ
                        (restablecimiento)         (restablecimiento)        gral (restablecimiento) Ti gral (restablecimiento) Ti
                        Ti  255                   Ti  0                    a 0  Ti  255             a 0  Ti
         14H                   SLC 5/02             SLC 5/03 y SLC 5/04             SLC 5/02              SLC 5/03 y SLC 5/04
                        Ganancia derivativa        Ganancia derivativa       Cambie la ganancia         Cambie la ganancia
                        (régimen) Td  255         (régimen) Td  0          derivativa (régimen) Td    derivativa (régimen) Td
                                                                             a 0  Td  255             a 0  Td
         21H            1) Pto. de ajuste con escala máx. Smax  16383 ó     Cambie el pto. de ajuste con escala máx. Smax a
 (SLC 5/02 solamente)   2) Pto. de ajuste con escala máx. Smax  -16383      -16383  Smax  16383
         22H            1) Pto. de ajuste con escala mín. Smin  16383 ó     Cambie el pto. de ajuste con escala mín. Smin a
 (SLC 5/02 solamente)   2) Pto. de ajuste con escala mín. Smin  -16383      -16383  Smin  Smax  16383
         23H            Punto de ajuste con escala mínimo                    Cambie el punto de ajuste con escala mín. Smin a
                        Smin  punto de ajuste con escala máx. Smax          -16383  Smin  Smax  16383
                                                                             (SLC 5/03 y SLC 5/04 -32768 a +32767)




 9–12
Instrucción proporcional integral derivativa


Código de error     Descripción de la(s) condición(es) de error                         Acción correctiva
     31H          Si usa la escala del punto de ajuste y                 Si usa la escala de punto de ajuste, entonces
                  Smin  punto de ajuste SP  Smax o                     cambie el punto de ajuste SP a Smin  SP 
                                                                         Smax o
                  Si no usa la escala de punto de ajuste y
                  0  punto de ajuste SP  16383,                        Si no usa la escala de punto de ajuste, entonces
                                                                         cambie el punto de ajuste SP a 0  SP  16383.
                  entonces durante la ejecución inicial del lazo PID,
                  ocurre este error y se establece bit 11 de palabra
                  0 del bloque de control. Sin embargo, durante la
                  ejecución subsiguiente del lazo PID, si se
                  introduce un punto de ajuste de lazo inválido, el
                  lazo PID continúa ejecutando con el uso del punto
                  de ajuste anterior, y se establece bit 11 de palabra
                  0 del bloque de control.
     41H           Escala seleccionada         Selección de escala        Escala seleccionada        Selección de escala
                                                   cancelada                                             cancelada
                  1) Banda muerta  0 ó      1) Banda muerta  0 ó       Cambie la banda           Cambie la banda
                                                                         muerta a 0  banda        muerta a 0  banda
                                                                         muerta  (Smax -          muerta  16383
                                                                         Smin)  16383
                  2) Banda muerta        2) Banda muerta 
                     (Smax Ć Smin) o bien 16383
                  3) Banda muerta 
                  16383 (específico para
                  5/02))
     51H          1) Límite de salida alta  0 ó                         Cambie el límite de salida alta a
                  2) Límite de salida alta  100                         0  límite de salida alta  100
     52H          1) Límite de salida baja  0 ó                         Cambie el límite de salida baja a 0  límite de
                  2) Límite de salida baja  100                         salida baja  límite de salida alta  100
     53H          Límite de salida baja  límite de salida alta          Cambie el límite de salida baja a 0  límite de
                                                                         salida baja  límite de salida alta  100
     60H          SLC 5/02 - PID está siendo introducido por seĆ         Tiene un mínimo de tres lazos PID en su
                  gunda vez. (El lazo PID fue interrumpido por una       programa; uno en el programa principal o archivo
                  interrupción de E/S, la cual a su vez, es interrumĆ    de subrutina; uno en un archivo de interrupción
                  pida por la interrupción PID STI.)                     de E/S; y uno en el archivo de subrutina STI.
                                                                         Debe alterar su programa de escalera y eliminar
                                                                         el posible anidamiento de los lazos PID.




                                                                                                                    9–13
Preface
Manual de referencia del juego de instrucciones


Escala PID y E/S analógicas
                         Para la instrucción SLC 500 PID, la escala numérica para la variable de proceso
                         (PV) y la variable de control (CV) es 0 a 16383. Para usar unidades de ingeniería,
                         tal como PSI o grados, primero debe escalar sus rangos de E/S analógicas dentro de
                         la escala numérica de arriba. Para hacerlo, use la instrucción de escala (SCL) y siga
                         los pasos descritos a continuación.

                         1.   Escale su entrada analógica calculando la pendiente (o régimen) del rango de
                              entrada analógica al rango PV (0 a 163873). Por ejemplo, una entrada
                              analógica con un rango de 4 a 20 mA tiene un rango decimal de 3277 a 16384.
                              El rango decimal debe ser escalado por todo el rango de 0 a 16383 para uso
                              como PV.

                         2.   Escale el CV para que se distribuya de manera equitativa por todo el rango de
                              salida analógica. Por ejemplo, una salida analógica que tiene una escala de 4 a
                              20 mA, tiene un rango decimal de 5242 a 31208. En este caso, 0 a 16383 debe
                              ser escalado por todo el rango de 6242 a 31208.

                              Una vez que ha escalado sus rangos de E/S analógicas hacia/desde la instrucción
                              PID, puede introducir las unidades de ingeniería mínimas y máximas que se
                              aplican a su aplicación. Por ejemplo, si el rango de entrada analógica de 4 a 20
                              mA representa 0 a 300 PSI, puede introducir 0 y 300 como los parámetros
                              mínimos (Smin) y máximos (Smax) respectivamente. La variable de proceso,
                              error, punto de ajuste y banda muerta se mostrarán en unidades de ingeniería en
                              la pantalla del motor de datos PID. El punto de ajuste y la banda muerta se
                              pueden introducir en la instrucción PID usando unidades de ingeniería.

                         Las ecuaciones siguientes muestran la relación lineal entre el valor de entrada y el
                         valor con escala resultante.

                              Valor con escala = (valor de entrada pendiente x) + offset

                              Pendiente = (escala m áx. ± escala mín.) / (entrada máx. ± entrada mín.)

                              Offset = escala mín. ± (entrada mín pendiente x)


Uso de la instrucción SCL

                         Use los valores siguientes en una instrucción SCL para escalar los rangos de
                         entrada analógica comunes para las variables de proceso PID.

                               Parámetro          4 a 20 mA         0a5V              0 a 10 V
                           Régimen/10,000          12,499           10,000             5,000
                           Offset                  -4096              0                    0




 9–14
Instrucción proporcional integral derivativa


               Use los valores siguientes en una instrucción SCL para escalar las variables de
               control a salidas analógicas comunes.

                      Parámetro          4 a 20 mA                0a5V                 0 a 10 V
                   Régimen/10,000         15,239                  10,000               19,999
                   Offset                  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
Preface
Manual de referencia del juego de instrucciones


                        Este renglón actualiza inmediatamente la entrada analógica usada para PV.
                                                                                                                          IIM
            Renglón                                                                                                      IMMEDIATE IN w MASK
                                                                                                                         Slot            I:1.0
            3:0
                                                                                                                         Mask             FFFF


                       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
                            LES                                                                                              B3
            Renglón         LESS THAN                                                                                           (L)
                            Source A            I:1.0
            3:1                                     0
                                                                                                                                  0
                            Source B             3277
                                                                                                                      MOV
                                                                                                                     MOVE
                                                                                                                     Source                3277

                                                                                                                     Dest                I:1.0
                                                                                                                                             0


                                                                                                                         Rango excesivo
                             GRT                                                                                             B3
            Renglón         GREATER THAN                                                                                       (L)
                            Source A            I:1.0
            3:2                                     0
                                                                                                                                 1
                            Source B            16384
                                                                                                                      MOV
                                                                                                                     MOVE
                                                                                                                     Source              16384

                                                                                                                     Dest                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
            Renglón                                                                                                       SCALE
                                                                                                                          Source                  I:1.0
            3:3                                                                                                                                       0
                                                                                                                          Rate [/10000]           12499

                                                                                                                          Offset                  –4096

                                                                                                                          Dest                  N10:28
                                                                                                                                                     0




                                                                                                                PID
            Renglón                                                                                            PID
                                                                                                               Control      Block                N10:0
            3:4                                                                                                Process      Variable            N10:28
                                                                                                               Control      Variable            N10:29
                                                                                                               Control      Block Length            23




 9–16
Instrucción proporcional integral derivativa


          La variable de control PID es la entrada para la instrucción de escala. La instrucción PID garantiza que el CV permanezca
          dentro del rango de 0 a 16383. Este valor debe ser escalado al rango de 6242 a 31208, lo cual representa el rango
Renglón   numérico que es necesario para producir la señal de salida analógica de 4 a 20 mA.
3:5
                                                                                                           SCL
                                                                                                          SCALE
                                                                                                          Source               N10:29
                                                                                                                                    0
                                                                                                          Rate [/10000]         15239

                                                                                                          Offset                 6242

                                                                                                          Dest                  O:1.0
                                                                                                                                    0



            Este renglón actualiza inmediatamente la tarjeta de salida analógica que es impulsada por el valor de la
            variable de control PID.
                                                                                                        IOM
Renglón                                                                                                 IMMEDIATE OUT w MASK
                                                                                                        Slot             O:1.0
3:6                                                                                                     Mask              FFFF




                                                                        END




            La rutina STI debe tener un intervalo de tiempo equivalente al establecimiento del
            parámetro de “actualización del lazo” PID.




                                                                                                                                      9–17
Preface
Manual de referencia del juego de instrucciones


Notas de aplicación
                         Los párrafos siguientes tratan:
                         •    Los rangos de entrada/salida
                         •    La escala a unidades de ingeniería
                         •    La banda muerta de intersección con cero
                         •    Las alarmas de salida
                         •    El límite de salida con bloque de acción integral
                         •    El modo manual
                         •    La alimentación hacia adelante
                         •    Las salidas de tiempo de proporcional



Rangos de entrada/salida

                         El módulo de entrada que mide la variable de proceso (PV) debe tener un rango
                         binario completo de escala de 0 a 16383. Si este valor es menor que 0 (bit 15
                         establecido), un valor de cero se usará para PV y el bit de “variable de proceso fuera
                         de rango” se establecerá (bit 12 de palabra 0 en el bloque de control). Si la variable
                         de proceso es  16383 (bit 14 establecido), un valor de 16383 se usará para PV y el
                         bit de “variable de proceso fuera de rango” se establecerá.

                         La variable de control, calculada por la instrucción PID, tiene el mismo rango de 0 a
                         16383. La salida de control (palabra 16 del bloque de control) tiene el rango de 0 a
                         100%. Puede establecer límites inferiores y superiores para los valores de salida
                         calculados de la instrucción (donde un límite superior de 100% corresponde a un
                         límite de variable de control de 16383).


Escalado a unidades de ingeniería

                         La escala le permite introducir el punto de ajuste y los valores de banda muerta de
                         intersección con cero en unidades de ingeniería y mostrar la variable de proceso y
                         valores de error en las mismas unidades de ingeniería. Recuerde que la variable de
                         proceso PV todavía debe estar dentro del rango 0–16383. Sin embargo, el PV será
                         mostrado en unidades de ingeniería.




 9–18
Instrucción proporcional integral derivativa


Seleccione la escala según lo siguiente:

1.   Introduzca los valores de escala máximos y mínimos Smax y Smin en el bloque
     de control PID. Refiérase al bloque de control de la instrucción PID en la
     página 9–11. El valor Smin corresponde a un valor analógico de cero para la
     lectura más baja de la variable de proceso, y Smax corresponde a un valor
     analógico de 16383 para la lectura más alta. Estos valores reflejan los límites
     de proceso. La escala del punto de ajuste es seleccionada introduciendo un
     valor que no sea cero para uno o ambos parámetros. Si introduce el mismo
     valor para ambos parámetros, la escala del punto de ajuste se inhabilita.

Por ejemplo, si mide un rango de temperatura de escala completa de –73 (PV=0) a
+1156° C (PV=16383), introduzca un valor de –73 para Smin y 1156 para Smax.
Recuerde que las entradas en la instrucción PID deben ser 0 a 16383. Las
conversiones de señales podrían ser así:

     Límites de proceso                          ±73 a +1156° C
     Salida de transmisor (si usado)             +4 a +20 mA
     Salida de un módulo de entrada analógico    0 a 16383
     Instrucción PID, Smin a Smax                ±73 a +1156° C



2.   Introduzca el punto de ajuste (palabra 2) y la banda muerta (palabra 9) en las
     mismas unidades con escala. Lea también la variable de proceso con escala y el
     error con escala en estas unidades. El porcentaje de salida de control (palabra
     16) se muestra como porcentaje del rango de 0 a 16383. El valor real
     transferido a la salida CV siempre es entre 0 y 16383.

Cuando selecciona la escala, la instrucción escala el punto de ajuste, banda muerta,
variable de proceso y error. Debe considerar el efecto de todas estas variables
cuando cambia la escala.




                                                                                    9–19
Preface
Manual de referencia del juego de instrucciones


Banda muerta (DB) de intersección con cero

                         La banda muerta ajustable le permite seleccionar un rango de error encima y debajo
                         del punto de ajuste donde la salida no se cambia siempre que el error permanezca
                         dentro de este rango. Esto le permite controlar la precisión con que la variable
                         corresponde el punto de ajuste sin cambiar la salida.


                         +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
Preface
Manual de referencia del juego de instrucciones


Estado de renglón PID

                              Si el renglón PID es falso, la suma integral (palabras 17 y 18) se pone a cero y CV
                              permanece en su último estado.
                                     Manual                                                                           Bit A/M
                                    I:2.0                                                                            N7:10
                                      ] [                                                                             (L)
                                          2                                                                              1
                                     Auto                                                                             Bit A/M
                                    I:2.0                                                                            N7:10
                                     ] [                                                                              (U)
                                         1                                                                               1


                                    A/M Bit        Acepta CV
                                    N7:10           I:2.0        B3                             FRD
                                      ] [             ] [         [OSR]                        FROM BCD
                                                                      0                        Source          I1:1.0
                                          1               0
                                                                                               Dest              N7:0



                                                                          LIM                 MUL
                                                                          LIMIT TEST          MULTIPLY
                                                                          Low Lim         0   Source A           N7:0

                                                                          Test         N7:0   Source B          16384

                                                                          High Lim      100   Dest               N7:2



                                                                                              DDV
                                                                                              DOUBLE DIVIDE
                                                                                              Source               100

                                                                                              Dest               N7:8
                        Notas de operación
              Un interruptor preselector giratorio BCD de 3
              dígitos es cableado a un módulo de entrada a
                                                                                                                 S:5
              I1:1.0 (rango 0-100)                                                                                (U)
                                                                                                                     0
              Un botón pulsador es cableado a I1:2.0/0; acepta
              el valor del interruptor preselector giratorio.
                                                                                                     Error - fuera de rango
              Un interruptor selector para el modo                        LIM                               B3
              automático/manual es cableado a I1:2.0/1                    LIMIT TEST                          ( )
              (automático) e I1:2.0/2 (manual).                           Low Lim       101                       3
                                                                          Test         N7:0
              N7:0 almacena el valor introducido en el
              interruptor preselector giratorio.                          High Lim       –1

              N7:2 almacena un cálculo intermedio.

              N7:8 es la dirección de variable de control PID.

              N7:10 Es la dirección de bloque de control de la
              instrucción PID.

              N7:26 El porcentaje de salida es actualizado
              automáticamente por la instrucción PID.




 9–22
Instrucción proporcional integral derivativa


Alimentación hacia adelante o bias

               Las aplicaciones que involucran demoras de transporte pueden requerir que se añada
               un bias a la salida CV en espera de una perturbancia. Este bias se puede realizar
               usando el procesador LSC 5/02, SLC 5/03 ó SLC 5/04 escribiendo un valor al
               elemento de bias de alimentación hacia adelante, el séptimo elemento (palabra 6) en
               el archivo de bloque de control. (Vea la página 9–11.) El valor que escribe se
               añadirá a la salida para así permitir que se efectúe una acción de alimentación hacia
               adelante. Puede añadir un bias escribiendo un valor entre ±16383 y +16383 a
               palabra 6 con su terminal de programación o programa de escalera.


Salidas de tiempo proporcional

               Para aplicaciones de calentamiento o enfriamiento, la salida analógica de variable de
               control típicamente es convertida en una salida de tiempo proporcional. Aunque
               esto no se puede realizar directamente en el procesador SLC 5/02, SLC 5/03 ó SLC
               5/04, puede usar el programa en la página siguiente para convertir la variable de
               control en una salida de tiempo proporcional. En este programa, el tiempo de ciclo
               es el valor preseleccionado del temporizador T4:0. El tiempo de ciclo se relaciona
               con el % a tiempo de la manera siguiente:

                      T4:0.PRE es el tiempo de ciclo


                       % a tiempo


                        salida 100% a tiempo




                                                                                                  9–23
Preface
Manual de referencia del juego de instrucciones


Ejemplo – Salidas de tiempo proporcional

                                                         PID
                                                        PID
                                                        Control     Block             N7:2
                                                        Process     Variable          N7:0
                                                        Control     Variable          N7:1
                                                        Control     Block Length        23


                                                                   TON
                                                                   TIMER ON DELAY           (EN)
                                                                   Timer          T4:0
                                                                   Time Base      0.01      (DN)
                                                                   Preset         1000
                                                                   Accum             0
                                                                                                      Tiempo de ciclo
                                                                                                      de salida
                                 GRT                                                  O:1.0
                                 GREATER THAN                                          (U)
                                 Source A   T4:0.ACC                                      0
                                                   0
                                 Source B      N7:25
                                                                                                      Contactos de salida
                                                   0
                                                                                                      de tiempo
                                                                                                      proporcional
                               T4:0                                                 T4:0
                                ] [                                                  (RES)
                                  DN
                                                       NEQ                         O:1.0
                                                   NOT EQUAL                        (L)
                                                   Source A              N7:25         0
                                                                             0
                                                   Source B                  0



                               N7:2                                  MUL                           Variable de control
                                ] [                                 MULTIPLY
                                                                    Source A         N7:1
                                  13
                                                                                        0
                                                                    Source B     T4:0.PRE
           Bit de efectuado                                                          1000
           de la instrucción                                        Dest            N7:25
                 PID                                                                    0


                                                                     DDV
                                                                    DOUBLE DIVIDE
                                                                    Source        16383              Salida como fracción
                                                                                                     del tiempo de ciclo
                                                                    Dest            N7:25
                                                                                        0


                                                                       CLR                              Borra el indicador
                                                                      CLEAR                             de error menor
                                                                      Dest            S:5
                                                                                        0


                                                             END




 9–24
Instrucción proporcional integral derivativa


Sintonización PID

                La sintonización PID requiere el conocimiento del control de proceso. Si no tiene
                experiencia, sería útil obtener instrucción técnica acerca de la teoría y métodos de
                control de proceso usados por su empresa.

                Existen varias técnicas que se pueden usar para sintonizar un lazo PID. El método
                de ajuste PID siguiente es general y es limitado respecto al manejo de
                perturbaciones de carga. Cuando sintoniza, le recomendamos que efectúe cambios
                en el modo MANUAL, seguido por un retorno a AUTOMATICO. El límite de
                salida se aplica en el modo MANUAL.
Nota            Este método requiere que la instrucción PID controle una aplicación no crítica
                respecto a la seguridad personal y daños al equipo.

Procedimiento
                1.   Cree su programa de escalera. Asegúrese que haya escalado correctamente su
                     entrada analógica en el rango de la variable de proceso PV y que haya escalado
                     correctamente su variable de control CV a su salida analógica.

                2.   Conecte su equipo de control de proceso a los módulos analógicos. Cargue el
                     programa en el procesador. Deje el procesador en el modo de programa.

                Asegúrese que todas las posibilidades de movimiento de la máquina hayan sido
                consideradas en cuanto a la seguridad personal y daños al equipo. Es posible
                que la salida CV pueda oscilar entre 0 y 100% durante la sintonización.


                Si desea verificar el escalado de su sistema continuo y/o determinar el tiempo de
                actualización del lazo inicial del sistema, pase al procedimiento en la página 9–27.

                3.   Introduzca los valores siguientes: el valor de punto de ajuste inicial SP, un Ti de
                     restablecimiento de 0, un régimen Td de 0, una ganancia Kc de 1 y una
                     actualización de lazo de 5.

                     Establezca el modo PID a STI o temporizado, según su diagrama de escalera. Si
                     STI es seleccionado, asegúrese que el tiempo de actualización del lazo sea igual
                     al intervalo de tiempo STI.

                     Introduzca los establecimientos opcionales aplicables (límite de salida, alarma
                     de salida, escalado Smax – Smin, alimentación hacia adelante).

                4.   Prepárese para registrar el CV, PV, entrada analógica o salida analógica a
                     medida que vaya variándose con el transcurso de tiempo con respecto al valor
                     del punto de ajuste SP.


                                                                                                     9–25
Preface
Manual de referencia del juego de instrucciones


                         5.   Coloque la instrucción PID en el modo MANUAL, luego coloque el procesador
                              en el modo de marcha.

                         6.   Mientras monitoriza la pantalla PID, ajuste el proceso manualmente escribiendo
                              al valor de porcentaje CO.

                         7.   Cuando perciba tener el proceso bajo control manual, coloque la instrucción
                              PID en el modo AUTOMATICO.

                         8.   Ajuste la ganancia a medida que vaya observando la relación de la salida con el
                              punto de ajuste durante el transcurso de tiempo.

                              Cuando usa el procesador SLC 5/02, los ajustes de ganancia perturban el
                              proceso cuando cambia los valores. Para evitar esta perturbación, cambie al
                              modo MANUAL antes de efectuar el cambio de ganancia y luego retorne al
                              modo AUTOMATICO. Cuando usa el procesador SLC 5/03 ó SLC 5/04, los
                              cambios de ganancia no perturban el proceso; por lo tanto, no es necesario
                              cambiar al modo MANUAL.

                         9.   Cuando observe que el proceso está oscilando arriba y abajo del punto de ajuste
                              de una manera uniforme, registre la duración de 1 ciclo. Eso es, obtenga el
                              período natural del proceso.

                              Período natural ≅ 4x tiempo muerto

                              Registre el valor de ganancia. Retorne al modo MANUAL (detenga el proceso
                              si fuese necesario).

                         10. Establezca el tiempo de actualización del lazo (y el intervalo de tiempo STI si es
                             aplicable) a un valor de 5 a 10 veces más rápido que el período natural.

                              Por ejemplo, si el tiempo de ciclo es 20 segundos y usted elige establecer el
                              tiempo de actualización del lazo a 10 veces más rápido que la velocidad natural,
                              establezca el tiempo de actualización del lazo a 200, lo que resultará en una
                              velocidad de 2 segundos.

                         11. Establezca el valor de ganancia Kc a 1/2 de la ganancia necesaria para obtener
                             el período natural del proceso. Por ejemplo, si el valor de ganancia registrado
                             en el paso 9 fue 80, establezca la ganancia a 40.

                         12. Establezca el término de restablecimiento Ti para que éste se aproxime al
                             período natural. Si el período natural es 20 segundos, como en nuestro ejemplo,
                             se establecerá el término de restablecimiento a 3 (0.3 minutos por repetición se
                             aproximan a 20 segundos).

                         13. Ahora establezca el régimen Td para que éste sea igual a un valor de 1/8 del
                             término de restablecimiento. Para nuestro ejemplo, el valor 4 será usado para
                             proporcionar un término de régimen de 0.04 minutos por repetición.


 9–26
Instrucción proporcional integral derivativa


                   14. Coloque el proceso en el modo AUTOMATICO. Si tiene un proceso ideal, la
                       sintonización PID será finalizada.

                   15. Para efectuar ajustes de este punto en adelante, coloque la instrucción PID en el
                       modo MANUAL, introduzca el ajuste y retorne la instrucción PID al modo
                       AUTOMATICO.

                        Esta técnica de cambiar al modo MANUAL y luego retornar al modo
                        AUTOMATICO asegura que la mayor parte del “error de ganancia” se elimine
                        al momento de realizar cada ajuste. Esto le permite observar inmediatamente
                        los efectos de cada ajuste. El alternar el renglón PID permite que la instrucción
                        PID se reinicie eliminando así toda la “acumulación integral”. Es posible que
                        desee alternar el renglón PID como falso a medida que vaya sintonizando para
                        eliminar los efectos de los ajustes de sintonización anteriores.


Cómo verificar el escalado del sistema continuo

                   Para asegurarse que el proceso sea lineal y que el equipo esté correctamente
                   conectado y escalado, realice lo siguiente:

                   1.   Coloque la instrucción PID en el modo manual e introduzca los parámetros
                        siguientes:
                        •   escriba: 0 para Smin
                        •   escriba: 100 para Smax
                        •   escriba: 0 para CO%
                   2.   Introduzca el modo de marcha REM y verifique que PV=0.

                   3.   Escriba: 20 en CO%

                   4.   Registre el PV = _______

                   5.   Escriba: 40 en CO%.

                   6.   Registre el PV = _______

                   7.   Escriba: 60 en CO%.

                   8.   Registre el PV = _______

                   9.   Escriba: 80 en CO%.

                   10. Registre el PV = _______


                                                                                                       9–27
Preface
Manual de referencia del juego de instrucciones


                         11. Los valores que ha registrado deben tener un offset del CO% con la misma
                             cantidad. Esto prueba la linealidad del proceso. El ejemplo siguiente muestra
                             una progresión de offset de quince.

                                   CO 20% = PV 35%

                                   CO 40% = PV 55%

                                   CO 60% = PV 75%

                                   CO 80% = PV 95%

                              Si los valores que ha registrado no tienen el offset con la misma cantidad:
                              •   El escalado es incorrecto, o
                              •   el proceso no es lineal, o
                              •   el equipo no está conectado y/o configurado correctamente.
                              Haga las correcciones necesarias y repita los pasos 2–10.


Cómo determinar el tiempo de actualización del lazo inicial

                         Para determinar el tiempo de actualización del lazo aproximado que se debe usar
                         para su proceso, realice lo siguiente:

                         1.   Coloque los valores de aplicación normales en Smin y Smax.

                         2.   Escriba: 50 en CO%.

                         3.   Escriba: 60 en CO% y active inmediatamente su cronómetro.

                         4.   Observe el PV. Cuando el PV comience a cambiar, pare el cronómetro.
                              Registre este valor. Esto constituye el tiempo muerto.

                         5.   Multiplique el tiempo muerto por 4. Este valor se aproxima al período natural.
                              Por ejemplo, si:
                              tiempo muerto = 3 segundos, entonces 4  3 = 12 segundos (≅ período natural)

                         6.   Divida el valor obtenido en el paso 5 entre 10. Use este valor como el tiempo
                              de actualización del lazo. Por ejemplo, si:
                              período natural = 12 segundos, entonces 12 
 10 = 1.2 segundos.

                              Por lo tanto, el valor 120 se introducirá como el tiempo de actualización del
                              lazo.
                              (120 10 ms = 1.2 segundos)


 9–28
Instrucción proporcional integral derivativa


7.   Introduzca los valores siguientes: El valor SP de punto de ajuste inicial, un Ti
     de restablecimiento de 0, un Td de régimen de 0, un Kc de ganancia de 1 y el
     tiempo de actualización del lazo determinado en el paso 17.

     Establezca el modo PID a STI o temporizado, según su diagrama de escalera. Si
     selecciona STI, asegúrese que el tiempo de actualización del lazo sea igual al
     intervalo de tiempo STI.

     Introduzca los posicionamientos opcionales aplicables (límite de salida, alarma
     de salida, escalado Smax – Smin, alimentación hacia adelante).

8.   Retorne a la página 9–25 y finalice el procedimiento de sintonización a partir
     del paso 4.




                                                                                    9–29
Preface
Manual de referencia del juego de instrucciones




 9–30
Instrucciones ASCII




        10                   Instrucciones ASCII

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


Instrucciones ASCII

                                 Instrucción
                                                                               Propósito                           Página
                      Mnemónico           Nombre
                      ABL            Prueba de búfer      Determina el número de caracteres en el búfer,            10-7
                                     por línea            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.       10-8
                                     caracteres en búfer
                      ACI            Cadena a entero      Convierte una cadena en un valor entero.                  10-10
                      ACL            Borrado del búfer  Borra los búferes de recepción y/o de transmisión           10-11
                                     ASCII de recepción
                                     y/o transmisión
                      ACN            Concatenado de       Combina dos cadenas en una.                               10-12
                                     cadenas
                      AEX            Extracción de caĆ    Extrae una porción de una cadena para crea nua            10-13
                                     dena                 cadena nueva.
                      AHL            Líneas de handĆ      Establece o restablece las líneas de comunicación         10-14
                                     shake ASCII          de módem
                      AIC            Entero a cadena      Convierte un valor entero en una cadena.                  10-16
                      ARD            Lectura de           Lee caracteres desde el búfer de entrada y los coloĆ      10-17
                                     caracteres ASCII     ca en una cadena.

                                                                                               continúa en la página siguiente




                                                                                                                     10–1
Preface
Manual de referencia del juego de instrucciones



                                     Instrucción
                                                                                 Propósito                     Página
                           Mnemónico         Nombre
                          ARL           Lectura ASCII de   Lee una línea de caracteres desde el búfer de enĆ   10-20
                                        línea              trada y los coloca en una cadena.
                          ASC           Búsqueda de caĆ    Busca una cadena.                                   10-22
                                        dena
                          ASR           Comparación de     Compara dos cadenas.                                10-23
                                        cadenas ASCII
                          AWA           Escritura ASCII    Escribe una cadena con caracteres configurados      10-24
                                        con apéndice       por el usuario añadidos.
                          AWT           Escritura ASCII    Escribe una cadena.                                 10-27




Descripción general de ASCII
                         Las instrucciones ASCII están disponibles en los procesadores SLC 5/03 OS301 y
                         superiores y todos los procesadores SLC 5/04. Existen dos tipos de instrucciones
                         ASCII:
                         •    Control de puerto ASCII – esto incluye instrucciones que usan o modifican el
                              canal de comunicación para la recepción o transmisión de datos. Cuando usa
                              estas instrucciones, la configuración del sistema debe estar establecida en el
                              “modo de usuario”.
                              (ABL, ACB, ACL, AHL*, ARD, ARL, AWA*, AWT*)
                              * – significa que debe estar en el modo de usuario o sistema

                              Las instrucciones de control de puerto ASCII se colocan en cola según el orden
                              de ejecución y dependen la una de la otra para ejecutarse (excepto ACL, la cual
                              se ejecuta inmediatamente). Por ejemplo, si tiene una ARD (instrucción de
                              lectura ASCII) y luego una AWT (instrucción de escritura ASCII), el bit de
                              efectuado o el bit de error de la ARD debe estar establecido antes de que AWT
                              pueda comenzar ejecutarse (aun cuando AWT se ha habilitado durante la
                              ejecución de ARD por parte del procesador). Una segunda instrucción de
                              control de puerto ASCII no puede comenzar a ejecutarse hasta que la primera se
                              haya finalizado. Sin embargo, el procesador no espera la finalización de una
                              instrucción de control de puerto ASCII antes de que siga ejecutando su
                              programa de escalera.
                         •    Control de cadena ASCII – esto incluye instrucciones que manejan los datos de
                              cadena. (ACI, ACN, AEX, AIC, ASC, ASR)
                              Las instrucciones de control de cadena ASCII se ejecutan inmediatamente.
                              Nunca se colocan en cola para esperar su ejecución.


 10–2
Instrucciones ASCII



Descripción general del parámetro de protocolo
           A continuación aparecen los parámetros de protocolo ASCII que usted estableció
           vía las pantallas de configuración de canal 0 en el software de programación.

                               Descripción                            Especificación
                                                     Alterna entre 110, 300, 600,
            Velocidad                                1200,2400,4800,9600 y 19200. El valor
                                                     predeterminado es 1200.
                                                     El valor predeterminado es 1 y no se puede
            Bits de arranque
                                                     cambiar.
                                                     Las opciones incluyen 1, 1.5 y 2. El valor
            Bits de parada
                                                     predeterminado es 1.
                                                     Alterna entre Ninguno, Impar y Par. El valor
            Paridad
                                                     predeterminado es Ninguno.
                                                     Alterna entre 7 y 8. El valor predeterminado es
            Bits de datos
                                                     8.
                                                     Le permite configurar hasta 2 caracteres ASCII.
                                                     La instrucción ABL usa bloques para determinar
            Caracteres de terminación
                                                     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
            Caracteres añadidos                      de cada cadena para servir como caracteres de
                                                     terminación para el dispositivo receptor. El valor
                                                     predeterminado es CR LF.




                                                                                               10–3
Preface
Manual de referencia del juego de instrucciones


Cómo usar el tipo de archivo de datos ASCII

                         Estos son elementos de 1 palabra. Asigne las direcciones ASCII así:


                            Formato                                        Explicación

                                         A    Archivo ASCII

                                         f    Número de archivo. Un número de archivo entre 9Ć255 se puede usar.
                             Af:e/b

                                         :    Delimitador de elemento

                                              Número de
                                         e                    Rango de 0Ć255. Este es un elemento de 1 palabra.
                                              elemento
                                         /    Delimitador de bit
                                              Número de
                                         b                    Ubicación de bit dentro del elemento. Rango de 0Ć15.
                                              bit

                           Ejemplos:
                                         A9:2            Elemento 2, archivo ASCII 9
                                         A10:0/7         Bit 7, elemento 0, archivo ASCII 10




Cómo usar el tipo de archivo de datos de cadena (ST)

                         Este tipo de archivo es válido para los procesadores SLC 5/03 OS301, OS302 y SLC
                         5/04 OS400, OS401. Estos son elementos de 42 palabras. Puede direccionar las
                         longitudes de cadena añadiendo un .LEN a cualquier dirección de cadena (por
                         ejemplo, ST17:1.LEN). Los números del archivo de datos de cadena válidos son
                         9–255.

                         Las longitudes de cadena deben estar entre 0 y 82. Por lo general, las longitudes
                         fuera de este rango causan que el procesador establezca el bit de error ASCII
                         (S:5/15) y la instrucción no se ejecuta.
Nota                     Configura los caracteres añadidos o fin de línea vía la pantalla de configuración de
                         canal. Los caracteres añadidos predeterminados son el retorno del carro y
                         alimentación de línea; el carácter de fin de línea (terminación) predeterminado es
                         un retorno de carro.
                         Todas las instrucciones, menos ACL y AHL, entrarán en error si el puerto se
                         inhabilita.



 10–4
Instrucciones ASCII


Asigne direcciones de cadena así:


  Formato                                         Explicación

              ST   Archivo de cadena

  STf:e.s/b   f    Número de archivo. Un número de archivo entre 9Ć255 se puede usar.

              :    Delimitador de elemento

                   Número de            Rango de 0Ć255. Estos son elementos de 42 palabras.
              e
                   elemento             16 bits por elemento.

              .    Delimitador de subelemento
                     Número de
               s                             Rango de 0Ć41. Palabra 0 es la longitud, .LEN.
                     subelemento

              /    Delimitador de bit

                                        Ubicación de bit dentro del elemento. Rango de 0Ć15.
              b    Número de bit        El direccionamiento a nivel de bit no está disponible
                                        para la palabra 0 de elementos de cadena.

 Ejemplos:
              ST9:2           Elemento 2, archivo de cadena 9
              ST10:2.3/8      Bit 8 en subelemento 3 de elemento 2, archivo de cadena 10




                                                                                              10–5
Preface
Manual de referencia del juego de instrucciones


Cómo introducir parámetros

                         El elemento de control para las instrucciones ASCII incluye ocho bits de estado, un
                         byte de código de error y dos palabras de carácter:

                                     15   14      13   12   11   10   9    8      7   6   5   4   3   2   1   0
                          Word 0     EN   EU      DN   EM   ER   UL   IN   FD |           Error Code
                          Word 1     Number of characters for sending or receiving (LEN)
                          Word 2     Number of characters sent or received (POS)

                                          EN   =
                                               Enable Bit
                                          EU   =
                                               Queue Bit
                                          DN   =
                                               Asynchronous Done Bit
                                          EM   =
                                               Synchronous Done Bit
                                          ER   =
                                               Error Bit
                                          UL   =
                                               Unload Bit
                                          IN   =
                                               Running Bit (Este bit es el bit IN en el archivo
                                                            de datos de control [R6:].)
                                          FD = Found Bit

                         •    El bit encontrado FD (bit 8) indica que la instruccion ha encontrado el fin de
                              caracteres o caracteres de terminación en el búfer (se aplica a las instrucciones
                              ABL y ACB).
                         •    El bit de marcha IN (bit 9) indica que una instrucción puesta en cola se está
                              ejecutando.
                         •    El bit de descarga UL (bit 10) detiene la operación de instrucción antes (puede
                              estar puesta en cola) o durante la ejecución. Si este bit se establece durante la
                              ejecución de una instrucción, los datos ya procesados se envían al destino.
                              Anote que la instrucción no se elimina de la cola; los datos remanentes
                              simplemente no se procesan. Usted establece este bit.
                         •    El bit de error ER (bit 11) indica que un error ocurrió durante la ejecución de
                              la instrucción, tal como un cambio de modo vía canal 1 ó la instrucción fue
                              cancelada usando el bit UL o la instrucción ACL.
                         •    El bit de efectuado sincrónico EM (bit 12) se establece concurrentemente a
                              un escán de programa para indicar la finalización de una instrucción ASCII.
                         •    El bit de efectuado asincrónico DN (bit 13) se establece en la parte opuesta de
                              un escán de programa cuando una instrucción completa su operación
                              exitosamente. Anote que una instrucción puede demorar más que un escán de
                              programa para terminar la ejecución.
                         •    El bit de cola EU (bit 14) indica que una instrucción ASCII ha sido colocada
                              en la cola ASCII. Esta acción se demora si la cola ya está llena. La cola puede
                              contener hasta 16 instrucciones.
                         •    El bit de habilitación EN (bit 15) indica que una instrucción se ha habilitado
                              debido a una transición de falso a verdadero. Este bit permanece establecido
                              hasta que la instrucción haya terminado la ejecución de errores.


 10–6
Instrucciones ASCII



Prueba de búfer por línea (ABL)
                                                                                 3 3

 ABL
ASCII TEST FOR LINE (EN)   Use la instrucción ABL para determinar el número total de caracteres en el búfer de
Channel
Control             (DN)   entrada, hasta e incluyendo los caracteres de fin de línea (terminación). Esta
Characters        0 (ER)
Error                      instrucción busca dos caracteres de terminación que usted configura vía la pantalla
                           de configuración de puerto ASCII. Durante una transición de falso a verdadero, el
Instrucción de salida
                           procesador comunica el número de caracteres en el campo POS del bloque de
                           control ASCII. El puerto en serie debe estar configurado para el modo de usuario.


Cómo introducir parámetros

                           Introduzca los parámetros siguientes al programar esta instrucción:
                           •   El canal es el número del puerto RS-232 (canal 0).
                           •   El control es el área que almacena el registro de control requerido para operar
                               la instrucción.
                           •   Los caracteres son el número de caracteres en el búfer que el procesador
                               encuentra (0–1024). Este parámetro se muestra en pantalla solamente y reside
                               en la palabra 2 del bloque de control.
                           •   El error muestra el código de error hexadecimal que indica por qué el bit ER se
                               ha establecido en el archivo de datos de control (R6:). Vea la página 10–29 para
                               obtener descripciones del código de error.


Ejemplo

                                   I:1                                     ABL
                                                                                                           EN
                                       [
                               [
                                                                          ASCII TEST FOR LINE
                                    10                                    Channel            0             DN
                               Si la ranura de entrada 1, bit 10, está    Control        R6:32
                               establecida, el procesador realiza una     Characters         0             ER
                               operación ABL por canal 0.                 Error




                           Cuando el renglón cambia de falso a verdadero, se establece el bit de habilitación
                           (EN). La instrucción se coloca en la cola de instrucción ASCII, el bit de cola (EU)
                           se establece y el escán de programa continúa. Luego, la instrucción se ejecuta fuera
                           del escán de programa. Sin embargo, si la cola está vacía, la instrucción se ejecuta
                           inmediatamente. Al ejecutarse, se establece el bit de marcha.


                                                                                                          10–7
Preface
Manual de referencia del juego de instrucciones


                                El procesador determina el número de caracteres (hasta e incluyendo los caracteres
                                de fin de línea/terminación) y coloca este valor en el campo de posición. El bit de
                                efectuado (DN) se establece.

                                Si cero aparece en el campo POS, es indicación de que se encontraron caracteres de
                                fin de línea/terminación. El bit de encontrado (FD) se establece si el campo de
                                posición se estableció a un valor que no sea cero.

                                Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN)
                                establecido, el procesador establece el bit de efectuado sincrónico (EM). El bit EM
                                sirve como bit de efectuado secundario correspondiente al escán de programa.

                                El bit de error (ER) se establece durante la ejecución de la instrucción si:
                                •   la instrucción se cancela – puerto en serie no en el modo de usuario
                                •   la instrucción se cancela debido a un cambio de modo de canal
                                •   el bit de descarga (UL) se establece y la instrucción no se ejecuta


Número de caracteres
en búfer (ACB)                                                        3 3




  ACB
 ASCII CHARS IN BUFFER   (EN)
                                Use la instrucción ACB para determinar los caracteres totales en el búfer. En una
 Channel
 Control                 (DN)   transición de falso a verdadero, el procesador determina el número total de
 Characters
 Error
                     0   (ER)   caracteres y lo registra en el campo de posición del bloque de control ASCII. El
                                puerto en serie debe estar en el modo de usuario.
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 control es el área que almacena el registro de control requerido para operar
                                    la instrucción.
                                •   Los caracteres son el número de caracteres en el búfer que el procesador
                                    encuentra (0–1024). Este parámetro se muestra en pantalla solamente y reside
                                    en ;a palabra 2 del bloque de control.
                                •   El error muestra el código de error hexadecimal que indica por qué el bit ER se
                                    ha establecido en el archivo de datos de control (R6:). Vea la página 10–29 para
                                    obtener descripciones del código de error.


 10–8
Instrucciones ASCII


Ejemplo
              I:1                                               ACB
          [
                  [                                                                             EN
                                                               ASCII CHARS IN BUFFER
               10                                              Channel                 0        DN
           Si la ranura de entrada 1, bit 10, está             Control             R6:32
           establecida, el procesador realiza una              Characters              0
           operación ABL por canal 0.                                                           ER
                                                               Error




              Cuando el renglón va de falso a verdadero, el bit de habilitación (EN) se establece.
              Cuando la instrucción se coloca en la cola ASCII, el bit de cola (EU) se establece.
              El bit de marcha (RN) se establece cuando la instrucción se está ejecutando. El bit
              de efectuado (DN) se establece al momento en que la instrucción se finaliza.

              El procesador determina el número de caracteres en el búfer y coloca este valor en el
              campo de posición del bloque de control. El bit de efectuado (DN) se establece. Si
              aparece cero en el campo de caracteres, indica que no se encontraron caracteres.

              Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN)
              establecido, el procesador establece el bit sincrónico (EM). El bit EM sirve como
              bit de efectuado secundario correspondiente al escán de programa.

              El bit de error (ER) se establece durante la ejecución de la instrucción si:
              •   la instrucción se cancela – puerto en serie no está en el modo de usuario
              •   la instrucción se cancela debido a un cambio de modo de canal
              •   el bit de descarga (UL) se establece y la instrucción no se ejecuta




                                                                                               10–9
Preface
Manual de referencia del juego de instrucciones


Cadena a entero (ACI)
                                                                          3 3

  ACI
 STRING TO INTEGER       Use la instrucción ACI para convertir una cadena ASCII en un valor entero entre
 Source
 Dest                    –32,768 y 32,767.
Instrucción de salida


Ejemplo
                                  I:1                                                        ACI
                                      [
                              [
                                                                                             STRING TO INTEGER
                                   10                                                        Source               ST38:90
                                  Si la ranura de entrada 1, bit 10, está establecida,       Destination           N7:123
                                  convierta la cadena en ST38:90 en un entero y alĆ                                    75
                                  macene el resultado en N7:123



                         El procesador busca la fuente (tipo de archivo ST) para localizar el primer carácter
                         entre 0 y 9. Todos los caracteres numéricos son extraídos hasta alcanzar un carácter
                         no numérico o el fin de la cadena. La acción se realiza solamente si caracteres
                         numéricos se encuentran. Si la cadena contiene una longitud inválida ( 0 ó  82),
                         el bit de error ASCII S:5/15 se establece. Comas y señales (+, –) se permiten en la
                         cadena. Sin embargo, solamente el signo menos se muestra en la tabla de datos.

                         Luego la cadena numérica extraída se convierte en entero. El bit de error ASCII
                         S:5/15 se establece si un overflow numérico ocurre o si la cadena contiene una
                         longitud de cadena inválida. Se obtiene el valor de 32,767 como el resultado.

                         Esta instrucción también establece los indicadores aritméticos (encontrados en
                         palabra 0, bits 0–3 en el archivo de estado de procesador S:0):

                                          Con este bit:                                      El procesador:
                           S:0/0          Acarreo (C)                está reservado.
                                                                     se establece si el valor entero se encuentra fuera del rango
                           S:0/1          Overflow (V)
                                                                     válido.
                           S:0/2          Cero (Z)                   se establece si el valor entero es cero.
                           S:0/3          Signo (S)                  se establece si el resultado es negativo.




 10–10
Instrucciones ASCII



Borrado del búfer ASCII de
recepción y/o transmisión (ACL)                                                          3 3



 ACL
ASCII CLEAR BUFFER      Use esta instrucción para borrar un búfer ASCII. Las instrucciones ASCII son
Channel
Clear Receive Buffer    eliminadas de la cola y luego el bit de error (ER) se establece. Esta instrucción se
Clear Send Buffer
                        ejecuta inmediamente al momento de transición del renglón a un estado verdadero.
Instrucción de salida   La instrucción funcionará cuando el canal se encuentre en el modo de usuario o el
                        modo de sistema. En el modo de sistema, sólo el borrado del búfer de transmisión
                        operará y únicamente si DF1 se detecta como el protocolo del modo de sistema.


Cómo introducir parámetros

                        Introduzca los parámetros siguientes al programar esta instrucción:
                        •      El canal es el número del puerto RS-232 (canal 0).
                        •      El borrado del búfer de recepción borra el búfer de recepción y elimina las
                               instrucciones ARD y ARL de la cola. El bit de error (ER) se establece en cada
                               una de estas instrucciones.
                        •      El borrado del búfer de transmisión borra el búfer de transmisión y elimina
                               las instrucciones AWA y AWT de la cola. El bit de error (ER) se establece en
                               cada una de estas instrucciones.
                              Cuando el borrado del búfer de recepción y el borrado del búfer de transmisión
                              se establece a Sí, todas las instrucciones se eliminan de la cola.


Ejemplo
                            I:1                                                    ACL
                                [
                        [
                                                                                   ASCII CLEAR BUFFER
                             10                                                    Channel              0
                            Si la ranura de entrada 1, bit 10, está establecida,   Clear Receive Buffer Y
                            borre solamente el búfer de recepción para canal 0.    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
Preface
Manual de referencia del juego de instrucciones


Concatenado de cadenas (ACN)
                                                                                           3 3

  ACN
 STRING CONCATENATE      La instrucción ACN combina dos cadenas usando cadenas ASCII como operandos.
 Source A
 Source B                La segunda cadena se añade a la primera y el resultado se almacena en el destino.
 Dest


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                                                    ACN
                                   [
                          [
                                                                                     STRING CONCATENATE
                               10                                                    Source A      ST37:42
                              Si la ranura de entrada 1, bit 10, está establecida,   Source B      ST38:91
                              concatene la cadena en ST37:42 con la cadena
                              en ST38:91 y almacene el resultado en ST52:76.         Destination   ST52:76




                         Solamente los 82 primeros caracteres (0–81) se escriben al destino. Si el resultado
                         es  0 ó  82, el bit de error ASCII S:5/15 se establece.




 10–12
Instrucciones ASCII



Extracción de cadena (AEX)
                                                                                   3 3

  AEX
 STRING EXTRACT         Use la instrucción AEX para crear una cadena nueva tomando una porción de una
 Source
 Index                  cadena existente y enlazándola a una cadena nueva.
 Number
 Dest


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                                                   AEX
                                   [
                            [
                                                                                   STRING EXTRACT
                              10                                                   Source         ST38:40
                            Si la ranura de entrada 1, bit 10, está establecida,   Index               42
                            extraiga 10 caracteres a partir del carácter 43 de     Number              10
                            ST348:40 y almacene el resultado en ST52:75.           Destination    ST52:75




                        Las condiciones siguientes causan que el procesador establezca el bit de error ASCII
                        (S:5/15):
                        •       longitud de fuente inválida o longitud de cadena de cero
                        •       valores de índice o número fuera de rango
                        •       valor de índice mayor que la longitud de la cadena de fuente


                                                                                                           10–13
Preface
Manual de referencia del juego de instrucciones


                              La cadena destino no se cambia en ninguna de las condiciones de error anteriores.
                              Sin embargo, el destino se cambiará si el valor de índice más el valor de número son
                              mayores que la longitud de cadena. Anote que el bit de error ASCII (S:5/15) no se
                              establece.




Líneas de comunicación (AHL)
                                                                                  3 3

  AHL
 ASCII HANDSHAKE LINES (EN)   Use la instrucción AHL para establecer o restablecer las líneas de control de
 Channel
 AND Mask              (DN)   comunicación RS-232 Terminal de datos lista (DTR) y Petición de envío (RTS) para
 OR Mask
 Control
                       (ER)   su módem. En una transición de falso a verdadero, el procesador usa las dos
 Channel Status
 Error                        máscaras para determinar si va a establecer o restablecer las líneas DTR y RTS, o si
                              no las va a cambiar. Esta instrucción operará cuando el puerto está en cualquier
Instruccion de salida         modo o está inhabilitado.


Nota                          Asegúrese que el control de módem automático usado por el puerto no sea
                              incompatible con esta instrucción.


Cómo introducir parámetros

                              Introduzca los parámetros siguientes al programar esta instrucción:
                              •   El canal es el número del puerto RS-232 (canal 0).
                              •   La máscara AND es el tipo de máscara usada para restablecer las líneas de
                                  control DTR y RTS. El bit 0 corresponde a la línea DTR y el bit 1 corresponde
                                  a la línea de control RTS. Un 1 en el bit de máscara causa que la línea se
                                  restablezca; un 0 deja la línea sin cambio. Anote que los valores de máscara no
                                  tienen una correspondencia de uno a uno con las líneas de control del módem.
                              •   La máscara OR es el tipo de máscara usada para establecer las líneas de
                                  control DTR y RTS. El bit 0 corresponde a la línea DTR y el bit 1 corresponde
                                  a la línea de control RTS. Un 1 en el bit de máscara causa que la línea se
                                  establezca; un 0 deja la línea sin cambio. Anote que los valores de máscara no
                                  tienen una correspondencia de uno a uno con las líneas de control del módem.
                              •   El control es el área que almacena el registro de control necesario para operar
                                  la instrucción.




 10–14
Instrucciones ASCII


              •         El estado de canal muestra el estado actual (0000 a 001F) de las líneas de
                        handshake para el canal especificado anteriormente. Este campo es de
                        visualización solamente y reside en la palabra 2 del elemento de control.
              •         El error muestra el código de error hexadecimal que indica por qué el bit ER se
                        estableció en el archivo de datos de control (R6:). Vea la página 10–29 para
                        obtener descripciones del código de error.

                        Ejemplo: Lo siguiente muestra el estado de canal como 001F.

                                          1 porque bit          F ya que todos los bits
                               00         4 está establecido    están establecidos

                  Bit        15 ---8      7   6    5    4       3       2      1     0
               Línea         -reservado                DTR     DCD      DSR   RTS CTS
                                                        1       1        1     1   1



Ejemplo

              I:1                                                             AHL
          [
                  [                                                                                     EN
                                                                            ASCII HANDSHAKE LINES
               10                                                           Channel            0
                                                                                                        DN
                                                                            AND Mask        ABCD
              Si la ranura de entrada 1, bit 10, está establecida, el       OR Mask         DACB
                                                                                                        ER
              bit 0 de la máscara AND se establece para borrar la           Control        R6:23
              línea DTR. Si los bits 0 y 1 de la máscara OR se              Channel Status 001F
              establecen, establezca las líneas DTR y RTS.                  Error             00


              El bit de error (ER) se establece durante la ejecución de la instrucción si:
              •         la instrucción se cancela debido a un cambio de modo de canal
              •         el bit de descarga (UL) se establece y la instrucción no se ejecuta




                                                                                                      10–15
Preface
Manual de referencia del juego de instrucciones


Entero a cadena (AIC)
                                                                        3 3

  AIC
 INTEGER TO STRING        La instrucción AIC convierte un valor entero (–32,768 y 32,767) en una cadena
 Source
 Dest                     ASCII. La fuente puede ser una constante o una dirección de entero.
Instrucción de salida


Ejemplo
                                 I:1                                                        AIC
                                      [
                               [
                                                                                            INTEGER TO STRING
                                  10                                                        Source          867
                        Si la ranura de entrada 1, bit 10, está establecida, convierta el   Destination ST38:42
                        valor 867 en una cadena y almacene el resultado en ST38:42.




 10–16
Instrucciones ASCII



Lectura de caracteres ASCII (ARD)
                                                                                                 3 3

  ARD
 ASCII READ             (EN)
                                Use la instrucción ARD para leer caracteres desde el búfer y almacenarlos en una
 Channel
 Dest                   (DN)    cadena. Para repetir la operación, el renglón debe ir de falso a verdadero.
 Control                (ER)
 String Length
 Characters Read
 Error


Instrucción de salida



Cómo introducir parámetros

                                Introduzca los parámetros siguientes al programar esta instrucción:
                                •      El canal es el número del puerto RS-232 (canal 0).
                                •      El destino es el elemento de cadena donde desea almacenar los caracteres.
                                •      El control es la dirección del bloque de control usado para almacenar datos
                                       para la instrucción ARD.
                                •      La longitud de cadena (.LEN) es el número de caracteres que desea leer desde
                                       el búfer. El máximo es 82 caracteres. Si especifica una longitud mayor que 82,
                                       sólo los 82 primeros caracteres serán leídos. (Un cero retorna el valor
                                       predeterminado de 82.) Esta es la palabra 1 en el bloque de control.
                                •      Los caracteres leídos (.POS) son el número de caracteres que el procesador ha
                                       transferido del búfer a la cadena (0 a 82). Este campo se actualiza durante la
                                       ejecución de la instrucción y es de visualización solamente. Esta es la palabra 2
                                       en el bloque de control.
                                •      El error muestra el código de error hexadecimal que indica por qué el bit ER se
                                       estableció en el archivo de datos de control (R6:). Vea la página 10–29 para
                                       obtener descripciones del código de error.


Ejemplo

                               I:1                                                ARD
                                                                                                                  EN
                                   [
                           [                                                      ASCII READ
                                10                                                Channel            0
                                                                                  Destination ST52:76             DN
                           Si la ranura de entrada 1, bit 10, está estaleciĆ      Control        R6:23
                           da, lea 50 caracteres desde el búfer y transfiéĆ       String Length     50            ER
                           ralos a ST52:76.                                       Characters Read    0
                                                                                  Error             00



                                                                                                                 10–17
Preface
Manual de referencia del juego de instrucciones


                         Cuando el renglón va de falso a verdadero, el bit de habilitación (EN) se establece.
                         Cuando la instrucción se coloca en la cola ASCII, el bit de cola (EU) se establece.
                         El bit de marcha (RN) se establece cuando la instrucción se está ejecutando. El bit
                         DN se establece una vez completada la instrucción.

                         Una vez que el número de caracteres solicitado está en el búfer, los caracteres se
                         transfieren a la cadena destino. El número de caracteres transferido se coloca en el
                         campo POS del bloque de control. El número en el campo de lectura de caracteres
                         se actualiza continuamente y el bit de efectuado (DN) no se establece sino hasta que
                         todos los caracteres hayan sido leídos.

                         Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN)
                         establecido, el procesador establece el bit de efectuado síncrono (EM). El bit EM
                         sirve como bit de efectuado secundario correspondiente al escán de programa.

                         El bit de error (ER) se establece durante la ejecución de la instrucción si:
                         •    la instrucción se cancela – el puerto en serie no está en el modo de usuario
                         •    el módem está desconectado (la selección de línea de control es diferente a “NO
                              HANDSHAKING”)
                         •    la instrucción se cancela debido a un cambio de modo de canal
                         •    el bit de descarga (UL) está establecido. La instrucción deja de ejecutar, pero
                              los caracteres recibidos se envían al destino.
                         •    un ACL para borrar el búfer de recepción se ejecuta, eliminando así la
                              instrucción ARD de la cola ASCII.




 10–18
Instrucciones ASCII


 Diagrama de temporización para una instrucción exitosa ARD, ARL, AWA y
 AWT
       Condición de renglón     ON
                                OFF


                                ON
     Bit de habilitación (EN)
                                OFF



            Bit de cola (EU)    ON
                                OFF



         Bit de marcha (RN)     ON
                                OFF


              Bit de efectuado
              Bit de error     ON
              (DN o ER)        OFF


                               ON
Bit de efectuado síncrono (EM) OFF




                                      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
Preface
Manual de referencia del juego de instrucciones


Lectura ASCII de línea (ARL)
                                                                                           3 3

  ARL
 ASCII Read Line        (EN)
                               Use la instrucción ARL para leer caracteres desde el búfer, hasta e incluyendo los
 Channel
 Dest                   (DN)   caracteres de fin de línea (terminación), y almacenarlos en una cadena. Los
 Control
 String Length
                        (ER)
                               caracteres de fin de línea son especificados vía la pantalla de configuración ASCII.
 Characters Read
 Error


Instrucción de salida


Cómo introducir parámetros

                               Introduzca los parámetros siguientes al programar esta instrucción:
                               •      El canal es el número del puerto RS-232 (canal 0).
                               •      El destino es el elemento de cadena donde desea almacenar los caracteres.
                               •      El control es la dirección del bloque de control usado para almacenar datos
                                      para la instrucción ARL.
                               •      La longitud de cadena (LEN) es el número de caracteres que desea leer desde
                                      el búfer. El máximo es 82 caracteres. Si especifica una longitud mayor que 82,
                                      solamente los 82 primeros caracteres serán leídos y transferidos al destino. (Un
                                      0 retorna al valor predeterminado de 82.) Esta es la palabra 1 en el bloque de
                                      control.
                               •      Los caracteres leídos (POS) son el número de caracteres que el procesador ha
                                      transferido del búfer a la cadena (0 a 82). Este campo es de visualización
                                      solamente y reside en la palabra 2 del bloque de control.
                               •      El error muestra el código de error hexadecimal que indica por qué el bit ER se
                                      estableció en el archivo de datos de control (R6:). Vea la página 10–29 para
                                      obtener descripciones del código de error.


Ejemplo

                                   I:1                                                 ARL
                               [                                                                                EN
                                       [                                              ASCII READ LINE
                                    10                                                Channel             0
                                                                                      Destination ST52:72       DN
                               Si la ranura de entrada 1, bit 10, está establecida,   Control         R6:23
                               lea 18 caracteres (o hasta el fin de línea) desde el   String Length      18
                                                                                                                ER
                               búfer y transfiéralos a ST52:72.                       Characters Read     0
                                                                                      Error              00




 10–20
Instrucciones ASCII


       Cuando el renglón va de falso a verdadero, el bit de habilitación (EN) de elemento
       de control se establece. Cuando la instrucción se coloca en la cola ASCII, el bit de
       cola (EU) se establece. El bit de marcha (RN) se establece cuando la instrucción se
       está ejecutando. El bit DN se establece a la finalización de la instrucción.

       Una vez que el número de caracteres solicitado está en el búfer, todos los caracteres
       (incluyendo los caracteres de fin de línea) se transfieren a la cadena destino. El
       número de caracteres transferido se almacena en la palabra POS del bloque de
       control. El número en el campo de caracteres leídos se actualiza continuamente y el
       bit de efectuado (DN) no se establece hasta que todos los caracteres hayan sido
       leídos. Excepción: Si el procesador encuentra caracteres de terminación antes de
       finalizar la lectura, el bit de efectuado (DN) se establece y el número de caracteres
       encontrado se almacena en la palabra POS del bloque de control.

       Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN)
       establecido, el procesador establece el bit síncrono (EM). El bit EM sirve como bit
       de efectuado secundario correspondiente al escán de programa. El bit de error (ER)
       se establece durante la ejecución de la instrucción si:
       •   la instrucción es cancelada – el puerto en serie no está en el modo de usuario
       •   el módem está desconectado (la selección de línea de control es diferente a “NO
           HANDSHAKING”)
       •   la instrucción se cancela debido a un cambio de modo de canal
       •   el bit de descarga (UL) está establecido. La instrucción deja de ejecutar, pero
           los caracteres recibidos se envían al destino.
       •   un ACL para borrar el búfer de recepción se ejecuta eliminando así la
           instrucción ARD de la cola ASCII.

Nota   Para obtener información acerca de la temporización de esta instrucción, refiérase
       al diagrama de temporización en la página 10–19.




                                                                                      10–21
Preface
Manual de referencia del juego de instrucciones


Búsqueda de cadena (ASC)
                                                                                     3 3

  ASC
 STRING SEARCH              Use la instrucción ASC para buscar una cadena existente en coincidencia con la
 Source
 Index                      cadena fuente.
 Search
 Result


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
                            I:1                                                       ASC
                                [
                        [
                                                                                      STRING SEARCH
                             10                                                       Source            ST38:40
                        Si la ranura de entrada 1, bit 10, está establecida,          Index                  35
                        busque la cadena en ST52:80 a partir del carácter             Search            ST52:80
                        36 para encontrar la cadena en ST38:40. En este               Result              N10:0
                        ejemplo, el resultado se almacena en N10:0.



                            Las condiciones siguientes causan que el procesador establezca el bit de error ASCII
                            (S:5/15).
                            •       longitud de cadena inválida o longitud de cadena de cero
                            •       valor de índice fuera de rango
                            •       valor de índice mayor que la longitud de la cadena fuente

                            El destino no cambia en ninguna de las condiciones anteriores.

 10–22
Instrucciones ASCII



Comparación de cadena ASCII (ASR)
                                                                                               3 3

  ASR
 ASCII STRING COMPARE    Use la instrucción ASR para comparar dos cadenas ASCII. El sistema busca una
 Source A
 Source B                coincidencia en longitud y caracteres en mayúscula/minúscula. Si dos cadenas son
                         idénticas, el renglón es verdadero; si existen diferencias, el renglón es falso.
Instrucción de entrada



Cómo introducir parámetros

                         Introduzca los parámetros siguientes al programar esta instrucción:
                         •   La fuente A es la cadena uno que se va a comparar.
                         •   La fuente B es la cadena dos que se va a comparar.


Ejemplo
                                 ASR                                                                       O:1
                                ASCII STRING COMPARE
                                Source A        ST37:42       Si la cadena en ST37:42 es idéntica a la cadena 1
                                Source B        ST38:90       en ST38:90, establezca el bit de salida O:1/1.



                         Una longitud de cadena inválida causa que el procesador establezca el bit de error
                         ASCII S:5/15 y el renglón se hace falso.




                                                                                                            10–23
Preface
Manual de referencia del juego de instrucciones


Escritura ASCII con anexo (AWA)
                                                                                                 3 3

  AWA
 ASCII WRITE APPEND     (EN)
                               Use la instrucción AWA para escribir caracteres desde una cadena fuente a un
 Channel
 Source                 (DN)   dispositivo externo. Esta instrucción añade los dos caracteres anexos que usted
 Control
 String Length
                        (ER)
                               configura en la pantalla de configuración ASCII. Los caracteres predeterminados
 Characters Sent
 Error                         son un retorno de carro y un avance de línea anexados al final de la cadena. Cuando
Instrucción de salida
                               usa esta instrucción, también puede realizar la indirección en línea. Vea la página
                               10–26 para obtener más información.

Cómo introducir parámetros
                               Introduzca los parámetros siguientes al programar esta instrucción:
                               •      El canal es el número del puerto RS-232 (canal 0).
                               •      La fuente es el elemento de cadena que desea escribir.
                               •      El control es el área que almacena el registro de control requerido para operar
                                      la instrucción.
                               •      La longitud de cadena (.LEN) es el número de caracters que desea escribir
                                      desde la cadena fuente (0 a 82). Si introduce un 0, toda la cadena se escribirá.
                                      Esta es la palabra 1 en el bloque de control.
                               •      Los caracteres enviados (.POS) son el número de caracteres que el procesador
                                      ha enviado al área de pantalla (0 a 82). Este campo se actualiza continuamente
                                      durante la ejecución de la instrucción. Este valor puede ser mayor que la
                                      longitud de cadena si los caracteres anexados o valores insertados de la
                                      indirección en línea se usan. Si la longitud de cadena es mayor que 82, la
                                      cadena escrita al destino será truncada a 82 caracteres. Esta es la palabra 2 en el
                                      bloque de control.
                               •      El error muestra el código de error hexadecimal que indica por qué el bit ER se
                                      estableció en el archivo de datos de control (R6:). Vea la página 10–29 para
                                      obtener descripciones del código de error.


Ejemplo
                                   I:1                                                 AWA
                                                                                                                   EN
                                       [
                               [                                                      ASCII WRITE APPEND
                                    10                                                Channel            0
                                                                                      Source      ST37:42          DN
                               Si la ranura de entrada 1, bit 10, está establecida,   Control       R6:23
                               lea 25 caracteres desde ST37:42 y escríbalo al         String Length    25          ER
                               dispositivo de pantalla. Luego escriba un retorno de   Characters Sent    0
                               carro y avance de línea (predeterminados).             Error            00



 10–24
Instrucciones ASCII


       Cuando el renglón va de falso a verdadero, el bit de habilitación de elemento de
       control (EN) se establece. Cuando la instrucción se coloca en la cola ASCII, el bit
       de cola (EU) se establece. El bit de marcha (RN) se establece cuando la instrucción
       se está ejecutando. El bit DN se establece al final de la instrucción.

       El sistema envía 25 caracteres desde el inicio de la cadena ST37:42 al dispositivo de
       pantalla y luego envía caracteres anexos configurados por el usuario. El bit de
       efectuado (DN) se establece y un valor de 27 está presente en la palabra .POS del
       bloque de control ASCII.

       Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN)
       establecido, el procesador establece el bit de efectuado síncrono (EM) para servir
       como bit de efectuado secundario correspondiente al escán de programa.

       El bit de error (ER) se establece durante la ejecución de la instrucción si:
       •   la instrucción se cancela – el puerto en serie no está en el modo de usuario
       •   el módem está desconectado (la selección de línea de control es diferente a “NO
           HANDSHAKING”)
       •   la instrucción se cancela debido a un cambio de modo de canal
       •   el bit de descarga (UL) está establecido. La instrucción deja de ejecutar, pero
           los caracteres recibidos se envían al destino.
       •   un ACL para borrar el búfer de recepción se ejecuta, eliminando así la
           instrucción ARD de la cola ASCII.

Nota   Para obtener información acerca de la temporización de esta instrucción, refiérase
       al diagrama de temporización en la página 10–19.




                                                                                       10–25
Preface
Manual de referencia del juego de instrucciones


Cómo usar la indirección en línea

                         Esto le permite insertar valores enteros y de punto (coma) flotante en cadenas
                         ASCII. El bit de marcha (RN) se debe establecer antes de que el valor de cadena se
                         pueda usar.

                         Las condiciones siguientes se aplican al realizar la indirección en línea:
                         •    todos los archivos válidos enteros (N) y de punto (coma) flotante (F) se pueden
                              usar. Los rangos válidos incluyen 7, 8 y 9–255.
                         •    los tipos de archivo no son sensibles al uso de mayúsculas/minúsculas y pueden
                              incluir dos puntos (:) o un punto y coma (;)
                         •    los valores positivos y ceros delanteros no se imprimen. Los valores negativos
                              se imprimen con un signo menos delantero.


Ejemplos

                         Para los ejemplos siguientes:
                         N7:0 = 250
                         N7:1 = –37
                         F8:0 = 2.015000
                         F8:1 = 0.873000

                         Indirección en línea válida:
                         •    Entrada: El caudal actual es [N7:0] GPH y contiene [F8:0] PPM de
                                       contaminantes.
                              Salida: El caudal actual es 250 GPH y contiene 2.015000 PPM de
                                       contaminantes.
                         •    Entrada: La posición actual es [N5:1] a la velocidad de [F8:1] RPM.
                              Salida: La posición actual es –37 a la velocidad de 0.873000 RPM.

                         Indirección en línea no válida:
                         •    Entrada: La posición actual es [N5:1] a la velocidad de [F8:1] RPM.
                              Salida: La posición actual es [N5:1] a la velocidad de 0.873000 RPM.

Nota                     La truncación ocurre en la cadena de salida si la indirección causa que la salida
                         exceda 80 caracteres. Los caracteres anexos siempre se aplican a la salida.




 10–26
Instrucciones ASCII



Escritura ASCII (AWT)
                                                                                          3 3

  AWT
 ASCII WRITE            (EN)
                               Use la instrucción AWT para escribir caracteres desde una cadena fuente a un
 Channel
 Source                 (DN)   dispositivo externo. Para repetir la instrucción, el renglón debe ir de falso a
 Control
 String Length
                        (ER)
                               verdadero. Cuando usa esta instrucción, también puede realizar la indirección en
 Characters Sent
 Error                         línea. Vea la página 10–26 para obtener más información.
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                                                    AWT
                                       [                                                                           EN
                               [
                                                                                          ASCII WRITE
                                    10                                                    Channel           0
                                                                                          Source      ST37:20      DN
                                   Si la ranura de entrada 1, bit 10, está establecida,   Control       R6:23
                                   escriba 40 caracteres desde ST37:20 al                 String Length    40
                                   dispositivo de pantalla.                               Characters Sent          ER
                                                                                          Error




                                                                                                                  10–27
Preface
Manual de referencia del juego de instrucciones


                         Cuando el renglón va de falso a verdadero, el bit de habilitación (EN) de elemento
                         de control se establece. Cuando la instrucción se coloca en la cola ASCII, el bit de
                         cola (EU) se establece. El bit de marcha (RN) se establece cuando la instrucción se
                         está ejecutando.

                         Cuarenta caracteres desde la cadena ST37:40 son enviados a través del canal 0. El
                         bit de efectuado (DN) se establece cuando la instrucción se está ejecutando. El bit
                         DN se establece al final de la instrucción.

                         Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN)
                         establecido, el procesador establece el bit de efectuado síncrono (EM) para servir
                         como bit de efectuado secundario correspondiente al escán del programa.

                         El bit de error (ER) se establece durante la ejecución de la instrucción si:
                         •    la instrucción se cancela – el puerto en serie no está en el modo de usuario
                         •    el módem está desconectado (la selección de línea de control no es “NO
                              HANDSHAKING”)
                         •    la instrucción se cancela debido a un cambio de modo de canal
                         •    el bit de descarga (UL) está establecido. La instrucción deja de ejecutar, pero
                              los caracteres recibidos se envían al destino.
                         •    un ACL para borrar el búfer de recepción se ejecuta eliminando así la
                              instrucción ARD de la cola ASCII.

Nota                     Para obtener información acerca de la temporización de esta instrucción, refiérase
                         al diagrama de temporización en la página 10–19.




 10–28
Instrucciones ASCII



Códigos de error de instrucción ASCII
           Los códigos de error siguientes indican por qué el bit de error (ER) se establece en
           el archivo de datos de control (R6:).

            Código de        Condiciones que resultan en el
                                                                               Acción recomendada
            error (HEX)        establecimiento del bit ER
                          Ningún error. La instrucción se
            00                                                        Ninguna requerida.
                          completó exitosamente.
                                                                      Verifique el cableado del módem al
                                                                      canal de comunicación. Si el canal está
                                                                      configurado para comunicación con el
                          La operación no se puede completar          módem, las líneas DCD
            02
                          porque el módem está fuera de línea.        (datosĆportadoraĆdetección) y DSR
                                                                      (datosĆestablecimientoĆlisto) al canal
                                                                      deben estar activas para que el módem
                                                                      esté en línea.
                          La transmisión no se puede completar
                                                                      Verifique el módem y las conexiones del
            03            porque la señal Borrado para enviar se
                                                                      cableado del módem.
                          perdió.
                          No puede realizar la recepción de ASCII
                                                                      Vuelva a configurar el canal de
            04            porque el canal de comunicación está
                                                                      comunicación para el modo de usuario.
                          configurado para el modo de sistema.
                          La comunicación de modo de sistema          Verifique que el módem esté en línea y
            05            (DF1) se detectó durante el intento de      se comunique con los dispositivos
                          realizar la transmision ASCII.              necesarios.
                          No puede efectuar la recepción o
                          transmisión ASCII porque la                 Vuelva a configurar el menú de
            07            configuración de canal ha sido              configuración de canal y reintente la
                          desactivada vía el menú de                  operación.
                          configuración de canal.
                          No puede realizar la escritura ASCII
            08            debido a una transmisión ASCII en           Vuelva a enviar la transmisión.
                          progreso.
                          La comunicación ASCII solicitada no es
                          compatible con la configuración de canal
                          actual. (Canal 0 está configurado para      Configure el canal 0 para DF1, dúplex
            09
                          DHĆ485 mientras que intente una             total.
                          transmisión ASCII o un control de
                          comunicación de módem.)
                          El bit de descarga (UL) se estableció, lo
            0A            que detuvo la ejecucion de la               Ninguna requerida.
                          instrucción.




                                                                                                        10–29
Preface
Manual de referencia del juego de instrucciones


                           Código de         Condiciones que resultan en el
                                                                                             Acción recomendada
                           error (HEX)         establecimiento del bit ER
                                         La longitud solicitada para la cadena no
                                         es válida, es un número no válido,         Introduzca una longitud de cadena
                           0B
                                         mayor que 82 ó 0. Se aplica a las          válida y reintente la operación.
                                         instrucciones ARD y ARL.
                                         La longitud de la cadena fuente no es
                                         válida, un número negativo, mayor que      Introduzca una longitud de cadena
                           0C
                                         82 ó 0. Se aplica a las instrucciones      válida y reintente la operación.
                                         AWA y AWT.
                                         La longitud solicitada (.LEN) en el
                                         bloque de control es un número
                                         negativo o un valor mayor que el           Introduzca una longitud válida y
                           0D
                                         tamaño de cadena almacenado con la         reintente la operación.
                                         cadena fuente. Se aplica a las
                                         instrucciones AWA y AWT.
                           0E            La instrucción ACL fue cancelada.          Ninguna requerida.
                                         El modo de configuración de canal fue
                           0F                                                       Ninguna requerida.
                                         cambiado.




 10–30
Instrucciones ASCII



Tabla de conversión ASCII
                   La tabla siguiente lista las conversiones decimales, hexadecimales, octales y ASCII.

      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   00    000   NUL    32    20    040     SP     64    40     100    @      96    60     140      
 01   01    001   SOH    33    21    041      !     65    41     101    A      97    61     141      a
 02   02    002   STX    34    22    042           66    42     102    B      98    62     142      b
 03   03    003   ETX    35    23    043      #     67    43     103    C      99    63     143      c
 04   04    004   EOT    36    24    044      $     68    44     104    D     100    64     144      d
 05   05    005   ENQ    37    25    045     %      69    45     105    E     101    65     145      e
 06   06    006   ACK    38    26    046           70    46     106    F     102    66     146       f
 07   07    007   BEL    39    27    047      '     71    47     107    G     103    67     147      g
 08   08    010    BS    40    28    050      (     72    48     110    H     104    68     150      h
 09   09    011    HT    41    29    051      )     73    49     111    I     105    69     151      i
 10   0A    012    LF    42    2A    052      *     74    4A     112    J     106    6A     152      j
 11   0B    013    VT    43    2B    053      +     75    4B     113    K     107    6B     153      k
 12   0C    014    FF    44    2C    054      ,     76    4C     114    L     108    6C     154      l
 13   0D    015    CR    45    2D    055      -     77    4D     115    M     109    6D     155      m
 14   0E    016    SO    46    2E    056      .     78    4E     116    N     110    6E     156      n
 15   0F    017    SI    47    2F    057      /     79    4F     117    O     111    6F     157      o
 16   10    020   DLE    48    30    060      0     80    50     120    P     112    70     160      p
 17   11    021   DC1    49    31    061      1     81    51     121    Q     113    71     161      q
 18   12    022   DC2    50    32    062      2     82    52     122    R     114    72     162      r
 19   13    023   DC3    51    33    063      3     83    53     123    S     115    73     163      s
 20   14    024   DC4    52    34    064      4     84    54     124    T     116    74     164       t
 21   15    025   NAK    53    35    065      5     85    55     125    U     117    75     165      u
 22   16    026   SYN    54    36    066      6     86    56     126    V     118    76     166      v
 23   17    027   ETB    55    37    067      7     87    57     127    W     119    77     167      w
 24   18    030   CAN    56    38    070      8     88    58     130    X     120    78     170      x
 25   19    031   EM     57    39    071      9     89    59     131    Y     121    79     171      y
 26   1A    032   SUB    58    3A    072      :     90    5A     132    Z     122    7A     172      z
 27   1B    033   ESC    59    3B    073      ;     91    5B     133    [     123    7B     173      {
 28   1C    034    FS    60    3C    074           92    5C     134         124    7C     174      .
 29   1D    035    GS    61    3D    075      =     93    5D     135    ]     125    7D     175      }
 30   1E    036    RS    62    3E    076           94    5E     135    ^     126    7E     176      ~
 31   1F    037    US    63    3F    077      ?     95    5F     137    _     127    7F     177     DEL




                                                                                                  10–31
Preface
Manual de referencia del juego de instrucciones




 10–32
Cómo comprender las rutinas de interrupción




        11                Cómo comprender las
                          rutinas de interrupción
                   Este capítulo contiene información general acerca de rutinas de interrupción y
                   explica cómo funcionan en su programa de lógica. Cada rutina de interrupción
                   incluye:
                  •      una descripción general
                  •      el procedimiento de programación
                  •      la descripción operacional
                  •      la descripción del bit asociado

                   Además, cada rutina de interrupción contiene un ejemplo de aplicación que muestra
                   el uso de la rutina de interrupción.


Rutinas de interrupción

                               Instrucción
                                                                           Propósito                         Página
                    Mnemónico          Nombre
                                  Rutina de fallo del Proporciona la opción de evitar la parada del proceĆ    11-2
                                  usuario             sador.
                   STI            Interrupción         Le permite interrumpir el escán del archivo de         11-7
                                  temporizada          programa principal, de manera periódica, para
                                  seleccionable        escanear un archivo de subrutina específico.
                   DII            Interrupción de      Permite que el procesador ejecute una subrutina       11-19
                                  entrada discreta     cuando la configuración del bit de entrada de una
                                                       tarjeta de E/S discreta coincida con un valor de
                                                       comparación que usted ha ya programado.
                   ISR            Interrupción de E/S Permite que un módulo de E/S especial interrumpa       11-30
                                                      el ciclo de operación normal del procesador para
                                                      escanear un archivo de subrutina específico.




                                                                                                              11–1
Preface
Manual de referencia del juego de instrucciones


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 usuario
                              Fallo de no usuario          Fallo de usuario no recuperable
                                                                                                           recuperable
                                                        La rutina de fallo se ejecuta durante un
                                                        paso. Nota: usted puede inicializar una    La rutina de fallo puede
                             La rutina de fallo no se
                                                        instrucción MSG a otro nodo para           eliminar el fallo poniendo a
                             ejecuta.
                                                        identificar la condición de fallo del      cero el bit S:1/13.
                                                        procesador.


Datos de archivo de estado guardados

                         Los datos en las palabras siguientes se guardaron durante la entrada a la subrutina de
                         fallo de usuario y se volvieron a escribir cuando salieron de la subrutina.
                         •      Indicadores aritméticos S:0
                         •      Registro matemático S:13 y S:14
                         •      Registro de índice S:24




 11–2
Cómo comprender las rutinas de interrupción


Cómo crear una subrutina de fallo de usuario

                  Para usar la subrutina de fallo de usuario:

                  1.   Cree un archivo de subrutina:
                       •   El rango válido del procesador SLC es 3–255
                       •   MicroLogix 1000 designa el archivo 3
                  2.   Introduzca el número de archivo en palabra S:29 del archivo de estado.
Nota             No se requiere ninguna acción para los usuarios de MicroLogix 1000. S:29 está
                 reservado


Operación del procesador SLC

                  La coincidencia de fallos de usuario recuperables y no recuperbles causa que el
                  procesador lea S:29 y ejecute el número de subrutina contenido en S:29. Si el fallo
                  es recuperable, la rutina se puede usar para corregir el problema y poner a cero el bit
                  de fallo S:1/13. Luego el procesador continúa en el modo de marcha REM.

                  La rutina no se ejecuta para los fallos no atribuibles al usuario.

                  Las palabras S:20 y S:21 se pueden examinar en su rutina de fallo para precisar el
                  número de archivo y renglón donde el fallo ocurrió. Si el fallo ocurrió fuera del
                  escán de escalera, este valor contendrá el número de renglón donde la instrucción
                  TND, END o REF esté ubicada. Use las palabras S:20 y S:21 con su rutina de fallo
                  de protección al momento de encendido para determinar el punto exacto en que
                  ocurrió la parada de alimentación eléctrica anterior. Refiérase al apéndice B para
                  obtener más información acerca del bit de fallo de protección al momento de
                  encendido S:1/9.
Nota              Para los procesadores SLC 5/02, es necesario guardar su programa con la prueba
                  de un solo paso seleccionada para que S:20 y S:21 se activen.
                  Para los procesadores SLC 5/03 y SLC 5/04, si su programa contiene cuatro
                  instrucciones de mensaje con el bit de operación continua (CO) establecido, la
                  instrucción de mensaje de la rutina de fallo no se ejecutará.


Operación del procesador MicroLogix

                  La coincidencia de fallos de usuario recuperables y no recuperables causa que el
                  archivo 3 se ejecute. Si el fallo es recuperable, la rutina se puede usar para corregir
                  el problema y poner a cero el bit de fallo S:1/13. Luego el procesador continúa en el
                  modo de marcha REM.

                  La rutina no se ejecuta para los fallos no atribuibles al usuario.

                                                                                                    11–3
Preface
Manual de referencia del juego de instrucciones


Ejemplo de aplicación de la rutina de interrupción de usuario

                         Digamos que tiene un programa en que desea controlar los errores mayores 0020
                         (MINOR ERROR AT END OF SCAN) y 0034 (NEGATIVE VALUE IN
                         TIMER PRE OR ACC) bajo las condiciones siguientes:
                         •    Evitar una parada del procesador si el bit de interrupción por overflow S:5/0
                              está establecido. Permitir una parada del procesador cuando S:5/0 se establece
                              más de cinco veces.
                         •    Evitar una parada del procesador si el valor de acumulador del temporizador
                              T4:0 se hace negativo. Poner a cero el valor de acumulador negativo. Activar
                              una salida para indicar que el acumulador se ha hecho negativo una vez o más.
                         •    Permitir una parada del procesador para todos los otros fallos de usuario.

                         Un posible método de realizar lo anterior se muestra en los ejemplos siguientes. La
                         rutina de fallo de usuario se designa como archivo 3.

                         Cuando ocurre un error de usuario recuperable o no recuperable, el procesador
                         escanea el archivo de subrutina 3. El procesador salta al archivo 4 si el código de
                         error es 0020 y salta al archivo 5 si el código de error es 0034. Para todos los otros
                         errores recuperables y no recuperables, el procesador sale de la rutina de fallo y
                         detiene la operación en el modo de fallo.


Rutina de fallo – Archivo de subrutina 3

                                          La palabra S:6 es el código
                                             de fallo (en decimal)
                EQU                                                           JSR
               EQUAL                                                          JUMP TO SUBROUTINE
               Source A             S:6                                       SBR file number 4
                                      0
               Source B              32           Código de fallo 0020
                                                  (Introduzca H20. El
                                                  equivalente decimal de 32
                                                  aparece.)
                EQU                                                           JSR
               EQUAL                                                          JUMP TO SUBROUTINE
               Source A             S:6                                       SBR file number 5
                                      0
               Source B              52           Código de fallo 0034
                                                  (Introduzca H34. El
                                                  equivalente decimal de 52
                                                  aparece.)
                                                          END




 11–4
Cómo comprender las rutinas de interrupción


Archivo de subrutina 4 – Ejecutado para error 0020

            SBR                       S:5                                              C5:0
            SUBROUTINE                 ] [                                              (U)
                                             0                                            CU
                                                                CTU
                                                                COUNT UP                (CU)
                                                                Counter         C5:0
                                                                Preset           120    (DN)
                                                                Accum              0


            GRT                                                          RET
            GREATER THAN                                                RETURN
            Source A C5:0.ACC
                            0
            Source B        5


         S:5                                                                           S:5
          ] [                                                                           (U)
                0                                                                          0
                                                                                       S:1
                                                                                        (U)
                                                                                           13
                                                                         RET
                                                                        RETURN

                                                 END


                    Si el bit de interrupción por overflow está establecido, S:5/0 se establece y el
                    contador C5:0 incrementa.

                    Si el conteo de C5:0 es 5 ó menor, el bit de interrupción por overflow S:5/0 se pone
                    a cero, el bit de error mayor detenido S:1/13 se pone a cero y el procesador
                    permanece en el modo de marcha REM. Si el conteo es mayor que 5, el procesador
                    establece S:5/0 y S:1/13 y entra en el modo de fallo.

                    Este archivo de subrutina también se ejecuta si el bit de error de registro de control
                    S:5/2 se establece. En dicho caso, el procesador se pone en el modo de fallo.




                                                                                                       11–5
Preface
Manual de referencia del juego de instrucciones


Archivo de subrutina 5 – Ejecutado para error 0034
               SBR                            LES                                        S:1
              SUBROUTINE                     LESS THAN                                    (U)
                                             Source A T4:0.ACC                               13
                                                             0            CLR
                                             Source B        0            CLEAR
                                                                          Dest       T4:0.ACC
                                                                                            0

                                                                                         O:3.0
                                                                                          ( )
                                                                                             3
                                                                            RET
                                                                            RETURN

                                                    END




                         Si el valor de acumulador del temporizador T4:0 es negativo, el bit de error mayor
                         detenido S:1/13 se desenclava evitando así que el procesador entre en el modo de
                         fallo. Simultáneamente, el valor de acumulador T4:0 ACC se pone a cero y la salida
                         O:3.0/3 se activa. El código de fallo 0034 se muestra en el archivo de estado.

                         Si el valor preseleccionado del temporizador T4:0 es negativo, S:1/13 permanece
                         establecido y el procesador entra en el modo de fallo (O:3.0/3 se restablece si se
                         estableció anteriormente). Además, si el valor preseleccionado o de acumulador de
                         cualquier otro temporizador en el programa es negativo, S:1/13 se establece y el
                         procesador entra en el modo de fallo. Si se estableció anteriormente, O:3.0/3 se
                         restablece.




 11–6
Cómo comprender las rutinas de interrupción



Descripción general de la interrupción
temporizada seleccionable
                                                                        3 3 3 3


               Esta función le permite interrumpir el escán del procesador automáticamente, de
               manera periódica, para escanear una archivo de subrutina especificado. Después, el
               procesador reanuda la ejecución a partir del punto en que fue interrumpida.

               Esta sección describe:
               •    El procedimiento de programación STI
               •    La operación STI
               •    Los parámetros STI
               •    Las instrucciones STD y STE
               •    La instrucción STS

Procedimiento de programación básico para la función STI

               Para usar la función STI en su archivo de aplicación:

               1.   Cree un archivo de subrutina e introduzca los renglones de escalera deseados.
                    Este es su archivo de subrutina STI.
                    •   El rango válido de los procesadores SLC es 2–355
                    •   Los controladores MicroLogix 1000 designan archivo 5
               2.   Procesadores SLC
                    Introduzca el número de archivo de subrutina STI en la palabra S:31 del archivo
                    de estado. Refiérase a la página B–57 de este manual para obtener más
                    información. Un número de archivo de cero inhabilita la función STI.

               3.   Introduzca el punto de ajuste (el tiempo entre interrupciones sucesivas) en la
                    palabra S:30 del archivo de estado. Refiérase a la página A–17 para los
                    controladores MicroLogix 1000 ó la página B–57 para los procesadorss SLC a
                    fin de obtener más información.
                    •   Para el SLC 5/02 y los controladores MicroLogix 1000, el rango es
                         10–2550 ms (introducidos en incrementos de 10 ms). Un punto de ajuste
                        de cero inhabilita la función STI.
                    •   Para los procesadores SLC 5/03 y SLC 5/04, el rango es de 1–32,767 ms
                        (introducidos en incrementos de 1 ms). Un punto de ajuste de cero
                        inhabilita la función STI. Refiérase al apéndice B de este manual para
                        obtener más información acerca del bit de resolución STI S:2/10.


                                                                                               11–7
Preface
Manual de referencia del juego de instrucciones


Nota                     El valor del punto de ajuste debe ser mayor que el tiempo de ejecución del archivo
                         de subrutina STI, de lo contrario un bit de error menor se establece. Para todos los
                         procesadores, el bit de pendiente STI y el bit de sobremarcha STI se establecerán.
                         Además, para los procesadores SLC 5/03 y SLC 5/04 y los controladores
                         MicroLogix 1000, el bit último STI se puede establecer.


Operación
                         Después de que usted restaura el programa y entra en el modo de marcha REM, el
                         STI comienza la operación según lo siguiente:

                         1.   El temporizador STI comienza a temporizar.

                         2.   Cuando el intervalo STI caduca, el temporizador STI se restablece, el escán del
                              procesador se interrumpe y el archivo de subrutina STI se escanea.

                         3.   Si otra interrupción STI ocurre durante la ejecución de la subrutina STI, el bit
                              de pendiente STI se establece.

                         4.   Si el temporizador STI caduca durante el estado pendiente de un STI, el bit de
                              perdido STI se establece. (Para los procesadores SLC 5/02, el bit de
                              sobremarcha se establece.)

                         5.   Cuando el escán de subrutina STI se finaliza, el escán del archivo de programa
                              principal se reanuda al punto en que se detuvo, a menos que haya un STI
                              pendiente. En dicho caso, la subrutina se vuelve a escanear inmediatamente.

                         6.   El ciclo se repite.

                         A título de identificación de su subrutina STI, incluya una instrucción INT como la
                         primera instrucción en el primer renglón del archivo.


Contenido de la subrutina STI

                         La subrutina STI contiene los renglones de su lógica de aplicacion. Puede
                         programar toda instrucción dentro de la subrutina STI con la excepción de una
                         instrucción TND, REF o SVC. Las instrucciones IIM o IOM son necesarias en una
                         subrutina STI si su aplicación requiere la actualización inmediata de puntos de
                         entrada o salida. Termine la subrutina STI con una instrucción RET.

                         La profundidad de pila JSR se limita a 3. Puede llamar otras subrutinas a un nivel
                         de profundidad de 3 desde una subrutina STI.



 11–8
Cómo comprender las rutinas de interrupción


Latencia de interrupción y coincidencias de interrupción

                           La latencia de interrupción es el intervalo entre el límite de tiempo sobrepasado y el
                           inicio de la subrutina de interrupción. Las interrupciones STI pueden ocurrir en
                           cualquier punto en su programa, pero no necesariamente al mismo punto en
                           interrupciones sucesivas. Las tablas siguientes muestran la interacción entre una
                           interrupción y el ciclo de operación del procesador.


Procesadores SLC



                                                                           SLC 5/03 y SLC 5/04           SLC 5/03 y SLC 5/04
                                                    SLC 5/02 STI           STI con el bit S:33/8         STI con el bit S:33/8
                                                                               establecido                  puesto a cero

           Input Scan                        Entre actualizaciones de    Entre actualizaciones de       Entre actualizaciones de
                                             ranura                      palabra                        ranura
         Program Scan                        Entre actualizaciones de    Entre actualizaciones de       Entre actualizaciones de
                                             instrucción                 palabra                        ranura
          Output Scan
                                             Entre actualizaciones de    Entre actualizaciones de       Entre actualizaciones de
                                             ranura                      palabra                        ranura
        Communications
                                             Entre paquetes de           Entre actualizaciones de       Entre paquetes de
     Processor Overhead                      comunicación                paquete de palabra             comunicación
                                                                         Entre actualizaciones de       Entre actualizaciones de
                                             Al inicio y al final
                                                                         palabra                        palabra
Eventos en el ciclo de operación del
procesador

Microcontrolador



                                                                                                  STI
                                  Input Scan

                                  Program Scan
                                                                               Entre actualizaciones de instrucción
                                  Output Scan

                                  Communication
                                                                               Entre paquetes de comunicación
                                  Controller Overhead
                                                                               Al inicio y al final


                             Eventos en el ciclo de operación del procesador



                                                                                                                            11–9
Preface
Manual de referencia del juego de instrucciones


                            Observe que el tiempo de ejecución se añade directamente al tiempo de escán
                            global. Durante el período de latencia, el procesador está efectuando operaciones
                            que no pueden ser interrumpidas por la función de interrupción STI.

                            Los períodos de latencia son:
                            •    Las interrupciones de los procesadores SLC 5/02 y los controladores
                                 MicroLogix 1000 reciben servicio dentro de 2.4 ms como máximo.
                            •    Procesadores SLC 5/03 y SLC 5/04 – Si una interrupción ocurre mientras que el
                                 procesador realiza una actualización de ranura de palabras múltiples y su
                                 subrutina de interrupción accede a la misma ranura, la transferencia de palabras
                                 múltiples se finaliza antes de realizar el acceso de ranura de subrutina de
                                 interrupción. El bit de control de latencia de interrupción (S:33/8) funciona de
                                 la manera siguiente:

                                 –   Cuando el bit se establece (1), las interrupciones reciben servicio dentro del
                                     tiempo de latencia de interrupción. Refiérase al apéndice B para obtener
                                     más información acerca de cómo calcular la latencia de interrupción.
                                 –   Cuando el bit se pone a cero (0), los INT reciben servicio por renglón,
                                     ranura y tiempo de ejecución de paquete.

                                 El estado predeterminado se borra (0). Para determinar la latencia de
                                 interrupción con S:33/8 puesto a cero, debe calcular el tiempo de ejecución de
                                 cada renglón en su programa. Use el tiempo de ejecución calculado más largo
                                 más 500 µs como su latencia de interrupción máxima.


Prioridades de interrupción

                            Las prioridades de interrupción para los procesadores son:

     Controlador MicroLogix 1000                     Procesador SLC 5/02                  Procesador SLC 5/03 y SLC 5/04
 1. Rutina de fallo de usuario              1. Rutina de fallo de usuario              1. Rutina de fallo de usuario
                                            2. Subrutina de interrupción temporizada
 2. Contador de alta velocidad                                                         2. Interrupción de entrada discreta (DII)
                                               seleccionable
 3. Subrutina de interrupción temporizada                                              3. Subrutina de interrupción temporizada
                                            3. Subrutina de interrupción (ISR)
   seleccionable                                                                          seleccionable
                                                                                       4. Subrutina de interrupción (ISR)


                            Una interrupción que se está ejecutando sólo puede ser interrumpida por una
                            interrupción con una prioridad más alta.




 11–10
Cómo comprender las rutinas de interrupción


Datos de archivo de estado guardados

               Los datos en las palabras siguientes se guardaron durante la entrada en la subrutina
               STI y se volvieron a escribir cuando salieron de la subrutina STI.
               •   Indicadores aritméticos S:0
               •   Registro matemático S:13 y S:14
               •   Registro de índice S:24




Parámetros STI
               Los parámetros siguientes son asociados con la función STI. Estos parámetros
               tienen direcciones de archivo de estado que se describen aquí y también en el
               apéndice A y apéndice B de este manual.
               •   Número de archivo STI (palabra S:31) – Este puede ser cualquier número de
                   3–255. Un valor de cero inhabilita la función STI. Un número inválido genera
                   el fallo 0023. Esta palabra no se aplica a los controladores MicroLogix 1000.
               •   Punto de ajuste (palabra S:30) – Este es el tiempo entre el punto de inicio de
                   escanes sucesivos del archivo STI. Puede ser cualquier valor de 10 a 2550
                   milisegundos. Usted introduce un valor de 1 a 255, lo que resulta en un punto
                   de ajuste de 10–2550 ms. Un valor de cero inhabilita la función STI. Un
                   tiempo inválido genera el fallo 0024.
                   Si el STI se inicia en el modo de marcha REM cargando los registros de estado,
                   la interrupción comienza a temporizar desde el final del escán de programa en
                   que los registros de estado se cargaron.

                   Específico para SLC 5/03 y SLC 5/04 – Si S:2/10 está establecido, el tiempo se
                   da en incrementos de 1 ms. Si este bit se pone a cero, el tiempo se da en
                   incrementos de 10 ms.
               •   Bit de pendiente STI (S:2/0) – Este bit se establece cuando el temporizador
                   STI ha sobrepasado el límite de tiempo y la rutina STI está esperando su
                   ejecución. Este bit se restablece al inicio de la rutina STI, ejecución de una
                   instrucción STS verdadera, momento de encendido o salida del modo de marcha
                   REM o de prueba.
                   Específico para SLC 5/02 – El bit de pendiente STI no se establecerá si el
                   temporizador STI caduca durante la ejecución de la rutina de fallo.

                   Específico para SLC 5/03 y SLC 5/04 – Este bit se establece si el temporizador
                   STI caduca durante la ejecución de la subrutina DII o la rutina de fallo.



                                                                                               11–11
Preface
Manual de referencia del juego de instrucciones


                         •    Bit de habilitación STI (S:2/1) – El valor predeterminado es 1 (establecido).
                              Cuando un número de archivo entre 3 y 255 está presente en la palabra S:31 y
                              un valor de punto de ajuste entre 1 y 255 está presente en la palabra S:30, un bit
                              de habilitación establecido permite el escán del archivo STI. Si el bit está
                              restablecido por una instrucción STD, el escán del archivo STI ya no ocurre. Si
                              el bit está establecido por una instrucción STE o STS, el escán se permite
                              nuevamente. El bit de habilitación sólo habilita/inhabilita el escán de la
                              subrutina STI. No afecta el temporizador STI. La instrucción STS afecta el bit
                              de habilitación y el temporizador STI. El estado predeterminado se habilita. Si
                              este bit se establece o se restablece usando la instrucción STE, STD o STS, la
                              habilitación/inhabilitación se realiza inmediatamente. Si este bit se establece en
                              el programa de usuario utilizando una instrucción que no sea STE, STD o STS,
                              se realiza durante el próximo final de escán.
                              Controlador MicroLogix 1000 – Este bit se establece o se restablece usando una
                              instrucción STS, STE o STD. Si se establece, permite la ejecución del STI si el
                              punto de ajuste STI S:30 no es cero. Si se ha puesto a cero, cuando ocurre una
                              interrupción, la subrutina STI no se ejecuta y el bit de pendiente STI se
                              establece.

                              Específico para SLC 5/02 – Si está establecido o restablecido por el programa
                              de usuario o comunics., no se activará sino hasta el próximo final de escán.

                              Específico para SLC 5/03 y SLC 5/04 – Si este bit está establecido o
                              restablecido por el programa de usuario o comunics., se activará al momento de
                              caducidad del temporizador STI o durante el próximo final de escán (cualquiera
                              que ocurra primero).
                         •    Bit de ejecución STI (S:2/2) – Este bit se establece cuando el archivo STI está
                              siendo escaneado y se pone a cero cuando el escán se finaliza. El bit también se
                              pone a cero al momento de encendido y a la entrada en el modo de marcha
                              REM.
                         •    Bit de selección de resolución STI (S:2/10) – Este bit se pone a cero
                              predeterminadamente. Cuando se ha puesto a cero, este bit selecciona un
                              incremento de 10 ms para el valor de punto de ajuste STI (S:30). Cuando se
                              establece, este bit selecciona un incremento de 1 ms para el valor de punto de
                              ajuste (S:30). Para programar esta característica, use la función del monitor de
                              datos para establecer/poner a cero este bit o direccione este bit con su programa
                              de escalera.
                              Este bit es configurable por el usuario y se activa durante una transición de
                              modo PROG REM a REM RUN.
                         •    Bit de sobremarcha (S:5/10) – Este bit de error menor se establece cuando el
                              temporizador STI caduca mientras que la rutina STI se está ejecutando o está
                              inhabilitada y mientras que el bit dependiente esté establecido. Cuando esto
                              ocurre, el temporizador STI continúa funcionando a la velocidad presente en la
                              palabra S:30. Si el bit de sobremarcha se establece, tome la acción correctiva
                              que indica su aplicación y luego ponga a cero el bit.


 11–12
Cómo comprender las rutinas de interrupción


                 •   Bit de STI perdida (Word S:36/9) – Este bit se establece cuando una
                     interrupción STI ocurre mientras que el bit de STI pendiente también está
                     establecido. Cuando está establecido, le comunicará que una interrupción STI
                     se ha perdido. Por ejemplo, la interrupción se pierde porque una interrupción
                     anterior ya estaba pendiente y esperando su ejecución. Examine este bit en su
                     programa de usuario y tome la acción apropiada si su aplicación no puede
                     tolerar esta condición. Luego ponga a cero el bit con su programa de usuario
                     para prepararse para la próxima instancia posible de este error.

                 Use los renglones siguientes para inicializar y medir la cantidad de tiempo entre dos
                 ejecuciones de subrutina STI consecutivas. El temporizador de 10 µs también está
                 disponible en la interrupción DII y la interrupción de E/S. Este ejemplo de
                 aplicación también se puede usar para la interrupción de E/S de evento o la
                 interrupción DII reemplazando S:43 con S:44 ó S:45 respectivamente.

Lista de programa      Archivo de procesador: FREESTI.ACH              Renglón 2:0
Renglón 2:0
Coloque este renglón en el primer renglón de su programa de escalera principal
(archivo 2 renglón 0). Este renglón asegura que la medida de interrupción se
inicialice cada vez que se entre en el modo de marcha.
| 1er                                                    Indica la               |
| paso                                                   inicialización          |
|                                                        de medida               |
|                                                                                |
|     S:1                                                      B3                |
|––––] [––––––––––––––––––––––––––––––––––––––––––––––+––––(U)–––––––––––––––+–|
|       15                                             |        0              | |
|                                                      |       Clear           | |
|                                                      |       10 uS           | |
|                                                      |       ”tick”          | |
|                                                      |       Register        | |
|                                                      | +MOV–––––––––––––––+ | |
|                                                      +–+MOVE               +–+ |
|                                                        |Source            0|   |
|                                                        |                   |   |
|                                                        |Dest          N10:2|   |
|                                                        |                  0|   |
|                                                        +––––––––––––––––––+    |

                                              el programa de escalera continúa en la página siguiente




                                                                                                 11–13
Preface
Manual de referencia del juego de instrucciones


Renglón 4:0
Este renglón mide el tiempo entre las ejecuciones de subrutina de interrupción
consecutivas. El entero N10:2 contiene el número de “tics” de 10 microsegundos
que han ocurrido. Anote que la cantidad mayor de tiempo que se puede medir
es de 0.32767 segundos.
|                                         Determine el número                      |
|                                         de “tics” de 10 ms                       |
|           Cuando medida                 desde el último                          |
|           válida                                                                 |
|                B3                 +SUB–––––––––––––––+                           |
|––––––––+––––] [–––––+––––––––––––+SUBTRACT             +–+––––––––––––––––––––+–|
|        |         0   |            |Source A        S:43| |                     | |
|        |             |            |                   0| |                     | |
|        |             |            |Source B      N10:1| |                      | |
|        |             |            |                   0| |                     | |
|        |             |            |Dest          N10:2| |                      | |
|        |             |            |                   0| |                     | |
|        |             |            +––––––––––––––––––+ |                       | |
|        |             |                                   |                     | |
|        |             |                                   |                     | |
|        |             | Si rodante ha                     |                     | |
|        |             | ocurrido en la    Normalice el    |                     | |
|        |             | base de tiempo    resultado       |                     | |
|        |             |    S:0     +ADD–––––––––––––––+ |                       | |
|        |             +––––] [–––––+ADD                 +–+                     | |
|        |                      3   |Source A      32767|                        | |
|        |                          |                    |                       | |
|        |                          |Source B      N10:2|                        | |
|        |                          |                   0|                       | |
|        |                          |Dest          N10:2|                        | |
|        |                          |                   0|                       | |
|        |                          +––––––––––––––––––+                         | |
|        |                                                                       | |
|        |                                                                       | |
|        |                                                    Almacene el valor | |
|        |                                                    actual en el       | |
|        |                                                    último valor       | |
|        |                                                 +MOV–––––––––––––––+ | |
|        +––––––––––––––––––––––––––––––––––––––––––––––+MOVE                  +–+ |
|        |                                                 |Source         S:43| | |
|        |                                                 |                  0| | |
|        |                                                 |Dest         N10:1| | |
|        |                                                 |                  0| | |
|        |                                                 +––––––––––––––––––+ | |
|        |                                                                       | |
|        |                                                                       | |
|        |                                                 Ponga a cero el       | |
|        |                                                 bit de error          | |
|        |                                                    S:5                | |
|        +–––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––––––––––––+ |
|                                                                 0                |


                                                  el programa de escalera continúa en la página siguiente




 11–14
Cómo comprender las rutinas de interrupción


Renglón 4:99
Coloque este renglón en el último renglón de su subrutina de interrupción. Así
su subrutina de interrupción sabrá cuándo el valor N10:2 es válido.
|                                                                              |
|                                                                              |
|                                                              Indique la      |
|                                                              medida válida   |
|                                                                         B3   |
|––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(L)–––––|
|                                                                          0   |


Nota             El bit de selección de overflow matemático (S:2/14) se debe establecer antes de
                 entrar en el modo de MARCHA.




                                                                                                11–15
Preface
Manual de referencia del juego de instrucciones


Instrucciones STD y STE
                                                           3          3 3 3


                             Las instrucciones STD y STE se usan para crear zonas en las que las interrupciones
                             STI no pueden ocurrir.


Inhabilitación temporizada seleccionable – STD
   STD
  SELECTABLE TIMED DISABLE   Cuando es verdadera, esta instrucción restablece el bit de habilitación STI y evita
                             que la subrutina STI se ejecute. Cuando el renglón se hace falso, el bit de
                             habilitación STI permanece establecido hasta que una instrucción STS o STE se
                             ejecute. El temporizador STI continúa funcionando mientras que el bit de
                             habilitación esté restablecido.


Habilitación temporizada seleccionable – STE
   STE
  SELECTABLE TIMED ENABLE    Esta instrucción, al momento de una transición del renglón de falso a verdadero,
                             establece el bit de habilitación STI y permite la ejecución de la subrutina STI.
                             Cuando el renglón se hace falso, el bit de habilitación STI permanece establecido
                             hasta que una instrucción STD verdadera se ejecute. Esta instrucción no tiene
                             efecto sobre la operación del temporizador STI o punto de ajuste. Cuando el bit de
                             habilitación está establecido, la primera ejecución de la subrutina STI puede ocurrir
                             en cualquier fracción del ciclo de temporización hasta un ciclo de temporización
                             completo subsiguiente.


Ejemplo de zona STD/STE

                             En el programa siguiente, la función STI está activa. Las instrucciones STD y STE
                             en los renglones 6 y 12 se incluyen en el programa de escalera para evitar que se
                             ejecute la subrutina STI en cualquier punto en los renglones 7 a 11.

                             La instrucción STD (renglón 6) restablece el bit STI y la instrucción STE (renglón
                             12) vuelve a establecer el bit de habilitación. El temporizador STI incrementa y
                             puede sobrepasar el límite de tiempo en la zona STD, lo que establece el bit de
                             pendiente S:2/0 y el bit de sobremarcha S:5/10.

                             El bit de primer paso S:1/15 y la instrucción STE en el renglón 0 se incluyen para
                             asegurar que la función STI se inicialice después de una desactivación y
                             reactivación de alimentación eléctrica. Usted debe incluir este renglón cuando su
                             programa contenga una zona STD/STE o una instrucción STD.




 11–16
Cómo comprender las rutinas de interrupción


Archivo de                            STE
programa 3             S:1
                  0     ] [           SELECTABLE TIMED ENABLE
                           15
                  1     ] [     ] [                                  ( )

                  2

                  3

                  4

                  5
                                      STD
                  6                   SELECTABLE TIMED DISABLE


                  7     ] [     ] [                                  ( )
La ejecución
de interrupción   8
STI no ocurre
entre STD y       9
STE.
                  10

                  11    ] [     ] [                                  ( )

                                      STE
                  12                  SELECTABLE TIMED ENABLE


                  13    ] [     ] [                                  ( )

                  14

                  15

                  16

                  17                        END




                                                                            11–17
Preface
Manual de referencia del juego de instrucciones


Inicio temporizado seleccionable (STS)
                                                                                    3         3 3 3

    STS
   SELECTABLE TIMED START
                            Use la instrucción STS para condicionar el inicio del temporizador STI cuando entra
   File
   Time   [x 10ms]          en el modo de marcha REM en vez de comenzar automáticamente. También puede
                            usarla para configurar o cambiar el número de archivo o punto de ajuste/frecuencia
                            de la rutina STI que se va a ejecutar cuando el temporizador STI caduca.

                            Esta instrucción no es necesaria para configurar una aplicación de interrupción STI
                            básica.

                            La instrucción STS le exige introducir dos parámetros: el número de archivo STI y
                            el punto de ajuste STI. Al momento de ejecución verdadera del renglón, esta
                            instrucción introduce el número de archivo y punto de ajuste en el archivo de estado
                            (S:31, S:30), sobrescribiendo así los datos existentes. Simultáneamente, el
                            temporizador STI se restablece y comienza a temporizar; al momento de sobrepasar
                            el límite de tiempo, la ejecución de subrutina STI ocurre. Cuando el renglón se hace
                            falso, la función STI permanece habilitada en el punto de ajuste y número de
                            archivo que introdujo en la instrucción STS.
Nota                        Específico para SLC 5/03 y SLC 5/04 – La instrucción STS usa el establecimiento
                            del bit de resolución STI S:2/10 para determinar la base de tiempo que se va a usar
                            al momento de la ejecución de la instrucción STS.




 11–18
Cómo comprender las rutinas de interrupción



Descripción general de la interrupción
de entrada discreta
                                                                          3 3


               Use la interrupción de entrada discreta (DII) para las aplicaciones de procesamiento
               a alta velocidad o para cualquier aplicación que necesite responder a un evento de
               manera rápida. Esta instrucción permite que el procesador ejecute una subrutina de
               escalera cuando la configuración de bit de entrada de una tarjeta de E/S discreta
               corresponda a un valor de comparación que usted ha ya programado.

               El archivo de estado contiene seis valores de bit y seis valores de palabra usados
               para programar y monitorizar la función DII. La DII no requiere instrucciones de
               lógica de escalera para su configuración. Usted programa la DII para examinar la
               configuración de bit de entrada de una sola ranura de E/S cualquiera, la cual
               contiene una tarjeta de entrada discreta (tal como IG16, IV16, IB8, IB32). Cuando
               la configuración de bit de entrada corresponde al valor de comparación, el
               acumulador se incrementa. El acumulador DII cuenta hasta el valor preseleccionado
               y, una vez generada la interrupción, ajusta inmediatamente la línea de manera
               automática y comienza a contar desde cero.

               Durante el escán de la subrutina DII, usted puede volver a configurar la DII para que
               busque un evento completamente distinto. Esto facilita la secuencia DII. La DII
               puede ser programada para comparar cada punto de entrada a un estado alto (1) o
               bajo (0). El acumulador se incrementa al momento de la transición de entrada que
               provoca que los puntos de entrada correspondan al valor de comparación.

               Si su aplicación requiere actualización inmediata de los puntos de entrada o salida,
               entonces son necesarias las instrucciones IIM o IOM. Finalice la subrutina DII con
               una instrucción RET.


Procedimiento de programación básico para la función DII

               Para usar la función DII con su archivo de programa principal, haga lo siguiente:

               1.   Cree un archivo de subrutina (rango de 3 a 255) e introduzca los renglones de
                    escalera deseados. Este es su archivo de subrutina DII.

               2.   Introduzca el número de ranura de entrada (palabra S:47).

               3.   Introduzca la máscara de bit (palabra S:48).

               4.   Introduzca el valor de comparación (palabra S:49).

               5.   Introduzca el valor preseleccionado (palabra S:50).


                                                                                               11–19
Preface
Manual de referencia del juego de instrucciones


                         6.   Introduzca el número de subrutina DII en la palabra S:46 del archivo de estado.
                              (Vea la página B–69.) Un valor de cero inhabilita la función DII.
Nota                     Usuarios de PLC – La diferencia principal entre la DII y la PII PLC 5/40 es que la
                         DII requiere que todas las transiciones declaradas ocurran antes de generar un
                         conteo; en cambio, la PII requiere que solamente una de las transiciones
                         declaradas ocurra. Además, en la DII, al término “conteo” se le denomina
                         “predeterminado”.


Ejemplo

                         La DII puede ser programada para contar los artículos en un transportador de alta
                         velocidad. Cada vez que 100 artículos pasan por un fotointerruptor, la subrutina DII
                         se ejecuta. Luego la subrutina DII usa las instrucciones de E/S inmediatas para
                         embalar los productos.




 11–20
Cómo comprender las rutinas de interrupción



Operación
                 Después de restaurar su programa y entrar en el modo de marcha REM, la DII
                 comienza su operación así:


Modo de contador

                 Este modo está activo cuando el valor preseleccionado (S:50) contiene un valor
                 mayor que 1.

                 1.    La DII lee el primer byte de datos de entrada de una tarjeta de entrada discreta
                       seleccionada por lo menos una vez cada 100 µs.À Anote que esta “encuesta” de
                       los datos de entrada no afecta el tiempo de escán del procesador.

                 2.    Cuando los datos de entrada corresponden al valor con máscara programado, el
                       acumulador se incrementa en uno. El próximo conteo ocurre cuando los datos
                       de entrada hacen la transición a datos sin correspondencia y luego retornan a los
                       con correspondencia.

                 3.    Cuando el acumulador alcanza o excede el valor preseleccionado, entre 1 y
                       32,767, la interrupción es generada y el acumulador se pone a cero.

                 4.    La subrutina DII se ejecuta.

                 5.    El ciclo se repite.

Modo de evento

                 Este modo está activo cuando el valor preseleccionado (S:50) contiene 0 ó 1.

                 1.    La DII lee el primer byte de datos de entrada de una tarjeta de entrada discreta
                       seleccionada por lo menos una vez cada 100 µs.À Anote que esta “encuesta” de
                       los datos de entrada no afectan el tiempo de escán del procesador.

                 2.    Cuando los datos de entrada corresponden al valor con máscara programado, la
                       interrupción es generada.

                 3.    La subrutina DII se ejecuta.Á

                 4.    El ciclo se repite.À
            À 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
Preface
Manual de referencia del juego de instrucciones


Contenido de la subrutina DII

                         Para identificar su subrutina DII, use la instrucción INT como la primera instrucción
                         en su primer renglón.

                         La subrutina DII contiene los renglones de su lógica de aplicación. Puede programa
                         cualquier instrucción dentro de la subrutina DII excepto una instrucción TND, REF
                         o SVC. Las instrucciones IIM o IOM son necesarias en una subrutina DII si su
                         aplicación requiere la actualización inmediata de los puntos de entrada o salida.
                         Finalice la subrutina DII con una instrucción RET.

                         La profundidad de pila JSR se limita a 3. Puede llamar otras subrutinas hasta una
                         profundidad de 3 niveles desde una subrutina DII.


Latencia de interrupción y coincidencias de interrupción

                         La latencia de interrupción es el intervalo entre la detección DII y el inicio de la
                         subrutina de interrupción. Las interrupciones DII pueden ocurrir a cualquier punto
                         en su programa, pero no necesariamente al mismo punto en interrupciones
                         sucesivas. Las interrupciones pueden ocurrir entre instrucciones en su programa,
                         dentro del escán de E/S (entre ranuras) o entre el servicio de paquetes de
                         comunicaciones. La tabla siguiente muestra la interacción entre una interrupción y
                         el ciclo de operación del procesador.



                                                                        DII con el bit S:33/8      DII con el bit S:33/8
                                                        DII
                                                                            establecido                establecido
           Input Scan                      Entre actualizaciones de   Entre actualizaciones de   Entre actualizaciones de
                                           ranura                     palabra                    ranura
         Program Scan                      Entre actualizaciones de   Entre actualizaciones de   Entre actualizaciones de
                                           instrucción                palabra                    renglón
          Output Scan
                                           Entre actualizaciones de   Entre actualizaciones de   Entre actualizaciones de
         Communications                    ranura                     palabra                    ranura
                                           Entre paquetes de          Entre actualizaciones de   Entre paquetes de
     Processor Overhead                    comunicación               paquete de palabra         comunicación
                                                                      Entre actualizaciones de   Entre actualizaciones de
                                           Al inicio y al final
                                                                      palabra                    palabra
Eventos en el ciclo de
operación del
procesador               Si una interrupción ocurre mientras el procesador SLC 5/03 ó SLC 5/04 está
                         realizando una actualización de ranura de palabras múltiples y su subrutina de
                         interrupción obtiene acceso a la misma ranura, la transferencia de palabras múltiples
                         se completa antes de realizar el acceso a la ranura de subrutina de interrupción.


 11–22
Cómo comprender las rutinas de interrupción


                Observe que el tiempo de ejecución DII se añade directamente al tie
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc
Manual de plc

Más contenido relacionado

PDF
Ejercicios de-programacic3b3n-resueltos-con-step-7
PDF
Operaciones en PLCs
PDF
Sensores de Presión
PDF
PDF
Manual manejo TIA PORTAL SIEMENS
PDF
Danfoss guía de seleccionamiento para válvulas de control
PDF
Tintaya molinos sag
PDF
Ejercicios de-programacic3b3n-resueltos-con-step-7
Operaciones en PLCs
Sensores de Presión
Manual manejo TIA PORTAL SIEMENS
Danfoss guía de seleccionamiento para válvulas de control
Tintaya molinos sag

La actualidad más candente (20)

PPT
Ejemplo de semáforo
PDF
TEMPORIZADORES Y CONTADORES.PDF
DOCX
PROGRAMACIÓN DE PLCS: LENGUAJE ESCALERA
PPT
Neumatica 2
PDF
Fallas en compresores de tornillo
PPTX
Rectificacion controlada.pptx
PDF
Simatic s7 300 caracteristicas
PDF
Examen 2013
PPTX
Tacómetro
PPTX
Valvula de secuencia hidraulica
PDF
El controlador pid
PPTX
SISTEMA HIDRÁULICO BOOMER S1D
PDF
Módulo Timer 1 del PIC16F887
PDF
PLC: programación avanzada de PLC
PDF
Diagramas de instrumentación y proceso en normas ANSI/ISA & acondicionamiento...
PDF
MR 11 Daily CIRCUITO HIDRAULICO DE FRENOS.pdf
PPTX
Tipos de instrumentos
PDF
PLC y Electroneumática: Automatismos Neumáticos e Hidráulicos Paraninfo por L...
PDF
Guia osciladores pic18f4550
PDF
Guía rápida tmr0 e interrupciones
Ejemplo de semáforo
TEMPORIZADORES Y CONTADORES.PDF
PROGRAMACIÓN DE PLCS: LENGUAJE ESCALERA
Neumatica 2
Fallas en compresores de tornillo
Rectificacion controlada.pptx
Simatic s7 300 caracteristicas
Examen 2013
Tacómetro
Valvula de secuencia hidraulica
El controlador pid
SISTEMA HIDRÁULICO BOOMER S1D
Módulo Timer 1 del PIC16F887
PLC: programación avanzada de PLC
Diagramas de instrumentación y proceso en normas ANSI/ISA & acondicionamiento...
MR 11 Daily CIRCUITO HIDRAULICO DE FRENOS.pdf
Tipos de instrumentos
PLC y Electroneumática: Automatismos Neumáticos e Hidráulicos Paraninfo por L...
Guia osciladores pic18f4550
Guía rápida tmr0 e interrupciones
Publicidad

Similar a Manual de plc (20)

PDF
manual de PLC.pdf
PDF
Manaul de micrologix 500 AB
PDF
PDF
Manual de-usuario-prog.-esp
PDF
Español zelio logic_2_-_manual_do_usuario
PDF
PDF
Zelio logic 2_quick_ start
PDF
Manual Zelio logic
PDF
Modulo analogico 1769 if4
PDF
Unity v41 manual de referencia
PDF
Conversion plc-5-o-slc-500-a-logix-5000-esp
PDF
Sigma control espanol 7 7000_0-00_04_s
PDF
Es acs800español
PDF
PDF
PanelView 1200 1000 1400-es-p
PDF
Manual 1832 1864 dsc
PDF
PDF
Seminario del Operador
PDF
Módulo de opción ethernet con doble puerto powerflex 20-750
PDF
rele inteligente.pdf
manual de PLC.pdf
Manaul de micrologix 500 AB
Manual de-usuario-prog.-esp
Español zelio logic_2_-_manual_do_usuario
Zelio logic 2_quick_ start
Manual Zelio logic
Modulo analogico 1769 if4
Unity v41 manual de referencia
Conversion plc-5-o-slc-500-a-logix-5000-esp
Sigma control espanol 7 7000_0-00_04_s
Es acs800español
PanelView 1200 1000 1400-es-p
Manual 1832 1864 dsc
Seminario del Operador
Módulo de opción ethernet con doble puerto powerflex 20-750
rele inteligente.pdf
Publicidad

Último (20)

PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PDF
Metodologías Activas con herramientas IAG
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
PDF
TOMO II - LITERATURA.pd plusenmas ultras
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
2.0 Introduccion a processing, y como obtenerlo
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PDF
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
DOCX
PLAN DE CASTELLANO 2021 actualizado a la normativa
DOCX
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PPTX
caso clínico iam clinica y semiología l3.pptx
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
Metodologías Activas con herramientas IAG
Punto Critico - Brian Tracy Ccesa007.pdf
TOMO II - LITERATURA.pd plusenmas ultras
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
Escuelas Desarmando una mirada subjetiva a la educación
2.0 Introduccion a processing, y como obtenerlo
Tomo 1 de biologia gratis ultra plusenmas
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
PLAN DE CASTELLANO 2021 actualizado a la normativa
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
caso clínico iam clinica y semiología l3.pptx

Manual de plc

  • 1. AllenĆBradley Juego de instrucciones de Manual de SLC 500t y MicroLogixt 1000 referencia (Nos. de cat. 1747ĆL511, 1747ĆL514, 1747ĆL524, 1747ĆL532, 1747ĆL541, 1747ĆL542, 1747ĆL543, y controladores de boletín 1761)
  • 2. Información importante para el usuario Debido a la variedad de usos de los productos descritos en esta publicación, las personas responsables de la aplicación y uso de este equipo de control deben asegurarse de que se hayan seguido todos los pasos necesarios para que cada aplicación y uso cumplan con todos los requisitos de rendimiento y seguridad, incluyendo leyes, reglamentaciones, códigos y normas aplicables. Los ejemplos de ilustraciones, gráficos, programas y esquemas mostrados, en esta guía tienen la única intención de ilustrar el texto. Debido a las muchas variables y requisitos asociados con cualquier instalación particular, Allen-Bradley no puede asumir responsabilidad u obligación (incluyendo responsabilidad de propiedad intelectual) por el uso real basado en los ejemplos mostrados en esta publicación. La publicación de Allen-Bradley SGI-1.1, Safety Guidelines for the Application, Installation, and Maintenance of Solid State Control (disponible en la oficina de Allen-Bradley local), describe algunas diferencias importantes entre equipos transistorizados y dispositivos electromecánicos, las cuales deben tomarse en consideración al usar productos tales como los descritos en esta publicación. Está prohibida la reproducción total o parcial de los contenidos de esta publicación de propiedad exclusiva sin el permiso escrito de Allen-Bradley Company, Inc. En este manual hacemos anotaciones para advertirle sobre consideraciones de seguridad: Identifica información o prácticas o circunstancias que pueden producir lesiones personales o incluso la muerte, daños materiales o pérdidas económicas. Las notas de “Atención” le ayudan a: • identificar un peligro • evitar un peligro • reconocer las consecuencias Nota Identifica información crítica para una correcta aplicación y entendimiento del productol. SLC 500, SLC 5/01, SLC 5/02, SLC 5/03, SLC 5/04, MicroLogix, PanelView, RediPANEL, Dataliner, DH+, Data Highway Plus son marcas comerciales de Allen-Bradley Company, Inc. Gateway 2000 es una marca comercial de Gateway 2000, Inc. VERSA es una marca comercial de Nippon Electric Co. Information Systems Inc.
  • 3. Tabla de contenido Tabla de contenido Prefacio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-1 Quién debe usar este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-2 Propósito de este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-2 Contenido de este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-3 Documentación asociada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-5 Técnicas comunes usadas en este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-6 1 Instrucciones básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1 Instrucciones de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1 Instrucciones del temporizador/contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–2 Acerca de las instrucciones básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–2 Descripción general de las instrucciones de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–3 Archivos de datos de salida y entrada (archivos O:0 e I:1) . . . . . . . . . . . . . . . . . . . . . . . 1–3 Archivo de estado (archivo S2:) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–4 Archivo de datos de bit (B3:) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–5 Archivos de datos de temporizador y contador (T4: y C5:) . . . . . . . . . . . . . . . . . . . . . . 1–5 Archivo de datos de control (R6:) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–6 Archivo de datos enteros (N7:) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–7 Examine si cerrado (XIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–9 Examine si abierto (XIO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–9 Active la salida (OTE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–10 Enclavamiento de salida (OTL) y desenclavamiento de salida (OTU) . . . . . . . . . . . . . . . . 1–11 Cómo usar OTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–11 Cómo usar OTU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–11 One–Shot Rising (OSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12 Descripción general de las instrucciones de temporizador . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15 Valor del acumulador (.ACC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15 Valor preseleccionado (.PRE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15 Base de tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15 Precisión del temporizador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–16 Estructura de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–16 Ejemplos de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–17 Temporizador a la conexión (TON) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–18 i
  • 4. Preface Manual de referencia del juego de instrucción Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–18 Temporizador a la desconexión (TOF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–19 Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–19 Temporizador retentivo (RTO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–21 Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–21 Uso de los contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–23 Elementos del archivo de datos del contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–23 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–23 Valor acumulado (.ACC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–23 Valor preseleccionado (PRE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–24 Estructura de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–24 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–25 Cómo funcionan los contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–26 Conteo progresivo (CTU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–26 Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–27 Conteo regresivo (CTD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–28 Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–28 Contador de alta velocidad (HSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–29 Operación del contador de alta velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–29 Elementos de datos del contador de alta velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–31 Ejemplo de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–32 Ejemplo de aplicación – Archivo 2 (consulta del bit DN en el programa principal) . . . . . . . . . . . . . . . . . . . . . . 1–33 Ejemplo de aplicación – Archivo 3 (ejecución de lógica HSC) . . . . . . . . . . . . . . . 1–33 Restablecimiento (RES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–34 Instrucciones básicas del ejemplo de aplicación de la perforadora de papel . . . . . . . . . . . . 1–35 Cómo añadir archivo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–35 Cómo añadir el archivo 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–37 2 Instrucciones de comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1 Instrucciones de comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1 Acerca de las instrucciones de comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2 Descripción general de las instrucciones de comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2 Uso de direcciones de palabra indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2 Uso de direcciones de palabra indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2 Igual (EQU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3 No igual (NEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3 Menor que (LES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–4 Menor o igual que (LEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–4 Mayor que (GRT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–5 Mayor o igual que (GEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–5 ii
  • 5. Tabla de contenido Comparación con máscara para igual (MEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6 Prueba de límite (LIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7 Estado verdadero/falso de la instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7 Ejemplo de aplicación de instrucciones de comparación en la perforadora de papel . . . . . . . 2–9 Cómo iniciar una subrutina en archivo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–9 3 Instrucciones matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1 Instrucciones matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1 Acerca de las instrucciones matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3 Descripción general de las instrucciones matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3 Uso de las direcciones de palabra indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3 Uso de las direcciones de palabra indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4 Bit de interrupción por overflow, S:5/0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4 Cambios del registro matemático S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4 Uso del archivo de datos de punto (coma) flotante (F:8) . . . . . . . . . . . . . . . . . . . . . . . . 3–5 Añadir (ADD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–6 Actualizaciones de bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–6 Restar (SUB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7 Adición y sustracción de 32 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–8 Bit de selección de overflow matemático S:2/14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–8 Ejemplo de adición de 32 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–9 Multiplicar (MUL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11 Cambios del registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11 Dividir (DIV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12 Cambios del registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12 División doble (DDV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13 Cambios del registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13 Borrar (CLR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14 Raíz cuadrada (SQR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14 Cómo escalar con parámetros (SCP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–15 iii
  • 6. Preface Manual de referencia del juego de instrucción Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–15 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–16 Ejemplos de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–16 Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–16 Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–17 Escala de datos (SCL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–18 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–18 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–18 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–19 Ejemplo de aplicación 1 – Conversión de una señal de entrada analógica de 4 mA–20 mA en una variable de proceso PID . . . . . . . . . . . . . . . . . . . . . . . 3–19 Cómo calcular la relación lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–20 Ejemplo de aplicación 2 – Cómo escalar una entrada analógica para controlar una salida analógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–20 Cómo calcular la relación lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–21 Cómo calcular la relación lineal desplazada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–22 Absoluto (ABS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–24 Cómo introducir los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–24 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–24 Calcular (CPT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–25 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–25 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–25 Ejemplo de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–26 Intercambio (SWP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–27 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–27 Arco seno (ASN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–28 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–28 Arco coseno (ACS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–29 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–29 Arco tangente (ATN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–29 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–29 Coseno (COS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–30 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–30 Logaritmo natural (LN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–30 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–30 Logaritmo a la base 10 (LOG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–31 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–31 Seno (SIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–31 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–31 Tangente (TAN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–32 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–32 iv
  • 7. Tabla de contenido X a la potencia de Y (XPY) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–33 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–33 Instrucciones matemáticas en el ejemplo de aplicación de la perforadora de papel . . . . . . . 3–34 Cómo añadir el archivo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–35 4 Instrucciones de manejo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1 Instrucciones de manejo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1 Acerca de las instrucciones de manejo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–2 Convertir en BCD (TOD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–3 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–3 Cambios del registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–3 Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–4 Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–4 Convertir de BCD (FRD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–6 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–6 Cambios del registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–7 Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–7 Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–8 Radianes en grados (DEG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–10 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–10 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–10 Grados en radianes (RAD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–11 Cómo introducir los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–11 Actaulizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–11 Descodificar 4 a 1 de 16 (DCD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–12 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–12 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–12 Codificar 1 de 16 a 4 (ENC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–13 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–13 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–14 Instrucciones para copiar el archivo (COP) y llenar el archivo (FLL) . . . . . . . . . . . . . . . . . 4–15 Uso de COP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–15 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–15 Uso de FLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–17 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–17 Descripción general de las instrucciones de mover y lógicas . . . . . . . . . . . . . . . . . . . . . . . . 4–19 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19 Uso de direcciones de palabra indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19 Uso de direcciones de palabra indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19 Cambios del registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19 v
  • 8. Preface Manual de referencia del juego de instrucción Mover (MOV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–20 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–20 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–20 Mover con máscara (MVM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–21 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–21 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–21 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–22 Y (AND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–23 Tabla de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–23 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–23 O (OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–24 Tabla de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–24 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–24 O exclusivo (XOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–25 Tabla de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–25 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–25 No (NOT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–26 Tabla de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–26 Actualizaciones de los bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–26 Negar (NEG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–27 Actualizaciones de bits de estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–27 Descripción general de las instrucciones FIFO y LIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–28 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–28 Efectos en el registro de índice S:24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–29 Carga FIFO (FFL) Descarga FIFO (FFU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–30 Carga LIFO (LFL) Descarga LIFO (LFU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–32 Instrucciones de manejo de datos en el ejemplo de aplicación de la perforadora de papel . 4–34 Añadir el archivo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–34 5 Instrucciones de flujo de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1 Instrucciones de control de flujo de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1 Acerca de las instrucciones de control de flujo de programa . . . . . . . . . . . . . . . . . . . . . . . . . 5–2 Salto (JMP) y etiqueta (LBL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–3 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–3 Uso de JMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–3 Uso de LBL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–4 Saltar a subrutina (JSR), subrutina (SBR), y retornar (RET) . . . . . . . . . . . . . . . . . . . . . . . . . 5–5 Cómo anidar archivos de subrutina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–5 Uso de JSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–6 vi
  • 9. 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
  • 10. Preface Manual de referencia del juego de instrucción Instrucciones específicas de aplicación en el ejemplo de aplicación de la perforadora de papel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17 7 Cómo usar las instrucciones del contador de alta velocidad . . . . . . . . . . . . . . . . . 7–1 Instrucciones del contador de alta velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–1 Acerca de las instrucciones del contador de alta velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . 7–2 Descripción general de las instrucciones del contador de alta velocidad . . . . . . . . . . . . . . . . 7–3 Elementos del archivo de datos del contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–3 Uso de bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–3 Contador de alta velocidad (HSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–6 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–6 Uso del contador progresivo y el contador regresivo con restablecimiento y retención . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–8 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–8 Contador progresivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–9 Contador progresivo con restablecimiento y retención . . . . . . . . . . . . . . . . . . . . . . 7–10 Uso del contador bidireccional y el contador bidireccional con restablecimiento y retención . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–10 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–11 Contador bidireccional (impulso/dirección) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–12 Contador bidireccional con restablecimiento y retención (impulso/dirección) . . . . 7–13 Contador bidireccional (conteo progresivo/regresivo) . . . . . . . . . . . . . . . . . . . . . . 7–13 Contador bidireccional con restablecimiento y retención (conteo progresivo/regresivo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–14 Uso del contador bidireccional con restablecimiento y retención con codificador (encoder) de cuadratura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–14 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–15 Contador bidireccional (codificador [encoder]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–17 Contador bidireccional con restablecimiento y retención (codificador [encoder]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–17 Carga del contador de alta velocidad (HSL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–18 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–18 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–18 Restablecimiento del contador de alta velocidad (RES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–21 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–21 Acumulador de restablecimiento del contador de alta velocidad (RAC) . . . . . . . . . . . . . . . 7–22 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–22 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–22 Habilitación (HSE) e inhabilitación (HSD) de interrupción del contador de alta velocidad 7–23 Uso de HSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–23 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–23 viii
  • 11. Tabla de contenido Uso de HSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–24 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–24 Actualización del acumulador de imagen del contador de alta velocidad (OTE) . . . . . . . . . 7–24 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–24 Lo que ocurre con el HSC cuando pasa al modo de marcha REM . . . . . . . . . . . . . . . . . . . . 7–25 Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–26 Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–27 Ejemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–28 Instrucciones del contador de alta velocidad en el ejemplo de aplicación de la perforadora de papel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–29 8 Instrucciones de comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–1 Instrucciones de comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–1 Acerca de las instrucciones de comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–2 Descripción general de la instrucción de mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–3 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–3 Bits del archivo de estado relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–4 Opciones de configuración disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–5 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–5 Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–6 Diagrama de temporización para una instrucción MSG exitosa del SLC 5/02 . . . . . . . . . . . 8–7 Configuración del bloque de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–9 Ejemplos de aplicación para procesadores SLC 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–11 Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–11 Ejemplo 2 – Archivo de programa 2 del procesador SLC 5/02 . . . . . . . . . . . . . . . . . . . 8–12 Archivo de programa 2 del procesador SLC 5/01 a nodo 3 . . . . . . . . . . . . . . . . . . . 8–14 Ejemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–15 Ejemplo 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–16 Descripción general de la instrucción de mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–18 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–18 Bits del archivo de estado relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–19 Opciones de configuración disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–20 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–21 Uso de los bits de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–22 Configuraciones del bloque de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–24 Diagrama de temporización para una instrucción exitosa del SLC 5/03 ó SLC 5/04 . . . . . . 8–26 Códigos de error de la instrucción MSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–30 ix
  • 12. Preface Manual de referencia del juego de instrucción Ejemplos de configuraciones usando la instrucción de mensaje . . . . . . . . . . . . . . . . . . . . . 8–32 Uso de la lógica de escalera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–33 Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–33 Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–35 Ejemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–37 Ejemplo 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–39 Uso de mensajes locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–41 Ejemplo 1 – Lectura local de un 500CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–41 Ejemplo 2 – Lectura local de un 485CIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–42 Ejemplo 3 – Lectura local de un PLC-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–43 Uso de mensajes remotos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–45 Ejemplo 1 – Comunicación con procesadores A–B usando un 1785-KA5 . . . . . . . 8–45 Procesador SLC 5/04 (A) a procesador SLC 5/03 (C) vía 1785-KA5 . . . . . . . . . . . 8–45 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–45 Procesador SLC 5/03 (C) a procesador SLC 5/04 (A) vía 1785-KA5 . . . . . . . . . . . 8–46 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–46 Procesador SLC 5/03 (C) a un PLC-5 (B) vía 1785-KA5 . . . . . . . . . . . . . . . . . . . . 8–47 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–47 Ejemplo 2 – Comunicación con procesadores A–B usando dos 1785-KA . . . . . . . 8–48 Procesador SLC 5/04 (B) a procesador PLC5 (C) vía dos 1785-KA . . . . . . . . . . . . 8–48 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–48 Procesador SLC 5/04 (B) a procesador SLC 5/04 (A) vía dos 1785-KA . . . . . . . . 8–49 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–49 Ejemplo 3 – Transferencia vía canal 0 DH-485 del procesador SLC 5/04 . . . . . . . 8–50 Procesador SLC 5/04 (A) a procesador SLC 5/03 (D) vía un procesador SLC 5/04 (C) (transferencia usando canal 0 DH-485) . . . . . . . . . . . . . . . . . 8–50 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–50 Procesador SLC 5/03 (D) a procesador SLC 5/04 (A) vía un procesador SLC 5/04 (C) (transferencia usando canal 0 DH-485) . . . . . . . . . . . . . . . . . 8–51 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–51 Procesador SLC 5/03 (D) a PLC-5 (B) vía un procesador SLC 5/04 (transferencia usando canal 0 DH-485) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–52 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–52 Mensajes remotos (SLC 5/03 a un SLC 500, SLC 5/01 ó SLC 5/02) . . . . . . . . . . . 8–53 Ejemplo 4 – Transferencia vía canal 0 DF1 del procesador SLC 5/04 . . . . . . . . . . 8–54 Procesador SLC 5/04 (A) a procesador SLC 5/04 (D) vía dos procesadores SLC 5/04 (transferencia usando canal 0 DF1) . . . . . . . . . . . . . . . . . . . . . . . 8–54 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–54 Ejemplo 5 – Transferencia vía canal 0 DH+ del procesador SLC 5/04 . . . . . . . . . . 8–55 Procesador SLC 5/04 (A) a procesador SLC 5/04 (C) vía un solo procesador SLC 5/04 (transferencia usando canal 0 DF1) . . . . . . . . . . . . . . . . . . . . . . . 8–55 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–55 x
  • 13. Tabla de contenido Procesador SLC 5/04 (C) a procesador SLC 5/04 (A) vía un solo procesador SLC 5/04 (transferencia usando canal 0 DF1) . . . . . . . . . . . . . . . . . . . . . . . 8–56 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–56 Procesador SLC 5/04 (C) a procesador SLC 5/04 (B) cuando la transferencia está habilitada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–56 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–56 Ejemplo 6 – Transferencia usando un integrado pirámide para encaminar una instrucción de mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–57 Procesador SLC 5/04 (B) a procesador SLC 5/04 (A) via un integrador de pirámide usando el encaminamiento PI . . . . . . . . . . . . . . . . . . . . . . . . . . 8–57 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–57 Ejemplo 7 – . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–58 Procesador SLC 5/03 a un procesador SLC 5/03 (transferencia usando dos 1785-KA5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–58 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–58 Comunicaciones de servicio (SVC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–60 Uso de un procesador SLC 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–60 Uso de un procesador SLC 5/03 ó SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–60 Servicio de canal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–61 Ejemplo de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–61 9 Instrucción proporcional integral derivativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–1 Descripción general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–1 El concepto PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–2 La ecuación PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–3 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–3 Indicadores de instrucción PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–9 Configuración del bloque de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–11 Errores de tiempo de ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–12 Escala PID y E/S analógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–14 Uso de la instrucción SCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–14 Uso de la instrucción SCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–15 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–15 Notas de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–18 Rangos de entrada/salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–18 Escalado a unidades de ingeniería . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–18 Banda muerta (DB) de intersección con cero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–20 Alarmas de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–20 Límite de salida con bloqueo de acción integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–21 Modo manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–21 Estado de renglón PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–22 Alimentación hacia adelante o bias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–23 xi
  • 14. Preface Manual de referencia del juego de instrucción Salidas de tiempo proporcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–23 Ejemplo – Salidas de tiempo proporcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–24 Sintonización PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–25 Procedimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–25 Cómo verificar el escalado del sistema continuo . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–27 Cómo determinar el tiempo de actualización del lazo inicial . . . . . . . . . . . . . . . . . 9–28 10 Instrucciones ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–1 Instrucciones ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–1 Descripción general de ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–2 Descripción general del parámetro de protocolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–3 Cómo usar el tipo de archivo de datos ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–4 Cómo usar el tipo de archivo de datos de cadena (ST . . . . . . . . . . . . . . . . . . . . . . . 10–4 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–6 Prueba de búfer por línea (ABL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–7 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–7 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–7 Número de caracteres en búfer (ACB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–8 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–8 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–9 Cadena a entero (ACI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–10 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–10 Borrado del búfer ASCII de recepción y/o transmisión (ACL) . . . . . . . . . . . . . . . . . . . . . 10–11 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–11 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–11 Concatenado de cadenas (ACN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–12 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–12 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–12 Extracción de cadena (AEX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–13 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–13 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–13 Líneas de comunicación (AHL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–14 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–14 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–15 Entero a cadena (AIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–16 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–16 Lectura de caracteres ASCII (ARD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–17 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–17 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–17 Diagrama de temporización para una instrucción exitosa ARD, ARL, AWA y AWT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–19 xii
  • 15. Tabla de contenido Lectura ASCII de línea (ARL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–20 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–20 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–20 Búsqueda de cadena (ASC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–22 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–22 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–22 Comparación de cadena ASCII (ASR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–23 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–23 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–23 Escritura ASCII con anexo (AWA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–24 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–24 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–24 Cómo usar la indirección en línea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–26 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–26 Escritura ASCII (AWT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–27 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–27 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–27 Códigos de error de instrucción ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–29 Tabla de conversión ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–31 11 Cómo comprender las rutinas de interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–1 Rutinas de interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–1 Descripción general de la rutina de fallo de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–2 Datos de archivo de estado guardados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–2 Cómo crear una subrutina de fallo de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–3 Operación del procesador SLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–3 Operación del procesador MicroLogix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–3 Ejemplo de aplicación de la rutina de interrupción de usuario . . . . . . . . . . . . . . . . . . . 11–4 Rutina de fallo – Archivo de subrutina 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–4 Archivo de subrutina 4 – Ejecutado para error 0020 . . . . . . . . . . . . . . . . . . . . . . . . 11–5 Archivo de subrutina 5 – Ejecutado para error 0034 . . . . . . . . . . . . . . . . . . . . . . . . 11–6 Descripción general de la interrupción temporizada seleccionable . . . . . . . . . . . . . . . . . . . 11–7 Procedimiento de programación básico para la función STI . . . . . . . . . . . . . . . . . . . . . 11–7 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–8 Contenido de la subrutina STI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–8 Latencia de interrupción y coincidencias de interrupción . . . . . . . . . . . . . . . . . . . . . . . 11–9 Procesadores SLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–9 Microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–9 Prioridades de interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–10 Datos de archivo de estado guardados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–11 Parámetros STI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–11 xiii
  • 16. Preface Manual de referencia del juego de instrucción Instrucciones STD y STE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–16 Inhabilitación temporizada seleccionable – STD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–16 Habilitación temporizada seleccionable – STE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–16 Ejemplo de zona STD/STE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–16 Inicio temporizado seleccionable (STS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–18 Descripción general de la interrupción de entrada discreta . . . . . . . . . . . . . . . . . . . . . . . . 11–19 Procedimiento de programación básico para la función DII . . . . . . . . . . . . . . . . . . . . 11–19 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–20 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–21 Modo de contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–21 Modo de evento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–21 Contenido de la subrutina DII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–22 Latencia de interrupción y coincidencias de interrupción . . . . . . . . . . . . . . . . . . . . . . 11–22 Prioridades de interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–23 Datos de archivo de estado guardados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–23 Reconfigurabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–24 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–24 Parámetros DII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–25 Ejemplo de aplicación de interrupción de entrada discreta . . . . . . . . . . . . . . . . . . . . . 11–28 Diagrama de escalera para la aplicación de embotelladora . . . . . . . . . . . . . . . . . . 11–29 Descripción general de interrupción de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–30 Procedimiento de programación básico para la función de interrupción de E/S . . . . . 11–30 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–31 Contenido de la subrutina de interrupción (ISR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–31 Latencia de interrupción y coincidencias de interrupción . . . . . . . . . . . . . . . . . . . . . . 11–31 Prioridades de interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–33 Datos de archivo de estado guardados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–34 Parámetros de interrupción de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–35 Inhabilitación de interrupción de E/S (IID) y habilitación de interrupción de E/S (IIE) . . 11–37 Inhabilitación de interrupción de E/S – IID Habilitación de interrupción de E/S – IIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–37 Operación IID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–38 Operación IIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–38 Ejemplo de zona IID/IIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–39 Restablecimiento de interrupción pendiente (RPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–40 Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–40 Subrutina de interrupción (INT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–41 xiv
  • 17. 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
  • 18. Preface Manual de referencia del juego de instrucción Consideraciones cuando comunica como esclavo DF1 en un vínculo de múltiples conexiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–30 Cómo usar módems que tienen capacidad para protocolos de comunicación DF1 . . . . . . 12–31 Módems de línea telefónica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–31 Módems manuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–31 Módems de contestación automática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–31 Módems de desconexión automática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–32 Módems de discado automático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–32 Módems con líneas arrendadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–32 Módems con discado DTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–32 Módems controladores de línea (corto alcance) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–33 Módems de radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–34 Módems de vínculo por satélite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–35 Operación de línea de control de módem en los procesadores SLC 5/03 y SLC 5/04 . . . . 12–35 Full–duplex DF1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–35 Half–duplex DF1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–36 Parámetros de retardo de transmisión RTS y retardo de desactivación RTS . . . . . . . . . . . 12–37 Protocolo de comunicación ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–38 Configuración de parámetro de canal 0 ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–38 Cómo usar las características de transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–39 Transferencia DH+ a DH-485 – (Todos los procesadores SLC 5/04) . . . . . . . . . . . . . 12–39 Transferencia DF1 a DH+ – (Procesadores SLC 5/04 OS401 y posteriores) . . . . . . . 12–39 Transferencia de E/S remota (Procesadores SLC 5/03 OS302 y SLC 5/04 OS401) . . 12–39 Consideraciones cuando la transferencia DF1 a DH+ se habilita . . . . . . . . . . . . . . . . 12–40 Cómo entrar en línea con un procesador SLC 5/04 usando el full–duplex DF1 . . 12–40 Cómo transmitir un mensaje usando el full–duplex DF1 hacia un procesador SLC 5/04 con la transferencia DF1 a DH+ habilitada . . . . . . . . . . . . . . . . 12–40 Cómo transmitir un mensaje usando el full–duplex DF1 desde un procesador SLC 5/04 con la transferencia DF1 a DH+ habilitada . . . . . . . . . . . . . . . . 12–40 Cómo comunicar desde un procesador SLC 5/04 usando direccionamiento PLC-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–40 13 Cómo localizar y corregir fallos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–1 Cómo borrar fallos automáticamente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–1 Procesadores SLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–1 Controladores MicroLogix 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–2 Cómo borrar fallos manualmente (procesadores SLC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–3 Cómo usar la rutina de fallo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–3 Mensajes de fallo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–4 Fallos del controlador MicroLogix 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–5 Errores de encendido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–6 Errores de ida a marcha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–7 xvi
  • 19. 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
  • 20. Preface Manual de referencia del juego de instrucción Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–20 Continuación de procesador SLC 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–21 Instrucciones que tienen direcciones indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–21 Instrucciones que tienen direcciones de archivo de datos M0 y M1 . . . . . . . . . . . . . . . C–21 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–21 Procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–22 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–27 Tiempos de ejecución de punto (coma) flotante del procesador SLC 5/03 . . . . . . . C–28 Continuación de procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–30 Cálculo aproximado del uso de memoria del sistema usando un procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–30 Continuación de procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–31 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–31 Continuación de procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–32 Comparación de palabra de usuario entre el procesador SLC 5/03 ó SLC 5/04 y el procesador SLC 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–32 Palabras de instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–32 Continuación de procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–33 Palabras de datos – Archivos 0 y 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–33 Palabras de datos – Archivo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–33 Palabras de datos – Archivo 3 a 255 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–33 Continuación de procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–34 Instrucciones con direcciones indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–34 Instrucciones con direcciones de archivo de datos M0 y M1 . . . . . . . . . . . . . . . . . . . . C–34 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–34 Procesador SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–35 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–40 Tiempos de ejecución de punto (coma) flotante del procesador SLC 5/04 . . . . . . . C–41 Continuación de procesador SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–43 Cálculo aproximado del uso de memoria del sistema usando un procesador SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–43 SLC 5/04 Processor Continued . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–44 Instrucciones con direcciones indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–44 Instrucciones con direcciones de archivo de datos M0 y M1 . . . . . . . . . . . . . . . . . . . . C–44 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–44 Instrucciones con direcciones indirectas a nivel de palabra . . . . . . . . . . . . . . . . . . . . . C–45 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–46 Instrucciones con direcciones a nivel de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–47 Tiempos de ejecución de instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–48 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–48 xviii
  • 21. Tabla de contenido D Tiempo de escán estimado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–1 Ciclo de operación del procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–2 Tiempos de acceso para los datos M0/M1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–3 Latencia de interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–4 Cómo calcular la latencia de interrupción para SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . D–5 Interrupción temporizada seleccionable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–5 Interrupción de entrada discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–5 Interrupción de evento de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–5 Cómo calcular la latencia de interrupción para SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . D–6 Interrupción temporizada seleccionable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–6 Interrupción de entrada discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–6 Interrupción de evento de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–6 Ejemplo – Interrupción temporizada seleccionable del procesador SLC 5/03 . . . . . . . . D–7 Ejemplo – Interrupción temporizada seleccionable del procesador SLC 5/04 . . . . . . . . D–7 Hojas de trabajo de tiempo de escán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–8 Definición de terminología de la hoja de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–8 Hoja de trabajo A – Cómo estimar el tiempo de escán del controlador fijo . . . . . . . . . . D–9 Hoja de trabajo B – Cómo estimar el tiempo de escán del procesador 1747-L511 ó 1747-l514 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–11 Hoja de trabajo C – Cómo estimar el tiempo de escán del procesador 1747-L524 . . . . D–13 Hoja de trabajo D – Cómo calcular el tiempo de escán del procesador 1747-L532 . . . D–16 Hoja de trabajo E – Cómo calcular el tiempo de escán del procesador 1747-L542 D–19 Procesador SLC 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–22 Procesador SLC 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–23 Ejemplo de cálculo de tiempo de escán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–24 Ejemplo: Hoja de trabajo B – Cómo calcular el tiempo de escán de una aplicación del procesador 1747-L511 ó 1747-L514 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–26 Continúa en la página siguiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–26 E Referencias de instrucciones de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–1 Modos de direccionamiento válidos y tipos de archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–2 Cómo comprender los modos de direccionamientos diferentes . . . . . . . . . . . . . . . . . . . E–3 Direccionamiento directo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–3 Direccionamiento indexado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–3 Direccionamiento indirecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–3 Direccionamiento indirecto indexado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–3 F Organización y direccionamento del archivo de datos . . . . . . . . . . . . . . . . . . . . . . F–1 Descripción de la organización del archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–2 Descripción general del archivo de procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–2 Archivos de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–3 Archivos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–3 xix
  • 22. Preface Manual de referencia del juego de instrucción Acceso y almacenamiento de los archivos de procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . F–4 Descarga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–5 Operación normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–6 Apagado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–6 Encendido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–7 Cómo direccionar los archivos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–8 Cómo especificar direcciones lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–8 Direccionamiento de E/S para un controlador de E/S fijo . . . . . . . . . . . . . . . . . . . . F–10 Direccionamiento de E/S para un controlador modular . . . . . . . . . . . . . . . . . . . . . . F–12 Cómo especificar direcciones indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–13 Ejemplo de direccionamiento indexado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–13 Cómo crear datos para direcciones indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–14 Intersección de los límites de archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–14 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–15 Cómo monitorizar las direcciones indexadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–15 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–16 Instrucciones de archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–16 Efectos de interrupciones de programa en el registro de índice S:24 . . . . . . . . . . . F–16 Cómo especificar una dirección indirecta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–17 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–17 Cómo crear datos para direcciones indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–18 Intersección de los límites de archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–18 Cómo monitorizar las direcciones indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–18 Instrucciones de archivo de direccionamiento – Cómo usar el indicador de archivo (#) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–19 Instrucciones de desplazamiento de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–19 Instrucciones de secuenciador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–20 Instrucciones de copiar archivo y llenar archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . F–21 Constantes numéricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–22 Archivos de datos M0 y M1 – Módulos de E/S especiales . . . . . . . . . . . . . . . . . . . . . . . . . . F–23 Cómo direccionar los archivos M0–M1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–23 Restricciones relativas al uso de las direcciones de archvivo de datos M0-M1 . . . . . . F–23 Cómo monitorizar direcciones de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–24 Procesadores SLC 5/02, SLC 5/03 y SLC 5/04 con la monitorización de M0 y M1 inhabilitada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–24 Procesadores SLC 5/03 y SLC 5/04 con la monitorización de M0 y M1 habilitada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–24 Cómo transferir datos entre los archivos de procesador y archivos M0 ó M1 . . . . . . . F–25 Tiempo de acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–26 Cómo minimizar el tiempo de escán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–26 Cómo capturar los datos de archivo M0–M1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–27 xx
  • 23. 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
  • 24. Preface Manual de referencia del juego de instrucción xxii
  • 25. 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
  • 26. Preface Juego de instrucciones del manual de referencia Quién debe usar este manual Use este manual si es responsable del diseño, instalación, programación o localización y corrección de fallos los sistemas de control que emplean los pequeños controladores de lógica de Allen-Bradley. Debe poseer un entendimiento básico de los productos SLC 500t. Si no lo tiene, póngase en contacto con su representante local Allen-Bradley para obtener la instrucción técnica correcta antes de usar este producto. Propósito de este manual Este manual constituye una guía de referencia de los procesadores SLC 500 y los controladores MicoLogix 1000. Este manual: • proporciona el archivo de estado • proporciona las instrucciones usadas en sus programas de lógica de escalera • suplementa la ayuda en línea disponible en el terminal P-2
  • 27. Prefacio Contenido de este manual Capítulo Título Contenido Describe el propósito, historia y alcance de este Prefacio manual. También define el grupo de lectores para que ha sido creado el manual. Describe cómo usar las instrucciones de lógica de 1 Instrucciones básicas escalera para funciones de reemplazo de relés, contaje y temporización. Instrucciones de Describe las instrucciones de comparación las 2 comparación cuales le permiten comparar los valores de datos. Describe las instrucciones matemáticas que le 3 Instrucciones matemáticas permiten realizar operaciones de cálculo y matemáticas en palabras individuales. Describe cómo realizar las instrucciones de manejo Instrucciones de manejo de 4 de datos, incluyendo las instrucciones de mover y datos lógicas e instrucciones FIFO y LIFO. Instrucciones de flujo de Describe las instrucciones de lógica de escalera 5 programa que afectan el flujo y ejecución del programa. Instrucciones de aplicación Describe las instrucciones asociadas con el 6 específica desplazamiento de bit, secuenciador y STI. Cómo usar las instrucciones Describe los cuatro modos de la instrucción de alta 7 del contador de alta velocidad y sus instrucciones asociadas. velocidad Instrucciones de Describe la instrucción de comunicación de 8 comunicación mensaje, servicio y sus parámetros asociados. Describe el concepto, ecuación, parámetros asociados y formato del bloque de control para los 9 Instrucción PID procesadores SLC 5/02™, SLC 5/03™ y SLC 5/04™. 10 Instrucciones ASCII Describe las instrucciones ASCII y sus usos. Describe las interrupciones temporizadas Descripción de las rutinas de seleccionables, la interrupción de entrada discreta 11 interrupción e interrupciones de E/S y sus parámetros asociados. Explica los tipos diferentes de protocolos de Descripción de los protocolos 12 comunicación usados con los procesdores SLC de comunicación 500. Localización y corrección de Explica cómo el interpretar y corregir problemas 13 fallos con el software y procesador. P-3
  • 28. Preface Juego de instrucciones del manual de referencia Capítulo Título Contenido Describe los fallos mayores y menores, información diagnóstica, modos de procesador, tiempos de Archivo de estado del Apéndice A escán, velocidades de baudios y direcciones de controlador MicroLogix 1000 nodo del sistema para los controladores MicroLogix 1000. Describe los fallos mayores y menores, información diagnóstica, modos de procesador, tiempos de Apéndice B Archivo de estado SLC escán, tasas de baudio y direcciones de nodo del sistema para los procesadores SLC 500. Proporciona la capacidad de memoria del usuario y Tiempos de ejecución de tiempos de ejecución de instrucción. También Apéndice C instrucciones y uso de describe cómo estimar el uso total de memoria de memoria un sistema. Proporciona latencia de interrupción, información Cómo calcular el tiempo de Apéndice D del tiempo de acceso M0/M1 y hojas de cálculo escán para estimar los tiempos de escán. Referencias de instrucción de Proporciona una lista de instrucciones con sus Apéndice E programación parámetros y tipos de archivo válidos. Organización y Proporciona detalles acerca de archivos de datos Apéndice F direccionamiento del archivo abarcando los formatos de archivo y cómo crear y de datos eliminar datos. Describe los sistemas de numeración hexadecimal, Apéndice G Sistemas numéricos binaria y decimal además del formato de punto (coma) flotante. Proporciona ejemplos de aplicaciones avanzadas Programas de ejemplo de Apéndice H para instrucciones del contador de alta velocidad, aplicación secuenciador y desplazamiento de bit. P-4
  • 29. 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 Descripción general del sistema SLC 500 500 Una presentación de APS para los usuarios principiantes, la cual contiene conceptos básicos con un Comienzo rápido de APS para usuarios enfoque en tareas y ejercicios sencillos, y que permite al principiantes lector comenzar a programar casi inmediatamente. Una manual de procedimientos y referencia para el personal técnico que usa la utilidad de importación/ Manual de usuario de exportación APS para convertir los archivos APS a importación/exportación APS ASCII y, a su vez, de ASCII a archivos APS Guía de referencia rápida del programaĆ dor Una guía de instrucción técnica y referencia rápida de de software SLC 500, no. de publicación APS ABTĆ1747ĆTSJ50ESĊ disponible en PASSPORT al precio de US$50.00 Guía de procedimientos comunes del software SLC 500, no. de publicación Una guía de procedimientos comunes usadas en APS ABTĆ1747ĆTSJ50ESĊdisponible en PASSPORT al precio de $50.00 Un manual de procedimientos para el personal técnico Manual del usuario del software de que usa APS para desarrollar aplicaciones de control programación avanzada (APS) de Rockwell Manual de instalación y operación para Una descripción de cómo instalar y usar su controlador controladores programables de tipo con programable SLC 500 fijo hardware fijo, no. de catálogo 1747ĆNM001 Manual de instalación y operación para Una descripción de cómo instalar y usar su controlador controladores programables de tipo con programable SLC 500 modular hardware modular, no. de publicación 1747Ć6.2ES Una descripción de cómo instalar y usar sus controladores Manual del usuario de controladores MicroLogix 1000. Este manual también contiene datos de MicroLogix 1000, no. de publicación archivo de estado e información del juego de instrucciones 1761Ć6.3ES para los microcontroladores Una lista completa de documentación actual de AllenĆBradley, incluyendo instrucciones de pedido. AllenĆBradley Publication Index, no. de También indica la disponibilidad de los documentos en publicación SD499 CDĆROM o multilingües Un glosario de términos y abreviaturas de la Glosario de automatización industrial automatización industrial AllenĆBradley, no. de publicación AGĆ7.1ES P-5
  • 30. Preface Juego de instrucciones del manual de referencia Técnicas comunes usadas en este manual Las convenciones siguientes se usan en todo este manual: • Las listas con viñetas proporcionan información, no pasos de procedimento. • Las listas numeradas proporcionan pasos secuenciales o información de jerarquía. • El texto que aperece en estos caracteres indica palabras o frases que usted debe escribir. • El texto itálico se usa para destacar. • Los nombres de las teclas corresponden a los nombres indicados y aparecen en letras negritas y mayúsculas dentro de corchetes (por ejemplo, [ENTER]). Un icono de la tecla de función corresponde a el nombre de la tecla de función que OFFLINE CONFIG SAVE & debe presionar, tal como EXIT . CONFIG F8 La tabla siguiente resume las convenciones usadas para diferenciar entre las posiciones del interruptor de llave SLC 5/03 y SLC 5/40, los modos del procesador y la presentación en pantalla real en la línea de estado de APS. Referencias de la posición Referencias al modo de Referencias a la línea de del interruptor de llave procesador estado Posición RUN Modo de marcha RUN Modo de marcha REM RUN Modo de programa REM PROG Prueba - modo de paso único REM SRG Posición REMote Prueba - modo de escán único REM SSN Prueba - modo de escán REM CSN continuo Posición PROGram Modo de programa PROG P-6
  • 31. 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 Propósito Página Mnemónico Nombre 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 Enclav. de salida y OTL activa un bit cuando el renglón está ejecutado 1-11 OTU desenclavamiento y este bit retiene su estado cuando el renglón no de salida 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. OSR Un frente ascenĆ Ocasiona un evento de una sola vez. 1-12 dente continúa en la página siguiente 1–1
  • 32. Preface Manual de referencia del juego de instrucciones Instrucciones del temporizador/contador Instrucción Propósito Página Mnemónico Nombre TON Temporizador Cuenta los intervalos de la base de tiempo cuando 1-18 a la conexión la instrucción es verdadera. TOF Temporizador Cuenta los intervalos de la base de tiempo cuando 1-19 a la desconexión la instrucción es falsa. RTO Temporizador reĆ Cuenta los intervalos de la base de tiempo cuando 1-21 tentivo la instrucción es verdadera y retiene el valor acumuĆ lador cuando la instrucción se hace falsa o cuando ocurre un ciclo de alimentación eléctrica. CTU Conteo progresivo Incrementa el valor acumulador a cada transición 1-26 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. CTD Conteo regresivo Disminuye el valor acumulado a cada transición de 1-28 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. HSC Contador de alta Cuenta los impulsos de alta velocidad de una 1-29 velocidad entrada de alta velocidad de controlador fijo. RES Restablecimiento Pone a cero el valor acumulado y los bits de estado 1-34 de un temporizador o contador. No use con temporizadores TOF. Acerca de las instrucciones básicas Estas instrucciones, cuando se usan en programas de escalera, representan circuitos de lógica cableados usados para el control de una máquina o equipo. Las instrucciones básicas se dividen en tres grupos: bit, temporizador y contador. Antes de aprender acerca de las instrucciones en cada uno de estos grupos, le recomendamos que lea la descripción general que precede dicho grupo: • Descripción general de las instrucciones de bit • Descripción general de las instrucciones de temporizador • Descripción general de las instrucciones de contador 1–2
  • 33. Instrucciones básicas Descripción general de las instrucciones de bit Estas instrucciones operan en un solo bit de datos. Durante la operación, el procesador puede establecer o restablecer el bit, según la continuidad lógica de los renglones de escalera. Puede direccionar un bit tantas veces como requiera su programa. Nota No se recomienda usar la misma dirección con instrucciones de salida múltiples. Las instrucciones de bit se usan con los archivos de datos siguientes: Archivos de datos de salida y entrada (archivos O:0 e I:1) Estos representan salidas y entradas externas. Los bits en archivo 1 se usan para representar las entradas externas. En la mayoría de los casos, una sola palabra de 16 bits en estos archivos corresponderá a una ubicación de ranura en su controlador con los números de bit correspondientes a números de terminal de entrada o salida. Los bits de la palabra no usados no están disponibles para su uso. La tabla a continuación explica el formato de direccionamiento para salidas y entradas. Anote que el formato especifica e como el número de ranura y s como el número de palabra. Cuando trabaje con instrucciones de archivo, haga referencia al elemento como e.s (ranura y palabra) tomados juntos. Formato Explicación O Salida I Entrada : Delimitador del elemento Ranura 0, adyacente a la fuente de alimentación eléctrica en Número de el primer chasis, se aplica al módulo de procesador. Las O:e.s/b e la ranura ranuras posteriores son ranuras de E/S, numeradas desde 1 (decimal) hasta un máximo de 30. Delimitador de palabra. Requerido sólo si es necesario un número de palabra I:e.s/b . según lo indicado a continuación. Requerido si el número de entradas o salidas exceden 16 Número de s para la ranura. Rango: 0Ć255 (el rango acepta tarjetas palabra especiales" de palabras múltiples) / Delimitador de bit Número de Entradas: 0Ć 15 b terminal Salidas: 0Ć 15 1–3
  • 34. Preface Manual de referencia del juego de instrucciones Ejemplos (aplicables al controlador ilustrado en página FĆ12): O:3/15 Salida 15, ranura 3 O:5/0 Salida 0, ranura 5 O:10/11 Salida 11, ranura 10 I:7/8 Entrada 8, ranura 7 I:2.1/3 Entrada 3, ranura 2, palabra 1 Direcciones de palabra: O:5 Palabra de salida 0, ranura 5 O:5.1 Palabra de salida 1, ranura 5 I:8 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 Explicación S Archivo de estado : Delimitador de elemento S:e/b e Número de Rangos de 0Ć15 en un controlador fijo o SLC 5/01, 0Ć32 en un elemento procesador SLC 5/02, 0Ć83 en un SLC 5/03 OS300, 0-96 en un SLC 5/03 OS301 y posterior y 5/04 OS400 y 0Ć164 en un SLC 5/04. Estos son elementos de 1 palabra. 16 bits por cada elemento / Delimitador de bit b Número de Ubicación del bit dentro del elemento. Rangos de 0Ć15. bit Ejemplos: 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). 1–4
  • 35. Instrucciones básicas Archivo de datos de bit (B3:) El archivo 3 constituye el archivo de bit, usado principalmente para instrucciones de bit (lógica de relé), registros de desplazamiento y secuenciadores. El tamaño máximo del archivo es 256 elementos de 1 palabra, un total de 4096 bits. Puede direccionar los bits especificando el número de elemento (0 a 255) y el número de bit (0 a 15) dentro del elemento. También puede direccionar los bits numerándolos secuencialmente, 0 a 4095. Además, puede direccionar los elementos de este archivo. Formato Explicación Ejemplos B Archivo de tipo de bit Número de archivo. Número 3 es el archivo predeterminado. Un número de archivo entre B3:3/14 Bf:e/b f 10Ć255 se puede usar si se requiere Bit 14, elemento 3 almacenamiento adicional. : Delimitador de elemento Rangos de 0Ć255. Estos son Número de B3:252/00 e elementos de 1 palabra. 16 bits elemento Bit 0, elemento 252 por cada elemento. / Delimitador de bit Número de Ubicación del bit dentro del B3:9 b bit elemento. Rangos de 0Ć15. Bits 0Ć15, elemento 9 Formato Explicación Ejemplos B Idéntico a lo anterior. B3/62 Bf/b f Idéntico a lo anterior. Bit 62 / Idéntico a lo anterior. Número de Ubicación numérica del bit dentro B3/4032 b bit del archivo. Rangos de 0Ć4095. Bit 4032 Archivos de datos de temporizador y contador (T4: y C5:) Vea las páginas 1–16 y 1–24 respectivamente para obtener los formatos de direccionamiento. 1–5
  • 36. Preface Manual de referencia del juego de instrucciones Archivo de datos de control (R6:) Estas instrucciones usan varios bits de control. Estos son elementos de 3 palabras usados con desplazamiento de bit, FIFO, LIFO, instrucciones de secuenciador e instrucciones ASCII ABL, ACB, AHL, ARD, ARL, AWA y AWT. La palabra 0 es la palabra de estado, la palabra 1 indica la longitud de datos almacenados y la palabra 2 indica la posición. Esto se muestra en la figura siguiente. En el elemento de control hay ocho bits de estado y un byte de código de error. Un controlador fijo y un elemento de control SLC 5/01 tienen seis bits. Los bits EU y EM no son usados por el procesador. Elemento de control 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Pal. EN EU DN EM ER UL IN FD Código de error 0 Longitud de arreglo de bit o archivo (LEN) 1 Indicador de bit o posición (POS) 2 Bits direccionables Palabras direccionables EN = Habilitación LEN = Longitud EU = Habilitación de descarga POS = Posición DN = Efectuado EM = Pila vacía ER = Error UL = Descarga (desplazamiento de bit solamente) IN = Inhibición (Este es el bit de marcha [RN bit 9] para instrucciones ASCII) FD = Encontrado (SQC solamente) El código de error se muestra en HEX y no es direccionable. Asigne direcciones de control según lo siguiente: Formato Explicación R Archivo de control Número de archivo. Número 6 es el archivo predeterminado. Se puede usar Rf:e f un número de archivo entre 10Ć255 se puede usar si se requiere almacenamiento adicional. : Delimitador de elemento Número de Rangos de 0Ć255. Estos son elementos de 3 palabras. Vea e elemento la figura anterior. 1–6
  • 37. 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.LEN Valor de longitud R6:2.2 ó R6:2.POS Valor de posición R6:2.1/0 Bit 0 del valor de longitud R6:2.2/0 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
  • 38. Preface Manual de referencia del juego de instrucciones Asigne las direcciones de enteros según lo siguiente: Formato Explicación N Archivo de enteros Número de archivo. Número 7 es el archivo predeterminado. Un número de f Nf:e/b archivo entre 10Ć255 se puede usar si se requiere almacenamiento adicional. : Delimitador de elemento Número de Rangos de 0Ć255. Estos son elementos de 1 palabra. 16 bits e elemento por cada elemento. / Delimitador de bit Número de b Ubicación del bit dentro del elemento. Rangos de 0Ć15. bit Ejemplos: N7:2 Elemento 2, archivo de enteros 7 N7:2/8 Bit 8 en elemento 2, archivo de enteros 7 N10:36 Elemento 36, archivo de enteros 10 (archivo 10 designado como un archivo de enteros por el usuario) 1–8
  • 39. Instrucciones básicas Examine si cerrado (XIC) 3 3 3 3 3 3 Use la instrucción XIC en su programa de escalera para determinar si un bit está ] [ activado. Cuando la instrucción se ejecuta, si la dirección de bit está activada (1), Instrucción de entrada 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 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á Instrucción de entrada 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
  • 40. Preface Manual de referencia del juego de instrucciones Active la salida (OTE) 3 3 3 3 3 3 Use una instrucción OTE en su programa de escalera para activar/desactivar un bit ( ) cuando las condiciones de renglón son evaluada como verdaderas/falsas Instrucción de salida respectivamente. Un ejemplo de un dispositivo que se activa y desactiva es una salida cableada a una luz piloto (direccionada como O:0/4). Las instrucciones OTE se restablecen cuando: • Entra o regresa al modo de marcha REM o prueba REM o cuando se restaura la alimentación eléctrica. • El OTE se programa dentro de una zona de restablecimiento de control maestro (MCR) inactiva o falsa. Nota Un bit que está establecido dentro de una subrutina usando una instrucción OTE permanece establecido hasta que la subrutina se escanee nuevamente. 1–10
  • 41. Instrucciones básicas Enclavamiento de salida (OTL) y desenclavamiento de salida (OTU) 3 3 3 3 3 3 OTL y OTU son instrucciones de salida retentivas. OTL sólo puede activar un bit, (L) en cambio, OTU sólo puede desactivar un bit. Estas instrucciones se usan generalmente en parejas, con ambas instrucciones direccionando el mismo bit. (U) Su programa puede examinar un bit controlador por instrucciones OTL y OTU Instrucciones de salida 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
  • 42. Preface Manual de referencia del juego de instrucciones One–Shot Rising (OSR) 3 3 3 3 3 3 La instrucción OSR es una instrucción de entrada retentiva que ocasiona un evento [OSR] durante una sola vez. Use la instrucción OSR cuando un evento debe comenzar Instrucción de entrada 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
  • 43. Instrucciones básicas Procesadores SLC 600 y SLC 50/1 I:1.0 B3 O:3.0 ] [ [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. I:1.0 B3 TOD ] [ [OSR] TO BCD 0 0 Source Tf:0.ACC 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 temporizaĆ dor, 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 B3 O:3.0 ] [ [OSR] ( ) 0 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 B3 O:3.0 ] [ [OSR] ( ) 0 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
  • 44. Preface Manual de referencia del juego de instrucciones Cuando use un procesador SLC 500 ó SLC 5/01, no ubique condiciones de entrada después de la instrucción OSR en un renglón. Puede ocurrir una operación inesperada. Procesadores SLC 5/02, SLC 5/03 y LSC 5/04 y controladores MicroLogix 1000 I:1.0 B3 B3 O:3.0 ] [ ]/[ [OSR] ( ) 0 1 0 0 B3 B3 O:3.0 ] [ [OSR] ( ) 2 3 1 Los procesadores SLC 5/02, SLC 5/03 y SLC 5/04 y controladores MicroLogix 1000 le permiten usar una instrucción OSR por cada salida en un renglón. 1–14
  • 45. Instrucciones básicas Descripción general de las instrucciones de temporizador Cada dirección de temporizador se compone de un elemento de 3 palabras. Palabra 0 es la palabra de control, palabra 1 almacena el valor preseleccionado y palabra 2 almacena el valor acumulado. 15 14 13 Pal. 0 EN TT DN Uso interno Pal. 1 Valor preseleccionado Pal. 2 Valor de acumulador Bits direccionables 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
  • 46. Preface Manual de referencia del juego de instrucciones Precisión del temporizador La precisión del temporizador se refiere al tiempo transcurrido entre el momento en que una instrucción de temporizador está habilitada y el momento en que el intervalo temporizado se ha completado. La inexactitud causada por el escán de programa puede ser mayor que la base de tiempo del temporizador. También debe considerar el tiempo necesario para activar el dispositivo de salida. La precisión de temporización es ± 0.01 a +0 segundos, con un escán de programa de hasta 2.5 segundos. El temporizador de 1 segundo mantiene la precisión con un escán de programa de hasta 1.5 segundos. Si sus programas pueden exceder 1.5 ó 2.5 segundos, repita el renglón de instrucción del temporizador para que el renglón sea escaneado dentro de estos límites. Nota La temporización podría resultar inexacta si las instrucciones de salto (JMP), etiqueta (LBL), salto a subrutina (JSR) o subrutina (SBR) saltan el renglón que contiene una instrucción de temporizador mientras que el temporizador esté temporizando. Si la duración de salto es menor de 2.5 segundos, no se pierde ningún tiempo; si la duración de salto excede 2.5 segundos, ocurre un error de temporización no detectable. Cuando se usan subrutinas, es necesario que un temporizador esté ejecutado a un mínimo de cada 2.5 segundos para evitar un error de temporización. Estructura de direccionamiento Direccione bits y palabras usando el formato Tf:e.s/b Explicación T Archivo de temporizador Número de archivo. Para los procesadores SLC 500, el número predetermiĆ nado es 4. Se puede usar un número entre 10Ć255 para almacenamiento f adicional. El único número de archivo válido es 4 para los controladores MicroLogix 1000. : Delimitador de elemento Estos son elementos de 3 palabras. Para los procesadores Número de e SLC 500 el rango es 0Ć255. Para los controladores elemento MicroLogix 1000 el rango es de 0Ć39. . Elemento de palabras s subelemento / delimitador de bit b bit 1–16
  • 47. 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
  • 48. Preface Manual de referencia del juego de instrucciones Temporizador a la conexión (TON) 3 3 3 3 3 3 TON TIMER ON DELAY (EN) Use la instrucción TON para activar o desactivar una salida después de que el Timer Time Base T4:0 0.01 (DN) temporizador haya estado activado durante un intervalo de tiempo preseleccionado. Preset Accum 120 0 La instrucción TON comienza a contar los intervalos de la base de tiempo cuando las condiciones de renglón se hacen verdaderas. Con tal que las condiciones de Instrucción de salida renglón permanezcan verdaderas, el temporizador ajusta su valor acumulado (ACC) durante cada evaluación hasta alcanzar el vazor predeterminado (PRE). Cuando las condiciones de renglón se hacen falsas, el valor acumulado se reinicializa sin importar si el temporizador ha sobrepasado el límite de tiempo. Uso de los bits de estado Y permanece establecido Este bit Se establece cuando hasta ocurrir uno de los siguientes eventos el valor acumulado es igual o Bit de efectuado del las condiciones de renglón mayor que el valor temporizador DN (bit 13) se hacen falsas preseleccionado las condiciones de renglón las condiciones de renglón Bit de temporización del son verdaderas y el valor se hacen falsas o cuando el temporizador TT (bit 14) acumulado es menor que el bit de efectuado esté valor preseleccionado establecido Bit de habilitación del las condiciones de renglón las condiciones de renglón temporizador EN (bit 15) son verdaderas se hacen falsas Cuando el procesador cambia del modo de marcha REM o prueba REM al modo de programa REM o la alimentación eléctrica del usuario se pierde durante la tempori- zación de la instrucción, pero no ha alcanzado su valor preseleccionado, ocurre lo siguiente: • El bit de habilitación del temporizador (EN) permanece establecido. • El bit de temporización del temporizador (TT) permanece establecido. • El valor acumulado (ACC) permanece sin cambio. Se puede ocurrir lo siguiente al regresar al modo de marcha REM o prueba REM: Condición Resultado El bit EN permanece establecido. Si el renglón verdadero: El bit TT permanece establecido El valor ACC está puesto a cero. El bit EN está restablecido. Si el renglón es falso: El bit TT está restablecido. El valor ACC está puesto a cero. 1–18
  • 49. Instrucciones básicas Temporizador a la desconexión (TOF) 3 3 3 3 3 3 TOF TIMER OFF DELAY (EN) Use la instrucción TOF para activar o desactivar una salida después de que su Timer T4:1 Time Base 0.01 (DN) renglón ha estado desactivado durante un intervalo de tiempo preseleccionado. La Preset 120 Accum 0 instrucción TOF comienza a contar los intervalos de la base de tiempo cuando el Instrucción de salida renglón efectúa una transición de verdadero a falso. Con tal que las condiciones permanezcan falsas, el temporizador incrementa su valor acumulado (ACC) durante cada escán hasta alcanzar el valor preseleccionado (PRE). El valor acumulado se restablecerá cuando las condiciones de renglón se hagan verdaderas, sin importar si el tiempo en el temporizador se ha agotado. Uso de los bits de estado Y permanece establecido Este bit Se establece cuando hasta ocurrir uno de los siguientes eventos Bit de efectuado del las condiciones de renglón las condiciones de renglón temporizador DN (bit 13) son verdaderas se hacen falsas y el valor acumulado es mayor o igual que el valor preseleccionado Bit de temporización del las condiciones de renglón las condiciones de renglón temporizador TT (bit 14) son falsas y el valor se hacen verdaderas o acumulado es menor que el cuando el bit de efectuado se valor preseleccionado restablece Bit de habilitación del las condiciones de renglón las condiciones de renglón temporizador EN (bit 15) son verdaderas se hacen falsas Cuando la operación del procesador cambia del modo de marcha REM o prueba REM al modo de programa REM o cuando se pierde la alimentación eléctrica del usuario durante la temporización de una instrucción de retardo con temporizador desactivado, pero no ha alcanzado su valor preseleccionado, ocurre lo siguiente: • El bit de habilitación del temporizador (EN) permanece establecido. • El bit de temporización del temporizador (TT) permanece establecido. • El bit de efectuado del temporizador (DN) permanece establecido. • El valor acumulado (ACC) permanece sin cambio. 1–19
  • 50. Preface Manual de referencia del juego de instrucciones Se puede ocurrir lo siguiente al regresar al modo de marcha REM o prueba REM: Condición Resultado El bit TT se restablece. El bit DN permanece establecido. Si el renglón es verdadero: El bit EN se establece. El valor ACC se restablece. El bit TT se restablece. El bit DN se restablece. Si el renglón es falso: 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 El TOF temporiza dentro de una pareja MCR inactiva. 1–20
  • 51. Instrucciones básicas Temporizador retentivo (RTO) 3 3 3 3 3 3 RTO RETENTIVE TIMER ON (EN) Use la instrucción RTO para activar o desactivar una salida después que el Timer T4:2 Time Base 0.01 (DN) temporizador haya estado desactivado durante un intervalo de tiempo Preset 120 Accum 0 preseleccionado. La instrucción RTO es una instrucción retentiva que comienza a Instrucción de salida contar los intervalos de base de tiempo cuando las condiciones de renglón se hacen verdaderas. La instrucción RTO retiene su valor acumulado cuando ocurre cualquiera de los eventos siguientes: • Las condiciones de renglón se hacen falsas. • Cambia la operación del procesador del modo de marcha REM o prueba REM al modo de programa REM. • Se corta la alimentación eléctrica del procesador (siempre que se mantenga una batería auxiliar). • Ocurre un fallo. Cuando regresa el procesador al modo de marcha REM o prueba REM y/o las condiciones de renglón se hacen verdaderas, la temporización continúa desde el valor acumulado retenido. Los temporizadores retentivos miden el período acumulativo durante el cual las condiciones de renglón son verdaderas mediante la retención de su valor acumulado. Uso de los bits de estado Y permanece establecido Este bit Se establece cuando hasta ocurrir uno de los siguientes eventos el valor acumulado es igual o Bit de efectuado del la instrucción RES apropiada mayor que el valor temporizador DN (bit 13) se habilita preseleccionado las condiciones de renglón las condiciones de renglón Bit de temporización del son verdaderas y el valor se hacen falsas o cuando se temporizador TT (bit 14) acumulado es menor que el establece el bit de efectuado valor preseleccionado Bit de habilitación del las condiciones de renglón las condiciones de renglón temporizador EN (bit 15) son verdaderas se hacen falsas Nota Para restablecer el valor acumulado del temporizador retentivo y los bits de estado después de que el renglón RTO se hace falso, debe programar una instrucción de restablecimiento (RES) con la misma dirección en otro renglón. 1–21
  • 52. Preface Manual de referencia del juego de instrucciones Cuando el procesador cambia del modo de marcha REM o prueba REM al modo de programa REM o fallo REM, o cuando se pierde la alimentación eléctrica del usuario durante la temporización del temporizador, pero todavía sin alcanzar el valor preseleccionado, ocurre lo siguiente: • El bit de habilitación (EN) del temporizador permanece establecido. • El bit de temporización (TT) del temporizador permanece establecido. • El valor acumulado (ACC) permanece sin cambio. Puede ocurrir lo siguiente al regresar al modo de marcha REM o prueba REM o cuando se restaura la alimentación eléctrica: Condición Resultado El bit TT permanece establecido. El bit EN permanece establecido. Si el renglón es verdadero: El valor ACC permanece sin cambio y vuelve a incrementar. El bit TT se restablece. El bit DN permanece en su último estado. Si el renglón es falso: El bit EN se restablece. El valor ACC permanece en su último estado. 1–22
  • 53. Instrucciones básicas Uso de los contadores Elementos del archivo de datos del contador Cada dirección de contador se compone de un elemento de archivo de datos de 3 palabras. Palabra 0 es la palabra de control y contiene los bits de estado de la instrucción. Palabra 1 es el valor preseleccionado. Palabra 2 es el valor acumulado. La palabra de control para las instrucciones de contador incluye seis bits de estado, según lo indicado a continuación: 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Pal. 0 CU CD DN OV UN UA Uso interno Pal. 1 Valor preseleccionado Pal. 2 Valor acumulado Bits direccionables 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
  • 54. Preface Manual de referencia del juego de instrucciones Valor preseleccionado (PRE) Especifica el valor que el contador debe alcanzar antes que el controlador establezca el bit de efectuado. Cuando el valor del acumulador se hace igual o mayor que el valor preseleccionado, se establece el bit de estado efectuado. Puede usar este bit para controlar un dispositivo de salida. Los valores preseleccionados y acumulados para los contadores oscilan entre –32,768 hasta +32,767 y se almacen como enteros con signos. Los valores negativos se almacenan en forma de complemento de dos. Estructura de direccionamiento Asigne direcciones de contador usando el formato Cf:e.s/b Explicación C Contador Número de archivo. Para los procesadores SLC 500, el valor predeterminado es 5. Un número de archivo entre 10-255 se f puede usar para obtener almacenamiento adicional. El único número de archivo válido es 5 para los controladores MicroLogix 1000. : Delimitador de elemento Estos son elementos de 3 palabras. Número de Para los procesadores SLC 500 el e elemento rango es 0Ć255. Para los controladores MicroLogix 1000 el rango es de 0Ć39. . Elemento de palabra s Subelemento / Delimitador de bit b Bit 1–24
  • 55. 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
  • 56. Preface Manual de referencia del juego de instrucciones Cómo funcionan los contadores La figura siguiente muestra cómo funciona un contador. El valor del contador debe permanecer dentro del rango de ±32768 a +32767. Si el valor de conteo excede +32767 ó desciende a menos de ±32768, se establece un bit de overflow (OV) o underflow (UN) de estado del contador. Un contador se puede poner a cero usando la instrucción de restablecimiento (RES). -32,768 0 +32,767 (CTU) Conteo progresivo Valor acumulado del contador Conteo regresivo (CTD) Underflow Overflow Conteo progresivo (CTU) 3 3 3 3 3 3 CTU COUNT UP (CU) El CTU es una instrucción que cuenta las transiciones de renglón de falso a Counter C5:0 Preset 120 (DN) verdadero. Las transiciones de renglón pueden ser provocadas por eventos Accum 0 ocurriendo en el programa (de la lógica nterna o dispositivos de campo externos) Instrucción de salida 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
  • 57. Instrucciones básicas Uso de los bits de estado Y permanece establecido Este bit Se establece cuando hasta ocurrir uno de los siguientes eventos Bit de overflow de conteo el valor acumulado cambia a se ejecuta una instrucción progresivo OV -32,768 (desde +32,767) y RES con la misma dirección (bit 12) continúa contando desde ese que la instrucción CTU O punto BIEN el conteo se reduce a un valor menor o igual que +32,767 con una instrucción CTD Bit de efectuado DN (bit 13) el valor acumulado es igual o el valor acumulado se hace mayor que el valor menor que el valor preseleccionado preseleccionado Bit de habilitación de conteo las condiciones de renglón las condiciones de renglón progresivo CU son verdaderas se hacen falsas O BIEN se (bit 15) habilita una instrucción RES con la misma dirección que la instrucción CTU El valor acumulado se retiene después que la instrucción CTU se hace falsa, o cuando la alimentación eléctrica se corta y luego se restaura al controlador. Además, el estado activado o desactivado de los bits de contador efectuado, overflow y underflow es retentivo. El valor acumulado y los bits de control se restablecen cuando se habilita la instrucción RES correcta. Los bits CU siempre se establecen antes de introducir los modos de marcha REM o prueba REM. 1–27
  • 58. Preface Manual de referencia del juego de instrucciones Conteo regresivo (CTD) 3 3 3 3 3 3 CTD COUNT DOWN (CD) El CTD es una instrucción que cuenta las transiciones de renglón de falso a Counter Preset C5:1 120 (DN) verdadero. Las transiciones de renglón pueden ser causadas por eventos que Accum 0 ocurren en el programa, tales como piezas pasando por un detector o accionando un final de carrera. 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 Y permanece establecido Este bit Se establece cuando hasta ocurrir uno de los siguientes eventos Bit de underflow de conteo el valor acumulado cambia a una instrucción RES con la regresivo UN -32,768 (desde +32,767) y misma dirección que la (bit 11) continúa contando regresivaĆ instrucción CTD se ejecuta O mente desde ese punto BIEN el conteo es incrementado menor o igual que +32,767 con una instrucción CTU Bit de efectuado DN (bit 13) el valor acumulado es igual o el valor acumulado se hace mayor que el valor menor que el valor preseleccionado preseleccionado Bit de habilitación de conteo las condiciones de renglón las condiciones de renglón regresivo CD son verdaderas se hacen falsas O BIEN se (bit 14) 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
  • 59. Instrucciones básicas Contador de alta velocidad (HSC) 3 3 HSC HIGH SPEED COUNTER (CU) El contador de alta velocidad constituye una variación del contador CTU. La Counter C5:0 Preset 120 (DN) instrucción HSC se habilita cuando la lógica de renglón es verdadera y se inhabilita Accum 0 cuando la lógica de renglón es falsa. Instrucción de salida Para obtener información acerca de la instrucción del contador de alta velocidad del controlador MicroLogix 1000, vea el capítulo 7. Nota La instrucción HSC cuenta transiciones que ocurren en el terminal de entrada I:0/0. La instrucción HSC no cuenta las transiciones de renglón. Habilita o inhabilita el renglón HSC para habilitar o inhabilitar el conteo de transiciones que ocurren en la terminal de entrada I:0/0. Recomendamos colocar la instrucción HSC en un renglón incondicional. No coloque la instrucción XIC con la dirección I:0/0 en serie con la instrucción HSC ya que los conteos se perderán. El HSC es una contador CTU especial para uso con los procesadores SLC fijos y SLC 5/01 de 24 VCC. Los bits de estado y valores acumulados del HSC son no retentivos. Nota Esta instrucción proporciona el conteo de alta velocidad para los controladores de E/S fijos con entradas de 24 VCC. Se permite una sola instrucción HSC por cada controlador. Para usar la instrucción, debe cortar el puente según se indica a continuación. Se recomienda un cable blindado para reducir el ruido a la entrada. Operación del contador de alta velocidad Para la operación del contador de alta velocidad, hay que realizar los pasos siguientes: 1. Desconecte la alimentación eléctrica del controlador fijo. 2. Quite el envolvente del SLC 500. 3. Localice y corte el cable del puente J2. No lo quite completamente, pero asegúrese que los extremos del cable del puente cortado no hagan contacto entre sí. 1–29
  • 60. Preface Manual de referencia del juego de instrucciones 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 J2 4. Vuelva a poner la cubierta. Nota Ahora la entrada I:0/0 funciona en modo de alta velocidad. La dirección del bit de habilitación del contador de alta velocidad es C5:0/CU. Cuando las condiciones de renglón son verdaderas, se establece C5:0/CU y se cuentan las transiciones que ocurren en la entrada I:0/0. Para comenzar el conteo de alta velocidad, cargue un valor preseleccionado en C5:0.PRE y habilite el renglón de contador. Para contar un valor preseleccionado, realice uno de los pasos siguientes: • Cambie al modo de marcha REM o prueba REM de otro modo. • Encienda el procesador en modo de marcha REM. • Restablezca el HSC usando la instrucción RES. La recarga automática ocurre cuando el HSC por sí mismo establece el bit DN a la interrupción. Cada transición de entrada que ocurre en entrada I:0/0 causa que el HSC acumulado se incremente. Cuando el valor acumulado es igual que el valor preseleccionado, se establece el bit de efectuado (C5:0/DN), el valor acumulado se pone a cero y el valor preseleccionado (C5:0.PRE) se carga en el HSC como preparación para la próxima transición de alta velocidad en la entrada I:0/0. Su programa de escalera debe consultar el bit de efectuado (C5:0/DN) para determinar el estado del HSC. Una vez que el bit de efectuado haya sido detectado como establecido, el programa de escalera debe poner a cero el bit C5:0/DN (usando la instrucción OTU de desenclavamiento) antes de que el HSC acumulado vuelva a alcanzar el valor preseleccionado; en caso contrario, el bit de overflow (C5:0/OV) se establecerá. 1–30
  • 61. Instrucciones básicas El HSC es diferente que los contadores CTU y CTD. El CTU y CTD son contadores de software. El HSC es un contador de hardware y funciona asincrónicamente al escán del programa de escalera. El valor acumulado HSC (C5:0.ACC) normalmente se actualiza cada vez que el renglón HSC es evaluado en el programa de escalera. Esto significa que el valor del acumulador de hardware HSC se transfiere al acumulador de software HSC. Use solamente la instrucción OTE para transferir este valor. La instrucción HSC pone a cero inmediatamente el bit C5:0/UA a continuación de la actualización acumulada. Muchos conteos HSC pueden ocurrir entre las evaluaciones HSC, los cuales provocarían la inexactitud del bit C5:0.ACC cuando éste sea usado en un programa de escalera. Para permitir un valor acumulado HSC exacto, el bit de acumulado de actualización (C5:0/UA) causa que C5:0.ACC sea actualizado inmediatamente al estado del acumulador de harware cuando se establece. Use la instrucción RES para restablecer el contador de alta velocidad en dirección C5:0. La instrucción HSC pone a cero el bit de estado, el acumulador y carga el valor preseleccionado durante: • el encendido • entrada en el modo de marcha REM • un restablecimiento Elementos de datos del contador de alta velocidad La dirección C5:0 es el elemento de 3 palabras del contador HSC. 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Pal. 0 CU CD DN OV UN UA No usado Pal. 1 Valor preseleccionado Pal. 2 Valor de acumulador CU = Bit de habilitación de conteo progresivo CD = Bit de habilitación de conteo regresivo DN = Bit de efectuado OV = Bit de overflow UN = Bit de underflow UA = Actualización de acumulador (HSC solamente) 1–31
  • 62. Preface Manual de referencia del juego de instrucciones • La palabra 0 contiene los bits de estado siguientes de la instrucción HSC: – El bit 10 (UA) actualiza la palabra de acumulador del HSC para reflejar el estado inmediato del HSC cuando es verdadero. – El bit 12 (OV) indica la ocurrencia de un overflow de HSC. – El bit 13 (DN) indica si el valor preseleccionado de HSC ha sido alcanzado. – El bit 15 (CU) muestra el estado de habilitación/inhabilitación de la instrucción HSC. • La palabra 1 contiene el valor preseleccionado que se carga en el HSC cuando se ejecuta la instrucción RES, o cuando se establece el bit de efectuado o cuando se efectúa el encendido inicial. • La palabra 2 contiene el valor del acumulador HSC. Esta palabra es actualizada cada vez que la instrucción HSC es evaluada y cuando el bit del acumulador de actualización es establecido usando una instrucción OTE. Este acumulador es de sólo lectura. Cualquier valor escrito en el acumulador resulta sobrescrito por el contador de alta velocidad durante la evaluación de instrucción, restablecimiento o introducción del modo de marcha REM. Ejemplo de aplicación En las figuras siguientes, cada uno de los renglones 1, 18 y 31 del archivo de programa principal consiste en una instrucción XIC direccionada al bit de efectuado HSC y una instrucción JSR. Estos renglones consultan el estado del bit de efectuado HSC. Cuando el bit de efectuado es establecido a cualquiera de estos puntos de encuesta, la ejecución del programa se mueve al archivo de subrutina 3, ejecutando la lógica HSC. Después de la ejecución de la lógica HSC, el bit de efectuado es puesto a cero por una instrucción de desenclavamiento y la ejecución de programa retorna al archivo de programa principal. 1–32
  • 63. Instrucciones básicas Ejemplo de aplicación – Archivo 2 (consulta del bit DN en el programa principal) JSR C5:0 Rung 1 ] [ JUMP TO SUBROUTINE 3 DN Rung 2 ] [ ] [ ] [ ( ) Rung 17 ] [ ] [ ] [ ( ) JSR C5:0 Rung 18 ] [ JUMP TO SUBROUTINE 3 DN Rung 19 ] [ ] [ ] [ ( ) Rung 30 ] [ ] [ ] [ ( ) JSR C5:0 Rung 31 ] [ JUMP TO SUBROUTINE 3 DN Rung 32 ] [ ] [ ] [ ( ) Ejemplo de aplicación – Archivo 3 (ejecución de lógica HSC) Rung 0 ] [ ( ) Lógica de aplicaĆ Rung 1 ] [ ] [ ] [ ( ) ción C5:0 Rung 20 (U) DesenclavaĆ DN miento del bit RET DN Rung 21 RETURN 1–33
  • 64. Preface Manual de referencia del juego de instrucciones Restablecimiento (RES) 3 3 3 3 3 3 (RES) Use una instrucción RES para restablecer un temporizador o contador. Cuando se Instrucción de salida 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: valor ACC a 0 Temporizador bit DN (No use una instrucción RES con TOF.) bit TT bit EN valor ACC a 0 bit OV bit UNt Contador bit DN bit CU bit CD valor POS a 0 bit EN bit EUt bit DN Control bit EM bit ER bit UL IN y FD van al último estado Nota Si usa esta instrucción para restablecer el acumulador HSC del controlador MicroLogix 1000, vea la página 7-21. Cuando restablece un contador, si la instrucción RES está habilitada y el renglón de contador está habilitado, se pone a cero el bit CU o CD. Si el valor preseleccionado del contador es negativo, la instrucción RES establece el valor acumulado a cero. Esto, a su vez, causa que el bit de efectuado sea establecido por una instrucción de conteo regresivo o conteo progresivo. Ya que la instrucción RES restablece el valor acumulado y los bits de efectuado, temporización y habilitados, no use la instrucción RES para restablecer una dirección de temporizador usada en una instrucción TOF. En caso contrario, puede ocurrir la operación inesperada de la máquina o lesiones al personal. 1–34
  • 65. 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 Perforadora activada/desactivada O:3/1 original I:1/5 1–35
  • 66. Preface Manual de referencia del juego de instrucciones Renglón 2:0 Estos renglones iniciarán el movimiento del transportador cuando se presione el botón pulsador. No obstante, hay otras condiciones que se deben cumplir antes de iniciar el transportador. Estas son: la broca debe estar en su posición completamente retraída (original) y la broca no debe sobrepasar su vida útil máxima. Estos renglones también detendrán el transportador cuando se presione el botón pulsador o cuando la vida útil de la broca haya sido excedida. | Botón |Pos. BOTON Enclav. | | ARRANQUE |orig. LS detención MARCHA | | máquina | | I:1.0 I:1.0 I:1.0 B3:0 | |–+––––] [––––––––] [–––––+––––]/[–––––––––––––––––––––––––––––––––––––( )–––––| | | 6 5 | 7 0 | | | Enclav. | | | | MARCHA | | | | máquina | | | | B3:0 | | | +––––] [––––––––––––––––+ | | 0 | Renglón 2:1 | Enclav. Motor | | MARCHA perf. ACTIV. | | máquina | | B3:0 O:3.0 | |––––] [––––––––––––––––––––––––––––––––––––––––––––––––+––––––––––––( )–––––+–| | 0 | 1 | | | | Arranque/detención| | | | transportador | | | | | | | | B3:0 O:3.0 | | | +––[OSR]–––––(L)–––––+ | | 1 0 | Renglón 2:2 Detenga el transportador si existen condiciones que desenclaven el bit de desenclavamiento de MARCHA de la máquina. | Enclav. | Conveyor | | MARCHA | Start/Stop | | máquina | | | B3:0 O:3.0 | |––––]/[–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––| | 0 0 | 1–36
  • 67. 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 Perf. act./desact. O:3/1 I:1/5 Retracción perf. O:3/2 Avance perf. O:3/3 Prof. perforación I:1/4 1–37
  • 68. Preface Manual de referencia del juego de instrucciones Renglón 6:0 Esta sección de la lógica de escalera controla el movimiento ascendente/descendente de la broca para la perforadora. Cuando el transportador posiciona el libro debajo de la broca, se establece el bit de INICIO DE LA SECUENCIA DE PERFORACION. Este renglón usa dicho bit para iniciar la operación de perforación. Ya que el bit es establecido para la operación de perforación completa, se requiere que el OSR pueda desactivar la señal de avance para que la perforadora se retraiga. | Inicio |Subr perf.| Avance | | sec. | OSR | perforadora| | perfor. | | | B3:2 B3:3 O:3.0 | |––––] [–––––––[OSR]–––––––––––––––––––––––––––––––––––––––––––––––––––(L)–––––| | 0 0 3 | Renglón 6:1 Cuando la broca haya perforado el libro, el cuerpo de la broca activará el final de carrera de la PROFUNDIDAD DE PERFORACION. Al ocurrir esto, se desactiva la señal de AVANCE DE LA PERFORADORA y se activa la señal de RETRACCION DE LA PERFORADORA. | Prof. Avance | | perforadora LS perforadora | | I:1.0 O:3.0 | |–+––––] [––––––––––––––––+–––––––––––––––––––––––––––––––––––––+––––(U)–––––+–| | | 4 | | 3 | | | | Primer |Posición | | Retracc. | | | | paso |orig. LS | | perforadora| | | S:1 I:1.0 | | O:3.0 | | | +––––] [––––––––]/[–––––+ +––––(L)–––––+ | | 15 5 2 | Renglón 6:2 Cuando la broca se retrae (después de efectuar una perforación), el cuerpo de la broca activará el final de carrera de POSICION ORIGINAL DE LA BROCA. Al ocurrir esto, se desactiva la señal de RETRACCION DE LA BROCA, el bit de INICIO DE LA SECUENCIA DE PERFORACION se activa para indicar el fin del proceso de perforación y el transportador vuelve a iniciarse. | Posición |Retracción Retracción | | orig. LS |perforadora perforadora | | I:1.0 O:3.0 O:3.0 | |––––] [––––––––] [––––––––––––––––––––––––––––––––––+–––––––––––––––(U)–––––+–| | 5 2 | 2 | | | | Inicio | | | | secuencia | | | | perforadora| | | | B3:2 | | | +–––––––––––––––(U)–––––+ | | | 0 | | | | Enclav. |Arranque/ | | | | MARCHA |detención | | | | máquina |transport. | | | | B3:0 O:3.0 | | | +––––] [––––––––(L)–––––+ | | 0 0 | 1–38
  • 69. Instrucciones de comparación 2 Instrucciones de comparación Este capítulo contiene información general acerca de instrucciones de comparación y explica cómo funcionan en su programa de aplicación. Cada una de las instrucciones de comparación incluye información acerca de: • cómo debe aparecer el símbolo de instrucción • cómo usar la instrucción Además, la última sección contiene un ejemplo de aplicación para una perforadora de papel que muestra el uso de instrucciones de comparación. Instrucciones de comparación Instrucción Propósito Página Mnemónico Nombre EQU 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 Probar si un valor es menor o igual que un segundo 2-4 igual que valor. 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 2-5 valor. MEQ Comparación Probar porciones de dos valores para saber si son 2-6 igualdad con iguales. Compara datos de 16 bits de una dirección máscara de fuente contra datos de 16 bit en una dirección de referencia mediante una máscara. LIM Prueba de límite Probar si un valor se encuentra dentro del rango de 2-7 límite de otros dos valores. 2–1
  • 70. Preface Manual de referencia del juego de instrucciones Acerca de las instrucciones de comparación Las instrucciones de comparación se usan para probar parejas de valores para establecer condiciones de la continuidad lógica de un renglón. Como ejemplo, digamos que una instrucción LES se presenta con dos valores. Si el primer valor es menor que el segundo, la instrucción de comparación es verdadera. Para aprender más acerca de las instrucciones de comparación, le recomendamos que lea la sección Descripción general de las instrucciones de comparación, a continuación. Descripción general de las instrucciones de comparación La información general siguiente se aplica a las instrucciones de comparación. Uso de direcciones de palabra indexadas Al usar las instrucciones de comparación, tiene la opción de usar direcciones de palabra indexadas para parámetros de instrucción especificando direcciones de palabra. El direccionamiento indexado se trata en el apéndice F de este manual. Uso de direcciones de palabra indirectas Tiene la opción de usar direcciones indirectas a nivel de palabra y a nivel de bit para instrucciones especificando direcciones de palabra cuando usa los procesadores SLC 5/03 OS302 y SLC 5/04 OS401. Vea el apéndice F para obtener más información. 2–2
  • 71. Instrucciones de comparación Igual (EQU) 3 3 3 3 3 3 EQU EQUAL Use la instrucción EQU para probar si dos valores son iguales. Si la fuente A y la Source A fuente B son iguales, la instrucción es lógicamente verdadera. Si estos valores no Source B son iguales, la instrucción es lógicamente falsa. Instrucción de entrada La fuente A debe ser una dirección. La fuente B puede ser una constante de programa o una dirección. Los enteros negativos se almacenan de forma complementaria de dos. No igual (NEQ) 3 3 3 3 3 3 NEQ NOT EQUAL Use la instrucción NEQ para probar si dos valores no son iguales. Si la fuente A y Source A la fuente B no son iguales, la instrucción es lógicamente verdadera. Si los dos Source B valores son iguales, la instrucción es lógicamente falsa. 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–3
  • 72. Preface Manual de referencia del juego de instrucciones Menor que (LES) 3 3 3 3 3 3 LES LESS THAN Use la instrucción LES para probar si un valor (fuente A) es menor que otro (fuente Source A B). Si la fuente A es menor que el valor en la fuente B, la instrucción es Source B lógicamente verdadera. Si el valor en la fuente A es mayor o igual que el valor en la fuente B, la instrucción es lógicamente falsa. Instrucción de entrada La fuente A debe ser una dirección. La fuente B puede ser una constante de programa o una dirección. Los enteros negativos se almacenan de forma complementaria de dos. Menor o igual que (LEQ) 3 3 3 3 3 3 LEQ LESS THAN OR EQUAL Use la instrucción LEQ para probar si un valor (fuente A) es menor o igual que otro Source A (fuente B). Si la fuente A es menor o igual que el valor en la fuente B, la Source B instrucción es lógicamente verdadera. Si el valor en la fuente A es mayor que el valor en la fuente B, la instrucción es lógicamente falsa. Instrucción de entrada 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
  • 73. Instrucciones de comparación Mayor que (GRT) 3 3 3 3 3 3 GRT GREATER THAN Use la instrucción GRT para probar si un valor (fuente A) es mayor que otro (fuente Source A B). Si la fuente A es mayor que el valor en la fuente B, la instrucción es Source B lógicamente verdadera. Si el valor en la fuente A es menor o igual que el valor en la fuente B, la instrucción es lógicamente falsa. 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. Mayor o igual que (GEQ) 3 3 3 3 3 3 GEQ GRTR THAN OR EQUAL Use la instrucción GEQ para probar si un valor (fuente A) es mayor o igual que otro Source A (fuente B). Si la fuente A es mayor o igual que el valor en la fuente B, la Source B instrucción es lógicamente verdadera. Si el valor en la fuente A es menor que el valor en la fuente B, la instrucción es lógicamente falsa. 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
  • 74. Preface Manual de referencia del juego de instrucciones Comparación con máscara para igual (MEQ) 3 3 3 3 3 3 MEQ MASKED EQUAL Use la instrucción MEQ para comparar datos en una dirección de fuente contra Source datos en una dirección de comparación. El uso de esta instrucción permite que una Mask palabra separada enmascare porciones de datos. Compare 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
  • 75. Instrucciones de comparación Prueba de límite (LIM) 3 3 3 3 3 3 LIM LIMIT TEST Use la instrucción LIM para probar los valores dentro o fuera de un rango Low Lim especificado, según cómo usted haya establecido los límites. Test High Lim 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 Verdadero Falso –32,768 + 32,767 Límite bajo Límite alto Ejemplo - límite bajo menor que el límite alto: Límite Límite La instrucción es verdadera La instrucción es falsa bajo alto cuando el valor de prueba es cuando el valor de prueba es 5 8 5a8 -32,768 a 4 y 9 a 32,767 2–7
  • 76. Preface Manual de referencia del juego de instrucciones Si el límite bajo tiene un valor mayor que el límite alto, la instrucción es falsa cuando el valor de prueba se encuentra entre los límites. Si el valor de prueba es igual a cualquiera de los límites o se encuentra fuera de los límites, la instrucción es verdadera, según se indica a continuación. Verdadero Falso Verdadero –32,768 + 32,767 Límite alto Límite bajo Ejemplo - límite bajo mayor que el límite alto: Límite Límite La instrucción es verdadera La instrucción es falsa bajo alto cuando el valor de prueba es cuando el valor de prueba es 5 8 -32,768 a 5 y 8 a 32,767 6y7 2–8
  • 77. 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 Change Tool Soon Change Tool Now O:3/4 O:3/6 Thumbwheel for Tool Change Reset 5 Hole Thickness in 1/4" 3 Hole 7 Hole (Keyswitch) I:1/11-I:1/14 I:1/8 I:1/9-I:1/10 2–9
  • 78. Preface Manual de referencia del juego de instrucciones Renglón 7:0 Este renglón examina el número de milésimas de 1/4 pulg. que se han acumulado durante la vida útil de la broca actual. Si la broca ha perforado entre 100,000–101,999 incrementos de 1/4 pulg. de papel, la bombilla de “cambiar la broca” se ilumina constantemente. Cuando el valor es entre 102,000–103,999, la bombilla de “cambiar la broca” parpadea cada 1.28 segundos. Cuando el valor alcanza 105,000, la bombilla de “cambiar la broca” parpadea y la bombilla de “cambiar la broca ahora” se ilumina. | Milésimas 100,000 | | de 1/4 pulg. incrementos | | de 1/4 pulg. | | han | | ocurrido | | +GEQ–––––––––––––––+ B3:1 | |–––––––+–+GRTR THAN OR EQUAL+–––––––––––––––––––––––––––––––––––––––( )–––––+–| | | |Source A N7:11| 0 | | | | | 0| | | | | |Source B 100| | | | | | | | | | | +––––––––––––––––––+ | | | | Milésimas 102,000 | | | | de 1/4 pulg. incrementos | | | | de 1/4 pulg | | | | han | | | | ocurrido | | | | +GEQ–––––––––––––––+ B3:1 | | | +–+GRTR THAN OR EQUAL+–––––––––––––––––––––––––––––––––––––––( )–––––+ | | | |Source A N7:11| 1 | | | | | 0| | | | | |Source B 102| | | | | | | | | | | +––––––––––––––––––+ | | | | Milésimas cambiar la | | | | de 1/4 pulg. broca | | | | AHORA | | | | +GEQ–––––––––––––––+ O:3.0 | | | +–+GRTR THAN OR EQUAL+–––––––––––––––––––––––––––––––––––––––( )–––––+ | | | |Source A N7:11| 6 | | | | | 0| | | | | |Source B 105| | | | | | | | | | | +––––––––––––––––––+ | | | | 100,000 |102,000 cambiar | | | | incrementos|incrementos la broca | | | | de 1/4 pulg|de 1/4 pulg pronto | | | | han |han | | | | ocurrido |ocurrido | | | | B3:1 B3:1 O:3.0 | | | +–+–––––––––––––––––––––––] [––––––––]/[––––––––––––––––+––––( )–––––+ | | | 0 1 | 4 | | | 100,000 |102,000 |1.28 | | | | incrementos|increm. |segundo | | | | de 1/4 pulg|de 1/4 plg|bit de | | | | han |han |reloj de | | | | ocurridod |ocurrido |mar. libre | | | | B3:1 B3:1 S:4 | | | +–––––––––––––––––––––––] [––––––––] [––––––––] [–––––+ | | 0 1 7 | 2–10
  • 79. Instrucciones matemáticas 3 Instrucciones matemáticas Este capítulo contiene información general acerca de instrucciones matemáticas y explica cómo funcionan en su programa de lógica. Cada una de las instrucciones matemáticas incluye información acerca de: • cómo aparece el símbolo de instrucción • cómo usar la instrucción Además, la última sección contiene un ejemplo de aplicación para una perforadora de papel que muestra el uso de las instrucciones matemáticas. Instrucciones matemáticas Instrucción Propósito Page Mnemónico Nombre ADD Añadir Añade la fuente A a la fuente B y almacena el 3-6 resultado en el destino. SUB Restar Resta la fuente B de la fuente A y almacena el 3-7 resultado en el destino. MUL Multiplicar Multiplica la fuente A por la fuente B y almacena el 3-11 resultado en el destino. DIV Dividir Divide la fuente A por la fuente B y almacena el 3-12 resultado en el destino y el registro matemático. DDV División doble Divide el contenido del registro matemático por la 3-13 fuente y almacena el resultado en el destino y el registro matemático. CLR Borrar Pone todos los bits de una palabra a cero. 3-14 SQR Raíz cuadrada Calcula la raíz cuadrada de la fuente y coloca el 3-14 resultado de entero en el destino. SCP Escalar con Produce un valor de salida escalado que tiene una 3-15 parámetros relación lineal entre los valores de entrada y escalaĆ dos. continúa en la página siguiente 3–1
  • 80. Preface Manual de referencia del juego de instrucciones Instrucción Propósito Página Mnemónico Nombre SCL Datos de escala Multiplica la fuente por una tasa especificada, 3-18 añade a un valor offset y almacena el resultado en el destino. ABS Absoluto Calcula el valor absoluto de la fuente y coloca el 3-24 resultado en el destino. CPT Calcular Evalúa una expresión y almacena el resultado en el 3-25 destino. SWP Cambiar Cambia los bytes bajos y altos de un número espeĆ 3Ć27 cificado de palabras en un archivo de bit, entero, ASCII o cadena. ASN Arco seno Acepta el arco seno de un número y almacena el 3Ć28 resultado (en radianes) en el destino. ACS Arco coseno Acepta el arco coseno de un número y almacena el 3-29 resultado (en radianes) en el destino. ATN Arco tangente Acepta el arco tangente de un número y almacena 3Ć29 el resultado (en radianes) en el destino. COS Coseno Acepta el coseno de un número y almacena el reĆ 3Ć30 sultado en el destino. LN Logaritmo natural Acepta el logoritmo natural del valor en la fuente y 3Ć30 lo almacena en el destino. LOG Logaritmo de base Acepta el logoritmo de la base 10 del valor en la 3-31 10 fuente y almacena el resultado en el destino. SIN Seno Acepta el seno de un número y almacena el resultaĆ 3-31 do en el destino. TAN Tangente Acepta la tangente de un número y almacena el 3-32 resultado en el destino. XPY X a la potencia de Y Eleva un valor a la potencia y almacena el resultado 3Ć33 en el destino. 3–2
  • 81. 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
  • 82. Preface Manual de referencia del juego de instrucciones Uso de las direcciones de palabra indirectas Tiene la opción de usar direcciones indirectas a nivel de palabra y a nivel de bit para instrucciones especificando direcciones de palabra cuando usa procesadores SLC 5/03 OS302 y SLC 5/04 OS401. Vea el apéndice C para obtener más información. Actualizaciones de los bits de estado aritmético Los bits de estado aritmético se encuentran en la palabra 0, bits 0–3 en el archivo de estado del controlador. Después de la ejecución de una instrucción, los bits de estado aritmético en el archivo de estado son actualizados: Con este bit: El controlador: se establece si el acarreo es generado; en caso contrario, se S:0/0 Acarreo (C) pone a cero. indica que el resultado real de una instrucción matemática no S:0/1 Overflow (V) se puede colocar en el destino designado. indica un valor 0 después de una instrucción matemática, de S:0/2 Cero (Z) movimiento o lógica. indica un valor negativo (menor que 0) después de una S:0/3 Signo (S) instrucción matemática, de movimiento o lógica. Bit de interrupción por overflow, S:5/0 El bit de error menor (S:5/0) se establece a la detección de un overflow matemático o división entre 0. Si este bit se establece a la ejecución de una instrucción END o una instrucción de fin temporal (TND) o una regeneración de E/S (REF), se establece el código 0020 de error mayor recuperable. En las aplicaciones donde ocurre un overflow matemático o una división entre 0, puede evitar un fallo CPU usando la instrucción de desenclavamiento (OTU) con la dirección S:5/0 en su programa. El renglón se debe encontrar entre el punto de overflow y la instrucción END, TND o REF. Cambios del registro matemático S:13 y S:14 La palabra de estado S:13 contiene la palabra de mínimo significado de los valores de 32 bits de las instrucciones MUL y DDV. Contiene el resto para las instrucciones DIV y DDV. También contiene los cuatro primeros dígitos BCD para las instrucciones de conversión desde BCD (FRD) y conversión a BCD (TOD). 3–4
  • 83. Instrucciones matemáticas La palabra S:14 contiene la palabra de máximo significado para los valores de 32 bits de las instrucciones MUL y DDV. Contiene el cociente no redondeado para las instrucciones DIV y DDV. También contiene el dígito más significativo (dígito 5) para las instrucciones TOD y FRD. Uso del archivo de datos de punto (coma) flotante (F8:) Este tipo de archivo es válido para los procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401. Estos son elementos de 2 palabras y direccionables solamente al nivel de elemento. Asigne las direcciones de punto (coma) flotante de esta manera: Formato Explicación F Archivo de punto (coma) flotante Número del archivo. El número 8 es el archivo predeterminado. Un número Ff:e f de archivo entre 9-255 se puede usar si se requiere almacenamiento adicional. : Delimitador de elemento Número de Tiene un rango de 0-255. Estos son elementos de 2 e elemento palabras. Números de 32 bits no extendidos. Ejemplos: F8:2 Elemento 2, archivo de punto (coma) flotante 8 F10:36 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
  • 84. Preface Manual de referencia del juego de instrucciones Añadir (ADD) 3 3 3 3 3 3 ADD ADD Use la instrucción ADD para añadir un valor (fuente A) a otro valor (fuente B) y Source A coloque el resultado en el destino. Source B Dest Instrucción de salida Actualizaciones de bits de estado aritmético Con este bit: El procesador: se establece si el acarreo es generado; si no, se restablece (entero). Acarreo (C) Se pone a cero para el punto (coma) flotante. se establece si overflow es detectado en el destino; en caso contrario, se restablece. Durante overflow, el indicador de error menor también se establece. Para el punto (coma) flotante, el valor de overflow se coloca en el destino. Para un entero, el valor -32,768 ó 32,767 se coloca en el Overflow (V) destino. Excepción: si está usando un procesador SLC 5/02, SLC 5/03 ó SLC 5/04 o un controlador MicroLogix 1000 y tiene S:2/14 (bit de selección de overflow matemático) establecido, entonces el overflowe sin signo o y truncado permanece en el destino. Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece. Signo (S) se establece si el resultado negativo; en caso contrario, se restablece. 3–6
  • 85. Instrucciones matemáticas Restar (SUB) 3 3 3 3 3 3 SUB SUBTRACT Use la instrucción SUB para restar un valor (fuente B) del otro (fuente A) y coloque Source A el resultado en el destino. Source B Dest Instnrucción de salida Actualizaciones de los bits de estado aritmético Con este bit: El procesador: se establece si el acarreo es generado; en caso contrario, se restablece Acarreo (C) (entero). Se pone a cero para el punto (coma) flotante. se establece si es underflow; en caso contrario, se restablece. Durante underflow, el indicador de error menor también se establece. Para el punto (coma) flotante, el valor de overflow se coloca en el destino. Para un entero, el valor -32,768 ó 32,767 se coloca en el destino. Overflow (V) Excepción: si está usando un procesador SLC 5/02, SLC 5/03 ó SLC 5/04 o un controlador MicroLogix 1000 y tiene S:2/14 (bit de selección de overflow matemático) establecido, entonces el overflower sin signo y truncado permanece en el destino. Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece. Sign (S) se establece si el resultado negativo; en caso contrario, se restablece. 3–7
  • 86. Preface Manual de referencia del juego de instrucciones Adición y sustracción de 32 bits 3 3 3 3 Tiene la opción de realizar adición y sustracción de entero con signo de 16 ó 32 bits. Esto es facilitado por el bit de archivo de estado S:2/14 (bit de selección de overflow matemático). Bit de selección de overflow matemático S:2/14 Establezca este bit cuando desee usar la adición y sustracción de 32 bits. Cuando S:2/14 está establecido y el resultado de una instrucción ADD, SUB, MUL, DIV o NEG no se puede representar en la dirección de destino (debido al underflow u overflow matemático): • El bit de overflow S:0/1 se establece. • El bit de interrupción por overflow S:5/0 se establece. • La dirección de destino contiene los 16 bits menos significativos truncados y sin signo del resultado. Nota Para las instrucciones MUL, DIV, de entero y todas las instrucciones de punto (coma) flotante con un destino de entero, el cambio de estado se realiza inmediatamente una vez establecido S:2/14. Cuando S:2/14 se restablece (condición predeterminada) y el resultado de una instrucción ADD, SUB, MUL, DIV o NEG no se puede representar en la dirección de destino (debio al underflow u overflow matemático): • El bit de overflow S:0/1 se establece. • El bit de interrupción por overflow S:5/0 se establece. • La dirección de destino contiene 32767 si el resultado es positivo o –32768 si el resultado es negativo. Nota Además, los procesadores SLC 5/03 y SLC 5/04 validan el estado de bit S:2/14 solamente al final de un escán para instrucciones ADD, SUB y NEG. Anote que el estado de bit S:2/14 no afecta la instrucción DDV. Tampoco afecta el contenido del registro matemático cuando usa las instrucciones MUL y DIV. Nota Los procesadores SLC 5/03 y SLC 5/04 solamente interrogan este bit al pasar al modo de marcha y final de escán. Use la función de monitorización de datos para efectuar esta selección antes de introducir el modo de marcha. 3–8
  • 87. 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
  • 88. Preface Manual de referencia del juego de instrucciones Añadir el valor de 16 bits B3:1 al valor de 32 bits B3:3 B3:2 Operación de adición Binario Hex Decimal À Addend B3:3 B3:2 0000 0000 0000 0011 0001 1001 0100 0000 0003 1940 203,072 Addend B3:1 0101 0101 1010 1000 55A8 21,928 Sum B3:3 B3:2 0000 0000 0000 0011 0110 1110 1110 1000 0003 6EE8 225,000 À El dispositivo de programación muestra valores decimales de 16 bits solamente. El valor decimal de un entero de 32 bits se deriva del valor binario o hex mostrado. Por ejemplo, 0003 1940 hex es 164x3 + 163x1 + 162x9 + 161x4 + 160x0 = 203,072. B3 B3 ADD Cuando el renglón se hace ] [ [OSR] ADD Source A B3:1 verdadero para un solo 0 1 0101010110101000 escán, B3:1 es añadido a Source B B3:2 B3:2. El resultado se 0001100101000000 coloca en B3:2. Dest B3:2 0001100101000000 S:0 ADD Si un acarreo es generado ] [ ADD Source A 1 (S:0/0 establecido), 1 es 0 añadido a B3:3. Source B B3:3 0000000000000011 Dest B3:3 0000000000000011 B3 SUB Si B3:1 es negativo ] [ SUBTRACT Source A B3:3 (B3/31 establecido), 1 es 31 restado de B3:3. 0000000000000011 Source B 1 Dest B3:3 0000000000000011 S:5 El bit de TRAP de overflow (U) S:5/0 se desenclava para 0 evitar la ocurrencia de un END error mayor al final del escán. Nota de aplicación: Puede usar el renglón de arriba con una instrucción DDV y un contador para calcular el valor promedio de B3:1. 3–10
  • 89. Instrucciones matemáticas Multiplicar (MUL) 3 3 3 3 3 3 MUL MULTIPLY Use la instrucción MUL para multiplicar un valor (fuente A) por el otro (fuente B) y Source A coloque el resultado en el destino. Source B Dest Instrucción de salida Actualizaciones de los bits de estado aritmético Con este bit: El procesador: Acarreo (C) siempre se restablece. se establece si el overflow se detecta en el destino; en caso contrario, se restablece. Durante el overflow, el indicador de error menor también se establece. El valor -32,768 ó 32,767 se coloca en el destino. Excepción: si usa un procesador SLC 5/02, SLC 5/03 ó SLC 5/04 ó un Overflow (V) controlador MicroLogix 1000 y tiene S:2/14 (bit de selección de overflow matemático) establecido, el overflow sin signo y truncado permanece en el destino. Para los destinos de punto (coma) flotante, el resultado de overflow permanece en el destino. Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece. se establece si el resultado es negativo; en caso contrario, se Signo (S) restablece. Cambios del registro matemático, S:13 y S:14 Entero – Contiene el resultado con signo de 32 bits de la operación de multiplicación. Este resultado es válido durante el overflow. Punto (coma) flotante – El registro matemático no se cambia. 3–11
  • 90. Preface Manual de referencia del juego de instrucciones Dividir (DIV) 3 3 3 3 3 3 DIV DIVIDE Use la instrucción DI:V para dividir un valor (fuente A) entre otro (fuente B). El Source A cociente redondeado se coloca a su vez en el destino. Si el residuo es 0.5 ó mayor, Source B el redondear toma lugar en el destino. El cociente no redondeado se almacena en la Dest palabra más significativa del registro matemático. El resto se coloca en la palabra menos significativa del registro matemático. Instrucción de entrada Actualizaciones de los bits de estado aritmético Con este bit: El procesador: Acarreo (C) siempre se restablece. se establece si la división entre cero u overflow se detecta en el destino; en caso contrario, se restablece. Durante el overflow, el indicador de error menor también se establece. El valor 32,767 se coloca en el destino. Excepción: si usa un procesador SLC 5/02, SLC 5/03 ó SLC Overflow (V) 5/04 ó un controlador MicroLogix 1000 y tiene S:2/14 (bit de selección de overflow matemático) establecido, el overflow sin signo y truncado permanece en el destino. Para los destinos de punto (coma) flotante, el resultado de overflow permanece en el destino. se establece si el resultado es cero; si no, se restablece; no definido si Cero (Z) overflow está establecido. se establece si el resultado es negativo; si no, se restablece; no definido Signo (S) si el overflow está establecido. Cambios del registro matemático, S:13 y S:14 Entero – El cociente no redondeado se coloca en la palabra más significante y el residuo se coloca en la palabra menos significativa. Punto (coma) flotante – El registro matemático no se cambia. Ejemplo El residuo de 11/2 es 0.5, por lo tanto, el cociente se redondea a 6 y se almacena en el destino. El cociente no redondeado, lo cual es 5, se almacena en S:14 y el residuo, lo cual es 1, se almacena en S:13. DIV DIVIDE dónde: N7:0 = 11 Source A N7:0 N7:1 = 2 Source B 11 N7:1 N7:2 = 6 resultado: S:14 = 5 2 Dest N7:2 6 S:13 = 1 3–12
  • 91. Instrucciones matemáticas División doble (DDV) 3 3 3 3 3 3 DDV DOUBLE DIVIDE El contenido de 32 bits del registro matemático se divide entre el valor de fuente de Source 16 bits y el cociente redondeado se coloca en el destino. Si el residuo es 0.5 ó Dest mayor, se redondea el destino. Instrucción de salida Típicamente esta instrucción sigue una instrucción MUL que crea un resultado de 32 bits. Actualizaciones de los bits de estado aritmético Con este bit: El procesador: Acarreo (C) siempre se restablece. se establece si es división en cero o si el resultado es mayor de 32,767 ó menor de -32,768; en caso contrario, se restablece. Durante el Overflow (V) overflow, también se establece el indicador de error menor. El valor 32,767 se coloca en el destino. Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece. se establece si el resultado es negativo; en caso contrario, se Signo (S) restablece; no definido si el overflow está establecido. Cambios del registro matemático, S:13 y S:14 Inicialmente contiene el dividendo de la operación DDV. A la ejecución de instrucción, el cociente no redondeado se coloca en la palabra más significativa del registro matemático. El residuo se coloca en la palabra menos significativa del registro matemático. 3–13
  • 92. Preface Manual de referencia del juego de instrucciones Borrar (CLR) 3 3 3 3 3 3 CLR CLEAR Use la instrucción CLR para poner a cero el valor de destino de una palabra. Dest 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 3 3 3 SQR SQUARE ROOT Cuando esta instrucción es evaluada como verdadera, la raíz cuadrada del valor Source absoluto de la fuente es calculada y el resultado redondeado se coloca en el destino. Dest La instrucción calcula la raíz cuadrada de un número negativo sin overflow ni fallos. Instrucción de salida 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: es reservado (entero). Para el punto Acarreo (C) (coma) flotante, siempre está puesto a cero. Overflow (V) siempre se restablece. se establece cuando el valor de destino Cero (Z) es cero. Signo (S) siempre se restablece. 3–14
  • 93. Instrucciones matemáticas Cómo escalar con parámetros (SCP) 3 3 SCP SCALE W/PARAMETERS Use la instrucción SCP para producir un valor de salida escalado que tiene una Input relación lineal entre los valores de entrada y escalados. Esta instrucción tiene Input Min. Input Max. capacidad para valores de entero y punto (coma) flotante. Scaled Min. Scaled Max. Scaled Output Use la fórmula siguiente para convertir los datos de entrada analógicos en unidades de ingeniería: Instrucciones de salida 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
  • 94. Preface Manual de referencia del juego de instrucciones Actualizaciones de los bits de estado aritmético Con este bit: El procesador: Acarreo (C) siempre se restablece. se establece si el overflow es generado o si una entrada sin capacidad Overflow (V) se detecta; si no, se restablece. Cero (Z) 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 Signo (S) 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
  • 95. 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
  • 96. Preface Manual de referencia del juego de instrucciones Escala de datos (SCL) 3 3 3 3 SCL SCALE Cuando esta instrucción es verdadera, el valor en la dirección de fuente se multiplica Source por el valor del régimen. El resultado redondeado se añade al valor de offset y se Rate [/10000] coloca en el destino. Offset Dest Instrucción de salida Ejemplo SCL SCALE Source N7:0 100 La fuente 100 es multiplicada por Rate [/10000] 25000 25000 y dividida entre 10000 y Offset 127 sumada a 127. El resultado 377 se coloca en el destino. Dest N7:1 377 Nota Cuando ocurre un underflow u overflow en el archivo de destino, el bit de error menor S:5/0 debe estar restablecido por el programa. Esto debe ocurrir antes del final del escán actual para evitar que el código de error mayor 0020 sea instruido. Esta instrucción puede provocar un overflow antes de la adición del offset. Anote que a veces el término régimen significa pendiente. La función de régimen se limita al rango –3.2768 a 3.2767. Por ejemplo, –32768/10000 a +32767/10000. Cómo introducir parámetros El valor para los parámetros siguientes es entre –32,768 a 32,767. • La fuente es una dirección de palabra. • El régimen (o pendiente) es el valor positivo o negativo que usted introduce dividido entre 10,000. Puede ser una constante de programa o una dirección de palabra. • El offset puede ser una constante de programa o una dirección de palabra. 3–18
  • 97. Instrucciones matemáticas Actualizaciones de los bits de estado aritmético Con este bit: El procesador: Acarreo (C) es reservado. 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 Overflow (V) 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. se establece si el valor de destino es negativo; en caso contrario, se Signo (S) 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 esĆ cala 0 (Escala mín.) 3,277 16,384 (Entrada mín.) (Entrada máx.) Valor de entrada 3–19
  • 98. Preface Manual de referencia del juego de instrucciones Cómo calcular la relación lineal Use las ecuaciones siguientes para expresar las relaciones lineales entre el valor de entrada y el valor con escala resultante: Valor 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 esĆ cala 0 0V (Escala mín.) 3,277 4 mA 16,384 20 mA (Entrada mín.) (Entrada máx.) Valor de entrada 3–20
  • 99. 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
  • 100. Preface Manual de referencia del juego de instrucciones 32,764 10V (Escala máx.) Valor con esĆ cala 0 0V (Escala mín.) 0 4 mA 13,107 20 mA (Entrada mín. desplazada) (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
  • 101. 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 Entrada analógica Source A I:1.0 Source B 3277 Dest N7:0 Valor analógico con escala desplazado SCL SCALE Source N7:0 Rate [/10000] 24997 Offset 0 Dest O:2.0 Salida analógica 3–23
  • 102. Preface Manual de referencia del juego de instrucciones Absoluto (ABS) 3 3 ABS ABSOLUTE VALUE Use la instrucción ABS para calcular el valor absoluto de la fuente y colocar el Source resultado en el destino. Esta instrucción tiene capacidad para los valores de entero y Dest punto (coma) flotante. Use esta instrucción con procesadores SLC 5/03 OS302 y Instrucción de salida 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. siempre se restablece con un valor de punto (coma) flotante; se Overflow (V) establece si la entrada es -32,768 (valor de entero). se establece cuando el valor de destino es cero; en caso contrario, se Cero (Z) restablece. Signo (S) siempre se restablece. 3–24
  • 103. Instrucciones matemáticas Calcular (CPT) 3 3 CPT COMPUTE La instrucción CPT efectúa operaciones de copiar, aritméticas, lógicas y conversión. Dest Usted define la operación en la expresión y el resultado se escribe en el destino. El Expression CPT usa funciones para operar en uno o más valores en la expresion para efectuar Instnrucción de salida operaciones tales como: • convertir de un formato de número a otro • manejar los números • efectuar funciones trigonométricas Use esta instrucción con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401. Las instrucciones que se pueden usar en la expresión incluyen: +, –, *, | (DIV), SQR, – (NEG), NOT, XOR, OR, AND, TOD, FRD, LN, TAN, ABS, DEG, RAD, SIN, COS, ATN, ASN, ACS, LOG y ** (XPY). Nota El tiempo de ejecución de una instrucción CPT es mayor que el de una sola operación aritmética y usa más palabras de instrucción. Cómo introducir parámetros Introduzca los parámetros siguientes al programar esta instrucción: • El destino puede ser una dirección de palabra o la dirección de un elemento de datos de punto (coma) flotante. • La expresión es cero o más líneas, con hasta 28 caracters por línea, hasta 255 caracteres. Actualizaciones de los bits de estado aritmético Con este bit: El procesador: Acarreo (C) se establece según el resultado de la última instrucción en la expresión. se establece cuando un overflow ocurre durante la evaluación de la Overflow (V) expresión. Cero (Z) se establece según el resultado de la última instrucción en la expresión. Signo (S) se establece según el resultado de la última instrucción en la expresión. Los bits anteriores son puestos a cero al inicio de la instrucción CPT. Vea S:34/2 para información acerca del manejo especial de los bits de estado aritmético al usar un punto (coma) flotante. 3–25
  • 104. Preface Manual de referencia del juego de instrucciones Ejemplo de aplicación Este ejemplo de aplicación usa el teorema de Pitágoras para calcular la longitud de la hipotenusa de un triángulo cuando se conocen los dos catetos. Use la ecuación siguiente: c2 = a2 + b2 donde c = Ǹ (a2 + b2) N10:0 = Ǹ (N7:1)2 + (N7:2)2 El renglón 2:0 usa instrucciones matemáticas estándar para implementar el teorema de Pitágoras. El renglón 2:1 usa la instrucción CPT para obtener el mismo resultado. Renglón 2:0 | +XPY–––––––––––––––+ | |–––––––––––––––––––––––––––––––––––––––––––––––––––––+–+X TO POWER OF Y +–+–| | | |Source A N7:1| | | | | | 3| | | | | |Source B 2| | | | | | | | | | | |Dest N7:3| | | | | | 0| | | | | +––––––––––––––––––+ | | | | +XPY–––––––––––––––+ | | | +–+X TO POWER OF Y +–+ | | | |Source A N7:2| | | | | | 4| | | | | |Source B 2| | | | | | | | | | | |Dest N7:4| | | | | | 0| | | | | +––––––––––––––––––+ | | | | +ADD–––––––––––––––+ | | | +–+ADD +–+ | | | |Source A N7:3| | | | | | 0| | | | | |Source B N7:4| | | | | | 0| | | | | |Dest N7:5| | | | | | 0| | | | | +––––––––––––––––––+ | | | | +SQR–––––––––––––––+ | | | +–+SQUARE ROOT +–+ | | |Source N7:5| | | | 0| | | |Dest N7:0| | | | 0| | | +––––––––––––––––––+ | Renglón 2:1 | +CPT––––––––––––––––––––––––+ | |––––––––––––––––––––––––––––––––––––––––––––––––+COMPUTE +–| | |Dest N10:0| | | | 0| | | |Expression | | | |SQR ((N7:1 ** 2) + (N7:2 **| | | |2)) | | | +–––––––––––––––––––––––––––+ | Renglón2:2 | | |–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––| | | 3–26
  • 105. Instrucciones matemáticas Intercambio (SWP) 3 3 SWP SWAP Use esta instrucción para intercambiar los bytes bajos y altos de un número de Source Length palabras especificado en un archivo de bit, entero, ASCII o cadena. Use esta instrucción con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401. 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 #ST10:1.1 Length 13 Antes: ST10:1 = abcdefghijklmnopqrstuvwxyz Después: ST10:1 = badcfehgjilknmporqtsvuxwzy 3–27
  • 106. Preface Manual de referencia del juego de instrucciones Arco seno (ASN) 3 3 ASN ARC SINE Use la instrucción ASN para tomar el arco seno de un número (fuente en radianes) y Source almacenar el resultado (en radianes) en el destino. La fuente debe ser mayor o igual Dest que –1 y menor o igual que 1. El valor resultante en el destino siempre es mayor o Instrucción de salida 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. se establece si un overflow es generado o una entrada sin capacidad se Overflow (V) detecta; si no, se restablece. Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece. se establece si el resultado es negativo; en caso contrario, se Signo (S) restablece. 3–28
  • 107. Instrucciones matemáticas Arco coseno (ACS) 3 3 ACS ARC COSINE Use la instrucción ACS para tomar el arco seno de un número (fuente en radianes) y Source almacenar el resultado (en radianes) en el destino. La fuente debe ser mayor o igual Dest que –1 y menor o igual que 1. El valor resultante en el destino siempre es mayor o Instrucción de salida 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. se establece si un overflow es generado o una entrada sin capacidad se Overflow (V) detecta; en caso contrario, se restablece. Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece. Signo (S) siempre se restablece. Arco tangente (ATN) 3 3 ATN ARC TANGENT Use la para tomar el arco tangente de un número (fuente) y almacenar el resultado Source (en radianes) en el destino. El valor resultante en el destino siempre es mayor o Dest igual que –π /2 y menor o igual que π/2, donde π = 3.141592. Use esta instrucción Instrucción de salida 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. se establece si un overflow es generado o una entrada sin capacidad se Overflow (V) detecta; en caso contrario, se restablece. Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece. se establece si el resultado es negativo; en caso contrario, se Signo (S) restablece. 3–29
  • 108. Preface Manual de referencia del juego de instrucciones Coseno (COS) 3 3 COS COSINE Use la instrucción COS para tomar el coseno de un número (fuente en radianes) y Source almacenar el resultado (en radianes) en el destino. La fuente debe ser mayor o igual Dest que –205887.4 y menor o igual que 205887.4. La óptima exactitud se obtiene Instrucción de salida 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. se establece si un overflow es generado o una entrada sin capacidad se Overflow (V) detecta; en caso contrario, se restablece. Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece. Signo (S) siempre se restablece. Logaritmo natural (LN) 3 3 LN NATURAL LOG Use la instrucción LN para tomar el logaritmo natural del valor en la fuente y Source almacenar el resultado en el destino. La fuente debe ser mayor que cero. El valor Dest resultante en el destino siempre es mayor que o igual que –87.33654 y menor o Instrucción de salida 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. se establece si un overflow es generado o una entrada sin capacidad se Overflow (V) detecta; en caso contrario, se restablece. Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece. Signo (S) siempre se restablece. 3–30
  • 109. Instrucciones matemáticas Logaritmo a la base 10 (LOG) 3 3 LOG LOG BASE 10 Use la instrucción LOG para tomar el logaritmo de base 10 del valor en la fuente y Source almacenar el resultado en el destino. La fuente debe ser mayor que cero. El valor Dest resultante en el destino siempre es mayor o igual que –37.92978 y menor o igual Instrucción de salida 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. se establece si un overflow es generado o una entrada sin capacidad se Overflow (V) detecta; en caso contrario, se restablece. Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece. Signo (S) siempre se restablece. Seno (SIN) 3 3 SIN SINE Use la instrucción SIN para tomar el seno de un número (fuente en radianes) y Source almacenar el resultado en el destino. La fuente debe ser mayor o igual que Dest –205887.4 y menor o igual que 205887.4. La óptima exactitud se obtiene cuando la Instrucción de salida 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. se establece si un overflow es generado o una entrada sin capacidad se Overflow (V) detecta; en caso contrario, se restablece. Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece. Signo (S) siempre se restablece. 3–31
  • 110. Preface Manual de referencia del juego de instrucciones Tangente (TAN) 3 3 TAN TANGENT Use la instrucción TAN para tomar la tangente de un número (fuente en radianes) y Source almacenar el resultado en el destino. El valor de la fuente debe ser mayor o igual Dest que –102943.7 y menor o igual que 102943.7. La óptima exactitud se obtiene Instrucción de salida 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. se establece si un overflow es generado o una entrada sin capacidad se Overflow (V) detecta; en caso contrario, se restablece. Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece. Signo (S) siempre se restablece. 3–32
  • 111. Instrucciones matemáticas X a la potencia de Y (XPY) 3 3 XPY X TO POWER OF Y Use la instrucción XPY para elevar un valor (fuente A) a una potencia (fuente B) y Source A almacenar el resultado en el destino. Si el valor en la fuente A es negativo, la Source B exponente (fuente B) debe ser un número entero. Si no es un número entero, el bit Dest de overflow se establece y el valor absoluto de la base se usa en el cálculo. Use esta Instrucción de salida 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. se establece si un overflow es generado o una entrada sin capacidad se Overflow (V) detecta; en caso contrario, se restablece. Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece. Signo (S) siempre se restablece. 3–33
  • 112. Preface Manual de referencia del juego de instrucciones Instrucciones matemáticas en el ejemplo de aplicación de la perforadora de papel Esta sección proporciona renglones de escalera para demostrar el uso de instrucciones matemáticas. Los renglones son parte del ejemplo de aplicación de la perforadora de papel descrito en el apéndice H. Usted va a añadir a la subrutina en archivo 7 que se comenzó en el capítulo 2. 3–34
  • 113. 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
  • 114. Preface Manual de referencia del juego de instrucciones Renglón 7:7 Cuando el número de incrementos de 1/4 pulg. sobrepasa 1000, determine cuántos incrementos han sobrepasado 1000 y almacene N7:20, añada 1 al total de 1000 incrementos de 1/4 pulg. y reinicialice el acumulador de incrementos de 1/4 pulg. a la cantidad de incrementos que habían sobrepasado 1000. | Incrementos | | de 1/4 pulg. | | | | +GEQ–––––––––––––––+ +SUB–––––––––––––––+ | |–+GRTR THAN OR EQUAL+––––––––––––––––––––––––––––––––+–+SUBTRACT +–+–| | |Source A N7:10| | |Source A N7:10| | | | | 0| | | 0| | | | |Source B 1000| | |Source B 1000| | | | | | | | | | | | +––––––––––––––––––+ | |Dest N7:20| | | | | | 0| | | | | +––––––––––––––––––+ | | | | Milésimas | | | | de 1/4 pulg. | | | | +ADD–––––––––––––––+ | | | +–+ADD +–+ | | | |Source A 1| | | | | | | | | | | |Source B N7:11| | | | | | 0| | | | | |Dest N7:11| | | | | | 0| | | | | +––––––––––––––––––+ | | | | | | | | | | | | | | | | Incrementos | | | | de 1/4 pulg. | | | | +MOV–––––––––––––––– | | | +–+MOVE +–+ | | |Source N7:20| | | | 0| | | |Dest N7:10| | | | 0| | | +––––––––––––––––––+ | |–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––| 3–36
  • 115. 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 Propósito Página Mnemónico Nombre TOD Convertir a BCD Convierte el valor de fuente de entero en el formato 4-3 BCD y lo almacena en el destino. FRD Convertir desde Convierte el valor de fuente BCD en un entero y lo 4-6 BCD almacena en el destino. DEG Convertir de Convierte radianes (fuente) en grados y almacena 4-10 radianes a grados el resultado en el destino. RAD Convertir de Convierte grados (fuente) en radianes y almacena 4-11 grados a radianes el resultado en el destino. DCD Descodificar 4 a 1 Descodifica un valor de 4 bits (0 a 15) activando el 4-12 de 16 bit correspondiente en el destino de 16 bits. ENC Codificar 1 de 16 a Codifica una fuente de 16 bits a un valor de 4 bits. 4-13 4 Busca la fuente desde el bit mínimo al bit máximo y busca el primer bit establecido. La posición de bit correspondiente se escribe en el destino como entero. COP y FLL Copiar el archivo y La instrucción COP copia datos del archivo de 4Ć15 llenar el archivo fuente al archivo de destino. La instrucción FLL carga un valor de fuente en cada posición al archivo de destino. continúa en la página siguiente 4–1
  • 116. Preface Manual de referencia del juego de instrucciones Instrucción Propósito Página Mnemónico Nombre MOV Mover Mueve el valor de fuente al destino. 4-20 MVM Mover con Mueve los datos de un lugar de fuente a una 4-21 máscara porción seleccionada del destino. 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 4-27 destino. FFL y FFU Carga FIFO y La instrucción FFL carga una palabra en una pila 4-30 descarga FIFO FIFO en transiciones de falso a verdadero sucesiĆ vas. El FFU descarga una palabra de la pila en transiĆ ciones de falso a verdadero sucesivas. La primera palabra cargada es la primera de ser descargada. LFL y LFU Carga LIFO y La instrucción LFL carga una palabra en una pila 4-32 descarga LIFO LIFO en transiciones de falso a verdadero sucesiĆ vas. El LFU descarga una palabra de la pila en transiciones de falso a verdadero sucesivas. La última palabra cargada es la primera de ser descarĆ gada. Acerca de las instrucciones de manejo de datos Use estas instrucciones para convertir información, manejar datos en el controlador y realizar operaciones de lógica. En este capítulo se encuentra una descripción general antes de los grupos de instrucciones. Antes de aprender las instrucciones en cada uno de estos grupos, le recomendamos que lea la descripción general. Este capítulo contiene las descripciones generales siguientes: • Descripción general de las instrucciones de mover y lógicas • Descripción general de las instrucciones FIFO y LIFO 4–2
  • 117. Instrucciones de manejo de datos Convertir en BCD (TOD) 3 3 3 3 3 3 TOD TO BCD Use esta instrucción para convertir enteros de 16 bits en valores BCD. Source Dest S:13 00000000 Con los procesadores fijos y SLC 5/01, el destino sólo puede ser el registro matemático. Con los procesadores SLC 5/02, SLC 5/03 y SLC 5/04 y controladores Instrucción de salida Procesadores fijos y SLC 5/01 MicroLogix 1000, el parámetro de destino puede ser una dirección de palabra en cualquier archivo o puede ser el registro matemático, S:13 y S:14. TOD TO BCD Source Si el valor de entero que introduce es negativo, el valor absoluto del número se usa Dest para la conversión. Instrucción de salida Procesadores SLC 5/02, SLC 5/03 y SLC 5/04 y controlaĆ dores MicroLogix 1000 Actualizaciones de los bits de estado aritmético Con este bit: El procesador: Acarreo (C) siempre se restablece. se establece si el resultado BCD es mayor de 9999. El overflow resulta Overflow (V) en un error menor. Cero (Z) se establece si el valor de destino es cero. se establece si la palabra de fuente es negativa; en caso contrario, se Signo (S) restablece. Cambios del registro matemático, S:13 y S:14 Contiene el resultado BCD de 5 dígitos de la conversión. Este resultado es válido en el overflow. 4–3
  • 118. Preface Manual de referencia del juego de instrucciones Ejemplo 1 3 3 3 El valor de entero 9760 almacenado en N7:3 se convierte en BCD y la equivalente de BCD se almacena en N10:0. El máximo valor BCD posible es 9999. TOD TO BCD Source N7:3 9760 El valor de destino se muestra en el Dest N10:0 formato BCD 9760 9 7 6 0 N7:3 Decimal 0010 0110 0010 0000 9 7 6 0 N10:0 BCD de 4 dígitos 1001 0111 0110 0000 Ejemplo 2 3 3 3 El valor de entero 32760 almacenado en N7:3 se convierte en BCD. El valor BCD de 5 dígitos se almacena en el registro matemático. Los 4 dígitos inferiores del valor BCD se mueven a la palabra de salida O:2 y el dígito restante se mueve a través de una máscara a la palabra de salida O:3. Cuando usa el registro matemático como el parámetro de destino en la instrucción TOD, el máximo valor BCD posible es 32767. Sin embargo, para los valores BCD mayores de 9999, el bit de overflow se establece lo que también resulta en el establecimiento del bit de error menor S:5/0. Su programa de escalera puede desenclavar S:5/0 antes del final del escán para evitar el error mayor 0020, según se hizo en este ejemplo. 4–4
  • 119. Instrucciones de manejo de datos 3 2 7 6 0 N7:3 Decimal 0 0 0 3 2 7 6 0 BCD de 5 dígitos S:13 y S:14 15 0 15 0 S:14 S:13 Este ejemplo producirá el valor absoluto (0-32767) contenido en N7:3 como 5 dígitos BCD en las ranuras de salida 2 y 3. TOD ] [ TO BCD Source N7:3 32760 S:13 y S:14 se Dest S:13 muestran en el formato 00032760 BCD. Bit de overflow S:0 S:5 Bit de error ] [ (U) menor 1 0 MOV MOVE Source S:13 10080 Dest O:2.0 0010 0111 0110 0000 10080 MVM MASKED MOVE Source S:14 3 Mask 000F Dest O:3.0 0000 0000 0000 0011 3 4–5
  • 120. Preface Manual de referencia del juego de instrucciones Convertir de BCD (FRD) 3 3 3 3 3 3 FRD FROM BCD Use esta instrucción para convertir los valores BCD en valores enteros. Con los Source S:13 00000000 procesadores fijos y SLC 5/01, la fuente sólo puede ser el registro matemático. Con Dest los procesadores SLC 5/02, SLC 5/03 y SLC 5/04 y controladores MicroLogix 1000, el parámetro de fuente puede ser una dirección de palabra en cualquier Instrucción de salida Procesadores fijos y archivo de datos o puede ser el registro matemático, S:13. SLC 5/01 FRD FROM BCD Source Dest Instrucción de salida Procesadores SLC 5/02, SLC 5/03 y SLC 5/04 y controladores MicroĆ Logix 1000 Actualizaciones de los bits de estado aritmético Con este bit: El procesador: Acarreo (C) siempre se restablece. se establece si un valor que no sea BCD se contiene en la fuente o si el Overflow (V) valor que va a convertir es mayor de 32,767; en caso contrario, se restablece. El overflow resulta en un error menor. Cero (Z) se establece si el valor de destino es cero. Signo (S) siempre se restablece. Nota Recomendamos que siempre proporcione filtro de lógica de escalera para todos los dispositivos de entrada BCD antes de realizar la instrucción FRD. La mínima diferencia en el retardo del filtro de entrada de punto a punto puede provocar un overflow de la instrucción FRD debido a la conversión de un dígito que no sea BCD. 4–6
  • 121. Instrucciones de manejo de datos S:1 EQU FRD ]/[ EQUAL FROM BCD 15 Source A N7:1 Source I:0.0 0 0 Source B I:0.0 Dest N7:2 0 0 MOV MOVE Source I:0.0 0 Dest N7:1 0 En el ejemplo de arriba, los dos renglones causan que el procesador verifique que el valor en I:0 siga siendo el mismo durante dos escanes consecutivos antes de ejecutar el FRD. Esto evita que el FRD convierta un valor que no sea BCD durante un cambio del valor de entrada. Nota Para convertir números mayores de 9999 BCD, la fuente debe ser el registro matemático (S:13). Debe restablecer el bit de error menor (S:5.0) para evitar un error. Cambios del registro matemático, S:13 y S:14 Se usan como la fuente para convertir todo el rango de números de un registro. Ejemplo 1 3 3 3 El valor BCD 9760 en la fuente N7:3 se convierte y se almacena en N10:0. El máximo valor de fuente es 9999, BCD. FRD FROM BCD Source N7:3 El valor de fuente se muestra 9760 en el formato BCD. Dest N10:0 9760 9 7 6 0 N7:3 BCD de 4 dígitos 1001 0111 0110 0000 9 7 6 0 N10:0 Decimal 0010 0110 0010 0000 4–7
  • 122. Preface Manual de referencia del juego de instrucciones Ejemplo 2 3 3 3 3 3 3 El valor BCD 32760 en el registro matemático se convierte y se almacena en N7:0. El máximo valor de fuente es 32767, BCD. FRD FROM BCD Source S:13 S:13 y S:14 se muestran en 00032760 el formato BCD. Dest N7:0 32760 0000 0000 0000 0011 0010 0111 0110 0000 15 S:14 0 15 S:13 0 BCD de 5 dígitos 0 0 0 3 2 7 6 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 Si el registro matemático (S:13 y S:14) se usa como la fuente para la instrucción FRD y el valor BCD no excede 4 dígitos, asegúrese de borrar la palabra S:14 antes de ejecutar la instrucción FRD. Si S:14 no se borra y un valor se contiene en esta palabra procedente de otra instrucción matemática ubicada en otra parte del programa, se colocará un valor decimal incorrecto en la palabra de destino. 4–8
  • 123. Instrucciones de manejo de datos A continuación se muestra cómo borrar S:14 antes de ejecutar la instrucción FRD: I:1 MOV ] [ MOVE 0 Source N7:2 0001 0010 0011 0100 4660 Dest S:13 4660 CLR CLEAR Dest S:14 0 FRD FROM BCD S:13 y S:14 se Source S:13 muestran en el formato 00001234 Dest N7:0 BCD. 1234 0000 0100 1101 0010 Cuando la condición de entrada se establece (1), un valor BCD (transferido de un interruptor preselector rotatorio de 4 dígitos, por ejemplo) se mueve de la palabra N7:2 al registro matemático. La palabra de estado S:14 se borra para asegurar que los datos no deseados no estén presentes cuando se ejecute la instrucción FRD. 4–9
  • 124. Preface Manual de referencia del juego de instrucciones Radianes en grados (DEG) 3 3 DEG Radians to Degrees Use esta instrucción para convertir los radianes (fuente) en grados y almacenar el Source resultado en el destino. La fórmula siguiente se aplica: Dest Instrucción de salida Fuente 180/Π donde Π = 3.141592 Use esta instrucción con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401. Cómo introducir parámetros • La fuente es el entero y/o los valores de punto (coma) flotante. • El destino es la dirección de la palabra donde se almacenan los datos. Actualizaciones de los bits de estado aritmético Con este bit: El procesador: Acarreo (C) siempre se restablece se establece si un overflow es generado o si una entrada sin capacidad Overflow (V) se detecta; en caso contrario, se restablece Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece se establece si el resultado es negativo; en caso contrario, se Signo (S) restablece 4–10
  • 125. Instrucciones de manejo de datos Grados en radianes (RAD) 3 3 RAD Degress to Radians Use esta instrucción para convertir los grados (fuente) en radianes y almacenar el Source resultado en el destino. La fórmula siguiente se aplica: Dest Instrucción de salida Fuente Π/180 donde Π = 3.141592 Use esta instrucción con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401. Cómo introducir los parámetros • La fuente es el entero y/o los valores de punto (coma) flotante. • El destino es la dirección de la palabra donde se almacenan los datos. Actaulizaciones de los bits de estado aritmético Con este bit: El procesador: Acarreo (C) siempre se restablece se establece si un overflow es generado o si una entrada sin capacidad Overflow (V) se detecta; en caso contrario, se restablece Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece se establece si el resultado es negativo; en caso contrario, se Signo (S) restablece 4–11
  • 126. Preface Manual de referencia del juego de instrucciones Descodificar 4 a 1 de 16 (DCD) 3 3 3 3 3 3 DCD DECODE 4 to 1 of 16 Una vez ejecutada, esta instrucción establece un bit de la palabra de destino. El bit Source que se activa depende del valor de los cuatro primeros bits de la palabra de fuente. Dest Vea la tabla siguiente. Instrucción de salida Use esta instrucción para multiplexar los datos en aplicaciones tales como interruptores preselectores rotatorios, teclados y conmutación de banco. Fuente Destino Bit 15–04 03 02 01 00 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 x 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 x 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 x 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 x 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 x 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 x 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 x 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 x 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 x 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 x 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 x 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 x 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Cómo introducir parámetros • La fuente es la dirección que contiene la información de descodificación de bit. Sólo los cuatro primeros bits (0–3) se usan en la instrucción DCD. Los bits restantes se pueden usar para otras necesidades de aplicaciones específicas. Cambie el valor de los cuatro primeros bits de esta palabra para seleccionar un bit de la palabra de destino. • El destino es la dirección de la palabra donde se almacenan los datos. Actualizaciones de los bits de estado aritmético Permanecen sin cambios. 4–12
  • 127. Instrucciones de manejo de datos Codificar 1 de 16 a 4 (ENC) 3 ENC ENCODE 1 of 16 to 4 Cuando el renglón es verdadero, esta instrucción de salida busca la fuente desde el Source bit mínimo hasta el bit máximo y busca el primer bit establecido. La posición de bit Dest correspondiente es escribe al destino como entero según se muestra en la tabla Instrucción de salida siguiente: Fuente Destino Bit 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 15–04 03 02 01 00 x x x x x x x x x x x x x x x 1 x 0 0 0 0 x x x x x x x x x x x x x x 1 0 x 0 0 0 1 x x x x x x x x x x x x x 1 0 0 x 0 0 1 0 x x x x x x x x x x x x 1 0 0 0 x 0 0 1 1 x x x x x x x x x x x 1 0 0 0 0 x 0 1 0 0 x x x x x x x x x x 1 0 0 0 0 0 x 0 1 0 1 x x x x x x x x x 1 0 0 0 0 0 0 x 0 1 1 0 x x x x x x x x 1 0 0 0 0 0 0 0 x 0 1 1 1 x x x x x x x 1 0 0 0 0 0 0 0 0 x 1 0 0 0 x x x x x x 1 0 0 0 0 0 0 0 0 0 x 1 0 0 1 x x x x x 1 0 0 0 0 0 0 0 0 0 0 x 1 0 1 0 x x x x 1 0 0 0 0 0 0 0 0 0 0 0 x 1 0 1 1 x x x 1 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 0 0 x x 1 0 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 0 1 x 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 1 1 Cómo introducir parámetros • La fuente es la dirección de la palabra que va a codificar (encode). Sólo un bit de esta palabra se debe activar a la vez. Si hay más de un bit establecido en la fuente, los bits de destino estarán establecidos en el bit menos significante establecido. Si se usa una fuente de cero, todos los bits de destino estarán restablecidos y el bit de cero se establecerá. • El destino es la dirección que contiene la información de codificación (encode) de bit. Los bits 4–15 del destino están restablecidos por la instrucción ENC. 4–13
  • 128. Preface Manual de referencia del juego de instrucciones Actualizaciones de los bits de estado aritmético Los bits de estado aritmético se encuentran en la palabra 0, bits 0–3 en el archivo de estado del controlador. Después de la ejecución de una instrucción, los bits de estado aritmético en el archivo de estado se actualizan: Con este bit: El controlador: S:0/0 Acarreo (C) siempre se restablece. se establece si más de un bit se establece; en caso contrario, S:0/1 Overflow (V) se restablece. El bit de overflow matemáitico (S:5/0) 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. 4–14
  • 129. Instrucciones de manejo de datos Instrucciones para copiar el archivo (COP) y llenar el archivo (FLL) 3 3 3 3 3 3 COP COPY FILE El archivo de tipo destino determina el número de palabras que una instrucción Source Dest Length transfiere. Por ejemplo, si el archivo de tipo destino es un contador y el archivo de tipo fuente es un entero, se transfieren tres palabras de entero por cada elemento en el archivo de tipo contador. FLL FILL FILE Source Dest Length Después de la ejecución de una instrucción COP o FLL, el registro de índice S:24 se pone a cero. 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
  • 130. Preface Manual de referencia del juego de instrucciones • La longitud es el número de elementos en el archivo que desea copiar. – Para los procesadores SLC, si el archivo de tipo destino es 3 palabras por elemento (temporizador o contador), puede especificar una longitud máxima de 42. Si el archivo de tipo destino es 1 palabra por elemento, puede especificar una longitud máxima de 128 palabras. – Vea la tabla siguiente respecto a los controladores MicroLogix 1000: Si el archivo de tipo entonces puede especificar una destino es un/una: longitud máxima de: Salida 1 Entrada 2 Estado 33 Bit 32 Temporizador 40 Contador 32 Control 16 Entero 105 Nota Las longitudes máximas se aplican cuando la fuente es del mismo tipo de archivo. Todos los elementos son copiados del archivo de fuente al archivo de destino cada vez que se ejecuta la instrucción. Los elementos se copian en orden ascendiente. Si su archivo de tipo destino es un archivo de temporizador, contador o control, asegúrese que las palabras de fuente correspondientes a las palabras de estado de su archivo de destino contengan ceros. Asegúrese de especificar con precisión la dirección inicial y la longitud del bloque de datos que está copiando. La instrucción no sobrescribirá un límite de archivo (por ejemplo, entre archivos N16 y N17) en el destino. Ocurre un error si se intenta una sobrescritura del límite de archivo. Puede realizar desplazamientos de archivo especificando una dirección de elemento de fuente que tiene uno o más elementos que la dirección de elemento de destino dentro del mismo archivo. Esto desplaza los datos a direcciones de elemento inferiores. 4–16
  • 131. 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
  • 132. Preface Manual de referencia del juego de instrucciones • La longitud es el número de elementos en el archivo que desea copiar. – Para los procesadores SLC, si el archivo de tipo destino es de 3 palabras por elemento (temporizador o contador), puede especificar una longitud máxima de 42. Si el archivo de tipo destino es de 1 palabra por elemento, puede especificar una longitud máxima de 128 palabras. – Vea la tabla siguiente respecto a los controladores MicroLogix 1000: Si el archivo de tipo entonces puede especificar na destino es un/una: longitud máxima de: Salida 1 Entrada 2 Estado 33 Bit 32 Temporizador 40 Contador 32 Control 16 Entero 105 Todos los elementos se llenan del mismo valor de fuente (típicamente una constante) en el archivo de destino especificado durante cada escán en que el renglón es verdadero. Los elementos se llenan en orden ascendente. La instrucción no sobrescribirá un límite de archivo (por ejemplo, entre archivos N16 y N17) en el destino. Ocurre un error si se intenta sobrescribir un límite de archivo. 4–18
  • 133. 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
  • 134. Preface Manual de referencia del juego de instrucciones Mover (MOV) 3 3 3 3 3 3 MOV MOVE Esta instrucción de salida mueve el valor de fuente al lugar de destino. Siempre que Source el renglón permanezca verdadero, la instrucción mueve los datos durante cada Dest escán. Instrucción de salida Cómo introducir parámetros Introduzca los parámetros siguientes al programar esta instrucción: • La fuente es la dirección o constante de los datos que desea mover. • El destino es la dirección a la cual la instrucción mueve los datos. Nota de aplicación: Si desea mover una palabra de datos sin afectar los indicadores matemáticos, use una instrucción de copiar (COP) con una longitud de 1 palabra en vez de la instrucción MOV. Actualizaciones de los bits de estado aritmético Con este bit: El controlador: S:0/0 Acarreo (C) siempre se restablece. S:0/1 Overflow (V) siempre se restablece. se establece si el resultado es cero; en caso contrario, se S:0/2 Cero (Z) restablece. se establece si el resultado es negativo (el bit más significante S:0/3 Signo (S) establecido); en caso contrario, se restablece. 4–20
  • 135. Instrucciones de manejo de datos Mover con máscara (MVM) 3 3 3 3 3 3 MVM MASKED MOVE La instrucción MVM es una instrucción de palabra que mueve datos de un lugar de Source fuente a un destino y permite que porciones de los datos de destino estén Mask enmascarados por una palabra separada. Siempre que el renglón permanenzca Dest verdadero, la instrucción mueve los datos durante cada escán. 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. se establece si el resultado es cero; en caso contrario, se S:0/2 Cero (Z) restablece. se establece si el resultado es negativo; en caso contrarior, se S:0/3 Signo (S) restablece. 4–21
  • 136. Preface Manual de referencia del juego de instrucciones Operación Cuando un renglón que contiene esta instrucción es verdadero, los datos en la dirección de fuente pasan por la máscara a la dirección de destino. Vea la ilustración siguiente: MVM MASKED MOVE Source B3:0 Mask F0F0 Dest B3:2 B3:2 antes de mover 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 fuente B3:0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Máscara F0F0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 B3:2 después de mover 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 Enmascare los datos restableciendo los bits en la máscara; transfiera los datos estableciendo los bits en la máscara a uno. Los bits de la máscara pueden ser fijos por un valor constante o los puede variar asignándoles una dirección directa a la máscara. Los bits en el destino que corresponden a ceros en la máscara no se modifican. 4–22
  • 137. Instrucciones de manejo de datos Y (AND) 3 3 3 3 3 3 AND BITWISE AND El valor en la fuente A recibe la instrucción AND bit por bit con el valor en la Source A fuente B y luego se almacena en el destino. Source B Dest Tabla de verdad Instrucción de salida Destino = A y B A B Destino 0 0 0 1 0 0 0 1 0 1 1 1 Las fuentes A y B pueden ser una dirección de palabra o una constante; sin embargo, ambas fuentes no pueden ser una constante. El destino debe ser una dirección de palabra. Nota de aplicación: Cuando introduce constantes, puede usar el operador del signo “&” para cambiar la raíz de la introducción. Por ejemplo, en lugar de introducir –1 como una constante, podría introducir &B1111111111111111 ó &HFFFF. Actualizaciones de los bits de estado aritmético Con este bit: El controlador: S:0/0 Acarreo (C) siempre se restablece. S:0/1 Overflow (V) siempre se restablece. se establece si el resultado es cero; en caso contrarior, se S:0/2 Cero (Z) restablece. se establece si el bit más significativo está establecido; en S:0/3 Signo (S) caso contrarior, se restablece. 4–23
  • 138. Preface Manual de referencia del juego de instrucciones O (OR) 3 3 3 3 3 3 OR BITWISE INCLUS OR El valor en la fuente A recibe la instrucción O bit por bit con el valor en la fuente B Source A y luego se almacena en el destino. Source B Dest Tabla de verdad Instrucción de salida Destino = A o B A B Destino 0 0 0 1 0 1 0 1 1 1 1 1 Las fuentes A y B pueden ser una dirección de palabra o una constante; sin embargo, ambas fuentes no pueden ser una constante. El destino debe ser una dirección de palabra. Nota de aplicación: Cuando introduce constantes, puede usar el operador del signo “&” para cambiar la raíz de la introducción. Por ejemplo, en lugar de introducir –1 como una constante, podría introducir &B1111111111111111 ó &HFFFF. Actualizaciones de los bits de estado aritmético Con este bit: El controlador: S:0/0 Acarreo (C) siempre se restablece. S:0/1 Overflow (V) siempre se restablece. se establece si el resultado es cero; en caso contrario, se S:0/2 Cero (Z) restablece. se establece si el resultado es negativo (el bits más S:0/3 Signo (S) significativo está establecido); en caso contrarior, se restablece. 4–24
  • 139. Instrucciones de manejo de datos O exclusivo (XOR) 3 3 3 3 3 3 XOR BITWISE EXCLUS OR El valor en la fuente A recibe la instrucción de O exclusivo bit por bit con el valor Source A en la fuente B y luego se almacena en el destino. Source B Dest Tabla de verdad Instrucción de salida Destino = A X o B A B Destino 0 0 0 1 0 1 0 1 1 1 1 0 Las fuentes A y B pueden ser una dirección de palabra o una constante; sin embargo, ambas fuentes no pueden ser una constante. El destino debe ser una dirección de palabra. Nota de aplicación: Cuando introduce constantes, puede usar el operador del signo “&” para cambiar la raíz de la introducción. Por ejemplo, en lugar de introducir –1 como una constante, podría introducir &B1111111111111111 ó &HFFFF. Actualizaciones de los bits de estado aritmético Con este bit: El controlador: S:0/0 Acarreo (C) siempre se restablece. S:0/1 Overflow (V) siempre se restablece. se establece si el resultado es cero; en caso contrarior, se S:0/2 Cero (Z) restablece. se establece si el resultado es negativo (el bits más S:0/3 Signo (S) significativo está establecido); en caso contrarior, se restablece. 4–25
  • 140. Preface Manual de referencia del juego de instrucciones No (NOT) 3 3 3 3 3 3 NOT NOT El valor de fuente recibe la instrucción NOT bit por bit y luego se almacena en el Source destino (complemento de uno). Dest Instrucción de salida Tabla de verdad Destino = NOT A A Destino 0 1 1 0 La fuente y el destino deben ser direcciones de palabra. Nota de aplicación: Cuando introduce constantes, puede usar el operador del signo “&” para cambiar la raíz de la introducción. Por ejemplo, en lugar de introducir –1 como una constante, podría introducir &B1111111111111111 ó &HFFFF. Actualizaciones de los bits de estado aritmético Con este bit: El controlador: S:0/0 Acarreo (C) siempre se restablece. S:0/1 Overflow (V) siempre se restablece. se establece si el resultado es cero; en caso contrarior, se S:0/2 Cero (Z) restablece. se establece si el resultado es negativo (el bits más S:0/3 Signo (S) significativo está establecido); en caso contrarior, se restablece. 4–26
  • 141. Instrucciones de manejo de datos Negar (NEG) 3 3 3 3 3 3 NEG NEGATE Use la instrucción NEG para cambiar el signo de la fuente y luego colóquelo en el Source destino. El destino contiene el complemento de dos de la fuente. Por ejemplo, si la Dest fuente es 5, el destino sería –5. Instrucción de salida La fuente y el destino deben ser direcciones de palabra. Actualizaciones de bits de estado aritmético Con este bit: El controlador: se pone a cero si es 0 u overflow; en caso contrarior, se S:0/0 Acarreo (C) restablece. se establece si es un overflow, en caso contrario, se restablece. El overflow sólo ocurre si -32,768 es la fuente. Durante el overflow, el indicador de error menor también se establece. El valor 32,767 se coloca en el destino. Si S:2/14 S:0/1 Overflow (V) está establecido, el overflow no signado y truncado permanece en el destino. Para los destinos de punto (coma) flotante, el resultado de overflow permanece en el destino. se establece si el resultado es cero; en caso contrarior, se S:0/2 Cero (Z) restablece. se establece si el resultado es negativo; en caso contrarior, se S:0/3 Signo (S) restablece. 4–27
  • 142. Preface Manual de referencia del juego de instrucciones Descripción general de las instrucciones FIFO y LIFO Las instrucciones FIFO cargan palabras en un archivo y las descargan en el mismo orden en que fueron cargadas. La primera palabra que llega es la primera palabra que sale. Las instrucciones LIFO cargan palabras en un archivo y las descargan en el orden inverso en que fueron cargadas. La última palabra que llega es la primera palabra que sale. Cómo introducir parámetros Introduzca los parámetros siguienes al programar estas instrucciones: • La fuente es una dirección de palabra o constante (–32,768 a 32,767) que se convierte en el próximo valor en la pila. • El destino es una dirección de palabra que almacena el valor que sale de la pila. Esta instrucción Descarga el valor a partir de la: 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. 4–28
  • 143. 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
  • 144. Preface Manual de referencia del juego de instrucciones Carga FIFO (FFL) Descarga FIFO (FFU) 3 3 3 3 FFL FIFO LOAD (EN) Las instrucciones FFL y FFU se usan conjuntamente. La instrucción FFL carga Source (DN) FIFO (EM) palabras en un archivo creado por el usuario que se llama una pila FIFO. La Control Length instrucción FFU descarga palabras de la pila FIFO en el mismo orden en que fueron Position cargadas. FFU FIFO UNLOAD (EU) FIFO (DN) Dest (EM) Control Length Position Instrucciones de salida Parámetros de instrucción han sido programados en las instrucciones FFL–FFU ilustradas abajo. FFL FIFO LOAD (EN) Destino Posición Source N7:10 (DN) N7:11 N7:12 0 FIFO #N7:12 (EM) N7:13 1 Control R6:0 La instrucción FFU descarga Length 34 datos de pila #N7:12 en N7:14 2 Position 9 posición 0, N7:12. 3 4 5 34 palabras han sido FFU 6 asignadas para la pila FIFO UNLOAD (EU) 7 FIFO a partir de N7:12 FIFO #N7:12 (DN) Fuente 8 hasta N7:45. Dest N7:11 (EM) Control R6:0 N7:10 9 Length 34 Position 9 La instrucción FFL carga datos en pila #N7:12 en la próxima posición disponible, la cual es 9 33 N7:45 Instrucciones FFL-FFU en este caso. 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
  • 145. 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
  • 146. Preface Manual de referencia del juego de instrucciones Carga LIFO (LFL) Descarga LIFO (LFU) 3 3 3 3 LFL LIFO LOAD (EN) Las instrucciones LFL y LFU se usan conjuntamente. La instrucción LFL carga Source LIFO (DN) (EM) palabras en un archivo creado por el usuario que se llama una pila LIFO. La Control Length instrucción LFU descarga palabras de la pila LIFO en el mismo orden en que fueron Position cargadas. LFU LIFO UNLOAD (EU) LIFO (DN) Dest (EM) Control Length Position Los parámetros de instrucción han sido programados en las instrucciones LFL–LFU Instrucciones de salida ilustradas abajo. La instrucción LFU descarga datos de pila #N7:12 en LFL posición 0, N7:12. LIFO LOAD (EN) Posición Source N7:10 (DN) N7:11 N7:12 0 LIFO #N7:12 (EM) 1 34 palabras se asignan Control R6:0 Destino N7:13 para la pila LIFO a partir Length 34 N7:14 2 de N7:12 hasta N7:45. Position 9 3 4 5 La instrucción LFL carga datos en LFU 6 LIFO UNLOAD (EU) pila #N7:12 en la próxima posición disponible, la cual es 9 7 LIFO #N7:12 (DN) Dest N7:11 en este caso. 8 (EM) Control R6:0 N7:10 9 Length 34 Position 9 Fuente Instrucciones LFL-LFU N7:45 33 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
  • 147. 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
  • 148. Preface Manual de referencia del juego de instrucciones Instrucciones de manejo de datos en el ejemplo de aplicación de la perforadora de papel Esta sección proporciona renglones de escalera para demostrar el uso de las instrucciones de manejo de datos. Los renglones son parte del ejemplo de aplicación de la perforadora de papel descrito en el apéndice H. Usted los añadirá a la subrutina en el archivo 7 que se inició en el capítulo 2. Añadir el archivo 7 Renglón 7:3 Este renglón mueve el valor del interruptor preselector rotatorio BCD de un solo dígito en un registro de entero interno. Esto se realiza para alinear correctamente las cuatro señales de entrada BCD antes de ejecutar la instrucción de BCD a entero (FRD). El interruptor preselector rotatorio se usa para permitirle al operador introducir el espesor del papel que va a perforar. El espesor se introduce en incrementos de 1/4 pulg. Esto proporciona un rango de 1/4 pulg. a 2.25 pulg. | BCD bit 0 |FRD bit 0 | | I:1.0 N7:14 | |––––––––––––––––––––––––––––––––––––––––––––––––––––+––––] [––––––––( )–––––+–| | | 11 0 | | | | BCD bit 1 |FRD bit 1 | | | | I:1.0 N7:14 | | | +––––] [––––––––( )–––––+ | | | 12 1 | | | | BCD bit 2 |FRD bit 2 | | | | I:1.0 N7:14 | | | +––––] [––––––––( )–––––+ | | | 13 2 | | | | BCD bit 3 |FRD bit 3 | | | | I:1.0 N7:14 | | | +––––] [––––––––( )–––––+ | | 14 3 | 4–34
  • 149. 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
  • 150. Preface Manual de referencia del juego de instrucciones 4–36
  • 151. 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 Saltar hacia adelante o hacia atrás a la instrucción 5Ć3 etiqueta de etiqueta especificada. JSR, SBR, Saltar a subrutina, Saltar a una subrutina designada y retornar. 5Ć5 y RET subrutina, y retornar de la subrutina MCR Restablecimiento Desactivar todas las salidas no retentivas en una 5-8 del control maestro sección de un programa de escalera. TND Fin temporal Marcar un fin temporal que detiene la ejecución del 5-10 programa. SUS Suspender Identifica condiciones específicas para la 5-11 depuración del programa y la localización y corrección de fallos del sistema. IIM Entrada inmediata Programar una entrada inmediata con máscara. 5-12 con máscara IOM Salida inmediata Programar una salida inmediata con máscara. 5-13 con máscara REF Regenerar 5-14 5–1
  • 152. Preface Manual de referencia del juego de instrucciones Acerca de las instrucciones de control de flujo de programa Use estas instrucciones para controlar la secuencia en que se ejecuta su programa. Las instrucciones de control le permiten cambiar el orden en que el procesador realiza un escán de un programa de escalera. Estas instrucciónes típicamente se usan para minimizar el tiempo de escán, crear un programa más eficiente y para localizar y corregir fallos de un programa de escalera. 5–2
  • 153. 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 El programa: instrucción de salto es: Verdadero 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. Falso 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
  • 154. Preface Manual de referencia del juego de instrucciones Uso de LBL Esta instrucción de entrada es el blanco de las instrucciones JMP que tienen el mismo número de etiqueta. Debe programar esta instrucción como la primera instrucción de un renglón. Esta instrucción no tiene bits de control. Puede programar saltos múltiples a la misma etiqueta asignando el mismo número de etiqueta a instrucciones JMP múltiples. Sin embargo, los números de etiqueta deben ser únicos. Nota No salte (JMP) en una zona MCR. Las instrucciones programadas dentro de la zona MCR a partir de la instrucción LBL hasta la instrucción ’END MCR’ siempre serán evaluadas como si la zona MCR fuera verdadera, sin importar el estado verdadero de la instrucción “Start MCR”. 5–4
  • 155. Instrucciones de flujo de programa Saltar a subrutina (JSR), subrutina (SBR), y retornar (RET) JSR JUMP TO SUBROUTINE Las instrucciones JSR, SBR y RET se usan para indicar al controlador que ejecute SBR file number un archivo de subrutina separado dentro del programa de escalera y retornar a la . . . instrucción siguiente a la instrucción JSR. SBR SUBROUTINE RET RETURN Nota Si usa la instrucción SBR, ésta debe ser la primera instrucción en el primer renglón en el archivo de programa que contiene la subrutina. Use una subrutina para almacenar secciones repetidas de lógica de programa que se debe ejecutar desde varios puntos dentro de su programa de aplicación. Una subrutina ahorra memoria porque se programa sólo una vez. Actualice E/S críticas dentro de subrutinas usando las instrucciones de entrada y/o salida inmediata (IIM, IOM), especialmente si la aplicación requiere subrutinas anidadas o largas. En caso contrarior, el controlador no actualizará la E/S hasta que llegue al final del programa principal (después de ejecutar todas las subrutinas). Las salidas controladas dentro de una subrutina permanecen en su último estado hasta que la subrutina se vuelva a ejecutar. Cómo anidar archivos de subrutina El anidar subrutinas le permite dirigir el flujo de programa desde el programa principal hasta una subrutina y luego a otra subrutina. Las reglas siguientes se aplican al anidar subrutinas: Puede anidar hasta ocho niveles de subrutinas. Si usa una subrutina STI, una subrutina de interrupción HSC o una rutina de fallo del usuario, puede anidar subrutinas hasta tres niveles desde cada subrutina. • Con los procesadores fijos y SLC 5/01, puede anidar subrutinas hasta cuatro niveles. 5–5
  • 156. Preface Manual de referencia del juego de instrucciones • Con los procesadores SLC 5/02, SLC 5/03, SLC 5/04 y controladores MicroLogix 1000, puede anidar subrutinas hasta ocho niveles. Si usa una subrutina STI, subrutina de interrupción provocada por evento de E/S, una rutina de fallo del usuario o una subrutina de interrupción HSC, puede anidar subrutinas hasta tres niveles desde cada subrutina. La ilustración siguiente muestra cómo se pueden anidar las subrutinas. Programa Nivel 1 Nivel 2 Nivel 3 principal Archivo de subrutina 6 Archivo de subrutina 7 Archivo de subrutina 8 6 SBR SBR SBR JSR 7 8 JSR JSR RET RET RET Ejemplo de cómo anidar subrutinas hasta el nivel 3 Ocurrirá un error si se llaman más niveles de subrutinas que los permitidos (overflow de pila de subrutina) o si se ejecutan más retornos que niveles de llamada existentes (underflow de pila de subrutina). Uso de JSR Cuando la instrucción JSR se ejecuta, el controlador salta a la instrucción de subrutina (SBR) al inicio del archivo de subrutina destino y reanuda la ejecución desde aquel punto. No puede saltar en una parte de una subrutina con excepción de la primera instrucción en ese archivo. Debe programar cada subrutina en su propio archivo de programa asignando un número de archivo único: • 3–255 para los procesadores SLC • 4–15 para los controladores MicroLogix 1000 Fijo y específico del SLC 5/01 – La instrucción JSR no se debe programar en bifurcaciones de salida anidadas. Un error de compilador se ocurrirá si se encuentra un renglón que contenga salidas múltiples con lógica condicional y una instrucción JSR. 5–6
  • 157. 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
  • 158. Preface Manual de referencia del juego de instrucciones Restablecimiento de control maestro (MCR) 3 3 3 3 3 3 (MCR) Use las instrucciones MCR conjuntamente para crear zonas de programa que desactivan todas las salidas no retentivas en la zona. Los renglones dentro de la zona MCR todavía son escaneados, pero el tiempo de escán se reduce debido al estado falso de las salidas no retentivas. Si el renglón MCR que inicia la El controlador: zona es: Verdadero Ejecuta los renglones en la zona MCR según la condición de entrada de cada renglón (como si la zona no existiera) Falso 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: • Debe terminar la zona con una instrucción MCR no condicional. • No puede anidar una zona MCR dentro de otra. • No salte a una zona MCR. Si la zona es falsa, el saltar a ella activa la zona. • Siempre coloque la instrucción MCR como la última instrucción en un renglón. Nota La instrucción MCR no substituye un relé cableado de control maestro que proporciona la capacidad de detención de emergencia. Todavía debe instalar un relé cableado de control maestro para proporcionar la interrupción de alimentación eléctrica de E/S en casos de emergencia. Si inicia instrucciones tales como temporizadores o contadores en una zona MCR, la operación de instrucción se detiene cuando la zona se inhabilita. Vuelva a programar operaciones críticas fuera de la zona si fuese necesario. 5–8
  • 159. 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
  • 160. Preface Manual de referencia del juego de instrucciones Fin temporal (TND) 3 3 3 3 3 3 (TND) Cuando el renglón de esta instrucción es verdadero, previene que el procesador realice un escán del resto del archivo de programa, actualiza la E/S y reanuda el Instrucción de salida escaneado a partir del renglón 0 del programa principal (archivo 2). Si la instrucción de este renglón es falsa, el procesador sigue realizando el escán hasta la próxima instrucción TND o el comando END. Use esta instrucción para depurar progresivamente un programa o eliminar condicionalmente el resto de su archivo de programa o subrutinas existentes. Nota Si usa esta instrucción dentro de una subrutina anidada, se termina la ejecución de todas las subrutinas anidadas. Controladores MicroLogix 1000 No ejecute esta instrucción desde la rutina de fallo de error del usuario (archivo 3), rutina de interrupción del contador de alta velocidad (archivo 4) ni la rutina de interrupción temporizada seleccionable (archivo 5) ya que ocurrirá un error. 5–10
  • 161. Instrucciones de flujo de programa Suspender (SUS) 3 3 3 3 3 3 SUS SUSPEND Cuando esta instrucción se ejecuta, causa que el procesador entre en el modo de Suspend ID Suspend/Idle y almacena la identificación de suspender en palabra 7 (S:7) del Instrucción de salida 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
  • 162. Preface Manual de referencia del juego de instrucciones Entrada inmediata con máscara (IIM) 3 3 3 3 3 3 IIM IMMEDIATE INPUT w MASK Esta instrucción le permite actualizar datos antes del escán de entrada normal. Slot Mask Cuando la instrucción IIM se habilita, el escán de programa se interrumpe. Los datos de una ranura de E/S especificada se transfieren a través de una máscara al Instrucción de entrada Procesadores fijos y SLC 5/01 y archivo de datos de entrada poniendo así los datos a la disposición de instrucciones controladores MicroLogix 1000 siguientes a la instrucción IIM en el programa de escalera. IIM IMMEDIATE INPUT w MASK Slot Para la máscara, 1 en la posición de un bit de entrada transfiere datos desde la fuente Mask Length hasta el destino. 0 inhibe que los datos se transfieran desde la fuente hasta el Instrucción de entrada destino. Procesadores SLC 5/03 y SLC 5/04 Cómo introducir parámetros Ranura – Especifique el número de ranura de entrada y el número de palabra perteneciente a la ranura. No es necesario especificar la palabra 0 de una ranura. Los procesadores fijos y SLC 5/01 pueden tener hasta 8 palabras asociadas con la ranura. Los procesadores SLC 5/02, SLC 5/03 y SLC 5/04 pueden tener hasta 32 palabras asociadas con la ranura (0–31). Para todos los controladores MicroLogix 1000 especifique I1:0.0. Para los controladores de E/S 16, I1:0/0–9 son válidos e I1:0/10–15 se consideran como entradas no usadas. (No existen físicamente.) Para los controladores de E/S 32, I1:0/0–15 e I1:1/0–3 son válidos. Especifique I1:1 si desea actualizar inmediatamente los cuatro últimos bits de entrada. Ejemplo I:2 Entradas de ranura 2, palabra 0 I:2.1 Entradas de ranura 2, palabra 1 I:1 Entradas de ranura 1, palabra 0 Máscara – Especifique una constante hexadecimal o dirección de registro. Longitud – Para los procesadores SLC 5/03 y SLC 5/04, este parámetro se usa para transferir más de una palabra por ranura. 5–12
  • 163. Instrucciones de flujo de programa Salida inmediata con máscara (IOM) 3 3 3 3 3 3 IOM IMMEDIATE OUTPUT w MASK Esta instrucción le permite actualizar las entradas antes del escán de salida normal. Slot Mask Cuando la instrucción IOM se habilita, el escán de programa se interrumpe para transferir datos a una ranura de E/S especificada a través de una máscara. Luego el Instrucción de salida Procesadores fijos y SLC 5/01 y escán de programa se reanuda. controladores MicroLogix 1000 IOM Para la máscara, un 1 en la posición de bit de salida transfiere datos desde la fuente IMMEDIATE OUTPUT w MASK Slot Mask hasta el destino. 0 inhibe que los datos se transfieran desde la fuente hasta el Length destino. Instrucción de salida Procesadores SLC 5/03 y SLC 5/04 Cómo introducir parámetros Ranura – Especifique el número de ranura y el número de palabra perteneciente a la ranura. No es necesario especificar la palabra 0 de una ranura. Los procesadores fijos y SLC 5/01 pueden tener hasta 8 palabras asociadas con la ranura. Los procesadores SLC 5/02, SLC 5/03 y SLC 5/04 pueden tener hasta 32 palabras asociadas con la ranura (0–31). Para todos los controladores MicroLogix 1000, especifique O0:0.0. Para los controladores de E/S 16, O0:0/0–5 son válidos y O0:0/6–15 se consideran como salidas no usadas. (No existen físicamente.) Para los controladores de E/S 32, O0:0/1–11 son válidos y O0:0/12–15 se consideran como salidas no usadas. Ejemplo O:2 Salidas de ranura 2, palabra 0 O:1 Salidas de ranura 1, palabra 0 O:2.1 Salidas de ranura 2, palabra 1 Máscara – Especifique una constante hexadecimal o dirección de registro. Longitud – Para los procesadores SLC 5/03 y SLC 5/04 este parámetro se usa para transferir más de una palabra por ranura. 5–13
  • 164. Preface Manual de referencia del juego de instrucciones Regenerar I/S (REF) 3 3 3 Uso de un procesador SLC 5/02 (REF) La instrucción REF no tiene parámetros de programación. Cuando se evalúa como Instrucción de salida verdadero, el escán de programa se interrumpe para ejecutar el escán de E/S y porporcionar servicio a porciones de comunicación del ciclo de operación (escritura de salidas, servicios de comunicación, lectura de entradas). Luego el escán se reanuda en la instrucción siguiente a la instrucción REF. No se le permite colocar una instrucción REF en una subrutina DII, subrutina STI, subrutina de E/S o subrutina de fallo del usuario. Los temporizadores de control (watchdog) y de escán son restablecidos al ejecutar la instrucción REF. Debe asegurarse que la instrucción REF no se coloque dentro de un lazo de programa sin fin. No coloque una instrucción REF dentro de un lazo de programa a menos que el programa se analice detenidamente. Uso de procesadores SLC 5/03 y SLC 5/04 REF I/O REFRESH La operación de la instrucción REF en el procesador SLC 5/03 y SLC 5/04 es la Channel 0 Channel 1 misma que para el procesador SLC 5/02. Sin embargo, al usar un procesador SLC 5/03 ó SLC 5/04 también puede seleccionar un canal de comunicación específico Instrucción de salida para el cual desea servicio. • Procesador SLC 5/03 – el canal 0 esfull duplex DF1/RS-23 ó DH-485 – el canal 1 es DH-485 • El procesador SLC 5/04 – el canal 0 es DH-485, full duplex DF1 ó ASCII – el canal 1 es DH+ 5–14
  • 165. 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
  • 166. Preface Manual de referencia del juego de instrucciones 5–16
  • 167. Instrucciones específicas de aplicación 6 Instrucciones específicas de aplicación Este capítulo contiene información general acerca de las instrucciones específicas de aplicación y explica cómo funcionan en su programa de aplicación. Cada una de las instrucciones incluye información acerca de: • cómo aparece el símbolo de instrucción • cómo usar la instrucción Además, la última sección contiene un ejemplo de aplicación para una perforadora de papel que muestra el uso de las instrucciones específicas de aplicación. Instrucciones específicas de aplicación Instrucción Propósito Página Mnemónico Nombre BSL y BSR Desplazamiento de Cargan un bit de datos en un fichero de bit, 6-5 bit izquierdo y desplaza la configuración de datos por el fichero y desplazamiento de descarga el último bit de datos en el fichero. El BSL bit derecho desplaza datos a la izquierda y el BSR desplaza datos a la derecha. SQO y Salida de Controlan operaciones de máquina secuenciales 6-9 SQC secuenciador y transfiriendo datos de 16 bits a través de una comparación de máscara a direcciones de imagen. secuenciador SQL Carga de secuenĆ Captura condiciones indicadas pasando manualĆ 6-14 ciador mente la máquina por sus secuencias de operación. 6–1
  • 168. Preface Manual de referencia del juego de instrucciones Acerca de las instrucciones específicas de aplicación Estas instrucciones simplifican el programa de escalera permitiéndole a usted usar una sola instrucción o un par de instrucciones para efectuar operaciones complejas comunes. En este capítulo se encuentra una descripción general antes de cada grupo de instrucciones. Antes de aprender acerca de las instrucciones en cada uno de estos grupos, le recomendamos que lea la descripción general. Este capítulo contiene las descripciones generales siguientes: • Descripción general de las instrucciones de desplazamiento de bit • Descripción general de las instrucciones del secuenciador 6–2
  • 169. Instrucciones específicas de aplicación Descripción general de las instrucciones de desplazamiento de bit La información general siguiente se aplica a las instrucciones de desplazamiento de bit. Cómo introducir los parámetros Introduzca los parámetros siguientes al programar estas instrucciones: • El archivo es la dirección del fichero de bit que desea manejar. Debe usar el indicador de archivo (#) en la dirección de fichero de bit. • El control es el elemento de control que almacena el byte de estado de la instrucción, el tamaño del fichero (en número de bits). Anote que la dirección de control no se debe usar para otras instrucciones. El elemento de control se muestra abajo. 15 13 11 10 00 Pal. 0 EN DN ER UL No usada Pal. 1 Tamaño del fichero de bit (número de bits) Reservada Pal. 2 Los bits de estado del elemento de control se pueden direccionar mnemónicamente. Entre éstos se incluyen: – El bit de descarga UL (bit 10) almacena el estado del bit salido del fichero cada vez que la instrucción se habilita. – El bit de error ER (bit 11), cuando se establece, indica que la instrucción ha detectado un error tal como la introducción de un número negativo para la longitud o posición. Evite usar el bit de salida cuando este bit esté establecido. – El bit de efectuado DN (bit 13), cuando se establece, indica que el fichero de bit se ha desplazado una posición. – El bit de habilitación EN (bit 15) está establecido en una transición de falso a verdadero del renglón e indica que la instrucción está habilitada. 6–3
  • 170. Preface Manual de referencia del juego de instrucciones Cuando el registro se desplaza y las condiciones de entrada se hacen falsas, los bits de habilitación, efectuado y error se restablecen. • El bit de dirección es la dirección del bit de fuente que la instrucción inserta en la primera (más baja) posición de bit (BSL) o en la última (más alta) posición de bit (BSR). • La longitud (tamaño del arreglo de bit) es el número de bits en el fichero de bit, hasta 2048 bits. Un valor de longitud de 0 causa que el bit de entrada se transfiera al bit UL. – Para los procesadores SLC la longitud es 2048 – Para los controladores MicroLogix 1000 la longitud es 1680 Un valor de longitud que indica más allá del fin del archivo programado causa la ocurrencia de un error mayor de tiempo de ejecución. Si modifica un valor de longitud con su programa de escalera, asegúrese que el valor modificado sea válido. La instrucción invalida todos los bits más allá del último bit en el fichero (según se define por la longitud) hasta el próximo límite de palabra. Nota Si una dirección de elemento STring se usa para el parámetro del archivo, la longitud máxima en un procesador SLC 5/03 y SLC 5/04 es 672 bits. Además, los límites del elemento STring no se pueden cruzar. Efectos en el registro de índice S:24 La operación de desplazamiento pone a cero el registro de índice S:24. 6–4
  • 171. Instrucciones específicas de aplicación Desplazamiento de bit izquierdo (BSL) Desplazamiento de bit derecho (BSR) 3 3 3 3 3 3 BSL BIT SHIFT LEFT (EN) BSL y BSR son instrucciones de salida que cargan bit por bit los datos en un fichero File #B3:1 (DN) Control R6:14 de bit. Los datos son desplazados a través del fichero y luego son descargados bit Bit AddressI:22/12 Length 58 por bit. BSR BIT SHIFT RIGHT (EN) File #B3:2 (DN) Control R6:15 Bit AddressI:23/06 Length 38 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
  • 172. Preface Manual de referencia del juego de instrucciones La ilustración siguiente muestra cómo funciona la instrucción de desplazamiento de bit izquierdo. BSL BIT SHIFT LEFT (EN) File #B3:1 (DN) Control R6:14 Bit Address I:22/12 Length 58 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 24 23 22 21 20 19 18 17 16 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 Fichero de bit 58 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 #B3:1 NO VALIDO 73 72 71 70 69 68 67 66 65 64 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
  • 173. Instrucciones específicas de aplicación La ilustración siguiente muestra cómo funciona la instrucción de desplazamiento de bit derecho. BSR BIT SHIFT RIGHT (EN) File #B3:2 (DN) Control R6:15 Bit Address I:23/06 Length 38 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 Fichero de bit 38 INVALID 69 68 67 66 65 64 #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
  • 174. Preface Manual de referencia del juego de instrucciones Descripción general de las instrucciones de secuenciador La información general siguiente se aplica a las instrucciones de secuenciador. Efectos en el registro de índice S:24 El valor presente en el registro de índice S:24 se sobrescribe cuando la instrucción de secuenciador es verdadera. El valor del registro de índice será igual al valor de posición de la instrucción. Aplicaciones que requieren más de 16 bits Cuando la aplicación requiere más de 16 bits, use instrucciones de secuenciador múltiple en paralelo. Nota Refiérase al apéndice H para ejemplos de aplicación que usan las instrucciones de secuenciador. Nota Si se usa una dirección de elemento STring para el parámetro de archivo, la longitud máxima en un procesador SLC 5/03 y SLC 5/04 es 41 palabras. Además,no se pueden cruzar los límites del elemento STring. 6–8
  • 175. Instrucciones específicas de aplicación Salida de secuenciador (SQO) Comparación de secuenciador (SQC) 3 3 3 3 3 3 SQO SEQUENCER OUTPUT (EN) Estas intstrucciones transfieren datos de 16 bits a direcciones de palabra para el File Mask #B10:1 0F0F (DN) control de operaciones secuenciales de la máquina. Dest O:14 Control R6:20 Length 4 Position 2 SQC SEQUENCER COMPARE (EN) File #B10:11 Mask FFF0 (DN) Source I:03 (FD) Control R6:21 Length 4 Position 2 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 Datos de referencia para monitorizar SQC 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
  • 176. Preface Manual de referencia del juego de instrucciones Nota Puede direccionar la máscara, fuente o destino de una instrucción de secuenciador como palabra o archivo. Si la direcciona como archivo (usando # de indicador de archivo), la instrucción pasa automáticamente por el archivo de fuente, máscara o destino. • El control (SQO, SQC) es la estructura de control que almacena el byte de estado de la instrucción, la longitud del archivo de secuenciador y la posición instantánea en el archivo. No debe usar la dirección de control para otras instrucciones. 15 13 11 08 00 Pal. 0 EN DN ER FD Pal. 1 Longitud del archivo de secuenciador Pal. 2 Posición Los bits de estado de la estructura de control incluyen: – El bit de encontrado FD (bit 08) – SQC solamente. Cuando el estado de todos los bits sin máscara en la dirección de fuente corresponden a los de la palabra de referencia, el bit FD está establecido. Este bit se evalúa cada vez que la instrucción SQC es evaluada mientras el renglón sea verdadero. – El bit de error ER (bit 11) se establece cuando el procesador detecta un valor de posición negativo, o un valor de longitud negativo o de cero. Esto resulta en un error mayor si no se borra antes de la ejecución de la instrucción END o TND. – El bit de efectuado Bit DN (bit 13) lo establece la instrucción SQO o SQC después de operar en la última palabra en el archivo de secuenciador. Se restablece en la próxima transición de renglón de falso a verdadero después de que el renglón se haga falso. – El bit de habilitación EN (bit 15) lo establece una transición de renglón de falso a verdadero e indica que la instrucción SQO o SQC se ha habilitado. • La longitud es el número de pasos del archivo de secuenciador a partir de la posición 1. El número máximo que puede introducir es 255 palabras (104 palabras cuando usa los controladores MicroLogix 1000). La posición 0 es la posición de arranque. La instrucción se restablece (se ajusta automáticamente) a la posición 1 durante cada ciclo completado. La dirección asignada para un archivo de secuenciador es paso cero. Las instrucciones de secuenciador usan la longitud + 1 palabra de archivos de la tabla de datos para cada archivo indicado en la instrucción. Esto se aplica a la fuente, máscara y/o destino si se direccionan como archivos. Un valor de longitud que indica más allá del fin del archivo programado causa la coincidencia de un error mayor de tiempo de ejecución. Si modifica un valor de longitud con su programa de escalera, asegúrese que el valor modificado sea válido. 6–10
  • 177. 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
  • 178. Preface Manual de referencia del juego de instrucciones La ilustración siguiente indica cómo funciona la instrucción SQO. SQO SEQUENCER OUTPUT (EN) File #B10:1 Mask 0F0F (DN) Dest O:14.0 Control R6:20 Length 4 Position 2 Destino O:14.0 Salidas externas 15 8 7 0 asociadas con O:14 0000 0101 0000 1010 00 01 Activ. Valor de máscara 0F0F 02 15 8 7 0 03 Activ. 04 0000 1111 0000 1111 05 06 07 Archivo de salida de secuenciador #B10:1 08 Activ. Palabra Paso 09 B10:1 0000 0000 0000 0000 0 10 Activ. 11 2 1010 0010 1111 0101 1 12 3 1111 0101 0100 1010 2 Paso actual 13 4 0101 0101 0101 0101 3 14 5 0000 1111 0000 1111 4 15 Uso de SQC Cuando el estado de todos los bits sin máscara en la palabra de fuente corresponden a los de la palabra de referencia, la instrucción establece el bit de encontrado (FD) en la palabra de control. En caso contrarior, el bit de encontrado (FD) se pone a cero. Los bits enmascaran datos cuando se restablecen y transfieren datos cuando se establecen. La máscara puede ser fija o variable. Si introduce un código hexadecimal, la máscara es fija. Si introduce una dirección de elemento o una dirección de archivo para cambiar la máscara con cada paso, la máscara es variable. Cuando el renglón va de falso a verdadero, la instrucción se incrementa al próximo paso (palabra) en el archivo de secuenciador. Los datos almacenados en éste se transfieren a través de una máscara y se comparan contra los datos de fuente para determinar igualdad. Si los datos de fuente son iguales a los datos de referencia, el bit FD se establece en el contador de control de SQC. Los datos actuales se comparan contra la fuente durante cada escán en que el renglón es evaluado como verdadero. 6–12
  • 179. Instrucciones específicas de aplicación Las aplicaciones de la instrucción SQC incluyen diagnósticos de máquina. La ilustración siguiente explica cómo funciona la instrucción SQC. SQC SEQUENCER COMPARE (EN) File #B10:11 (DN) Mask FFF0 (FD) Source I:3.0 Control R6:21 Length 4 Position 2 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 Paso B10:11 0 12 1 13 0010 0100 1001 1010 2 14 3 15 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
  • 180. Preface Manual de referencia del juego de instrucciones Carga de secuenciador (SQL) 3 3 3 3 SQL SEQUENCER LOAD (EN) La instrucción SQL almacena datos de 16 bits en un archivo de carga de File Source (DN) secuenciador a cada paso de la operación del secuenciador. La fuente de estos datos Control Length puede ser una dirección de palabra de E/S o de almacenamiento, una dirección de Position archivo o una constante. 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
  • 181. Instrucciones específicas de aplicación • El control es una dirección de archivo de control. Los bits de estado, valor de longitud y valor de posición se almacenan en este elemento. No use la dirección de archivo de control para otras instrucciones. El elemento de control se muestra abajo: 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Pal. 0 EN DN ER Pal. 1 Longitud Pal. 2 Posición Los bits de estado de la estructura de control incluyen: – El bit de error ER (bit 11) se establece cuando el procesador detecta un valor de posición negativo, o un valor de longitud negativo o de cero. Para los procesadores SLC, esto resulta en un error mayor si no se pone a cero antes de la ejecución de la instrucción END o TND. Para los controladores MicroLogix 1000, cuando el bit ER se establece también se establece el bit de error (S5:2). Ambos bits se deben poner a cero. – El bit de efectuado DN (bit 13) se establece después de que la instrucción haya operado en la última palabra en el archivo de carga de secuenciador. Se restablece en la próxima transición de renglón de falso a verdadero después de que el renglón se haga falso. – El bit de habilitación EN (bit 15) se establece en una transición de falso a verdadero del renglón SQL y se restablece en una transición de verdadero a falso. 6–15
  • 182. Preface Manual de referencia del juego de instrucciones Operación Los parámetros de instrucción han sido programados en la instrucción SQL ilustrada abajo. La palabra de entrada I:1.0 es la fuente. Los datos en esta palabra son cargados en el archivo de entero #N7:30 por la instrucción de carga de secuenciador. SQL SEQUENCER LOAD (EN) File #N7:30 Source I:1.0 (DN) Control R6:4 Length 4 Entradas externas Position 2 asociadas con I:1.0 00 01 Activ. Fuente I:1.0 02 15 8 7 0 03 Activ. 04 0000 0101 0000 1010 05 06 07 Archivo de carga de secuenciador #N7:30 08 Activ. Palabra Paso 09 N7:30 0000 0000 0000 0000 0 10 Activ. 11 31 1010 0010 1111 0101 1 12 32 0000 0101 0000 1010 2 Paso actual 13 33 0000 0000 0000 0000 3 14 34 0000 0000 0000 0000 4 15 Cuando las condiciones de renglón cambian de falso a verdadero, el bit de habilitación SQL (EN) se establece. El elemento de control R6:4 se incrementa a la próxima posición en el archivo de secuenciador y carga el contenido de la fuente I:1.0 en esta ubicación. La instrucción SQL sigue cargando los datos actuales en esta ubicación durante cada escán en que el renglón permanece verdadero. Cuando el renglón se vuelve falso, el bit de habilitación (EN) se pone a cero. La instrucción carga los datos en un nuevo elemento de archivo a cada transición de falso a verdadero del renglón. Cuando se completa el paso 4, el bit de efectuado (DN) se establece. La operación avanza a la posición 1 en la próxima transición de falso a verdadero del renglón después de la posición 4. Si la fuente fuera una dirección de archivo tal como #N7:40, los archivos #N7:40 y #N7:30 tendrían una longitud de 5 (0–4) y rastrearían conjuntamente por los pasos según el valor de posición. 6–16
  • 183. Instrucciones específicas de aplicación Instrucciones específicas de aplicación en el ejemplo de aplicación de la perforadora de papel Esta sección proporciona renglones de escalera para demonstrar el uso de las instrucciones específicas de aplicación. Los renglones son parte del ejemplo de aplicación de la perforadora de papel descrito en el apéndice H. Usted iniciará una rubrutina en el archivo 4. Esta porción de la subrutina indica al transportador dónde detenerse para permitir la perforación de un orificio. Las instrucciones de secuenciador se usan para almacenar las posiciones de parada del transportador y cargar la “próxima” posición de parada en la palabra preseleccionada DII. (La interrupción de entrada discreta, DII, se usa para contar impulsos precedentes del codificador [encoder] que está conectado al transportador.) Las posiciones de parada se usan para almacenar y acceder cada una de las tres configuraciones de orificios. OPERATOR PANEL Start I:1/6 Stop I:1/7 Change Drill Soon Change Drill Now Interruptor O:3/4 O:3/6 selector de Thumbwheel for perforación Drill Change Reset 5 Hole Thickness in 1/4" 3 Hole 7 Hole (Keyswitch) I:1/11-I:1/14 I:1/8 I:1/9-I:1/10 Perforadora Orificios perforados 6–17
  • 184. Preface Manual de referencia del juego de instrucciones Renglón 4:0 Este renglón restablece los secuenciadores de conteo de orificios cada vez que el procesador entra en el modo RUN. Esto asegura que el primer valor preseleccionado se cargue en la DII preseleccionada a cada entrada en el modo de marcha. | Primer secuenciador | | paso de 3 orificios | | preseleccionado| | +INT––––––––––––––––––––+ S:1 R6:4 | |–+INTERRUPT SUBROUTINE +––––] [––––––––––––––––––––––––––––––+–––(RES)––––+–| | +–––––––––––––––––––––––+ 15 | | | | | secuenc. | | | | de 5 orif. | | | | preselecc. | | | | R6:5 | | | +–––(RES)––––+ | | | | | | | secuenc. | | | | de 7 orif. | | | | preselecc. | | | | R6:6 | | | +–––(RES)––––+ | | | Renglón 4:2 Este renglón registra el número de orificio que se perfora y carga la próxima DII correcta preseleccionada basada en el conteo de orificios. Este renglón solamente está activo cuando el “interruptor selector de orificio” está en la posición de “3 orificios”. El secuenciador usa el paso 0 como un paso nulo al restablecerse. Usa el último paso como “continuar infinitivamente” en espera del “fin de manual”. El mover 0 a S:49 le indica a la DII que dispare una interrupción cuando el borde trasero del libro actual se detecta. | bit 0 |bit 1 secuenciador | | del interr. |del interr. de 3 orificios | | selector |selector preseleccionado | | de orificio |de orificio | | I:1.0 I:1.0 +SQO–––––––––––––––+ | |––––]/[––––––––] [–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–| | 9 10 | |File #N10:0+–(DN) | | | | |Mask FFFF| | | | | |Dest S:50| | | | | |Control R6:4| | | | | |Length 4| | | | | |Position 0| | | | | +––––––––––––––––––+ | | | | | | 6–18
  • 185. 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
  • 186. Preface Manual de referencia del juego de instrucciones Renglón 4:4 Este renglón is idéntico a los 2 renglones anteriores con la excepción de que sólo está activado cuando el “interruptor selector de orificio” está en la posición de “7 orificios”. | bit 0 |bit 1 secuenciador | | del interr. |del interr. de 7 orificios | | selector de |selector de preseleccionado | | orificio |orificio | | I:1.0 I:1.0 +SQO–––––––––––––––+ | |––––] [––––––––] [–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–| | 9 10 | |File #N10:12+–(DN) | | | | |Mask FFFF| | | | | |Dest S:50| | | | | |Control R6:6| | | | | |Length 8| | | | | |Position 0| | | | | +––––––––––––––––––+ | | | | forzar que el | | | | secuenciador | | | | incremente en | | | | el próximo escán | | | | R6:6 | | | +–––––––––––––––––––––––––(U)––––––––––––––––––––+ | | | EN | | 6–20
  • 187. 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 Aplica la configuración al hardware del contador de alta velocidad, actualiza el HSC Contador de alta acumulador de imagen, habilita el conteo 7Ć6 velocidad cuando el HSC es verdadero e inhabilita el conteo cuando el renglón de HSC es falso. Configura los valores preseleccionados bajos HSL Carga del contador de y altos, las configuraciones de salida y 7Ć18 alta velocidad configuraciones de bit con máscara. Restablecimiento del RES Escribe un cero al acumulador de hardware y contador de alta 7Ć21 al acumulador de imagen. velocidad Acumulador de RAC restablecimiento del Escribe el valor especificado al acumulador 7Ć22 contador de alta de hardware y al acumulador de imagen. velocidad HSE Habilit. de interrupción Habilita o inhabilita la ejecución de la del contador de alta subrutina de interrupción del contador de alta HSD velocidad velocidad cuando se alcanza un valor 7-23 Inhabilit. de interrupción preseleccionado alto, valor preseleccionado del contador de alta bajo, overflow o underflow. velocidad Actualiz. del acumulador Le proporciona acceso de tiempo real al valor OTE de imagen del contador de acumulador del hardware actualizando el 7Ć24 de alta velocidad acumulador de imagen. 7–1
  • 188. Preface Manual de referencia del juego de instrucciones Acerca de las instrucciones del contador de alta velocidad Las instrucciones del contador de alta velocidad usadas en su programa de escalera configuran, controlan y monitorizan el contador de hardware del controlador. El acumulador de hardware del contador incrementa o decrementa en respuesta a señales de entrada externas. Cuando el contador de alta velocidad está habilitado, el contador de tabla de datos C5:0 es usado por el programa de escalera para monitorizar el acumulador y estado del contador de alta velocidad. El contador de alta velocidad opera independientemente del escán de controlador. Cuando use el contador de alta velocidad, asegúrese de ajustar debidamente los filtros de entrada. Antes de aprender estas instrucciones, lea la descripción general que sigue en la próxima página. 7–2
  • 189. Cómo usar las instrucciones del contador de alta velocidad Descripción general de las instrucciones del contador de alta velocidad Use las instrucciones del contador de alta velocidad para detectar y almacenar impulsos estrechos (rápidos) y para iniciar otras operaciones de control basadas en los valores preseleccionados. Estas operaciones de control incluyen la ejecución automática e inmediata de la rutina de interrupción del contador de alta velocidad (archivo 4) y la actualización inmediata de salidas basada en una configuración de fuente y máscara que usted ha establecido. Elementos del archivo de datos del contador Las instrucciones del contador de alta velocidad hacen referencia al contador C5:0. La instrucción HSC se fija a C5:0. Se compone de tres palabras. La palabra 0 es la palabra de estado que contiene 15 bits de estado. La palabra 1 es el valor preselec- cionado. La palabra 2 es el valor acumulador. Una vez asignado a la instrucción HSC, C5:0 no está disponible como dirección para otras instrucciones de contador. 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Pal. 0 CU CD DN OV UN UA HP LP IV IN IH IL PE LS IE Palabra de estado Pal. 1 Valor preseleccionado Pal. 2 Valor de acumulador CU = Bit de habilitación de conteo progresivo CD = Bit de habilitación de conteo regresivo DN = Bit de alto valor preseleccionado alcanzado OV = Bit de overflow ocurrido UN = Bit de underflow ocurrido UA = Bit de actualización de acumulador de contador de alta velocidad HP = Bit de alto valor preseleccionado ≥ de acumuladorÀ LP = Bit de bajo valor preseleccionado ≤ de acumulador IV = Bit de overflow ha causado interrupción de contador de alta velocidadÀ IN = Bit de underflow ha causado interrupción de contador de velocidadÀ IH = Bit de alto valor preseleccionado ha causado interrupciónÀ IL = Bit de bajo valor preseleccionado ha causado interrupciónÀ PE = Bit de interrupción pendiente de contador de alta velocidadÀ LS = Bit de interrupción perdida de contador de alta velocidadÀ IE = Bit de habilitación de interrupción de contador de alta velocidadÀ À 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
  • 190. Preface Manual de referencia del juego de instrucciones • El bit de habilitación del contador progresivo CU (bit 15) se usa con todos los tipos de contadores de alta velocidad. Si la instrucción HSC es verdadera, el bit CU se pone a uno. Si la instrucción HSC es falsa, el bit CU se pone a cero. No escriba a este bit. • El bit de habilitación del contador regresivo CD (bit 14) se usa con los contadores bidireccionales (modos 3–8). Si la instrucción HSC es verdadera, el bit CD se pone a uno. Si la instrucción HSC es falsa, el bit CD se pone a cero. No escriba a este bit. • Bit de valor alto preseleccionado alcanzado DN (bit 13) Para los contadores progresivos (modos 1 y 2), este bit es un bit de enclavamiento disparado por flanco. Este bit se establece cuando el valor alto preseleccionado se alcanza. Puede restablecer este bit con una instrucción OTU o ejecutando una instrucción RAC o RES. El bit DN es un bit reservado para todas las otras opciones del contador (modos 3–8). • Bit de overflow ocurrido OV (bit 12) Para los contadores progresivos (modos 1 y 2), este bit está establecido por el controlador cuando el valor alto preseleccionado se alcanza si el bit DN se ha establecido. Para los contadores bidireccionales (modos 3–8), el bit OV está establecido por el controlador después de la transición del acumulador de hardware de 32,767 a –32,768. Puede restablecer este bit con una instrucción OTU o ejecutando una instrucción RAC o RES para los contadores progresivos y bidireccionales. • El bit de underflow ocurrido UN (bit 11) es un bit reservado para los contadores progresivos (modos 1 y 2). No escriba a este bit. Nota Para los contadores bidireccionales (modos 3–8), el bit UN está establecido por el controlador cuando el acumulador de hardware hace una transición de –32,768 a +32,767. Puede restablecer este bit con una instrucción o ejecutando una instrucción RAC o RES. • El bit de actualización del acumulador del contador de alta velocidad UA (bit 10) se usa con una instrucción OTE para actualizar el valor del acumulador de imagen de instrucción con el valor del acumulador de hardware. (La instrucción HSC también realiza esta operación cada vez que el renglón con la instrucción HSC es evaluado como verdadero.) • El bit de acumulador valor alto preseleccionado HP (bit 9) es un bit reservado para todos los contadores progresivos (modos 1 y 2). No escriba a este bit. (Excepción – puede establecer o restablecer este bit durante la configuración inicial de la instrucción HSC. Vea la página 7–6 para obtener más información.) Para los contadores bidireccionales (modos 3–8), si el acumulador de hardware se hacer mayor o igual que el valor alto preseleccionado, el bit HP se restablece. Si el acumulador de hardware se hace menor que el valor alto preseleccionado, el bit HP será restablecido por el controlador. 7–4
  • 191. 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
  • 192. Preface Manual de referencia del juego de instrucciones Contador de alta velocidad (HSC) HSC HIGH SPEED COUNTER (CU) Use esta instrucción para configurar el contador de alta velocidad. Solamente una Type Counter C5:0 (CD) (DN) instrucción HSC se puede usar en un programa. El contador de alta velocidad no High Preset Accum 0 0 opera hasta que la primera ejecución verdadera de la instrucción HSC. Cuando el renglón HSC es falso, el contador de alta velocidad está inhabilitado para contar, pero todas las otras características HSC funcionan. La dirección de contador de la instrucción se fija a C5:0. Después de la configuración del HSC, el acumulador de imagen (C5:0.ACC) se actualiza con el valor del acumulador de hardware actual cada vez que la instrucción HSC se evalúa como verdadera o falsa. Cómo introducir parámetros Introduzca los parámetros siguientes al programar esta instrucción: • El tipo indica el contador seleccionado. Refiérase a la página 7–7 para hacer su selección del contador de alta velocidad. Cada tipo está disponible con funciones de restablecimiento y retención. • El valor alto preseleccionado es el valor acumulado que dispara una acción especificada por el usuario tal como la actualización de salidas o la generación de una interrupción del contador de alta velocidad. • El acumulador es el número de conteos acumulados. La terminología siguiente se usa en la tabla siguiente para indicar el estado del conteo: • Progresivo↑ – aumenta en 1 cuando la entrada se activa (margen). • Regresivo↑ – disminuye en 1 cuando la entrada se activa (margen). • Restablecimiento↑ – pone el acumulador a cero cuando la entrada se activa (margen). • Retención – inhabilita que el contador de alta velocidad cuente durante la activación de la entrada (nivel). • Conteo – aumenta o disminuye en 1 cuando la entrada se activa (margen). • Dirección – permite conteos progresivos cuando la entrada está desactivada y conteos regresivos cuando la entrada está activada (nivel). • A – impulso de entrada en un codificador (encoder) (cuadratura) incremental (margen/nivel). • B – impulso de entrada en un codificador (encoder) (cuadratura) incremental (margen/nivel). • Z – restablecimiento del impulso en un codificador (encoder) (cuadratura) incemental (margen/nivel). • ↑ – la señal está activa en la margen ascendente solamente (desactivado a activado) 7–6
  • 193. 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 Terminal de entrada usada Funcionalidad del contador velocidad y tecla de función de alta velocidad I/0 I/1 I/2 I/3 La operación del contador progresivo usa Progresivo Progresivo↑ No usado No usado No usado una entrada unipolar. Progresivo La operación del contador progresivo usa RestableĆ (con restablecimiento y una sola entrada con entradas de Progresivo↑ No usado Retención cimiento↑ retención) restablecimiento y retención externos La operación bidireccional usa entradas Impulso y dirección Conteo↑ Dirección No usado No usado de impulso y dirección. Impulso y dirección La operación bidireccional usa entradas RestableĆ (con restablecimiento y de impulso y dirección con entradas de Conteo↑ Dirección Retención cimiento↑ retención externos) restablecimiento y retención externos. La operación bidireccional usa entradas Progresivo y regresivo Progresivo↑ Regresivo↑ No usado No usado de dirección progresiva y regresiva. La operación bidireccional usa entradas Progresivo y regresivo de impulso progresivo y regresivo con RestableĆ (con restablecimiento y Progresivo↑ Regresivo↑ Retención entrada de restablecimiento y retención cimiento↑ retención externos) externos. La operación bidireccional usa entradas Codificador (encoder) A B No usado No usado de codificador (encoder) de cuadratura. Codificador (encoder) La operación bidireccional usa entradas (con restablecimiento y de codificador (encoder) de cuadratura A B Z Retención retención externos) con restablecimiento y retención externos. Una diferencia entre los contadores progresivos y los contadores bidireccionales es que los valores de acumulador y preseleccionados de los contadores bidireccionales no son cambiados por el contador de alta velocidad cuando los valores preselec- cionados se alcanzan. Las instrucciones RAC y HSL se deben usar para esta función. Los contadores progresivos ponen a cero el acumulador y vuelven a cargar los valores altos preseleccionados cuando el valor preseleccionado se alcanza. 7–7
  • 194. Preface Manual de referencia del juego de instrucciones Uso del contador progresivo y el contador regresivo con restablecimiento y retención Los contadores progresivos se usan cuando el parámetro que se mide es unidireccional, tal como el material que se alimenta en una máquina o un tacómetro que registra el número de impulsos realizados durante un plazo determinado. Ambos tipos de contadores progresivos operan de la misma manera, excepto que el contador progresivo con restablecimiento y retención usa entradas externas 2 y 3. Para el contador progresivo, cada cambio del estado desactivado a activado de la entrada I:0/0 añade 1 al acumulador hasta que se alcance el valor alto predeterminado. Luego el acumulador se pone automáticamente a cero. El contador progresivo opera en el rango de 0 a +32,767 inclusivamente y se puede poner a cero usando la instrucción de restablecimiento (RES). Cuando la instrucción HSC se ejecuta como verdadera por primera vez: • El acumulador C5:0.ACC se carga en el acumulador de hardware. • El valor alto preseleccionado C5:0.PRE se carga en el valor alto preseleccionado de hardware. Operación Si usted mueve los datos al valor alto predeterminado sin usar la instrucción HSL (con MOV) después de la configuración del contador de alta velocidad, los datos se cargan en la imagen de instrucción pero no se cargan en el hardware. El valor alto preseleccionado modificado no se carga en el hardware hasta que el valor alto preseleccionado de hardware existente se alcance o hasta que una instrucción RAC o RES se ejecute. El valor alto preseleccionado cargado en el hardware debe ser entre 1 y 32,767 inclusivamente o un error de INVALID PRESETs LOADED TO HIGH SPEED COUNTER (37H) ocurre. Todo valor entre –32,768 y +32,767, ambos valores inclusive, se puede cargar en el acumulador de hardware. La condición siguiente Ocurre cuando el acumulador de hardware hace la transición del valor alto preselecĆ cionado de hardware -1 al valor alto preseleccionado de hardware, o Un valor alto preseleccionado el acumulador de hardware se carga con un valor mayor o igual se ha alcanzado 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. 7–8
  • 195. 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 Estado de entrada Acción del Conteo de Dirección RestableciĆ Retención contador de alta Renglón entrada de entrada miento de de entrada velocidad HSC (E/S) (I/1) entrada (I/2) (I/3) Desactivado Conteo NA NA NA Verdadero a activado progresivo Retención de NA NA NA NA Falso conteo NA (no aplicable) 7–9
  • 196. Preface Manual de referencia del juego de instrucciones Contador progresivo con restablecimiento y retención Estado de entrada Acción del Conteo de Dirección RestableciĆ Retención contador de alta Renglón entrada de entrada miento de de entrada velocidad HSC (E/S) (I/1) entrada (I/2) (I/3) Desactivado, Desactivado Conteo NA activado o a Off Verdadero a activado progresivo desactivado Desactivado, Retención de NA NA activado o a On NA conteo desactivado Desactivado, Retención de NA NA activado o a NA Falso conteo desactivado Desactivado, Desactivado, Retención de activado o a NA activado o a NA NA conteo desactivado desactivado Restablecimiento NA NA A activado NA NA 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
  • 197. 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 el acumulador de hardware hace la transición del valor alto preselecĆ cionado de hardware -1 al valor alto preseleccionado de hardware, o Un valor alto preseleccionado el acumulador de hardware se carga con un valor mayor o igual se ha alcanzado 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 Ocurre cuando el acumulador de hardware hace la transición del valor bajo preselecĆ cionado de hardware +1 al valor bajo preseleccionado de hardware, o U valor b j Un l bajo el acumulador de hardware se carga con un valor menor o igual preseleccionado se ha que el valor alto preseleccionado de hardware, o alcanzado el valor bajo preseleccionado de hardware se carga con un valor que es mayor o igual que el acumulador de hardware. 7–11
  • 198. Preface Manual de referencia del juego de instrucciones Cuando el valor bajo preseleccionado se alcanza, el: • Bit LP se establece. • Archivo de interrupción del contador de alta velocidad (archivo de programa 4) se ejecuta si la interrupción se habilita. El bit IL se establece y los bits IH, IV e IN se restablecen. Un overflow ocurre cuando el acumulador de hardware hace una transición de +32,767 a –32,768. Cuando un overflow ocurre, el: • Bit OV se establece. • Archivo de interrupción del contador de alta velocidad (archivo de programa 4) se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e IN se restablecen. Un underflow ocurre cuando el acumulador de hardware hace una transición de –32,768 a +32,767. Cuando un underflow ocurre, el: • Bit UN se establece. • Archivo de interrupción del contador de alta velocidad (archivo de programa 4) se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e IN se restablecen. Las tablas siguientes resumen los estados de entrada necesarios para que la acción del contador de alta velocidad correspondiente se lleve a cabo: Contador bidireccional (impulso/dirección) Estado de entrada Acción del Conteo de Dirección RestableciĆ Retención contador de alta Renglón entrada de entrada miento de de entrada velocidad HSC (E/S) (I/1) entrada (I/2) (I/3) Desactivado Conteo Desactivado NA NA Verdadero a activado progresvio Desactivado Activado NA NA Verdadero Conteo regresivo a activado Retención de NA NA NA NA Falso conteo NA (no aplicable) 7–12
  • 199. Cómo usar las instrucciones del contador de alta velocidad Contador bidireccional con restablecimiento y retención (impulso/dirección) Estado de entrada Acción del Conteo de Dirección RestableciĆ Retención contador de alta Renglón entrada de entrada miento de de entrada velocidad HSC (E/S) (I/1) entrada (I/2) (I/3) Desactivado, Desactivado Conteo Desactivado activado o a Desactivado Verdadero a activado progresivo desactivado Desactivado, Desactivado Activado activado o a Desactivado Verdadero Conteo regresivo a activado desactivado Desactivado, Retención de NA NA activado o a NA Falso conteo desactivado Desactivado, Retención de NA NA activado o a Activado NA conteo desactivado Desactivado, Desactivado, Retención de activado o a NA activado o a NA NA conteo desactivado desactivado Restablecimiento NA NA A activado NA NA a0 NA (no aplicable) Contador bidireccional (conteo progresivo/regresivo) Estado de entrada Conteo Conteo Acción del progresivo regresivo Renglón contador de alta de entrada de entrada HSC velocidad (E/S) (I/1) Desactivado, Desactivado Conteo activado o a Verdadero a activado progresivo desactivado Desactivado, Desactivado activado o a Verdadero Conteo regresivo a activado desactivado Retención de NA NA Falso conteo NA (no aplicable) 7–13
  • 200. Preface Manual de referencia del juego de instrucciones Contador bidireccional con restablecimiento y retención (conteo progresivo/regresivo) Estado de entrada Acción del Conteo de Dirección RestableciĆ Retención contador de alta Renglón entrada de entrada miento de de entrada velocidad HSC (E/S) (I/1) entrada (I/2) (I/3) Desactivado, Desactivado, Desactivado Conteo activado o a activado o a Desactivado Verdadero a activado progresivo desactivado desactivado Desactivado, Desactivado, Desactivado activado o a activado o a Desactivado Verdadero Conteo regresivo a activado desactivado desactivado Desactivado, Retención de NA NA activado o a NA Falso conteo desactivado Desactivado, Retención de NA NA activado o a Activado NA conteo desactivado Desactivado, Desactivado, Desactivado, Retención de activado o a activado o a activado o a NA NA conteo desactivado desactivado desactivado Restablecimiento NA NA A activado NA NA a0 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
  • 201. Cómo usar las instrucciones del contador de alta velocidad Entrada 0 A Entrada 1 B Codificador (encoder) Entrada 2 de cuadratura Z (Entrada de restablecimiento) 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
  • 202. Preface Manual de referencia del juego de instrucciones La condición siguiente Ocurre cuando el acumulador de hardware hace la transición del valor alto preselecĆ cionado de hardware -1 al valor alto preseleccionado de hardware, o Un valor alto preseleccionado el acumulador de hardware se carga con un valor mayor o igual se ha alcanzado 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 Ocurre cuando el acumulador de hardware hace la transición del valor bajo preselecĆ cionado de hardware +1 al valor bajo preseleccionado de hardware, o U valor b j Un l bajo el acumulador de hardware se carga con un valor menor o igual preseleccionado se ha que el valor alto preseleccionado de hardware, o alcanzado 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. . . • Bit OV se establece. • Archivo de interrupción del contador de alta velocidad (archivo de programa 4) se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e IN se restablecen. 7–16
  • 203. Cómo usar las instrucciones del contador de alta velocidad Un underflow ocurre cuando el acumulador de hardware hace una transición de –32,768 a +32,767. Cuando un underflow ocurre, el. . . • Bit UN se establece. • Archivo de interrupción del contador de alta velocidad (archivo de programa 4) se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e IN se restablecen. Las tablas siguientes resumen los estados de entrada necesarios para que la acción del contador de alta velocidad correspondiente se lleve a cabo: Contador bidireccional (codificador [encoder]) Estado de entrada Acción del Entrada A Entrada B Renglón contador de alta (E/S) (I/1) HSC velocidad 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 Acción del Conteo de Dirección RestableciĆ Retención contador de alta Renglón entrada de entrada miento de de entrada velocidad HSC (E/S) (I/1) entrada (I/2) (I/3) A desactivado Desactivado Desactivado Desactivado Verdadero Conteo progres. A desactivado Desactivado Desactivado Desactivado Verdadero Conteo regresivo Desactivado Retención de NA Desactivado NA NA o activado 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 Desactivado ActivadoÀ NA NA Restablec. a 0 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
  • 204. Preface Manual de referencia del juego de instrucciones Carga del contador de alta velocidad (HSL) HSL HSC LOAD Esta instrucción le permite establecer los valores bajo y alto preseleccionados, las Counter Source C5:0 (CU) fuentes baja y alta de salida y la máscara de salida. Cuando un valor alto o bajo Length 5 (DN) preseleccionado se alcanza, usted puede actualizar inmediatamente las salidas seleccionadas. Si usa la instrucción HSL con el contador progresivo, el valor alto preseleccionado debe ser ≥ 1 y ≤ +32,767 o de lo contrarior ocurrirá un error INVALID PRESETs LOADED TO HIGH SPEED COUNTER (37H). Para los contadores bidireccionales, el valor alto preseleccionado debe ser mayor que el valor bajo preseleccionado o de lo contrarior ocurrirá un error INVALID PRESETs LOADED TO HIGH SPEED COUNTER (37H). El contador indincado por esta instrucción tiene la misma dirección que el contador de instrucción HSC y se fija a C5:0. Cómo introducir parámetros Introduzca los parámetros siguientes al programar esta instrucción: • La fuente es una dirección que identifica la primera de cinco palabras de datos usadas por el HSL. La fuente puede ser un elemento de archivo de entero o binario. • La longitud es el número de elementos que comienzan de la fuente. Este número siempre es 5. Operación La instrucción HSL le permite configurar el contador de alta velocidad para que actualice instantánea y automáticamente las salidas externas cuando un valor alto o bajo preseleccionado se alcanza. Las salidas físicas se actualizan automáticamente en menos de 30 µs. (El tiempo de encendido físico de las salidas no se incluye en este total.) Luego la imagen de salida se actualiza automáticamente a la próxima encuesta para interrupciones del usuario o instrucción IOM, cualquiera que ocurra primero. Con esta instrucción, puede cambiar el valor alto preseleccionado para los contadores progresivos o los valores alto y bajo preseleccionados para los contadores bidireccionales durante la operación. Tambien puede modificar la confinguración de máscara de salida durante la operación. La dirección de fuente es un elemento de archivo de entero o binario. Por ejemplo, si N7:5 se selecciona como la dirección de fuente, los parámetros adicionales para la ejecución de esta instrucción aparecerían tal como se muestra en la tabla siguiente. 7–18
  • 205. Cómo usar las instrucciones del contador de alta velocidad Ubicación Contador de la Contadores progresivo Descripción imagen de bidireccionales solamente parámetro Identifica qué grupo de bits en el archivo de salida (palabra 0) es controlado. Máscara de Máscara de 000F=bits 3-0 N7:5 00F0=bits 7-4 salida salida 0003=bits 0 y 1 00FF= bits 7-0 Fuente de Fuente alta de (Conteo progresivo.) El estado de bits en esta N7:6 palabra se escribe a través de la máscara en salida salida las salidas reales. (Conteo progresivo.) Cuando el acumulador Valor alto Valor alto alcanza este valor, la fuente de salida se N7:7 preselecĆ preselecĆ escribe a través de la máscara de salida a las cionado cionado salidas reales, y un escán se realiza de la subrutina HSC (archivo 4). Fuente baja de (Conteo regresivo.) El estado de bits en esta N7:8 Reservado palabra se escribe a través de la máscara a las salida salidas reales. (Conteo progresivo.) Cuando el acumulador Valor bajo alcanza este valor, la fuente de salida se N7:9 Reservado preselecĆ escribe a través de la máscara de salida a las cionado salidas reales y un escán se realiza de la subrutina HSC (archivo 4). 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
  • 206. Preface Manual de referencia del juego de instrucciones El hardware del contador de velocidad se actualiza inmediatemente cuando la instrucción HSL se ejecuta sin importar el tipo de contador de alta velocidad (contador progresivo o contador bidireccional). Para los contadores progresivos, no se hace caso de los dos últimos registros ya que el valor bajo preseleccionado no se aplica. Si un fallo ocurre a causa de la instrucción HSL, los parámetros HSL no se cargan en el hardware del contador de alta velocidad. Puede usar más de una instrucción HSL en su programa. Las instrucciones HSL pueden tener ubicaciones de imagen diferentes para los parámetros adicionales. No cambie un valor preseleccionado y una fuente/máscara de salida con la misma instrucción HSL cuando el acumulador se acerca al valor preseleccionado anterior. Si el contador de alta velocidad se habilita y la instrucción HSL se evalúa como verdadera, los parámetros del contador de alta velocidad en la instrucción HSL se aplican inmediatemente sin detener la operación del contador de alta velocidad. Si la misma instrucción HSL se usa para cambiar la máscara/fuente y valor preseleccionado controlados por el contador de alta velocidad, la máscara/fuente se cambia primero y el valor preseleccionado se cambia segundo. (El valor preseleccionado se cambia dentro de 40 µs después de la máscara/fuente.) Si el valor preseleccionado original se alcanza después de que la nueva máscara/fuente se aplique pero antes de que el valor preseleccionado nuevo se aplique, las salidas nuevas se aplicarán inmediatamente. 7–20
  • 207. Cómo usar las instrucciones del contador de alta velocidad Restablecimiento del contador de alta velocidad (RES) C5:0 La instrucción RES le permite escribir un cero en el acumulador de hardware y en el RES) ) acumulador de imagen. El contador indicado por esta instrucción tiene la misma dirección que el contador de instrucción HSC y se introduce como C0. Operación La ejecución de esta instrucción inmediatamente: • elimina las interrupciones pendientes del contador de alta velocidad • restablece los acumuladores de hardware e instrucción • restablece los bits de estado PE, LS, OV, UN y DN • carga el valor alto preseleccionado de instrucción y el valor alto preseleccionado de hardware (si el contador de alta velocidad se ha configurado como un contador progresivo) • restablece los bits de estado IL, IT, IN o IV Puede tener más de una instrucción RES en su programa. 7–21
  • 208. Preface Manual de referencia del juego de instrucciones Acumulador de restablecimiento del contador de alta velocidad (RAC) RAC RESET TO ACCUM VALUE Esta instrucción le permite escribir un valor específico al acumulador de hardware y Counter C5:0 Source al acumulador de imagen. El contador indicado por esta instrucción tiene la misma dirección que el contador de instrucción HSC y se fija a C5:0. Cómo introducir parámetros Introduzca los parámetros siguientes al programar esta instrucción: • La fuente representa el valor que se carga en el acumulador. La fuente puede ser una constante o una dirección. Operación La ejecución del RAC: • elimina las interrupciones pendientes del contador de alta velocidad • restablece los bits de estado PE, LS, OV UN y DN • carga un valor de acumulador nuevo en la imagen de hardware e instrucción • carga el valor alto preseleccionado de instrucción en el valor alto preseleccionado de hardware (si el contador de alta velocidad se ha configurado como un contador progresivo) • restablece los bits de estado IL, IT, IN o IV La fuente puede ser una constante o cualquier elemento entero en los archivos 0–7. Los acumuladores de hardware e instrucción se actualizan con el valor de acumulador nuevo inmediatamente al momento de ejecución de la instrucción. Puede tener más de una instrucción RZC por programa indicando la misma fuente o fuentes diferentes. 7–22
  • 209. Cómo usar las instrucciones del contador de alta velocidad Habilitación (HSE) e inhabilitación (HSD) de interrupción del contador de alta velocidad HSE HSC INTERRUPT ENABLE Estas instrucciones habilitan o inhabilitan la interrupción del contador de alta COUNTER C5:0 velocidad cuando se alcanza un valor alto preseleccionado, un valor bajo preseleccionado, un overflow o un underflow. Use el HSD y HSE conjuntamente para proporcionar ejecución precisa a su aplicación. HSD HSC INTERRUPT DISABLE COUNTER C5:0 El contador indicado por estas instrucciones tiene la misma dirección que el contador de instrucción y se fija a C5:0. Uso de HSE Operación Cuando la interrupción del contador de alta velocidad se habilita, la subrutina del usuario (archivo de programa 4) se ejecuta cuando: • Se alcanza un valor alto o bajo preseleccionado. • Ocurre un overflow o underflow. Cuando, en el modo de un solo escán de prueba y en una condición de operación pasiva, la interrupción del contador de alta velocidad se retarda hasta que el próximo disparo de escán se reciba del dispositivo de programación. El acumulador del contador de alta velocidad cuenta durante el reposo. El estado predeterminado de la interrupción del contador de alta velocidad se habilita (el bit IE se establece a 1). Si la rutina de interrupción del contador de alta velocidad se ejecuta y otra interrupción del contador de alta velocidad ocurre, la segunda interrupción del contador de alta velocidad se guarda pero se considera como pendiente. (El bit PE se establece.) La segunda interrupción se ejecuta inmediatamente después que la primera finalice su ejecución. Si una interrupción del contador de alta velocidad ocurre mientras una interrupción del contador de alta velocidad está pendiente, se perderá la interrupción del contador de alta velocidad más reciente y se establecerá el bit LS. 7–23
  • 210. Preface Manual de referencia del juego de instrucciones Uso de HSD Operación La instrucción HSD inhabilita la interrupción del contador de alta velocidad evitando así que la subrutina de interrupción se ejecute. Si el HSE se ejecuta después del establecimiento del bit pendiente, la interrupción se ejecuta inmediatamente. Esta instrucción HSD no cancela una interrupcion, sino que resulta en el establecimiento del bit pendiente (C5:0/3) cuando: • Se alcanza un valor alto o bajo preseleccionado. • Ocurre un overflow o underflow. Actualización del acumulador de imagen del contador de alta velocidad (OTE) C5:0 Cuando se direcciona una instrucción del bit OTE para el contador de alta velocidad ( ) UA (C5:0), causa que el bit UA se establezca. Cuando este bit se establece, el valor en el acumulador de hardware se escribe al valor en el acumulador de imagen (C5:0.ACC). Esto le proporciona acceso real al valor del acumulador de hardware. Esto es adicional a la transferencia automática desde el acumulador de hardware hacia el acumulador de imagen que ocurre cada vez que la instrucción HSC se evalúa. Operación Esta instrucción transfiere el acumulador de hardware al acumulador de instrucción. Cuando la instrucción OTE/UA se ejecuta como verdadera, el acumulador de hardware se carga en el acumulador de imagen de instrucción (C5:0.ACC). 7–24
  • 211. 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
  • 212. Preface Manual de referencia del juego de instrucciones Ejemplo 1 Para introducir el modo de marcha REM y hacer que las salidas HSC, ACC y subrutina de interrupción reanuden su estado anterior, aplique lo siguiente: (Renglón 2:0) No requiere acción. (Recuérdese de que todas las instrucciones OUT se ponen a cero cuando se introduce el modo de marcha REM. Use las instrucciones SET/RST en lugar de las instrucciones OUT en la lógica condicional que requier retención.) | S:1 +HSL–––––––––––––––+ | |––][–––––––––––––––––––––––––––––––––––+HSC LOAD +–| | 15 |Counter C5:0| | | |Source N7:0| | | |Length 5| | | +––––––––––––––––––+ | Renglón 2:1 | +HSC––––––––––––––––––––+ | |–––––––––––––––––––––––––––––+HIGH SPEED COUNTER +–(CU)–| | |Type Encoder(Res,Hld) +–(CD) | | |Counter C5:0+–(DN) | | |High Preset 1000| | | |Accum 0| | | +–––––––––––––––––––––––+ | 7–26
  • 213. 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
  • 214. Preface Manual de referencia del juego de instrucciones Ejemplo 3 Para introducir el modo de marcha REM y hacer que el HSC ACC y la subrutina de interrupción reanuden su estado anterior a la vez que se inicializan externamente las salidas HSC, aplique lo siguiente: Renglón 2:0 Desenclave o enclave los bits de salida bajo el control HSC durante el primer escán después de la ejecución por primera vez de la instrucción HSC. (Nota: usted podría colocar este renglón antes de la instrucción HSC; sin embargo, no se recomienda.) | S:1 +HSL–––––––––––––––+ | |––][–––––––––––––––––––––––––––––––––––––––––––+HSC LOAD +–| | 15 |Counter C5:0| | | |Source N7:0| | | |Length 5| | | +––––––––––––––––––+ | Renglón 2:1 | +HSC––––––––––––––––––––+ | |–––––––––––––––––––––––––––––––––––––+HIGH SPEED COUNTER +–(CU)–| | |Type Encoder (Res,Hld)+–(CD) | | |Counter C5:0+–(DN) | | |High Preset 1000| | | |Accum 0| | | +–––––––––––––––––––––––+ | Renglón 2:2 Este renglón se programa con el conocimiento de una máscara HSL de 0007 (se usan salidas 0–2) e inicializa las salidas HSC a cada introducción del modo de marcha REM. Las salidas O/0 y O/1 están desactivadas mientras que la salida O/2 está activada. | S:1 O:0 | |––][––––––––––––––––––––––––––––––––––––––––––––––––––––+––(U)––+|––| | 15 | 0 | | | | O:0 | | | +––(U)–––+ | | | 1 | | | | O:0 | | | +––(L)–––+ | | 2 | 7–28
  • 215. 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 Perforadora activada/desactivada O:3/1 I:1/5 Retracción de perforadora O:3/2 Avance de perforadora O:3/3 Profundidad perforadora Restablecimiento del sensor fotoeléctrico I:1/2 Orificios Retención de contador I:1/3 perforados I:1/4 Codificador (encoder) y drive Reflector AĆB de cuadratura fotoeléctrico I:1/0 I:1/1 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
  • 216. Preface Manual de referencia del juego de instrucciones Renglón 2:0 Inicializa el contador de alta velocidad cada vez que el modo de marcha REM se introduce. El área de datos del contador de alta velocidad corresponde con la dirección de arranque (dirección de fuente) de la instrucción HSL. La instrucción HSC se inhabilita durante cada entrada en el modo de marcha REM hasta la primera vez que se ejecute como verdadera. (El valor alto preseleccionado fue “enclavijado” a la inicialización para evitar que una interrupción de valor alto preseleccionado ocurra durante el proceso de inicialización.) | Primer Máscara de salida | | paso (use sólo el bit 0 | | por ej. O:0/0) | | S:1 +MOV–––––––––––––––+ | |––––] [–––––––––––––––––––––––––––––––––––––+–+MOVE +–+–| | 15 | |Source 1| | | | | | | | | | | |Dest N7:5| | | | | | 0| | | | | +––––––––––––––––––+ | | | | Conf. de salida alta| | | | (desactiva O:0/0) | | | | | | | | +MOV–––––––––––––––+ | | | +–+MOVE +–+ | | | |Source 0| | | | | | | | | | | |Dest N7:6| | | | | | 0| | | | | +––––––––––––––––––+ | | | | Valor alto preselec.| | | |(cuenta al próx. orif)| | | | | | | +MOV–––––––––––––––+ | | | +–+MOVE +–+ | | | |Source 32767| | | | | | | | | | | |Dest N7:7| | | | | | 0| | | | | +––––––––––––––––––+ | | | | Conf. de salida baja| | | | (activa O:0/0 | | | | a cada restab.) | | | | | | | +MOV–––––––––––––––+ | | | +–+MOVE +–+ | | | |Source 1| | | | | | | | | | | |Dest N7:8| | | | | | 0| | | | | +––––––––––––––––––+ | | | | Valor bajo preselec.| | | | (causa valor bajo | | | | preselec. inicial | | | | a cada restab.) | | | | | | | +MOV–––––––––––––––+ | | | +–+MOVE +–+ | | | |Source 0| | | | | | | | | | | |Dest N7:9| | | | | | 0| | | | | +––––––––––––––––––+ | | | | | | 7–30
  • 217. 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
  • 218. Preface Manual de referencia del juego de instrucciones El contador de alta velocidad se usa para controlar la posición del transportador. El contador de alta velocidad cuenta los impulsos proporcionados por el codificador (encoder) del transportador vía las entradas I:0/0 e I:0.1 de hardware. Las entradas I:0/2 (restablecimiento) e I:0/3 (retención) de hardware están conectadas a un interruptor fotoeléctrico para asegurar que la instrucción HSC cuente únicamente los impulsos de codificador (encoder) cuando haya un manual enfrente de la perforadora y que el contador de alta velocidad se restablezca a la punta de cada manual. El contador de alta velocidad pone a cero el bit de salida de propulsión del transportador cada vez que se alcanza un valor alto preseleccionado. Como resultado, la unidad propulsora decelera y detiene el motor del transportador. El contador de alta velocidad borra la entrada en microsegundos asegurando así exactitud y repetibilidad. El contador de alta velocidad establece el bit de salida de la unidad propulsora del transportador (O:0/0) cada vez que un valor bajo preseleccionado se alcanza. Como resultado, la unidad propulsora acelera y mantiene el motor del transportador. Cuando el manual ha recorrido la distancia especificada establecida por el valor alto preseleccionado del contador de alta velocidad, la subrutina de interrupción del contador de alta velocidad indica al programa principal que realice la secuencia de perforación. Para obtener más información respecto a la subrutina de interrupción usada en este programa, refiérase al ejemplo de aplicación en el capítulo 9. Este ejemplo usa el codificador (encoder) de cuadratura con la instrucción de restablecimiento y retención. El acumulador del contador de alta velocidad incrementa y decrementa según la relación de cuadratura de las entradas A y B (I:0/0 e I:01) del codificador (encoder). El acumulador se pone a cero cuando el restablecimiento está activado o cuando la instrucción RES se ejecuta. Todos los valores preseleccionados se introducen como un offset relativo a la punta de un manual. Los valores preseleccionados para las configuraciones de orificio se almacenan en las instrucciones SQO. (Refiérase al capítulo 6 para obtener la instrucción SQO.) La entrada de restablecimiento externo (I:0/2) del contador de alta velocidad y la entrada de retención externa (I:0/3) están cableadas en paralelo para evitar que el contador de alta velocidad cuente mientras el restablecimiento esté activo. Se pueden ajustar los retardos del filtro de entrada para las entradas A y B (I:0/0 e I:0/1) del contador de alta velocidad así como las entradas de restablecimiento y retención (I:0/2 e I:0/3) del contador de alta velocidad. 7–32
  • 219. 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
  • 220. Preface Manual de referencia del juego de instrucciones 7–34
  • 221. Instrucciones de comunicación 8 Instrucciones de comunicación Este capítulo contiene información general acerca de las instrucciones de comunicación. Cada una de las instrucciones incluye información acerca de: • cómo aparece el símbolo de instrucción • cómo usar la instrucción • un ejemplo de aplicación y diagramas de temporización Además, la operación de la palabra de estado global (S:99) se proporciona. Instrucciones de comunicación Instrucción Propósito Página Mnemónico Nombre MSG Lectura/escritura Esta instrucción transfiere datos desde un nodo 8-3 de mensaje hacia otro en la red de comunicación. Cuando la instrucción se habilita, la transferencia de mensaje está pendiente. La transferencia real de datos se realiza durante el escán. SVC Comunicaciones Cuando las condiciones que preceden la instrucción 8-60 de servicio SVC en el renglón son verdaderas, la instrucción SVC interrumpe el escán de programa para ejecutar la porción de comunicación de servicio del ciclo de operación. 8–1
  • 222. Preface Manual de referencia del juego de instrucciones Acerca de las instrucciones de comunicación Use la instrucción de mensaje para enviar y recibir datos de otros procesadores y dispositivos. Use la instrucción SVC para mejorar el rendimiento de comunicación de su procesador. En este capítulo se encuentra una descripción general antes de cada tipo de instrucción: • Instrucción de mensaje para el procesador SLC 5/02 • Instrucción de mensaje para los procesadores SLC 5/03 y SLC 5/04 • Instrucción de comunicación de servicio para el procesador SLC 5/02 • Instrucción de comunicación de servicio para los procesadores SLC 5/03 y SLC 5/04 8–2
  • 223. Instrucciones de comunicación Descripción general de la instrucción de mensaje 3 MSG READ/WRITE MESSAGE (EN) Esta es una instrucción de salida que le permite transferir datos desde un nodo hacia Read/write (DN) Target Device Control Block (ER) otro por la red DH-485. El procesador SLC 5/02 puede dar servicio a una Control Block Length 7 instrucción de mensaje en cualquier momento, aunque el procesador puede retener varios mensajes “habilitados y en espera”. Los mensajes en espera reciben servicio Instrucción de salida 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
  • 224. Preface Manual de referencia del juego de instrucciones Bits del archivo de estado relacionados Hay tres bits del archivo de estado que están relacionados con la instrucción MSG: • Bit de comando entrante pendiente (S:2/5) – Este bit se establece cuando el procesador determina que otro nodo en la red ha solicitado información o le ha proporcionado un comando. Este bit se puede establecer en cualquier momento. Este bit se pone a cero cuando el procesador atiende la solicitud (o comando). Use este bit como condición de una instrucción SVC para mejorar la capacidad de comunicación de su procesador. • Bit de respuesta de mensaje pendiente (S:2/6) – Este bit se establece cuando otro nodo en la red ha proporcionado la información que solicitó en la instrucción MSG de su procesador. Este bit se pone a cero cuando el procesador almacena la información y actualiza su instrucción MSG. Use este bit como condición de una instrucción SVC para mejorar la capacidad de comunicación de su procesador. • Bit de comando de mensaje saliente pendiente (S:2/7) – Este bit se establece cuando uno o más mensajes en su programa se habilitan y esperan, pero no hay un mensaje que se esté transmitiendo en este momento. Tan pronto comienza la transmisión de un mensaje, el bit se pone a cero. Después de la transmisión, el bit se vuelve a establecer si hay más mensajes en espera, o permanece en cero si no hay más mensajes en espera. Use este bit como condición de una instrucción SVC para mejorar la capacidad de comunicación de su procesador. Es posible que desee usar el bit S:2/15, selección de servicio de comunicaciones. Refiérase al apéndice B en este manual para obtener más información. 8–4
  • 225. Instrucciones de comunicación Opciones de configuración disponibles Las siguientes opciones de configuración están disponibles con el procesador SLC 5/02: • Lectura/escritura de dispositivos semejantes en una red local a otro procesador SLC 500 • Lectura/escritura de dispositivos semejantes en una red local a un 485CIF (emulación PLC2) Refiérase al apéndice D para obtener parámetros válidos al programar la instrucción de mensaje. Cómo introducir parámetros Después de colocar la instrucción MSG en un renglón, especifique si el mensaje es de lectura o escritura. Luego especifique el dispositivo receptor y el bloque de control para la instrucción MSG. • Lectura/escritura – La lectura indica que el procesador local (el procesador en que se encuentra la instrucción) está recibiendo datos; la escritura indica que el procesador está enviando datos. • El dispositivo receptor identifica el tipo de dispositivo que recibirá los datos. Las opciones válidas son: – 500CPU, si el dispositivo recpetor es otro procesador SLC – 485CIF, si el dispositivo receptor es un procesador que no sea SLC (emulador PLC2) • El bloque de control es una dirección de archivo de entero que usted selecciona. Es un archivo de 7 elementos que contiene los bits de estado, la dirección del archivo receptor y otros datos asociados con la instrucción de mensaje. • La longitud del bloque de control se fija a siete elementos. Este campo no se puede modificar. Nota La longitud del bloque de control MSG incrementa de 7 a 14 palabras al cambiarse de un programa de procesador SLC 5/02 a un programa de procesador SLC 5/03 ó SLC 5/04. Asegúrese que haya un mínimo de 7 palabras no usadas siguientes cada bloque de control MSG en su programa. 8–5
  • 226. Preface Manual de referencia del juego de instrucciones Uso de los bits de estado Read/Write: READ ignore if timed out: 0 TO Target Device: 500CPU to be retried: 0 NR Control Block: N7:0 awaiting execution: 0 EW Local Destination File Address: *** Target Node: 0 error: 0 ER Target File Address: *** message done: 0 DN Message Length in elements *** message transmitting: 0 ST message enabled: 0 EN control bit address: N7:0/8 ERROR CODE: 0 Error Code Desc: La columna derecha en la ilustración de arriba indica los diversos bits de estado asociados con la instrucción MSG del SLC 5/02. • Bit de tiempo sobrepasado TO (bit 08) Puede establecer este bit en su aplicación para eliminar una instrucción de mensaje activo del control del procesador. La aplicación debe proporcionar su propio valor de límite de tiempo sobrepasado. Un ejemplo aparecen la página 8–15. • El bit no respuesta NR (bit 09) se establece si el procesador receptor no responde a la primera solicitud de mensaje. El bit NR se restablece cuando el bit ER, DN o ST se establece. • El bit habilitado y en espera EW (bit 10) se establece después de que el bit de habilitación se ha establecido y el mensaje está en espera de ser enviado. • El bit de error ER (bit 12) se establece cuando la transmisión de mensaje está con fallo. El bit ER se restablece la próxima vez que el renglón asociado va de falso a verdadero. • El bit de efectuado DN (bit 13) se establece cuando el mensaje se ha transmitido exitosamente. El bit DN se restablece la próxima vez que el renglón asociado va de falso a verdadero. • El bit de arranque ST (bit 14) se establece cuando el procesador acusa recibo desde el dispositivo receptor. El bit ST se restablece cuando el bit DN, ER o TO se establece. • El bit de habilitación EN (bit 15) se establece cuando las condiciones del renglón se hacen verdaderas y la instrucción se ejecuta. Permanece establecido hasta que la transmisión de mensaje se finaliza y el renglón se hace falso. 8–6
  • 227. Instrucciones de comunicación Diagrama de temporización para una instrucción MSG exitosa del SLC 5/02 La sección siguiente describe el diagrama de temporización para una instrucción MSG del SLC 5/02. El renglón se El nodo receptor El nodo receptor procesa el hace verdadero. recibe el paquete. paquete exitosamente y retorĆ na los datos (lectura) o escribe À Á Â los datos (éxito). Ä 1 EN 0 1 EW 0 1 ST 0 1 DN 0 1 ER 0 1 NR 0 1 TO 0 1. Cuando el renglón MSG se hace verdadero y el MSG es escaneado, el bit EN se establece y permanece establecido hasta que el bit DN, ER o TO se establezca. El bit EW está establecido, lo que indica que la instrucción MSG ha sido colocada en la cola MSG. (El procesador SLC 5/02 siempre tiene espacio en la cola MSG.) La cola trabaja en base al concepto primero en llegar–primero en salir y así permite al procesador recordar el orden en que las instrucciones MSG se habilitaron. Anote que el programa no tiene acceso a la cola MSG del SLC 5/02. 2. En el siguiente final de escán o instrucción de comunicación de servicio (SVC), el procesador SLC 5/02 determina si debe examinar la cola MSG en busca de una tarea. El procesador toma una decisión según el estado de bit S:2/15, las solicitudes de comunicación DH-485 de otros nodos y si hay otra instrucción MSG anterior en ejecución. Si el procesador 5/02 determina que no debe acceder a la cola, los bits EN y EW permanecen establecidos hasta el próximo final de escán o SVC. 8–7
  • 228. Preface Manual de referencia del juego de instrucciones Si el procesador SLC 5/02 determina que hay una tarea de hacer, usa la primera entrada de la cola de mensaje para construir un paquete DH-485. Si un paquete se puede construir exitosamente, se coloca en el búfer de transmisión. Si un paquete no se puede construir con éxito, el bit ER se establece y un código se coloca en el bloque MSG para informarle del error. Si ésta fuera una instrucción de escritura MSG, los datos de fuente serían transferidos al búfer de transmisión en este momento. Luego el procesador SLC 5/02 sale del final de escán o la porción SVC del escán. La función de comunicación de fondo del procesador envía el paquete transmitido con búfer al nodo receptor que ha especificado en su instrucción MSG. 3. Si el nodo receptor recibe exitosamente el paquete DH-485, envía un ACK (acuse de recibo). El ACK causa que el procesador ponga a cero el bit EW y establezca el bit ST. Observe que el nodo recpetor todavía no ha examinado el paquete DH-485 para determinar si entiende su solicitud. Una vez establecido el bit ST, el procesador espera infinitamente una respuesta del nodo receptor. No es necesario que el nodo receptor responda dentro de un plazo de tiempo determinado. En este momento no se dará servicio a ninguna instrucción MSG. Nota Si el nodo receptor está con fallo o desconecta y vuelve a conectar la alimentación eléctrica durante el plazo de tiempo de una transacción MSG, usted nunca recibirá una respuesta. Es por eso que se recomienda el uso de una instrucción de temporizador conjuntamente con el bit TO. Refiérase al ejemplo en la página 8–15. El paso 4 no se muestra en el diagrama de temporización. 4. Si no recibe un ACK, el paso 3 no ocurre. Un NAK (ningún acuse de recibo) se recibe en su lugar. Cuando esto ocurre, el bit ST permanece puesto a cero. Un NAK indica que: • el nodo receptor no existe, • no responde, • está demasiado ocupado o • recibe un paquete DH-485 alterado. Cuando un NAK ocurre, el bit EW se pone a cero y el bit NR se establece durante un escán. La próxima vez que la instrucción MSG es escaneada, el bit ER se establece y el bit NR se pone a cero. Esto indica que la instrucción MSG está con fallo. Observe que si el nodo receptor está demasiado ocupado, el bit ER no se establece. En cambio, la instrucción MSG vuelve a hacer cola para la retransmisión. 8–8
  • 229. Instrucciones de comunicación 5. Después del recibo exitoso del paquete, el nodo receptor envía un paquete de respuesta. El paquete de respuesta contendrá una de las respuestas siguientes: • He realizado exitosamente su solicitud de escritura. • He realizado exitosamente su solicitud de lectura y le presento aquí los datos. • No he realizado su solicitud; tiene un error. Al próximo final de escán o SVC, después de la respuesta del nodo receptor, el procesador SLC 5/02 examina el paquete DH-485 del dispositivo receptor. Si la respuesta contiene “He realizado exitosamente su solicitud de escritura”, el bit DN se establece y el bit ST se pone a cero. La función de la instrucción MSG ha sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la próxima vez que la instrucción MSG es escaneada. Si la respuesta contiene “He realizado exitosamente su solicitud de lectura y le presento aquí los datos”, los datos se escriben a la tabla de datos, el bit DN se establece y el bit ST se pone a cero. La función de la instrucción MSG ha sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la próxima vez que la instrucción MSG es escaneada. Si la respuesta contiene “No he realizado su solicitud; tiene un error”, el bit ER se establece y el bit ST se pone a cero. La función de la instrucción MSG ha sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la próxima vez que la instrucción MSG es escaneada. Configuración del bloque de control La configuración del bloque de control se ilustra abajo si usted selecciona un 500CPU como el dispositivo receptor: Configuración del bloque de control - 500CPU 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Pal. EN ST DN ER EW NR TO Error Code 0 Node Number 1 Reserved for length in words 2 File Number 3 File Type (S, B, T, C, R, N) 4 Element Number 5 Reserved 6 8–9
  • 230. Preface Manual de referencia del juego de instrucciones La configuración del bloque de control se ilustra abajo si usted selecciona un 485 CIF como el dispositivo receptor: Configuración del bloque de control - 485 CIF 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Pal. EN ST DN ER EW NR TO Error Code 0 Node Number 1 Reserved for length in words 2 Offset words 3 Not used 4 Not used 5 Not used 6 8–10
  • 231. Instrucciones de comunicación Ejemplos de aplicación para procesadores SLC 5/02 Ejemplo 1 El ejemplo de aplicación 1 muestra cómo puede implementar la operación continua de una instrucción de mensaje. B3 MSG 0 ] [ READ/WRITE MESSAGE (EN) 1 Read/write WRITE Target Device 500CPU (DN) Control Block N7:0 Control Block Length 7 (ER) N7:0 N7:0 * bit de estado de 1 ] [ (U) la instrucción 13* 15* MSG N7:0 12 = ER ] [ 13 = DN 12* 15 = EN 2 END 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
  • 232. Preface Manual de referencia del juego de instrucciones Ejemplo 2 – Archivo de programa 2 del procesador SLC 5/02 El ejemplo de aplicación 2 involucra un procesador SLC 5/02 y un procesador SLC 5/01 comunicándose en una red DH-485. El enclavamiento se proporciona para verificar la transferencia de datos y para detener ambos procesadores en el caso de fallo de comunicación. Un dispositivo de detección de temperatura, conectado como entrada al procesador SLC 5/02, controla la operación activada/desactivada de un ventilador de enfriamiento, conectado como salida al procesador SLC 5/01. Los programas de escalera de SLC 5/02 y SLC 5/01 se explican en la figura en la página 8–14. 8–12
  • 233. Instrucciones de comunicación I:1.0 N7:0 Bit 1 de la palabra 0 ] [ ( ) de mensaje. Usado Dispositivo de 5 1 para el control del entrada de sensor de S:1 T4:0 ventilador. temperatura 1 ] [ (RES) 15 Bit de primer paso N7:0 Bit 0 de la palabra (L) de mensaje. Este 0 es el bit de B3 enclavamiento. (U) 0 TON 2 TIMER ON DELAY Timer T4:0 (EN) Temporizador de 4 Time Base 0.01 segundos (DN) Preset 400 Accum 0 Bit de primer paso MSG S:1 Instrucción de escritura 3 ] [ READ/WRITE MESSAGE (EN) de mensaje. Las Read/write WRITE 15 Target Device 500CPU (DN) direcciones del archivo Control Block N10:0 S:4 ] [ Control Block Length 7 (ER) de fuente y receptor son 6 N7:0 Nodo receptor: 3 Bit de reloj de 1280 ms B3 B3 Longitud del mensaje: 1 ] [ 0 (L) palabra. 0 N10:0 MSG Instrucción de lectura de 4 ] [ READ/WRITE MESSAGE (EN) mensaje. Las direcciones 13* Read/write Target Device READ 500CPU del archivo de destino y Bit de efectuado de Control Block N11:0 (DN) receptor son N7:0 escritura de mensaje Control Block Length 7 (ER) Nodo receptor: 3 Longitud del mensaje: 1 palabra. T4:0 B3 5 ] [ (L) Enclavamiento - Esta DN 10 instrucción de alarma notifica a la aplicación N11:0 N7:0 T4:0 si el bit de enclavaĆ 6 ] [ ]/[ (RES) miento N7:0/0 13* 0 N7:0 permanece Bit de efectuado (U) establecido durante de lectura de 0 más de 4 segundos. mensaje B3 (U) * Bits de estado de la 0 instrucción MSG: N11:0 13 = DN (U) 15 = EN 15* N10:0 (U) 15* 7 END Las notas de operación aparecen en la página siguiente. 8–13
  • 234. Preface Manual de referencia del juego de instrucciones Archivo de programa 2 del procesador SLC 5/01 a nodo 3 S:1 N7:0 Bit 0 de la palabra de 0 ] [ (U) mensaje. Este es el bit 15 0 de enclavamiento. Bit de primer paso T4:0 (RES) TON 1 TIMER ON DELAY (EN) Temporizador de 4 Timer Time Base T4:0 0.01 segundos (DN) Preset 400 Accum 0 T4:0 B3 2 ] [ (L) Instrucción de DN 10 enclavamiento - Esta alarma notifica a la N7:0 B3 B3 aplicación si el bit de 3 ] [ [OSR] ( ) enclavamiento N7:0/0 no 0 0 1 se establece después de B3 N7:0 4 segundos. 4 ] [ (U) 1 0 T4:0 Bit 1 de la palabra de (RES) mensaje. Usado para O:1/0 activa el N7:0 O:1.0 ventilador de control del ventilador. 5 ] [ ( ) 1 0 enfriamiento. 6 END Notas de operación acerca de los programas SLC 5/02 y SLC 5/01 Parámetros de instrucción de mensaje: N7:0 es la palabra de Procesador SLC 5/02: N7:0/0 está enclavado; el temporizador mensaje. Es la dirección de archivo receptor (procesador T4:0 está restablecido, B3/0 está desenclavado (renglón 1) y SLC 5/01) y la fuente local y direcciones de destino (procesador luego enclavado (renglón 3). El procesador SLC 5/01: N7:0/0 SLC 5/02) en las instrucciones de mensaje. está desenclavado; el temporizador T4:0 está restablecido. N7:0/0 de la palabra de mensaje es el bit de enclavamiento; se Operación de instrucción de mensaje: La instrucción de escribe al procesador 5/01 como 1 (establecido) y se lee del escritura de mensaje en el procesador SLC 5/02 se inicia cada procesador SLC 5/01 como 0 (restablecido). 1280 ms por el bit de reloj S:4/5. El bit de efectuado de la instrucción de escritura de mensaje inicia la instrucción de N7:0/1 de la palabra de mensaje controla la operación del lectura de mensaje. ventilador de enfriamiento; se escribe al procesador SLC 5/01 como 1 (establecido) si se requiere enfriamiento o como 0 B3/0 enclava la instrucción de escritura de mensaje. B3/0 se (restablecido) si no se requiere enfriamiento. Se lee del desenclava cuando el bit de efectuado de la instrucción de procesador SLC 5/01 como 1 ó 0. lectura de mensaje se establece, siempre que el bit de enclavamiento N7:0/0 esté restablecido. Palabra N7:0 debe tener un valor de 1 ó 3 durante la ejecución de escritura de mensaje. N7:0 debe tener un valor de 0 ó 2 Fallo de comunicación: En el procesador SLC 5/02, el bit B3/10 durante la ejecución de lectura de mensaje. se establece si el bit de enclavamiento N7:0.0 permanece establecido (1) durante más de 4 segundos. En el procesador Inicialización de programa: El bit de primer paso S:1/15 SLC 5/01, el bit B3/10 se establece si el bit de enclavamiento inicializa los programas de escalera en la entrada al modo de N7:0/0 permanece establecido (1) durante más de 4 segundos. marcha. Su aplicación puede detectar este evento, tomar la acción apropiada y luego desenclavar el bit B3/10. 8–14
  • 235. Instrucciones de comunicación Ejemplo 3 El ejemplo de aplicación 3 le muestra cómo usar el bit de límite de tiempo sobrepasado para inhabilitar una instrucción de mensaje activa. En este ejemplo, una salida se activa después de cinco ensayos fallidos (duración de dos segundos) para transmitir un mensaje. 1 B3 MSG 0 [LBL] ] [ READ/WRITE MESSAGE (EN) 1 Read/write WRITE (DN) Target Device 500CPU (ER) B3/1 está enclavado Control Block N7:0 (externo de este Control Block Length 7 ejemplo) para iniciar la B3 T4:0 TON instrucción de 1 ] [ ]/[ TIMER ON DELAY (EN) mensaje. 1 DN Timer T4:0 Temporizador de 2 (DN) Time Base 0.01 segundos. Cada ensayo Preset 200 de transmisión tiene una Accum 0 duración de 2 segundos. T4:0 CTU 2 ] [ COUNT UP Counter C5:0 (CU) El contador permite 5 DN Preset 5 (DN) ensayos. Accum 0 N7:0 N7:0 CLR 3 ] [ ] [ CLEAR Borre la palabra de 8* 12 Dest N7:0 0 control y salte hacia atrás a renglón 0 para otro ensayo. 1 (JMP) T4:0 N7:0 N7:0/8 es el bit de límite 4 ] [ (L) de tiempo sobrepasado DN 8 de la instrucción de mensaje (/TO) C5:0 O:1.0 5 ] [ (L) El quinto ensayo enclava DN 0 O0:1/0. N7:0 C5:0 6 ] [ (RES) * Bits de estado de la 13* O:1.0 instrucción MSG: (U) 8 = TO 0 13 = DN B3 (U) 1 7 END Notas de operación El bit de límite de tiempo sobrepasado se enclava (renglón 4) Un ensayo exitoso de transmisión restablece el contador, después de 2 segundos. Esto borra la instrucción de mensaje del desenclava O:1/0 y desenclava B3/1. control de procesador en el próximo escán. Luego la instrucción de mensaje vuelve a habilitarse para el segundo ensayo de transmisión. Después de 5 ensayos, O:1/0 se enclava. 8–15
  • 236. Preface Manual de referencia del juego de instrucciones Ejemplo 4 El ejemplo de aplicación 4 le muestra como vincular las instrucciones de mensaje para transmitir en serie, uno tras otro. En este ejemplo una escritura MSG es seguida por una lectura MSG, lo que provoca la transmisión en serie. 8–16
  • 237. 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 Renglón 2:0 ] [ (U) 15 15 Este renglón establece el valor de límite de tiempo sobrepasado. (Cuando se usa un procesador SLC 5/03 ó SLC 5/04, este renglón y renglón 2:2 no son necesarios porque puede introducir el valor 6 en el campo de valor del límite de tiempo sobrepasado en el bloque de instrucción MSG.) N7:0 N7:0 N7:0 TON Renglón 2:1 ] [ ]/[ ]/[ TIMER ON DELAY (EN) 15 12 13 Timer T4:0 (DN) Time Base 0.01 Preset 600 Accum 0 T4:0 N7:0 ] [ (L) DN 8 Idéntico al renglón anterior. N7:20 N7:20 N7:20 TON Renglón 2:2 ] [ ]/[ ]/[ TIMER ON DELAY (EN) 15 12 13 Timer T4:1 (DN) Time Base 0.01 Preset 600 Accum 0 T4:1 N7:20 ] [ (L) DN 8 La instrucción MSG se activa a la entrada al modo de marcha REM o RUN. No se requieren condiciones de entrada. MSG Renglón 2:3 READ/WRITE MESSAGE (EN) Read/write WRITE (DN) Target Device 500CPU (ER) Control Block N7:0 Control Block Length 7 La instrucción MSG se activa cuando la instrucción MSG anterior se finaliza. N7:0 MSG Renglón 2:4 ] [ READ/WRITE MESSAGE (EN) 12 Read/write READ (DN) Target Device 500CPU (ER) N7:0 Control Block N7:20 ] [ Control Block Length 7 13 Este renglón restablece todas las instrucciones MSG cuando la última instrucción MG se ha finalizado. La palabra de control se borra para asegurar que los bits EN, DN, ER y TO se pongan a cero. N7:20 CLR CLEAR Renglón 2:5 ] [ Dest N7:0 12 0 N7:0 ] [ CLR 13 CLEAR Dest N7:20 0 Renglón 2:6 END 8–17
  • 238. Preface Manual de referencia del juego de instrucciones Descripción general de la instrucción de mensaje 3 3 MSG READ/WRITE MESSAGE Type (EN) Los datos asociados con una instrucción de escritura de mensaje se almacena en un Read/write Target Device (DN) (ER) búfer cuando usted habilita la instrucción. El SLC 5/03 con OS300 tiene cuatro Local/Remote Control Block búferes de transmisión. El SLC 5/03 con procesadores OS301, OS302 y SLC 5/04 Control Block Length 14 con procesadores OS400, OS401 dan servicio a un máximo de cuatro instrucciones de mensaje por canal para un máximo de ocho instrucciones de mensaje. Instrucción de salida 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
  • 239. 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 S:2/7 Comando de mensaje saliente S:33/2 Comando de mensaje saliente pendiente pendiente S:2/15 Selección de servicio de S:33/5 Selección de servicio de comunicaciones comunicaciones S:33/7 Selección de servicio de mensaje S:33/6 Selección de servicio de mensaje 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
  • 240. Preface Manual de referencia del juego de instrucciones Opciones de configuración disponibles Las siguientes opciones de configuración están disponibles cuando se usa un procesador SLC 5/03 ó SLC 5/04. Refiérase al apéndice D para obtener parámetros válidos al programar la instrucción de mensaje. • Lectura/escritura de dispositivos semejantes en una red local a otro procesador SLC 500 • Lectura/escritura de dispositivos semejantes en una red local a un 485CIF • Lectura/escritura de dispositivos semejantes en una red local a un PLC-5 À • Lectura/escritura de dispositivos semejantes en una red remota a otro procesador SLC 500 • Lectura/escritura de dispositivos semejantes en una red remota a un 485CIF (emulación PLC2) • Lectura/escritura de dispositivos semejantes en una red remota a un procesador PLC-5 À À Se aplica a los procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401. 8–20
  • 241. Instrucciones de comunicación Cómo introducir parámetros Introduzca los parámetros siguientes al programar esta instrucción: • Lectura/escritura – La lectura indica que el procesador local (el procesador en que se encuentra la instrucción) está recibiendo datos; la escritura indica que está enviando datos. • El dispositivo receptor identifica el tipo de dispositivo que recibirá datos. Las opciones válidas son: – el 500CPU si el dispositivo receptor es otro procesador SLC – el 485CIF si el dispositivo receptor es un dispositivo que no sea SLC en la red DH-485 – el PLC-5 si el dispositivo receptor acepta comandos PLC-5 • Local o remoto identifica si el mensaje es enviado a un dispositivo en una red local DH-485 ó DH+, o a un dispositivo remoto en otra red a través de un puente. Las opciones válidas son: – Local si el dispositivo receptor se encuentra en una red local – Remoto si el dispositivo receptor se encuentra en una red remota • El bloque de control es una dirección de archivo de entero que usted selecciona. Es un archivo de entero de 14 palabras que contiene bits de estado, dirección de archivo receptor y otros datos asociados con la instrucción de mensaje. • La longitud del bloque de control se fija a 14 elementos. Este campo no se puede modificar. Nota La longitud del bloque de control MSG incrementa de 7 a 14 palabras al cambiarse de un programa de procesador SLC 5/02 a un programa de procesador SLC 5/03 ó SLC 5/04. Asegúrese que haya un mínimo de 7 palabras no usadas después de cada bloque de control MSG en su programa. 8–21
  • 242. Preface Manual de referencia del juego de instrucciones Uso de los bits de estado La columna derecha en la ilustración siguiente alista los varios bits de estado asociados con la instrucción SLC 5/03 y SLC 5/04. Type: Peer–to–Peer Read/Write: READ ignore if timed out: 0 TO Target Device: 500CPU to be retried: 0 NR Local/Remote: Local awaiting execution: 0 EW Control Block: N10:0 continuous run: 0 CO Channel: 1 error: 0 ER Target Node: 2 message done: 0 DN message transmitting: 0 ST message enabled: 0 EN Destination File Addr: N7:0 waiting for queue space: 0 WQ Target Source File Address: N7:50 Message Length In Elements: 10 Message Timeout (seconds): 5 ERROR CODE: 0 control bit address: N10:0/8 Error Code Desc: • Bit del límite de tiempo sobrepasado TO (palabra 0, bit 08) Establezca este bit en su aplicación para eliminar una instrucción de mensaje activa del control de procesador. Puede usar su propia rutina de control de límite de tiempo sobrepasado semejante a la instrucción MSG del SLC 5/02 o puede usar el control de límite de tiempo sobrepasado interno. Le recomendamos que use el control de límite de tiempo sobrepasado incorporado porque simplifica el programa del usuario. Si usa su propia rutina de control de límite de tiempo sobrepasado, el valor del límite de tiempo sobrepasado (palabra 8) se debe poner a cero. Si la instrucción MSG no se completa dentro del plazo de tiempo especificado y el bit DN no se establece, usted debe establecer el bit TO (bit 8 de palabra 0) y volver a realizar un escán de la instrucción MSG, de lo contrario el mensaje llevará un búfer activo hasta que el procesador se detenga y se vuelva a arrancar. Después de la ejecución de la instrucción MSG, el procesador establece el bit ER (bit 12) y retorna el código de error 37H. Vuelva a iniciar la instrucción MSG restableciendo el bit TO y volviendo a ejecutar la instrucción MSG. Si usa el control de límite de tiempo sobrepasado interno, establezca el valor del límite de tiempo sobrepasado (palabra 8) entre 1 y 255 segundos. Cuando el límite de tiempo sobrepasado ocurre, el bit TO y el bit ER (bit 12 de palabra 0) se establecen y el procesador retorna el código de error 37H. Vuelva a iniciar la instrucción MSG restableciendo el bit TO y volviendo a ejecutar la instrucción MSG. • Bit no respuesta NR (bit 09) se establece si el procesador receptor responde a la instrucción con un acuse de recibo negativo. Esto significa que el dispositivo receptor no puede dar servicio al paquete en ese momento y se debe volver a intentar. El bit NR se restablece cuando el bit ER, DN o ST se establece. Recomendamos no intentar controlar este bit. Se usa para funciones DH-485 y se presenta a título informativo únicamente. 8–22
  • 243. Instrucciones de comunicación • El bit habilitado y en espera EW (bit 10) se establece después de que el bit de habilitación se ha establecido y el mensaje se almacena en el búfer y espera ser enviado en el búfer. Recomendamos no intentar controlar este bit. Se presenta a título informativo únicamente. • Operación continua CO (bit 11) Establezca este bit si desea enviar la instrucción MSG de manera continua. Recomendamos que el control del límite de tiempo sobrepasado interno se use para esta opción y que el renglón sea incondicionalmente verdadero. Use este bit para activar y desactivar el modo. Nota No intente establecer ni restablecer los otros bits en la palabra de control. Este modo operará continuamente siempre que el renglón sea escaneado continuamente. Si la instrucción tiene error, vuelve a intentar automáticamente hasta tener éxito. Si sobrepasa el límite de tiempo y se vuelve a escanear, el modo se detendrá. El bit ER se debe poner a cero para reanudar la operación. • El bit de error ER (bit 12) se establece cuando la transmisión de mensaje está con fallo. El bit ER se restablece la próxima vez que el renglón asociado vaya de falso a verdadero. • El bit de efectuado DN (bit 13) se establece cuando el mensaje se transmite con éxito. El bit DN se restablece la próxima vez que el renglón asociado vaya de falso a verdadero. • El bit de arranque ST (bit 14) se establece cuando el procesador acusa recibo del dispositivo receptor. El bit ST se restablece cuando el bit DN, ER o TO se establece. Recomendamos no intentar controlar este bit. Se presenta a título informativo únicamente. • El bit de habilitación EN (bit 15) se establece cuando las condiciones de renglón se hacen verdaderas y la instrucción se ejecuta. Permanece establecido hasta que la transmisión de mensaje se haya completado y el renglón se haga falso. • El bit de espera de espacio en la cola WQ (Word 7, bit 0) se establece cuando no hay espacio en la cola activa para escribir o leer datos. Este bit se pone a cero cuando hay espacio disponible en al cola activa. Recomendamos no intentar controlar este bit. Se presenta a título informativo únicamente. Nota Cuando el bit WQ se establece, o cuando sólo se establece el bit EN, y usted usa una instrucción de escritura MSG, sus datos de fuente no tienen búfer. Si su aplicación requiere datos con búfer (o “fotografía”), espere hasta que el bit EW se establezca antes de sobrescribir sus datos de fuente. • EN = 1 y EW = 1 cuando MSG entra en el búfer • EN = 1 cuando MSG entra en cola • WQ = 1 cuando la cola (que retiene 10 MSG) está llena: búfer – retiene 4 mensajes con los datos cola – almacena el puntero (lista de espera) Nota Si su programa contiene cuatro instrucciones de mensaje con el bit de operación continua (CO) establecido, la instrucción de mensaje de la rutina de fallo no se ejecutará. 8–23
  • 244. Preface Manual de referencia del juego de instrucciones La cantidad de datos transferidos por una instrucción MSG es determinada por el tamaño del tipo de datos de destino. El límite es 206 bytes de datos. Si una lectura se usa, entonces el tipo de datos en el procesador determina el número de elementos. Si una escritura se usa, entonces el tipo de datos en el dispositivo remoto determina el número de elementos. Por ejemplo, si una lectura de contadores desde un dispositivo remoto se efectúa y el destino en el procesador es un archivo de entero, entonces el número máximo de elementos que se pueden solicitar es 103. Los datos provienen de las 103 primeras palabras del archivo de temporizador remoto. Configuraciones del bloque de control La configuración del bloque de control se muestra abajo si selecciona un 500CPU o un PLC-5 como el dispositivo receptor: 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 Pal. EN ST DN ER CO EW NR TO Error Code 0 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) 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–24
  • 245. 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 Pal. EN ST DN ER CO EW NR TO Error Code 0 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
  • 246. Preface Manual de referencia del juego de instrucciones Diagrama de temporización para una instrucción exitosa del SLC 5/03 ó SLC 5/04 La sección siguiente describe el diagrama de temporización para una instrucción MSG del SLC 5/03 ó SLC 5/04. El renglón se El nodo receptor El nodo receptor procesador hace verdadero recibe el paquete el paquete exitosamente y retorna los datos (lectura) o escribe los datos (éxito) 1 EN 0 1 EW 0 1 ST 0 1 DN 0 1 ER 0 1 NR 0 1 TO 0 1 WQ 0 1. Cuando el renglón MSG se hace verdadero y el MSG es escaneado, si hay espacio en cualquiera de los cuatro búferes MSG activos, los bits EN y EW es establecen. Si esta fuera una instrucción de escritura MSG, los datos de fuente sería transferidos al búfer MSG en este momento. Si no hay espacio en los cuatro búferes MSG, pero hay disponible una posición en la cola MSG de 10 posiciones, sólo el bit EN se establece. La cola MSG de 10 posiciones trata los datos primeros en llegar y así permite al procesador SLC 5/03 ó SLC 5/04 recordar el orden en que las instrucciones MSG se habilitaron. Anote que el programa no tiene acceso a la cola MSG de SLC 5/03 ó SLC 5/04. Si no hay espacio en ninguno de los cuatro búferes MSG ni en la cola MSG de 10 posiciones, sólo el bit WQ se establece. Observe que cuando el bit WQ se establece, la instrucción MSG se debe volver a escanear más adelante cuando haya espacio en los cuatro búferes MSG o la cola MSG de 10 posiciones. 8–26
  • 247. Instrucciones de comunicación Una vez establecido el bit EN, permanece establecido hasta que el proceso entero MSG se haya finalizado y el bit DN, ER o TO se establezca. El valor del límite de tiempo sobrepasado MSG comienza a temporizar cuando el bit EN se establece. Si el período del límite de tiempo sobrepasado vence antes de que la instrucción MSG finalice su función, el bit ER se establece y un código se coloca en el bloque MSG para informarle del error del límite de tiempo sobrepasado. Si decide establecer el bit CO, su instrucción MSG residirá de manera permanente en uno de los cuatro búferes MSG activos. La instrucción MSG continuará volviendo a transmitir sus datos cada vez que el bit DN o ER se establece. Si esta fuera una instrucción de escritura MSG, sus datos de fuente se actualizarían durante cada ciclo MSG. 2. Al próximo final de escán o SVC, el procesador SLC 5/03 ó SLC 5/04 determina si debe examinar la cola MSG en busca de una tarea. El procesador toma su decisión según en el estado de los bits S:2/15, S:33/7, S:33/5, S:33/6, solicitudes de comunicación de la red desde otros nodos y si hay instrucciones MG anteriores que ya están en progreso. Si el procesador SLC 5/03 determina que no debe acceder a la cola, la instrucción MSG permanece tal como era. (Los bits EN y EW permanecen establecidos o sólo el bit EN se establece, o de lo contrario sólo el bit WQ se establece hasta el próximo final de escán o SVC. Si solamente el bit WQ se establece, la instrucción MSG se debe volver a escanear.) Si el procesador SLC 5/03 ó SLC 5/04 determina que hay una “tarea de desempeñar”, descargar las entradas de la cola MSG en los búferes MSG hasta que todos los cuatro búferes estén llenos. Cada búfer MSG contiene un paquete de red válido. Si un paquete no se puede construir exitosamente de la cola MSG, el bit ER se establece y un código se coloca en el bloque MSG para informarle de un error. Cuando una instrucción MSG se carga en un búfer MSG, los bits EN y EW se establecen. Luego el procesador SLC 5/03 ó SLC 5/04 sale al final de escán o la porción SVC del escán. La función de comunicación de fondo del procesador envía los paquetes a los nodos receptores que especificó en su instrucción MSG. Según el estado de los bits S:2/14, S:33/7, S:33/5 y S:33/6, puede tener hasta cuatro instrucciones MSG activas en todo momento. 3. Si el nodo receptor recibe exitosamente el paquete, envía un ACK (un acuso de recibo). El ACK causa que el procesador ponga a cero el bit EW y establezca el bit ST. El nodo receptor todavía no ha examinado el paquete para determinar si entiende su solicitud. Observe que el nodo receptor no tiene que responder dentro de un plazo de tiempo determinado. Nota Si el nodo receptor está con fallo o desconecta y vuelve a conectar la alimentación eléctrica durante este plazo de tiempo de una transacción MSG, nunca recibirá una respuesta. Es por eso que recomendamos el uso del valor del límite de tiempo sobrepasado MSG en su instrucción MSG. 8–27
  • 248. Preface Manual de referencia del juego de instrucciones El paso 4 no se muestra en el diagrama de temporización. 4. Si no recibe un ACK, el paso 3 no ocurre. Un NAK (ningún acuso de recibo) se recibe en su lugar. Cuando esto ocurre, el bit ST permanece puesto a cero. Un NAK indica que: • el nodo receptor no existe, • no responde, • está demasiado ocupado o • recibe un paquete DH-485 alterado. Cuando un NAK ocurre, el bit EW se pone a cero y el bit NR se establece para un escán. La próxima vez que la instrucción MSG es escaneada, el bit ER se establece y el bit NR se pone a cero. Esto indica que la instrucción MSG está con fallo. Anote que si el nodo receptor está demasiado ocupado, el bit ER no se establece. En cambio, la instrucción MSG vuelve a hacer cola para la retransmisión. 5. Después del recibo exitoso del paquete, el nodo receptor envía un paquete de respuesta. El paquete de respuesta contendrá una de las respuestas siguientes: • He realizado exitosamente su solicitud de escritura. • He realizado exitosamente su solicitud de lectura y le presento aquí los datos. • No he realizado su solicitud; tiene un error. Al próximo final de escán o SVC, después de la respuesta del nodo receptor, el procesador SLC 5/02 examina el paquete DH-485 del dispositivo receptor. Si la respuesta contiene “He realizado exitosamente su solicitud de escritura”, el bit DN se establece y el bit ST se pone a cero. La función de la instrucción MSG ha sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la próxima vez que la instrucción MSG es escaneada. Si la respuesta contiene “He realizado exitosamente su solicitud de lectura y le presento aquí los datos”, los datos se escriben a la tabla de datos, el bit DN se establece y el bit ST se pone a cero. La función de la instrucción MSG ha sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la próxima vez que la instrucción MSG es escaneada. Si la respuesta contiene “No he realizado su solicitud; tiene un error”, el bit ER se establece y el bit ST se pone a cero. La función de la instrucción MSG ha sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la próxima vez que la instrucción MSG es escaneada. 8–28
  • 249. 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
  • 250. Preface Manual de referencia del juego de instrucciones Códigos de error de la instrucción MSG Cuando una condición de error ocurre, el código de error y su descripción se indican en la pantalla. Código de Descripción de la condición de error error El nodo receptor está ocupado. La instrucción MSG se volverá a cargar 02H automáticamente. Si hay otros mensajes que esperan, el mensaje se coloca en la parte inferior de la pila. 03H El nodo receptor no puede responder porque el mensaje es demasiado grande. El nodo receptor no puede responder porque no entiende los parámetros de 04H comando O BIEN es posible que el bloque de control haya sido modificado inadvertidamente. 05H El procesador local está fuera de línea (posible situación de nodo duplicado). 06H El nodo receptor no puede responder porque la función solicitada no está disponible. 07H El nodo receptor no responde. 08H El nodo receptor no puede responder. 09H La conexión del módem local ha sido perdida. 0AH El búfer no está disponible para recibir la respuesta SRD. OBH El nodo receptor no acepta este tipo de instrucción MSG. Recibió un restablecimiento del vínculo principal (una fuente posible es del maestro 0CH DF1). El nodo receptor no puede responder a causa de parámetros de comando 10H incorrectos o comando sin capacidad. 11H El archivo local tiene protección de archivo constante. 12H Un error del protocolo de configuración de canal local existe. 13H Error de configuración MSG local en los parámetros MSG remotos. 14H El variador de comunicación local no es compatible con la instrucción MSG. 15H Un error del parámetro de configuración de canal local existe. La dirección receptora o del puente local es mayor que la dirección máxima de 16H nodo. 17H El servicio local no es compatible. 18H La difusión (dirección de nodo 255) no es compatible. 37H El mensaje sobrepasó el límite de tiempo en un procesador local. 38H El mensaje inhabilitó la respuesta del vínculo pendiente. 50H El nodo receptor agotó su memoria. 60H El nodo receptor no puede responder porque el archivo está protegido. El nodo receptor no puede responder porque la longitud solicitada es demasiado E7H larga. EBH El nodo receptor no puede responder porque el nodo receptor ha negado el acceso. 8–30
  • 251. Instrucciones de comunicación Código de Descripción de la condición de error error El nodo receptor no puede responder porque la función solicitada no está disponible ECH actualmente. F1H El procesador local detecta un tipo ilegal de archivo receptor. El nodo receptor no puede responder porque el otro nodo es el propietario del FAH archivo (tiene el único acceso al archivo). El nodo receptor no puede responder porque el otro nodo es el propietario del FBH programa (tiene el único acceso a todos los archivos). FFH El canal de comunicación local se ha desactivado. Nota Para los usuarios del juego de protocolo y comando 177-6.5.16 DH, DH+, DH-485: El código de error MSG representa el campo STS de la respuesta a su instrucción MSG. Los códigos E0 – EF representan los códigos EXT STS 0 – F. Los códigos F0 – FC representan los códigos EXT STS 10 – 1C. 8–31
  • 252. Preface Manual de referencia del juego de instrucciones Ejemplos de configuraciones usando la instrucción de mensaje La instrucción siguiente proporciona ejemplos para enviar comandos entre los dispositivos compatibles con DH-485 y DF1 de dúplex completo y los dispositivos compatibles con DH+. Esta sección proporciona una variedad de ejemplos de aplicación usando la instrucción MSG. • Lógica de escalera usando: – la operación continua de la instrucción de mensaje – la instrucción de mensaje de regeneración automática – el bit de límite de tiempo sobrepasado para inhabilitar una instrucción de mensaje activa – la transmisión en serie • Mensajes locales vía: – la lectura local de un 500CPU – la lectura local de un 485CIF – la lectura local de un PLC-5 • Mensajes remotos usando: – un sólo módulo de interface de comunicación 1785-KA5 – dos módulos de comunicación 1785-KA – los procesadores SLC con transferencia al canal 0 – un integrador de pirámide – dos módulos de interface de comunicación 1785-KA5 – “saltos” múltiples usando dos módulos de interface de comunicación 1785-KA5 8–32
  • 253. 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
  • 254. Preface Manual de referencia del juego de instrucciones El ejemplo de aplicación 1 muestra cómo puede implementar la operación continua de una instrucción de mensaje. Este ejemplo usa un valor del límite de tiempo sobrepasado de mensaje interno que no sea cero. Renglón 2:0 Esta es la manera correcta de programar un mensaje continuo en un procesador 5/03 ó 5/04. Este mensaje residirá permanentemente en uno de los 4 búferes de transmisión de mensaje. Puede activar o desactivar el mensaje continuo estableciendo/restableciendo B3/0. Sin embargo, debe desenclavar el bit de HABILITACION de mensaje cada vez que active el bit de MENSAJE CONTINUO – esto permite que la instrucción se vuelva a cargar en un búfer de mensaje. | +MSG––––––––––––––––––––+ | |–––––––––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–| | |Type PEER–TO–PEER+–(DN) | | |Read/Write READ+–(ER) | | |Target Device 500CPU| | | |Local/Remote LOCAL| | | |Control Block N7:0| | | |Control Block Length 14| | | +–––––––––––––––––––––––+ | Renglón 2:1 | Bit | | MSG | | continuo | | B3 N7:0 À N7:0 | |––] [––––––––––––––––––––––––––––––––––––––––––––––––+––––––––––––( )–––––+–| ––]/[––– | 0 10 | 11 | | | | Bit MSG | | | | continuo | | | | B3 N7:0 | | | |––[OSR]–––––(U)–––––+ | | | 1 | 15 | | | | | | | N7:0 | | | +––] [ –––| | | 8 | Renglón 2:2 | | |–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––| | | À Esta instrucción se requiere para los procesadores SLC 5/03 OS300, OS301 y SLC 5/04 OS400. 8–34
  • 255. Instrucciones de comunicación Ejemplo 2 Este ejemplo muestra dos instrucciones de mensaje configuradas para funcionar continuamente por el método de regeneración automática. Este ejemplo usa un valor del límite de tiempo sobrepasado de mensaje interno distinto de cero. Renglón 2:0 Este es otro método para programa un mensaje que lee o escribe su destino de manera continua. Denominamos este método un método de regeneración automática porque en vez de usar el bit CONTINUO (CO), volvemos a iniciar el mensaje manualmente cuando los bits de EFECTUADO o ERROR se establecen. Use este método si tiene más de 4 mensajes que necesite operar a la vez de manera continua. | Bit activado/ Mensaje 1 | | desactivado de mensaje 1 | | B3 +MSG––––––––––––––––––––+ | |––––] [––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–| | 0 |Type PEER–TO–PEER+–(DN) | | |Read/Write READ+–(ER) | | |Target Device 500CPU| | | |Local/Remote LOCAL| | | |Control Block N7:0| | | |Control Block Length 14| | | +–––––––––––––––––––––––+ | Renglón 2:1 | Bit de EFECTUADO Bit de HABILITACION | | de mensaje 1 de mensaje 1 | | N7:0 N7:0 À N7:0 | |–+––––] [–––––+–––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––| ––]/[––– | | 13 | 10 15 | | | Bit ERROR | | | | mensaje 1 | | | | N7:0 | | | +––––] [–––––+ | | 12 | Renglón 2:2 | Bit activado/ Mensaje 2 | | desactivado de mensaje 2 | | B3 +MSG––––––––––––––––––––+ | |––––] [––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–| | 1 |Type PEER–TO–PEER+–(DN) | | |Read/Write READ+–(ER) | | |Target Device 500CPU| | | |Local/Remote LOCAL| | | |Control Block N7:40| | | |Control Block Length 14| | | +–––––––––––––––––––––––+ | 8–35
  • 256. Preface Manual de referencia del juego de instrucciones Renglón 2:3 | Bit de EFECTUADO Bit de HABILITACION | | de mensaje 2 de mensaje 2 | | N7:40 N7:40 À N7:40 | |–+––––] [–––––+–––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––| ––]/[––– | | 13 | 10 15 | | | Bit ERROR | | | | mensaje 2 | | | | N7:40 | | | +––––] [–––––+ | | 12 | Renglón 2:4 | | |–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––| | | À Esta instrucción se requiere para los procesadores SLC 5/03 OS300, OS301 y SLC 5/04 OS400. 8–36
  • 257. Instrucciones de comunicación Ejemplo 3 El ejemplo de aplicación 3 le muestra cómo usar el bit de límite de tiempo sobrepasado para inhabilitar una instrucción de mensaje activa. En este ejemplo, una salida se activa después de cinco intentos sin éxito (de 2 segundos de duración) de transmitir un mensaje. Este ejemplo usa un valor del límite de tiempo sobrepasado de mensaje interno distinto de cero. Renglón 2:0 En el programa, una vez establecido B3/1, la instrucción de mensaje intenta 5 veces completarse exitosamente. Si se completa en menos de 5 intentos, desenclavará B3/1. Si, después de 5 intentos, el mensaje todavía no se ha completado, una salida se activa y B3/1 se desenclava. Para volver a intentar este mensaje, sólo establezca B3/1 a 1. | Bit de | | disparo MSG | | del usuario | | B3 +MSG––––––––––––––––––––+ | |––––] [–––––––––––––––+––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–+–| | 1 | |Type PEER–TO–PEER+–(DN) | | | | |Read/Write READ+–(ER) | | | | |Target Device 500CPU| | | | | |Local/Remote LOCAL| | | | | |Control Block N7:0| | | | | |Control Block Length 14| | | | | +–––––––––––––––––––––––+ | | | | B3 C5:0 | | | +––[OSR]––+––(RES)–––––+––––––––––––––––––––––––––––––+ | | 0 | | | | | El mensaje | | | | no se | | | | completó | | | | O:3 | | | +––––(U)–––––+ | | 0 | Renglón 2:1 | Bit de ERROR | | de mensaje | | N7:0 N7:0 À +CTU–––––––––––––––+ | |––––] [–––––––––––––––––––––––––––––––––––––––+–+COUNT UP ––]/[––– +–(CU)–+–| | 12 10 | |Counter C5:0+–(DN) | | | | |Preset 5| | | | | |Accum 5| | | | | +––––––––––––––––––+ | | | | Bit de HABILITACION | | | | de mensaje | | | | N7:0 | | | +––––(U)––––––––––––––––––––+ | | 15 | 8–37
  • 258. Preface Manual de referencia del juego de instrucciones Renglón 2:2 | El mensaje | | no se | | completó | | C5:0 O:3 | |––] [––––––––––––––––––––––––––––––––––––––––––––––––––––––––––+––––(L)–––––+–| | DN | 0 | | | | Bit de | | | | disparo MSG| | | | del usuario| | | | B3 | | | +––––(U)–––––+ | | 1 | Renglón 2:3 | Bit de | Bit de | | EFECTUADO | disparo MSG | | de mensaje| del usuario | | N7:0 B3 | |––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––| | 13 1 | Renglón 2:4 | | |–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––| | | À Esta instrucción se requiere para los procesadores SLC 5/03 OS300, OS301 y SLC 5/04 OS400. 8–38
  • 259. Instrucciones de comunicación Ejemplo 4 El ejemplo de aplicación 4 le muestra cómo vincular las instrucciones de mensaje para transmitir en serie, una tras otra. En este ejemplo, una escritura MSG es seguida por una lectura MSG, lo que provoca la transmisión en serie. Este ejemplo usa un valor del límite de tiempo sobrepasado de mensaje interno distinto de cero. Renglón 2:0 Este programa demuestra cómo encadenar las instrucciones de mensaje, es decir, habilitar un segundo mensaje una vez completado con éxito el primero. Este ejemplo intenta continuamente escribir datos a un nodo de red y luego leer dados de un nodo de red. Este renglón habilita que el mensaje de ESCRITURA inicie cuando vaya de PROGRAMA a EJECUCION. | Bit de | Bit de HABILITACION | | primer paso | de escritura de mens.| | S:1 N7:0 | |––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––| | 15 15 | Renglón 2:1 | +MSG––––––––––––––––––––+ | |–––––––––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–| | |Type PEER–TO–PEER+–(DN) | | |Read/Write WRITE+–(ER) | | |Target Device 500CPU| | | |Local/Remote LOCAL| | | |Control Block N7:0| | | |Control Block Length 14| | | +–––––––––––––––––––––––+ | Renglón 2:2 Si el mensaje de ESCRITURA tiene error, siga ensayando el mensaje de ESCRITURA hasta que se complete con éxito. No ensaye el mensaje de LECTURA hasta que haya una ESCRITURA exitosa. | Bit ERROR | Bit de HABILITACION | | escr. mens. | de escritura de mens.| | N7:0 N7:0 À N7:0 | |––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––| ––]/[––– | 12 10 15 | Renglón 2:3 Una vez completado con éxito el mensaje de ESCRITURA, habilite el mensaje de LECTURA. | Bit de EFECTUADO | | de escritura de mensaje | | N7:0 +MSG––––––––––––––––––––+ | |––––] [––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–| | 13 |Type PEER–TO–PEER+–(DN) | | |Read/Write READ+–(ER) | | |Target Device 500CPU| | | |Local/Remote LOCAL| | | |Control Block N7:20| | | |Control Block Length 14| | | +–––––––––––––––––––––––+ | 8–39
  • 260. Preface Manual de referencia del juego de instrucciones Renglón 2:4 Si el mensaje de LECTURA tiene error, siga ensayando el mensaje de LECTURA hasta que se haya completado con éxito. No vuelva a ensayar la ESCRITURA hasta que haya una LECTURA exitosa. | Bit ERROR | Bit de HABILITACION | | lec. mens.| de lectura de mensaje | | N7:20 N7:20 À N7:20 | |––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––| ––]/[––– | 12 10 15 | Renglón 2:5 Una vez que los mensajes de ESCRITURA y LECTURA se hayan completado exitosamente, vuelva a iniciar la secuencia de mensaje desenclavando el bit de habilitación del mensaje de ESCRITURA. | Bit EFEC. |Bit EFEC. | Bit de HABILITACION | | lec. mens.|esc. mens.| de escritura de mensaje | | N7:20 N7:0 N7:20 À N7:0 | |––––] [––––––––] [––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––| ––]/[––– | 13 13 10 15 | Renglón 2:6 | | |–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––| | | À Esta instrucción se requiere para los procesadores SLC 5/03 OS300, OS301 y SLC 5/04 OS400. 8–40
  • 261. Instrucciones de comunicación Uso de mensajes locales Ejemplo 1 – Lectura local de un 500CPU Type: Peer–to–Peer Read/Write: READ ignore if timed out: 0 TO Target Device: 500CPU to be retried: 0 NR Local/Remote: Local awaiting execution: 0 EW Control Block: N10:0 continuous run: 0 CO Channel: 1 error: 0 ER Target Node (decimal): 2 message done: 0 DN message transmitting: 0 ST message enabled: 0 EN Destination File Addr: N7:0 waiting for queue space: 0 WQ Target Source File Address: N7:50 Message Length In Elements: 10 Message Timeout (seconds): 5 ERROR CODE: 0 control bit address: N10:0/8 Error Code Desc: En la pantalla anterior, el procesador SLC 5/03 ó SLC 5/04 lee 10 elementos del archivo N7 del nodo receptor, a partir de la palabra N7:50. Las 10 palabras se colocan en su archivo de entero a partir de la palabra N7:0. Si pasan cinco segundos sin respuesta, el bit de error N10:0/12 se establece, lo que indica que la instrucción ha sobrepasado el límite de tiempo. El dispositivo en el nodo 2 entiende el protocolo de la familia del procesador SLC 500 (SLC 500, SLC 5/01, SLC 5/02, SLC 5/03 y SLC 5/04). Tecla de función Descripción Especifica el número de nodo del procesador que recibe el mensaje. El Nodo receptor rango válido es 0-31. (Especifica la dirección DH-485.) Para una lectura (destino), ésta es la dirección en el procesador iniciador que va a recibir los datos. Dirección de archivo Para una escritura (fuente), ésta es la dirección del procesador iniciador que va enviar los datos. Los tipos de archivo válidos son S, B, T, C, R, N, I, O, M0, M1, F, ST y A. Para una lectura (fuente), ésta es la dirección en el procesador receptor que va a enviar los datos. Dirección receptora Para una escritura (destino), ésta es la dirección del procesador receptor que va a recibir los datos. Los tipos de archivo válidos son S, B, T, C, R, N, I, O, M0, M1, F, ST y A. Define la longitud del mensaje en elementos. Los elementos de una Longitud de mensaje palabra se limitan a una longitud máxima de 1-103. Los elementos de tres palabras se limitan a una longitud máxima de 1-37. 8–41
  • 262. Preface Manual de referencia del juego de instrucciones Tecla de función Descripción Define la longitud del temporizador de mensaje en segundos. Un límite Límite de tiempo de tiempo sobrepasado de 0 segundos significa que no hay temporizador sobrepasado del y que el mensaje esperará indefinidamente una respuesta. El rango mensaje válido es 0Ć255 segundos. Identifica el canal físico usado para la comunicación de mensaje. Canales disponibles: Canal SLC 5/03 - (0, RS-232) o (1, DH-485) SLC 5/04 - (0, RS-232) o (1, DH+) Ejemplo 2 – Lectura local de un 485CIF Type: Peer–to–Peer Read/Write: READ ignore if timed out: 0 TO Target Device: 485CIF to be retried: 0 NR Local/Remote: Local awaiting execution: 0 EW Control Block: N10:0 continuous run: 0 CO Channel: 1 error: 0 ER Target Node (decimal): 2 message done: 0 DN message transmitting: 0 ST message enabled: 0 EN Destination File Addr: N7:0 waiting for queue space: 0 WQ Target Offset: 20 Message Length In Elements: 5 Message Timeout (seconds): 15 ERROR CODE: 0 control bit address: N10:0/8 Error Code Desc: En la ilustración anterior, los procesadores SLC 5/03 ó SLC 5/04 leen cinco elementos (palabras) del archivo CIF del nodo receptor, a partir de la palabra 20 (o byte 20 para los dispositivos que no sean SLC 500). Los cinco elementos se colocan en su archivo de enteros a partir de palabra N7:0. Si 15 segundos pasan sin respuesta, el bit de error N10:0/12 se establece, lo que indica que la instrucción ha sobrepasado el límite de tiempo. El dispositivo en el nodo 2 entiende el protocolo 485CIF (emulación de PLC-2). Tecla de función Descripción Especifica el número de nodo del procesador que recibe el mensaje. El Nodo receptor rango válildo es 0Ć31. Para una lectura (destino), ésta es la dirección en el procesador iniciador que va a recibir los datos. Dirección de archivo Para una escritura (fuente), ésta es la dirección en el procesador iniciador que va a enviar los datos. Los tipos de archivo válidos son: S, B, T, C, R, N, I, O, M0, M1, F, ST y A Para una lectura o escritura, éste es el valor offset de palabra en el Offset receptor archivo de interface común (offset de byte para dispositivos distintos de SLC). 8–42
  • 263. Instrucciones de comunicación Tecla de función Descripción Cuando usa una instrucción de mensaje 485CIF, la longitud de mensaje Longitud de mensaje es el número de palabras de 16 bits. Puede especificar 1 a 103 elementos (palabras de información). Define la longitud del temporizador de mensaje en segundos. Un límite Límite de tiempo de tiempo sobrepasado de 0 segundos significa que no hay temporizador sobrepasado del y que el mensaje esperará indefinidamente una respuesta. El rango mensaje válido es 0Ć255 segundos. Identifica el canal físico usado para la comunicación de mensaje. Canales disponibles: Canal SLC 5/03 - (0, RS-232) o (1, DH-485) SLC 5/04 - (0, RS-232) o (1, DH+) Ejemplo 3 – Lectura local de un PLC-5 Type: Peer–to–Peer Read/Write: READ ignore if timed out: 0 TO Target Device: PLC5 to be retried: 0 NR Local/Remote: Local awaiting execution: 0 EW Control Block: N10:0 continuous run: 0 CO Channel: 1 error: 0 ER Target Node (decimal): 2 message done: 0 DN message transmitting: 0 ST message enabled: 0 EN Destination File Addr: N7:0 waiting for queue space: 0 WQ Target Src/Dst File Address: N7:50 Message Length In Elements: 10 Message Timeout (seconds): 5 ERROR CODE: 0 control bit address: N10:0/8 Error Code Desc: En la ilustración anterior, el procesador SLC 5/03 ó SLC 5/04 lee 10 elementos del archivo N7 del nodo receptor 2 a partir de la palabra N7:50. Las 10 palabras se colocan en su archivo de entero a partir de la palabra N7:0. Si cinco segundos pasan sin respuestas, el bit de error N10:0/12 se establece, lo que indica que la instrucción ha sobrepasado el límite de tiempo. El dispositivo en el nodo 2 entiende el protocolo del procesador PLC-5. Tecla de función Descripción Especifica el número de nodo del procesador que recibe el mensaje. El Nodo receptor rango válildo es 0Ć31. (Especifica la dirección DHĆ485.) Para una lectura (destino), ésta es la dirección en el procesador iniciador que va a recibir los datos. Dirección de archivo Para una escritura (fuente), ésta es la dirección en el procesador iniciador que va a enviar los datos. Los tipos de archivo válidos son: S, B, T, C, R, N, I, O, F, ST y A. 8–43
  • 264. Preface Manual de referencia del juego de instrucciones Tecla de función Descripción Para una lectura (fuente), ésta es la dirección en el procesador receptor que va a enviar los datos. Dirección receptora Para una escritura (destino), ésta es la dirección 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. Define la longitud del mensaje en elementos. Los elementos de una Longitud de mensaje palabra se limitan a una longitud máxima de 1-103. Los elementos de tres palabras se limitan a una longitud máxima de 1-37. Define la longitud del temporizador de mensaje en segundos. Un límite Límite de tiempo de tiempo sobrepasado de 0 segundos significa que no hay temporizador sobrepasado del y que el mensaje esperará indefinidamente una respuesta. El rango mensaje válido es 0Ć255 segundos. Identifica el canal físico usado para la comunicación de mensaje. Canales disponibles: Canal SLC 5/03 - (0, RS-232) o (1, DH-485) SLC 5/04 - (0, RS-232) o (1, DH+) 8–44
  • 265. Instrucciones de comunicación Uso de mensajes remotos Ejemplo 1 – Comunicación con procesadores A–B usando un 1785-KA5 Nodo 1 Dispositivo A (oct) Dispositivo C Nodo 2 Dispositivo B Nodo 7 DHĆ485 Controlador modular de DHĆ485 E/S SLC 5/04 Identificación de red = 1 Controlador modular de Nodo 3 (19.2 KBaudio) E/S SLC 5/03 DH+ (oct) DH+ Nodo 6 Identificación de red = 2 (oct) (57.6 KBaudio) PLC-5/40 con módulo 1785-KA5 DH+ Identificación de red = 2 (57.6 KBaudio) Procesador SLC 5/04 (A) a procesador SLC 5/03 (C) vía 1785-KA5 Type: Peer–to–Peer Read/Write: Read Target Device: 500 CPU Local/Remote: Remote Control Block: user specified Channel: 1 Target Node (decimal): 2 Remote Bridge Link Id dec: 1 Remote Bridge Node Address dec: 0 Local Bridge Node Address dec: 6 Destination/Source File Addr: user specified Target Src/Dst File Address: user specified Message Length In Elements: 11 Message Timeout (seconds): 5 Comentarios El canal se establece a 1 ya que el comando original es iniciado por un procesador SLC 5/04 en la red DH+ (identificación de red 2). El nodo receptor es el procesador SLC 5/03 a dirección de nodo 2. La identificación de red del puente remoto es la identificación de red de la red remota DH-485 con el procesador SLC 5/03 (identificación de red 1). 8–45
  • 266. Preface Manual de referencia del juego de instrucciones La dirección de nodo del puente remoto se establece a 0 (no usado) porque la comunicación es de un dispositivo con capacidades de Internet a otro dispositivo con capacidades de Internet. La dirección de nodo del puente local se establece a 6 porque esta es la dirección de nodo de la red DH+ usada por el módulo de interface de comunicación 1785-KA5. Procesador SLC 5/03 (C) a procesador SLC 5/04 (A) vía 1785-KA5 Type: Peer–to–Peer Read/Write: Read Target Device: 500 CPU Local/Remote: Remote Control Block: user specified Channel: 1 Target Node (decimal): 1 Remote Bridge Link Id dec: 1 Remote Bridge Node Address dec: 0 Local Bridge Node Address dec: 7 Destination/Source File Addr: user specified Target Src/Dst File Address: user specified Message Length In Elements: 11 Message Timeout (seconds): 5 Comentarios El canal se establece a 1 ya que el comando original es iniciado por un procesador SLC 5/03 en la red DH-485 (identificación de red 1). El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 1. La identificación de vínculo del puente remoto es el vínculo con el procesador SLC 5/04 (identificación de red 2). La dirección de nodo del puente remoto se establece a 0 (no usado) porque la comunicación es de un dispositivo con capacidades de Internet a otro dispositivo con capacidades de Internet. La dirección de nodo del puente local se establece a 7 porque ésta es la dirección de nodo de la red DH-485 usada por el módulo de interface de comunicación 1785-KA5. 8–46
  • 267. Instrucciones de comunicación Procesador SLC 5/03 (C) a un PLC-5 (B) vía 1785-KA5 Type: Peer–to–Peer Read/Write: Write Target Device: PLC5 Local/Remote: Remote Control Block: user specified Channel: 1 Target Node (decimal): 3 Remote Bridge Link Id dec: 2 Remote Bridge Node Address dec: 0 Local Bridge Node Address dec: 7 Destination/Source File Addr: user specified Target Src/Dst File Address: user specified Message Length In Elements: 11 Message Timeout (seconds): 5 Comentarios El canal se establece a 1 ya que el comando original es iniciado por un procesador SLC 5/03 en la red DH-485 (identificación de red 1). El nodo receptor es el procesador PLC-5 a dirección de nodo 3. La identificación de vínculo del puente remoto es el vínculo con el procesador PLC–5 (identificación de red 2). La dirección de nodo del puente remoto se establece a 0 (no usado) porque la comunicación es de un dispositivo con capacidades de Internet a otro dispositivo con capacidades de Internet. La dirección de nodo del puente local se establece a 7 porque ésta es la dirección de nodo de la red DH-485 usada por el módulo de interface de comunicación 1785-KA5. 8–47
  • 268. Preface Manual de referencia del juego de instrucciones Ejemplo 2 – Comunicación con procesadores A–B usando dos 1785-KA Dispositivo A Dispositivo B Nodo 22 (oct) Dispositivo C Nodo 13 Nodo 220 (oct) Controlador modular de (1785-KA) E/S SLC 5/04 Controlador modular de E/S SLC 5/04 Nodo 3 DH+ (oct) 57.6 KBaudio DH+ PLC-5/40 con módulo 57.6 KBaudio 1785-KA Nodo 3 (oct) Data Highway Nodo 110 (1785ĆKA) PLC-5/40 con módulo 1785-KA Procesador SLC 5/04 (B) a procesador PLC5 (C) vía dos 1785-KA Type: Peer–to–Peer Read/Write: Write Target Device: PLC5 Local/Remote: Remote Control Block: user specified Channel: 1 Target Node (decimal): 0 Remote Bridge Link Id dec: 0 Remote Bridge Node Address dec: 131 Local Bridge Node Address dec: 8 Destination/Source File Addr: user specified Target Src/Dst File Address: user specified Message Length In Elements: 10 Message Timeout (seconds): 0 Comentarios El canal se establece a 1 porque el comando original es iniciado por un procesador SLC 5/04 en la red DH+. El nodo receptor es el procesador PLC-5 a dirección de nodo 0. (En realidad, esta es la dirección de nodo 3, pero la dirección de nodo se establece a 0 porque la dirección de nodo del puente remoto maneja la estructura de direccionamiento.) La identificación de vínculo del puente remoto siempre se establece a 0 cuando se usa esta estructura de direccionamiento. 8–48
  • 269. Instrucciones de comunicación La dirección de nodo del puente remoto se establece a 131. La dirección de nodo del puente remoto consiste en el dígito más significativo (octal) del 1785-KA (220) remoto más la dirección del nodo receptor. Por ejemplo, 200 + 3 = 203 octales (131 decimal). La dirección de nodo del puente local se establece a 8 porque esta es la equivalente decimal del segundo dígito menos significante de la dirección 1785-KA (10 octal). Procesador SLC 5/04 (B) a procesador SLC 5/04 (A) vía dos 1785-KA Type: Peer–to–Peer Read/Write: Write Target Device: 500 CPU Local/Remote: Remote Control Block: user specified Channel: 1 Target Node (decimal): 0 Remote Bridge Link Id dec: 0 Remote Bridge Node Address dec: 146 Local Bridge Node Address dec: 8 Destination/Source File Addr: user specified Target Src/Dst File Address: user specified Message Length In Elements: 10 Message Timeout (seconds): 0 Comentarios El canal se establece a 1 porque el comando original es iniciado por un procesador SLC 5/04 en la red DH+. El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 0. (En realidad, esta es dirección de nodo 22, pero la dirección de nodo se establece a 0 porque la dirección de nodo del puente remoto maneja la estructura de direccionamiento.) La identificación de vínculo del puente remoto siempre se establece a 0 cuando se usa esta estructura de direccionamiento. La dirección de nodo del puente remoto se establece a 146. La dirección de nodo del puente remoto consiste en el dígito más significante (octal) del 1785-KA remoto más la dirección del nodo receptor. Por ejemplo, 200 + 22 = 222 octal (146 decimal). La dirección de nodo del puente local se establece a 8 porque esta es la equivalente decimal del segundo dígito menos significativo de la dirección 1785-KA (10 octal). 8–49
  • 270. Preface Manual de referencia del juego de instrucciones Ejemplo 3 – Transferencia vía canal 0 DH-485 del procesador SLC 5/04 Dispositivo B Nodo 3 Dispositivo D (oct) Dispositivo C Nodo 2 DH+ Nodo 2 (oct) PLC-5/40 (oct) DHĆ485 DH+ Identificación Identificación de red = 2 de red = 1 (57.6 KBaudio) Controlador modular de DHĆ485 Controlador modular de (19.2 KBaudio) E/S SLC 5/03 E/S SLC 5/04 Dispositivo A Nodo 1 Nodo 1 RSĆ232 (oct) Convertidor de intenrface 1747ĆPIC Controlador modular de E/S SLC 5/04 Procesador SLC 5/04 (A) a procesador SLC 5/03 (D) vía un procesador SLC 5/04 (C) (transferencia usando canal 0 DH-485) Type: Peer–to–Peer Read/Write: Read Target Device: 500 CPU Local/Remote: Remote Control Block: user specified Channel: 1 Target Node (decimal): 2 Remote Bridge Link Id dec: 1 Remote Bridge Node Address dec: 0 Local Bridge Node Address dec: 2 Destination/Source File Addr: user specified Target Src/Dst File Address: user specified Message Length In Elements: 10 Message Timeout (seconds): 5 Comentarios El canal se establece a 1 porque el comando original es iniciado por un procesador SLC 5/04 en la red DH+. El nodo receptor es el procesador SLC 5/03 en la dirección de nodo 2. La identificación de vínculo del puente remoto es el vínculo con el procesador SLC 5/04 (canal 0, identificación de red 1). La dirección de nodo del puente remoto se establece a 0 (no usado) porque la comunicación es de un dispositivo con capacidades de Internet a otro dispositivo con capacidades de Internet. La dirección de nodo del puente local se establece a 2 porque esta es la dirección de nodo DH+. 8–50
  • 271. Instrucciones de comunicación Procesador SLC 5/03 (D) a procesador SLC 5/04 (A) vía un procesador SLC 5/04 (C) (transferencia usando canal 0 DH-485) Type: Peer–to–Peer Read/Write: Read Target Device: 500 CPU Local/Remote: Remote Control Block: user specified Channel: 1 Target Node (decimal): 3 Remote Bridge Link Id dec: 2 Remote Bridge Node Address dec: 0 Local Bridge Node Address dec: 1 Destination/Source File Addr: user specified Target Src/Dst File Address: user specified Message Length In Elements: 10 Message Timeout (seconds): 5 Comentarios El canal se establece a 1 porque el comando original es iniciado por un procesador SLC 5/03 en la red DH-485. El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 1. La identificación de vínculo del puente remoto es el vínculo con el procesador SLC 5/04 (canal 1, identificación de red 2). La dirección de nodo del puente remoto se establece a 0 (no usado) porque la comunicación es de un dispositivo con capacidades de Internet a otro dispositivo con capacidades de Internet. La dirección de nodo del puente local se establece a 1 porque ésta es la dirección de nodo DH-485. 8–51
  • 272. Preface Manual de referencia del juego de instrucciones Procesador SLC 5/03 (D) a PLC-5 (B) vía un procesador SLC 5/04 (transferencia usando canal 0 DH-485) Type: Peer–to–Peer Read/Write: Write Target Device: PLC5 Local/Remote: Remote Control Block: user specified Channel: 1 Target Node (decimal): 3 Remote Bridge Link Id dec: 2 Remote Bridge Node Address dec: 0 Local Bridge Node Address dec: 1 Destination/Source File Addr: user specified Target Src/Dst File Address: user specified Message Length In Elements: 10 Message Timeout (seconds): 5 Comentarios El canal se establece a 1 porque el comando original es iniciado por un procesador SLC 5/03 en la red DH-485. El nodo receptor es el procesador PLC-5 en la dirección de nodo 3. La identificación de vínculo del puente remoto es el vínculo con el procesador SLC 5/04 (canal 1, identificación de red 2). La dirección de nodo del puente remoto se establece a 0 (no usado) porque la comunicación es de un dispositivo con capacidades de Internet a otro dispositivo con capacidades de Internet. La dirección de nodo del puente local se establece a 1 porque ésta es la dirección de nodo DH-485. 8–52
  • 273. Instrucciones de comunicación Mensajes remotos (SLC 5/03 a un SLC 500, SLC 5/01 ó SLC 5/02) La ilustración siguiente muestra la conectividad para un mensaje remoto. 1747-AIC 1747-AIC Identif. de red = 1 Nodo 4 Nodo 2 Nodo 6 Identificación PLC con módulo de red = 3 Nodo 7 1785ĆKA5 Nodo 1 Controlador modular de E/S Controlador modular de E/S SLC 5/02 SLC 5/03 Nodo 9 Identif. de red = 3 (11 octal) Nodo 3 Nodo 8 Nodo 2 (10 octal) Nodo 5 PLCĆ5 con módulo 1785ĆKA5 PLC-5 Computadora industrial T60 Identificación de red = 2 1747-AIC 1747-AIC Nodo 3 Nodo 1 Controlador modular de E/S Controlador modular de E/S SLC 5/02 SLC 5/01 Longitud máxima de la red DHĆ485 1200 m (4,000 pies) Red DH+ Los siguientes pies de gráfico representan los parámetros de direccionameinto de un SLC 5/03 a un procesador SLC 5/02 remoto. Estes es el nodo original de la instrucción MSG. No tiene que especificar esta dirección. Esta es la dirección de nodo del puente local. Esta es la dirección de nodo remoto del puente local. No tiene que especificar esta dirección. Esta es la dirección de nodo del puente remoto. Esta es la dirección de nodo del puente remoto. No tiene que especificar esta dirección. Esta es la identificación de red remota. Esta es la dirección de nodo receptor. 8–53
  • 274. Preface Manual de referencia del juego de instrucciones Ejemplo 4 – Transferencia vía canal 0 DF1 del procesador SLC 5/04 Dispositivo A Dispositivo B Dispositivo C Dispositivo D DH+ DH+ DH+ DH+ Nodo 0 Nodo 2 Nodo 35 Nodo 77 (oct) (oct) (oct) (oct) Controlador modular de Controlador modular de Controlador modular de Controlador modular de E/S SLC 5/04 E/S SLC 5/04 E/S SLC 5/04 E/S SLC 5/04 S:34/5 = 1 DF1 DH+ (RSĆ232) DH+ Identificación de red = 2 (57.6 KBaudio) Identificación de red = 1 Identificación de red = 3 (19.2 KBaudio) (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 dec: 0 Local Bridge Node Address dec: 2 Destination/Source File Addr: user specified Target Src/Dst File Address: user specified Message Length In Elements: 10 Message Timeout (seconds): 5 Nota La configuración incorrecta puede causar que los datos sean escritos o leídos de un procesador no seleccionado. Asegúrese que todos parámetros e identificaciones de vínculo de canal se establezcan correctamente. Comentarios El canal se establece a 1 porque el comando original es iniciado por un procesador SLC 5/04 en la red DH+. El nodo receptor es el procesador SLC 5/04 a dirección de nodo 77 (63 decimales). La identificación de vínculo del puente remoto es el vínculo con el procesador SLC 5/04 (identificación de vínculo 1). La dirección de nodo del puente remoto se establece a 0 (no usado) porque canal 0 es dúplex total DF1. La dirección de nodo del puente local se establece a 2 porque ésta es la dirección de nodo DH+. 8–54
  • 275. Instrucciones de comunicación Ejemplo 5 – Transferencia vía canal 0 DH+ del procesador SLC 5/04 Dispositivo A Dispositivo B Dispositivo C Nodo 77 Nodo 2 Nodo 35 (oct) (oct) (oct) Controlador modular de Controlador modular de Controlador modular de E/S SLC 5/04 E/S SLC 5/04 E/S SLc 5/04 DH+ DF1 S:34/5 = 1 (RSĆ232) Identificación de red = 2 (57.6 KBaudio) Identificación de red = 1 (19.2 KBaudio) Nota El dispositivo B tiene S:34/5 establecido a 1. Procesador SLC 5/04 (A) a procesador SLC 5/04 (C) vía un solo procesador SLC 5/04 (transferencia usando canal 0 DF1) Type: Peer–to–Peer Read/Write: Read Target Device: 500 CPU Local/Remote: Remote Control Block: user specified Channel: 1 Target Node: 0 Remote Bridge Link Id dec: 1 Remote Bridge Node Address: 0 Local Bridge Node Address: 2 Destination/Source File Addr: user specified Target Src/Dst File Address: user specified Message Length In Elements: 10 Message Timeout (seconds): 5 Comentarios El canal se establece a 1 porque el comando original es iniciado por un procesador SLC 5/04 en la red DH+. El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 0 (dúplex total DF1). La identificación de vínculo del puente remoto es el vínculo con el procesador SLC 5/04 (identificación de vínculo 1). La dirección de nodo del puente remoto se establece a 0 (no usado) porque canal 0 es dúplex total DF1. La dirección de nodo del puente local se establece a 2 porque ésta es la dirección de nodo DH+. 8–55
  • 276. Preface Manual de referencia del juego de instrucciones Procesador SLC 5/04 (C) a procesador SLC 5/04 (A) vía un solo procesador SLC 5/04 (transferencia usando canal 0 DF1) Type: Peer–to–Peer Read/Write: Read Target Device: 500 CPU Local/Remote: Local Control Block: user specified Channel: 0 Target Node (decimal): 63 Destination/Source File Addr: user specified Target Src/Dst File Address: user specified Message Length In Elements: 10 Message Timeout (seconds): 5 Comentarios El canal se establece a 0 porque el comando original es iniciado por un procesador SLC 5/04 conectado vía dúplex total DF1. El nodo receptor es el procesador SLC 5/04 en la dirección nodo 63 decimales (77 octal). Procesador SLC 5/04 (C) a procesador SLC 5/04 (B) cuando la transferencia está habilitada Type: Peer–to–Peer Read/Write: Read Target Device: 500 CPU Local/Remote: Local Control Block: user specified Channel: 0 Target Node (decimal): 2 Destination/Source File Addr: user specified Target Src/Dst File Address: user specified Message Length In Elements: 10 Message Timeout (seconds): 5 Comentarios El canal se establece a 1 porque el comando original es iniciado por un procesador SLC 5/04 en la red DH+. El nodo receptor es el procesador SLC 5/04 en la dirección de nodo DH+ 29 decimal (34 octal). 8–56
  • 277. Instrucciones de comunicación Ejemplo 6 – Transferencia usando un integrado pirámide para encaminar una instrucción de mensaje Dispositivo A Dispositivo B Estación 3 Nodo 7 Nodo 1 (oct) (oct) Controlador modular de Estación 15 Controlador de E/S E/S SLC 5/04 (oct) DH+ modular SLC 5/04 DH+ Identificación de red = 2 Identificación de red = 1 (57.6KBaud) (57.6 KBaudio) Procesador SLC 5/04 (B) a procesador SLC 5/04 (A) via un integrador de pirámide usando el encaminamiento PI Type: Peer–to–Peer Read/Write: Read Target Device: 500 CPU Local/Remote: Remote Control Block: user specified Channel: 1 Target Node: 7 Remote Bridge Link Id dec: 1 Remote Bridge Node Address: 0 Local Bridge Node Address: 13 Destination/Source File Addr: user specified Target Src/Dst File Address: user specified Message Length In Elements: 15 Message Timeout (seconds): 5 Comentarios El canal se establece a 1 porque el comando original es iniciado por un procesador SLC 5/04 en la red DH+. El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 7. La identificación de vínculo del puente remoto es el vínculo con el procesador SLC 5/04 (identificación de vínculo 1). La dirección de nodo del puente remoto se establece a 0 (no usado) porque la comunicación es de un dispositivo con capacidades de Internet a otro dispositivo con capacidades de Internet. La dirección de nodo del puente local se establece a 13 decimal (15 octal) porque ésta es la dirección de nodo DH+. 8–57
  • 278. Preface Manual de referencia del juego de instrucciones Ejemplo 7 – Dispositivo A Dispositivo B Nodo 10 (oct) Nodo 13 Nodo 220 (oct) Controlador modular de (1785-KA) E/S SLC 5/03 Controlador modular de E/S SLC 5/03 Nodo 3 DHĆ485 (oct) DH+ 19.2 KBaudio PLCĆ5/40 con módulo 57.6 KBaudio 1785ĆKA5 Nodo 3 (oct) Data Highway Nodo 110 (1785ĆKA) PLCĆ5/40 con módulo 1785ĆKA5 Procesador SLC 5/03 a un procesador SLC 5/03 (transferencia usando dos 1785-KA5) Type: Peer–to–Peer Read/Write: Read or Write Target Device: 485CIF or 500 CPU Local/Remote: Remote Control Block: user specified Channel: 1 Target Node: 2 Remote Bridge Link Id: 8 Remote Bridge Node Address: 0 Local Bridge Node Address: 20 Destination/Source File Addr: user specified Target Src/Dst File Address: user specified Message Length In Elements: user specified Message Timeout (seconds): 10 Comentarios El canal se establece a 1 porque el comando es enviado en el canal RS485 del 5/03 en la identificación de vínculo 4. El nodo receptor se establece a 2 porque esta es la dirección DH-485 en la que el dispositivo de destino reside en el vínculo de destino (identificación de vínculo 8). 8–58
  • 279. 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
  • 280. Preface Manual de referencia del juego de instrucciones Comunicaciones de servicio (SVC) 3 3 3 Uso de un procesador SLC 5/02 (SVC) La instrucción SVC es una instrucción de salida que no tiene parámetros de Instrucción de salida programación. Cuando se evalúa como verdadera, el escán de programa se interrumpe para ejecutar la porción de comunicaciones de servicio del ciclo de operación. Luego el escán se reanuda en la instrucción siguiente a la instrucción SVC. Use esta instrucción para mejorar el rendimiento de comunicación de su procesador SLC 5/02. No se le permite colocar una instrucción SVC en una subrutina de interrupción STI, interrupción de E/S ni fallo del usuario. Los bits siguientes le permiten personalizar o monitorizar el servicio de comunicaciones. Refiérase al capítulo 1 de este manual para obtener información adicional acerca del archivo de estado. • S:2/5 DH-485 Comando entrante pendiente • S:2/6 DH-485 Respuesta de mensaje pendiente • S:2/7 DH-485 Comando de mensaje saliente pendiente • S:2/15 DH-485 Selección de servicio de comunicaciones Uso de un procesador SLC 5/03 ó SLC 5/04 SVC SERVICE COMMUNICATIONS Cuando usa un procesador SLC 5/03 ó SLc 5/04, la instrucción SVC opera según lo Channel 0 Channel 1 expuesto anteriormente. Estos procesadores le permiten seleccionar un canal de comunicación específico (0, 1 ó ambos) al que se debe dar servicio. No se le permite colocar una instrucción SVC en una subrutina de fallo, DII, STI ni evento Instrucción de salida 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 Canal 0 S:2/5 DH-485 Comando entrante pendiente S:33/0 Comando entrante pendiente S:2/6 DH-485 Respuesta de mensaje S:33/1 Respuesta de mensaje pendiente pendiente S:2/7 DH-485 Comando de mensaje S:33/2 Comando de mensaje saliente saliente pendiente pendiente 8–60
  • 281. Instrucciones de comunicación Canal 1 Canal 0 S:2/15 DH-485 Selección de servicio de S:33/5 Selección de servicio de comunicaciones comunicaciones S:33/7 DH-485 Selección de servicio de S:33/6 Selección de servicio de mensaje mensaje Servicio de canal Cuando un canal no ha sido seleccionado para recibir servicio por parte de la instrucción SVC, dicho canal recibe servicio normalmente al final del escán. Ejemplo de aplicación La instrucción SVC se usa cuando desea ejecutar una función de comunicación, tal como la transmisión de un mensaje, antes de la porción de comunicación de servicio normal del escán de operación. El ejemplo siguiente muestra cómo usar selectivamente la instrucción SVC. Bit de comando de mensaje saliente S:2 pendiente ] [ (SVC) 7 Puede colocar este renglón después de una instrucción de escritura de mensaje. S:2/7 se establece cuando la instrucción de mensaje se habilita y está esperando (siempre que no se transmita un mensaje). Cuando S:2/7 se establece, la instrucción SVC se evalúa como verdadera y el escán de programa se interrumpe para ejecutar la porción de comunicaciones de servicio del escán de operación. Luego el escán se reanuda en la instrucción siguiente a la instrucción SVC. Este ejemplo sencillo asume que el bit de selección de servicio de comunicaciones S:2/15 se ha puesto a cero y que ésta es la única instrucción MSG activa. Nota Puede programar la instrucción SVC sin condiciones a través de los renglones. Esta es la técnica normal de programación para la instrucción SVC. El procesador SLC 5/03 ó SLC 5/04 puede pasar una instrucción MSG a través de una red remota a su destino receptor. (Puede hacer un salto por una red.) El procesador SLC 5/03 ó SLC 5/04 también puede pasar una instrucción MSG a la red que existe en el otro lado del puente local. 8–61
  • 282. Preface Manual de referencia del juego de instrucciones 8–62
  • 283. Instrucción proporcional integral derivativa 9 Instrucción proporcional integral derivativa Este capítulo describe la instrucción proporcional integral derivativa (PID). Descripción general 3 3 3 PID PID Esta es una instrucción de salida que controla las características físicas tales como la Control Block Process Control Variable Variable temperatura, presión, nivel líquido o régimen de caudal usando lazos de proceso. Control Block Length 23 La instrucción PDI normalmente controla un lazo cerrado usando entradas de un Instrucción de salida 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
  • 284. Preface Manual de referencia del juego de instrucciones El concepto PID El control en lazo cerrado PID retiene una variable de proceso a un punto de ajuste deseado. Un ejemplo del régimen de caudal/nivel de fluido se muestra abajo. Alimentación hacia adelante o bias Punto de ajuste Error ∑ Ecuación ∑ Régimen de caudal PID Variable de Salida proceso de control Detector de nivel Válvula de control La ecuación PID controla el proceso enviando una señal de salida a la válvula de control. Cuanto más grande sea el error entre el punto de ajuste y la entrada de variable de proceso, tanto más grande es la señal de salida y vice versa. Un valor adicional (alimentación hacia adelante o bias) se puede añadir a la salida de control como offset. El resultado del cálculo PID (variable de control) impulsará la variable de proceso que controla hacia el punto de ajuste. 9–2
  • 285. 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) Referencia Ganancia de 0.1 a 25.5 (adimensional) Proporcional controlador KC À 0.01 a 327.67 (adimensional) Término de 25.5 a 0.1 (minutos por repetición) Integral restablecimiento 1/TI À 327.67 a 0.01 (minutos por repetición) Término de régimen TD 0.01 a 2.55 (minutos) Derivativa 0.01 a 327.67 (minutos) À À Se aplica a los rangos PID SLC 5/03 y SLC 5/04 cuando el bit de restablecimiento de bit y rango de refuerzo (RG) se establecen a 1. El término (régimen) derivativo proporciona la uniformización por medio de un filtro de paso bajo. La frecuencia de corte del filtro es 16 veces mayor que la frecuencia de ángulo del término derivativo. Cómo introducir parámetros Normalmente, la instrucción PID se coloca en un renglón sin lógica condicional. La salida permanece a su último valor cuando el renglón es falso. El término integral también se borra cuando el renglón es falso. Nota La instrucción PID es un tipo de algortimo PID de sólo entero y no le permite introducir valores de punto (coma) flotante para sus parámetros. Por lo tanto, si intenta mover un valor de punto (coma) flotante a uno de los parámetros PID usando la lógica de escalera, ocurrirá una conversión de punto (coma) flotante a entero. 9–3
  • 286. Preface Manual de referencia del juego de instrucciones Durante la programación, usted introduce las direcciones del bloque de control, variable de proceso y variable de control después de colocar la instrucción PID en un renglón: • El bloque de control es un archivo que almacena los datos requeridos para operar la instrucción. La longitud de archivo se fija a 23 palabras y se debe introducir como dirección de archivo de entero. Por ejemplo, la introducción de N10:0 asignará los elementos N10:0 a N10:22. La configuración del bloque de control se ilustra en la página 9–11. No escriba a las direcciones de bloque de control con otras instrucciones en su programa excepto según lo descrito más adelante en este capítulo. Si vuelve a usar un bloque de datos que fue asignado anteriormente para otro uso, es buena práctica poner primero a cero los datos. Recomendamos que use un archivo de datos único para contener sus bloques de control PID. Por ejemplo N10:0. Esto evita el reuso imprevisto de las direcciones de bloque de control PID por otras instrucciones en su programa. • La variable de proceso PV es una dirección de elemento que almacena el valor de entrada de proceso. Esta dirección puede ser la ubicación de la palabra de entrada analógica donde el valor de la entrada A/D se almacena. Este valor también podría ser un valor de entero si decide escanear su valor de entrada de antemano al rango 0–16383. • La variable de control CV es una dirección de elemento que almacena la salida de la instrucción PID. El valor de salida tiene un rango de 0 a 16383; 16383 es el 100%. Esto es normalmente un valor de entero para que usted pueda escalar el rango de entrada PID según el rango analógico específico que su aplicación requiere. La ilustración a continuación muestra una instrucción PID con direcciones típicas para estos parámetros introducidos: PID PID Control Block N10:0 Process Variable N10:28 Control Variable N10:29 Control Block Length 23 9–4
  • 287. Instrucción proporcional integral derivativa auto/manual: MANUAL ∗ time mode Bit: 1 TM mode: TIMED ∗ auto/manual bit: 1 AM control: E=SP–PV ∗ control mode bit: 0 CM setpoint (SP): 0 0output limiting enabled bit: 0 OL process (PV): 0 ∗ reset and gain range: 0 RG scaled error: 0 ∗ scale setpoint flag: 0 SC deadband: 0 loop update time too fast: 0 TF output (CV): 0 %∗ derivitive (rate) action: 0 DA DB, set when error is in DB: 0 DB loop update: 0 [.01 secs] output alarm, upper limit: 0 UL gain: 0 [/10] output alarm, lower limit: 0 LL reset: 0 [/10 m/r] setpoint out of range: 0 SP rate: 0 [/100 min] process var out of range: 0 PV min scaled: 0 PID done: 0 DN max scaled: 0 output (CV) limit: NO ∗ PID enabled: 0 EN output (CV) min: 0 % output (CV) max: 0 % La columna izquierda en la ilustración anterior enumera otros parámetros de instrucción PID que debe introducir. • Automático/manual AM (palabra 0, bit 1) alterna entre automático y manual. Automático indica que el PID controla la salida. (El bit se ha puesto a cero.) Manual indica que el usuario establece el valor de salida. (El bit está establecido.) Cuando haga ajustes, le recomendamos que efectúe los cambios en el modo manual, seguido por un retorno al modo automático. El límite de salida también se aplica en el modo manual. • El modo TM (word 0, bit 0) alterna los valores temporizados y STI. Temporizado indica que el PID actualiza su salida al régimen especificado en el párametro de actualización del lazo. Nota Cuando usa el modo temporizado, el tiempo de escán de su procesador debe ser un mínimo de diez veces más rápido que el tiempo de actualización del lazo para evitar inexactitudes o perturbaciones. STI indica que el PID actualiza su salida cada vez que se escanea. Cuando selecciona STI, la instrucción PID debe ser programada en una subrutina de interrupción STI, y la rutina STI debe tener un intervalo de tiempo igual al ajuste del parámetro de “actualización del lazo” PID. Establezca el período STI en la palabra S:30. Por ejemplo, si el tiempo de actualización del lazo contiene el valor 10 (para 100 ms), entonces el intervalo de tiempo STI también debe ser igual a 10 (para 10 ms). • El control CM (palabra 0, bit 2) alterna los valores E=SP–PV y E=PV–SP. La acción directa (E=PV–SP) causa que la salida CV incremente cuando la salida PV es mayor que el punto de ajuste SP (por ejemplo, una aplicación de enfriamiento). La acción inversa (E=SP–PV) causa que la salida CV incremente cuando la salida PV sea menor que el punto de ajuste SP (por ejemplo, una aplicación de calefacción). 9–5
  • 288. Preface Manual de referencia del juego de instrucciones – El punto de ajuste SP (palabra 2) es el punto de control deseado de la variable del proceso. Puede cambiar este valor con las instrucciones en su programa de escalera. Escriba el valor en la tercera palabra en el bloque de control (por ejemplo, escriba el valor en N10:2 si su bloque de control es N10:0). Sin escala, el rango de este valor es 0–16383. En caso contrario, el rango es de escala mínima (palabra 8) a escala máxima (palabra 7), – La ganancia Kc (palabra 3) es la ganancia proporcional, con un rango de 0.1 a 25.5 La regla general es establecer esta ganancia a la mitad del valor necesario para causar que la salida oscile cuando los términos de restablecimiento y régimen (abajo) se ponen a cero. Específico para SLC 5/03 y SLC 5/04 – El rango válido es 0 a 32767. Esta palabra no es afectada por el bit RG. – El restablecimiento Ti (palabra 4) es la ganancia integral, con un rango de 0.1 a 25.5 minutos por repetición. La regla general es establecer el tiempo de restablecimiento para que sea igual al período natural medido en la calibración de ganancia de arriba. Específico para SLC 5/03 y SLC 5/04 – El rango válido es 0 a 32767 minutos/repetición. Anote que el valor 1 añadirá el término integral mínimo posible en la ecuación PID. – Régimen Td (palabra 5) es el término derivativo. El rango de ajuste es 0.01 a 2.55 minutos. La regla general es establecer este valor a 1/8 del tiempo integral de arriba. Específico para SLC 5/03 and SLC 5/04 – El rango válido es 0 a 32767 minutos. – Escala máxima Smax (palabra 7) – Si el punto de ajuste debe ser leído en unidades de ingeniería, entonces este parámetro corresponde al valor del punto de ajuste en unidades de ingeniería cuando la entrada de control es 16383. El rango válido es ±16383 a +16383. Específico para SLC 5/03 y SLC 5/04 – El rango válido es ±32768 a +32767. – Escala mínima Smin (palabra 8) – Si el punto de ajuste debe ser leído en unidades de ingeniería, este parámetro corresponde al valor del punto de ajuste en unidades de ingeniería cuando la entrada de control es cero. El rango válido es ±16383 a +16383. Específico SLC 5/03 y SLC 5/04 – El rango válido ±32768 a 32767. Nota La escala Smin – Smax le permite introducir el punto de ajuste en unidades de ingeniería. La banda muerta, error y PV se mostrarán en unidades de ingeniería. Todavía se espera que el PV de la variable de proceso se encuentre dentro del rango de 0 a 16383. El uso de Smin – Smax no minimiza la resolución PV PID. 9–6
  • 289. Instrucción proporcional integral derivativa Específico para SLC 5/03 y SLC 5/04: Los errores con escala mayores que +32767 ó menores que ±32768 no se pueden representar. Si el error con escala es mayor que +32767, se representa como +32767. Si el error con escala es menor que ±32768, se representa como ±32768. – La banda muerta DB (palabra 9) es un valor no negativo. La banda muerta se extiende sobre y debajo el punto de ajuste según el valor que usted introduce. La banda muerta se introduce en la intersección con cero de la variable de proceso PV y el punto de ajuste SP. Esto significa que la banda muerta estará en efecto sólo después que la variable de proceso PV entre en la banda muerta y pase a través del punto de ajuste SP. El rango válido es 0 a la escala máxima ó 0 a 16383 cuando no hay escala. – Actualización del lazo (palabra 13) es el intervalo de tiempo entre los cálculos PID. La entrada es en intervalos de 0.01 segundo. La regla general es introducir un tiempo de actualización del lazo cinco a diez veces más rápido que el período natural de la carga (determinado poniendo los parámetros de restablecimiento y régimen a cero y luego incrementando la ganancia hasta que la salida comience a oscilar). En el modo STI, este valor debe ser igual al valor de intervalo de tiempo STI de S:30. El rango válido es 1 a 2.55 segundos. Específico para SLC 5/03 y SLC 5/04 – El rango válido es 0.01 a 10.24 segundos. – El proceso con escala PV (palabra 14) se usa para la muestra en pantalla únicamente. Este es el valor con escala de la variable de proceso (la entrada analógica). Sin escala, el rango de este valor es 0–16383. Si no, el rango es de escala mínimia (palabra 8) a escala máxima (palabra 7). – Error con escala (palabra 15) se usa para visualización solamente. Este es el error de escala según es seleccionado por el parámetro de modo de control. Rango: escala máxima a –escala mínima, ó 16383 a –16383 cuando no hay escala. Nota Específico para SLC 5/03 y SLC 5/04: Los errores con escala mayores que +32767 ó menores que ±32768 no se pueden representar. Si el error con escala es mayor que +32767, se representa como +32767. Si el error con escala es menor que ±32768, se representa como ±32768. 9–7
  • 290. Preface Manual de referencia del juego de instrucciones – La salida CV% (palabra 16) muestra la salida CV real de 0 a 16383 en términos de porcentaje. (El rango es 0 a 100%.) Si usted seleccionó el modo AUTO con la tecla de llave F1, es para la visualización únicamente. Si seleccionó el modo manual y usa un monitor de datos APS, puede cambiar la salida CV% y el cambio se aplicará a CV. El escribir a la salida CV% con su programa de usuario o un dispositivo de programación no inteligente no afectará el CV. Cuando usa un dispositivo que no sea APS, debe escribir directamente a CV que tiene un rango de 0 a 16383. • El límite de salida (CV) OL (palabra 0, bit 3) alterna entre Sí y No. Seleccione Sí, si desea limitar la salida a los valores mínimos y máximos. SI (1) NO (0) salida CV% límite de salida CV% seleccionado límite de salida CV% cancelado mín. El valor que introduce será el El valor que introduce determinará porcentaje de salida mínimo que la cuándo se establecerá el bit de alarma variable de control CV obtendrá: de salida, límite inferior. Si el CV cae debajo de este valor míniĆ Si el CV cae debajo de este valor míniĆ mo, ocurrirá lo siguiente: mo, se establecerá el bit de alarma de salida, límite inferior (LL). • El CV estará establecido al valor que usted introdujo, y • El bit de alarma de salida, límite LL inferior estará establecido. máx. El valor que introduce será el El valor que introduce determinará porcentaje de salida máximo que la cuándo se establecerá el bit de alarma variable de control CV obtendrá:. de salida, límite superior. Si el CV excede este valor máximo, lo Si el CV excede este valor máximo, se siguiente ocurre: establecerá el bit de alarma de salida, • El CV establecerá el valor que usted límite superior (UL). introdujo, y • El bit de alarma de salida, límite de UL superior estará establecido. 9–8
  • 291. Instrucción proporcional integral derivativa Indicadores de instrucción PID auto/manual: AUTO ∗ time mode Bit: 1 TM mode: STI ∗ auto/manual bit: 0 AM control: E=SP–PV ∗ control mode bit: 0 CM setpoint (SP): 500 0output limiting enabled bit: 1 OL process (PV): 0 ∗ reset and gain range: 0 RG scaled error: 0 scale setpoint flag: 0 SC deadband: 5 loop update time too fast: 0 TF output (CV): 0 %∗ derivitive (rate) action: 0 DA DB, set when error is in DB: 0 DB loop update: 50 [.01 secs] output alarm, upper limit: 0 UL gain: 25 [/10] output alarm, lower limit: 0 LL reset: 10 [/10 m/r] setpoint out of range: 0 SP rate: 1 [/100 min] process var out of range: 0 PV min scaled: 0 PID done: 0 DN max scaled: 1000 output (CV) limit: NO ∗ PID enabled: 0 EN output (CV) min: 0 % output (CV) max: 0 % La columna derecha de la pantalla anterior muestra varios indicadores asociados con la instrucción PID. La sección siguiente describe estos indicadores: • El bit de modo de tiempo TM (palabra 0, bit 0) especifica el modo PID. Se establece cuando el modo TEMPORIZADO está en efecto. Se pone a cero cuando el modo STI está en efecto. Este bit se puede establecer o poner a cero por medio de instrucciones en su programa de escalera. • El bit manual/automático AM (palabra 0, bit 01) especifica la operación automática cuando se pone a cero y la operación manual cuando se establece. Este bit puede ser establecido o poner a cero por medio de instrucciones en su programa de escalera. • El bit de modo de control CM (palabra 0, bit 02) se pone a cero si el control es E=SP–PV. Se establece si el control es E=PV–SP. Este bit se puede establecer o poner a cero por medio de instrucciones en su programa de escalera. • El bit de límite de salida habilitado OL (palabra 0, bit 03) se establece cuando ha seleccionado limitar la variable de control usando la tecla de función [F4]. Este bit se puede establecer o poner a cero por medio de instrucciones en su programa de escalera. • Específico para SLC 5/03 y SLC 5/04 – Bit de mejoramiento de restablecimiento y rango de ganancia RG (palabra 0, bit 4) Cuando se establece, este bit causa que el valor de restablecimiento de minuto/repetición y el multiplicador de ganancia sean mejorados por un factor de 10 (multiplicador de restablecimiento de .01 y multiplicador de ganancia de .01). Ejemplo con el juego de bit 4 El valor de restablecimiento de 1 indica que el valor integral de 0.01 minutos/repetición (0.6 segundos/repetición) se aplicará al algoritmo integral PID. El valor de ganancia de 1 indica que el error será multiplicado en 0.01 y aplicado al algoritmo PID. 9–9
  • 292. Preface Manual de referencia del juego de instrucciones Cuando se pone a cero, este bit permite que el valor de restablecimiento de minutos/repetición y el valor del multiplicador de ganancia sean evaluados en las mismas unidades que la instrucción 5/02 PID (multiplicador de restablecimiento de 0.1 y multiplicador de ganancia de 0.1). Ejemplo con el juego de bit 4 El valor de restablecimiento de 1 indica que el valor integral de 0.01 minutos/repetición (0.6 segundos/repetición) se aplicará al algoritmo integral PID. El valor de ganancia de 1 indica que el error será multiplicado en 0.01 y aplicado al algoritmo PID. Observe que el multiplicador de régimen no es afectado por esta selección. (La edición inicial del software, versión 4.0, puede no permitirle introducir este bit. Sin embargo, puede alterar el estado de este bit directamente en el bloque de control.) • El indicador de punto de ajuste de escala SC (palabra 0, bit 05) se pone a cero cuando se especifican los valores de escala del punto de ajuste. • El tiempo de actualización del lazo demasiado rápido TF (palabra 0, bit 06) está establecido por el algoritmo PID si el tiempo de actualización del lazo que ha especificado no puede ser realizado por el programa en cuestión (debido a límites de tiempo de escán). Si este bit está establecido, trate de corregir el problema actualizando su lazo PID a un régimen más lento o moviendo la instrucción PID a una rutina de interrupción STI. Las ganancias de restablecimiento y régimen aparecerán con error si la instrucción funciona con este bit establecido. • Bit de acción de derivativa (régimen) DA (palabra 0, bit 07) Cuando está establecido, este bit causa que el cálculo de derivativa (régimen) sea evaluado en el error en vez del PIV. Cuando se pone a cero, este bit permite que el cálculo de derivativa (régimen) sea evaluado de la misma manera que la instrucción 5/02 PID (donde la derivativa se realiza en el PIV). Este bit es usado únicamente por los procesadores SLC 5/03 y SLC 5/04. • DB, establecido cuando el error está en DB (palabra 0, bit 08) se establece cuando la variable de proceso se encuentra dentro del rango de banda muerta de intersección con 0. • La alarma de salida, límite superior UL (palabra 0, bit 09) se establece cuando el CV de de salida de control calculado excede el límite CV superior. • La alarma de salida, límite inferior LL (palabra 0, bit 10) se establece cuando el CV de salida de control calculado es menor que el límite CV inferior. • El punto de ajuste fuera de rango SP (palabra 0, bit 11) se establece cuando el punto de ajuste excede el valor con escala máximo o es menor que el valor con escala mínimo. • La variable de proceso fuera de rango PV (palabra 0, bit 12) se establece cuando la variable de proceso sin escala (o sin procesar) excede 16838 ó es menor que cero. • El PID efectuado DN (palabra 0, bit 13) se establece en escanes donde el algoritmo PID se calcula. Se calcula al régimen de actualización del lazo. • El PID habilitado EN (palabra 0, bit 15) se establece mientras que el renglón de la instrucción PID se habilita. 9–10
  • 293. 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 OL, CM, * Reset Ti 4 AM, TM À * 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 19 INTERNAL USE DO NOT CHANGE 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
  • 294. Preface Manual de referencia del juego de instrucciones Errores de tiempo de ejecución El código de error 0036 aparece en el archivo de estado cuando ocurre un error de tiempo de ejecución de instrucción PID. El código 0036 abarca las condiciones de error PID siguientes, cada una de las cuales ha sido asignada a un valor de código de un solo byte exclusivo que aparece en el MSbyte de la segunda palabra del bloque de control. Código de error Descripción de la(s) condición(es) de error Acción correctiva 11H SLC 5/02 SLC 5/03 y SLC 5/04 SLC 5/02 SLC 5/03 y SLC 5/04 1) Tiempo de actualizaĆ 1) Tiempo de actualizaĆ Cambie el tiempo de Cambie el tiempo de ción del lazo Dt 255 ó ción del lazo Dt 1024 actualización del lazo actualización del lazo Dt a 0 Dt 255 Dt a 0 Dt 1024 2) Tiempo de actualizaĆ 2) Tiempo de actualizaĆ ción del lazo Dt = 0 ción del lazo Dt = 0 12H SLC 5/02 SLC 5/03 y SLC 5/04 SLC 5/02 SLC 5/03 and SLC 5/04 1) Ganancia 1) Ganancia Cambie la ganancia Cambie la ganancia proporcional Kc proporcional Kc 0 porporcional Kc a proporcional Kc a 255 ó 0 Kc 255 0 Kc 2) Ganancia proporcional Kc = 0 13H SLC 5/02 SLC 5/03 y SLC 5/04 SLC 5/02 SLC 5/03 and SLC 5/04 Ganancia integral Ganancia integral Cambie la ganancia inteĆ Cambie la ganancia inteĆ (restablecimiento) (restablecimiento) gral (restablecimiento) Ti gral (restablecimiento) Ti Ti 255 Ti 0 a 0 Ti 255 a 0 Ti 14H SLC 5/02 SLC 5/03 y SLC 5/04 SLC 5/02 SLC 5/03 y SLC 5/04 Ganancia derivativa Ganancia derivativa Cambie la ganancia Cambie la ganancia (régimen) Td 255 (régimen) Td 0 derivativa (régimen) Td derivativa (régimen) Td a 0 Td 255 a 0 Td 21H 1) Pto. de ajuste con escala máx. Smax 16383 ó Cambie el pto. de ajuste con escala máx. Smax a (SLC 5/02 solamente) 2) Pto. de ajuste con escala máx. Smax -16383 -16383 Smax 16383 22H 1) Pto. de ajuste con escala mín. Smin 16383 ó Cambie el pto. de ajuste con escala mín. Smin a (SLC 5/02 solamente) 2) Pto. de ajuste con escala mín. Smin -16383 -16383 Smin Smax 16383 23H Punto de ajuste con escala mínimo Cambie el punto de ajuste con escala mín. Smin a Smin punto de ajuste con escala máx. Smax -16383 Smin Smax 16383 (SLC 5/03 y SLC 5/04 -32768 a +32767) 9–12
  • 295. Instrucción proporcional integral derivativa Código de error Descripción de la(s) condición(es) de error Acción correctiva 31H Si usa la escala del punto de ajuste y Si usa la escala de punto de ajuste, entonces Smin punto de ajuste SP Smax o cambie el punto de ajuste SP a Smin SP Smax o Si no usa la escala de punto de ajuste y 0 punto de ajuste SP 16383, Si no usa la escala de punto de ajuste, entonces cambie el punto de ajuste SP a 0 SP 16383. entonces durante la ejecución inicial del lazo PID, ocurre este error y se establece bit 11 de palabra 0 del bloque de control. Sin embargo, durante la ejecución subsiguiente del lazo PID, si se introduce un punto de ajuste de lazo inválido, el lazo PID continúa ejecutando con el uso del punto de ajuste anterior, y se establece bit 11 de palabra 0 del bloque de control. 41H Escala seleccionada Selección de escala Escala seleccionada Selección de escala cancelada cancelada 1) Banda muerta 0 ó 1) Banda muerta 0 ó Cambie la banda Cambie la banda muerta a 0 banda muerta a 0 banda muerta (Smax - muerta 16383 Smin) 16383 2) Banda muerta 2) Banda muerta (Smax Ć Smin) o bien 16383 3) Banda muerta 16383 (específico para 5/02)) 51H 1) Límite de salida alta 0 ó Cambie el límite de salida alta a 2) Límite de salida alta 100 0 límite de salida alta 100 52H 1) Límite de salida baja 0 ó Cambie el límite de salida baja a 0 límite de 2) Límite de salida baja 100 salida baja límite de salida alta 100 53H Límite de salida baja límite de salida alta Cambie el límite de salida baja a 0 límite de salida baja límite de salida alta 100 60H SLC 5/02 - PID está siendo introducido por seĆ Tiene un mínimo de tres lazos PID en su gunda vez. (El lazo PID fue interrumpido por una programa; uno en el programa principal o archivo interrupción de E/S, la cual a su vez, es interrumĆ de subrutina; uno en un archivo de interrupción pida por la interrupción PID STI.) de E/S; y uno en el archivo de subrutina STI. Debe alterar su programa de escalera y eliminar el posible anidamiento de los lazos PID. 9–13
  • 296. Preface Manual de referencia del juego de instrucciones Escala PID y E/S analógicas Para la instrucción SLC 500 PID, la escala numérica para la variable de proceso (PV) y la variable de control (CV) es 0 a 16383. Para usar unidades de ingeniería, tal como PSI o grados, primero debe escalar sus rangos de E/S analógicas dentro de la escala numérica de arriba. Para hacerlo, use la instrucción de escala (SCL) y siga los pasos descritos a continuación. 1. Escale su entrada analógica calculando la pendiente (o régimen) del rango de entrada analógica al rango PV (0 a 163873). Por ejemplo, una entrada analógica con un rango de 4 a 20 mA tiene un rango decimal de 3277 a 16384. El rango decimal debe ser escalado por todo el rango de 0 a 16383 para uso como PV. 2. Escale el CV para que se distribuya de manera equitativa por todo el rango de salida analógica. Por ejemplo, una salida analógica que tiene una escala de 4 a 20 mA, tiene un rango decimal de 5242 a 31208. En este caso, 0 a 16383 debe ser escalado por todo el rango de 6242 a 31208. Una vez que ha escalado sus rangos de E/S analógicas hacia/desde la instrucción PID, puede introducir las unidades de ingeniería mínimas y máximas que se aplican a su aplicación. Por ejemplo, si el rango de entrada analógica de 4 a 20 mA representa 0 a 300 PSI, puede introducir 0 y 300 como los parámetros mínimos (Smin) y máximos (Smax) respectivamente. La variable de proceso, error, punto de ajuste y banda muerta se mostrarán en unidades de ingeniería en la pantalla del motor de datos PID. El punto de ajuste y la banda muerta se pueden introducir en la instrucción PID usando unidades de ingeniería. Las ecuaciones siguientes muestran la relación lineal entre el valor de entrada y el valor con escala resultante. Valor con escala = (valor de entrada pendiente x) + offset Pendiente = (escala m áx. ± escala mín.) / (entrada máx. ± entrada mín.) Offset = escala mín. ± (entrada mín pendiente x) Uso de la instrucción SCL Use los valores siguientes en una instrucción SCL para escalar los rangos de entrada analógica comunes para las variables de proceso PID. Parámetro 4 a 20 mA 0a5V 0 a 10 V Régimen/10,000 12,499 10,000 5,000 Offset -4096 0 0 9–14
  • 297. 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 4 a 20 mA 0a5V 0 a 10 V Régimen/10,000 15,239 10,000 19,999 Offset 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
  • 298. Preface Manual de referencia del juego de instrucciones Este renglón actualiza inmediatamente la entrada analógica usada para PV. IIM Renglón IMMEDIATE IN w MASK Slot I:1.0 3:0 Mask FFFF 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 LES B3 Renglón LESS THAN (L) Source A I:1.0 3:1 0 0 Source B 3277 MOV MOVE Source 3277 Dest I:1.0 0 Rango excesivo GRT B3 Renglón GREATER THAN (L) Source A I:1.0 3:2 0 1 Source B 16384 MOV MOVE Source 16384 Dest 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 Renglón SCALE Source I:1.0 3:3 0 Rate [/10000] 12499 Offset –4096 Dest N10:28 0 PID Renglón PID Control Block N10:0 3:4 Process Variable N10:28 Control Variable N10:29 Control Block Length 23 9–16
  • 299. Instrucción proporcional integral derivativa La variable de control PID es la entrada para la instrucción de escala. La instrucción PID garantiza que el CV permanezca dentro del rango de 0 a 16383. Este valor debe ser escalado al rango de 6242 a 31208, lo cual representa el rango Renglón numérico que es necesario para producir la señal de salida analógica de 4 a 20 mA. 3:5 SCL SCALE Source N10:29 0 Rate [/10000] 15239 Offset 6242 Dest O:1.0 0 Este renglón actualiza inmediatamente la tarjeta de salida analógica que es impulsada por el valor de la variable de control PID. IOM Renglón IMMEDIATE OUT w MASK Slot O:1.0 3:6 Mask FFFF END La rutina STI debe tener un intervalo de tiempo equivalente al establecimiento del parámetro de “actualización del lazo” PID. 9–17
  • 300. Preface Manual de referencia del juego de instrucciones Notas de aplicación Los párrafos siguientes tratan: • Los rangos de entrada/salida • La escala a unidades de ingeniería • La banda muerta de intersección con cero • Las alarmas de salida • El límite de salida con bloque de acción integral • El modo manual • La alimentación hacia adelante • Las salidas de tiempo de proporcional Rangos de entrada/salida El módulo de entrada que mide la variable de proceso (PV) debe tener un rango binario completo de escala de 0 a 16383. Si este valor es menor que 0 (bit 15 establecido), un valor de cero se usará para PV y el bit de “variable de proceso fuera de rango” se establecerá (bit 12 de palabra 0 en el bloque de control). Si la variable de proceso es 16383 (bit 14 establecido), un valor de 16383 se usará para PV y el bit de “variable de proceso fuera de rango” se establecerá. La variable de control, calculada por la instrucción PID, tiene el mismo rango de 0 a 16383. La salida de control (palabra 16 del bloque de control) tiene el rango de 0 a 100%. Puede establecer límites inferiores y superiores para los valores de salida calculados de la instrucción (donde un límite superior de 100% corresponde a un límite de variable de control de 16383). Escalado a unidades de ingeniería La escala le permite introducir el punto de ajuste y los valores de banda muerta de intersección con cero en unidades de ingeniería y mostrar la variable de proceso y valores de error en las mismas unidades de ingeniería. Recuerde que la variable de proceso PV todavía debe estar dentro del rango 0–16383. Sin embargo, el PV será mostrado en unidades de ingeniería. 9–18
  • 301. 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 ±73 a +1156° C Salida de transmisor (si usado) +4 a +20 mA Salida de un módulo de entrada analógico 0 a 16383 Instrucción PID, Smin a Smax ±73 a +1156° C 2. Introduzca el punto de ajuste (palabra 2) y la banda muerta (palabra 9) en las mismas unidades con escala. Lea también la variable de proceso con escala y el error con escala en estas unidades. El porcentaje de salida de control (palabra 16) se muestra como porcentaje del rango de 0 a 16383. El valor real transferido a la salida CV siempre es entre 0 y 16383. Cuando selecciona la escala, la instrucción escala el punto de ajuste, banda muerta, variable de proceso y error. Debe considerar el efecto de todas estas variables cuando cambia la escala. 9–19
  • 302. Preface Manual de referencia del juego de instrucciones Banda muerta (DB) de intersección con cero La banda muerta ajustable le permite seleccionar un rango de error encima y debajo del punto de ajuste donde la salida no se cambia siempre que el error permanezca dentro de este rango. Esto le permite controlar la precisión con que la variable corresponde el punto de ajuste sin cambiar la salida. +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
  • 303. 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
  • 304. Preface Manual de referencia del juego de instrucciones Estado de renglón PID Si el renglón PID es falso, la suma integral (palabras 17 y 18) se pone a cero y CV permanece en su último estado. Manual Bit A/M I:2.0 N7:10 ] [ (L) 2 1 Auto Bit A/M I:2.0 N7:10 ] [ (U) 1 1 A/M Bit Acepta CV N7:10 I:2.0 B3 FRD ] [ ] [ [OSR] FROM BCD 0 Source I1:1.0 1 0 Dest N7:0 LIM MUL LIMIT TEST MULTIPLY Low Lim 0 Source A N7:0 Test N7:0 Source B 16384 High Lim 100 Dest N7:2 DDV DOUBLE DIVIDE Source 100 Dest N7:8 Notas de operación Un interruptor preselector giratorio BCD de 3 dígitos es cableado a un módulo de entrada a S:5 I1:1.0 (rango 0-100) (U) 0 Un botón pulsador es cableado a I1:2.0/0; acepta el valor del interruptor preselector giratorio. Error - fuera de rango Un interruptor selector para el modo LIM B3 automático/manual es cableado a I1:2.0/1 LIMIT TEST ( ) (automático) e I1:2.0/2 (manual). Low Lim 101 3 Test N7:0 N7:0 almacena el valor introducido en el interruptor preselector giratorio. High Lim –1 N7:2 almacena un cálculo intermedio. N7:8 es la dirección de variable de control PID. N7:10 Es la dirección de bloque de control de la instrucción PID. N7:26 El porcentaje de salida es actualizado automáticamente por la instrucción PID. 9–22
  • 305. 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
  • 306. Preface Manual de referencia del juego de instrucciones Ejemplo – Salidas de tiempo proporcional PID PID Control Block N7:2 Process Variable N7:0 Control Variable N7:1 Control Block Length 23 TON TIMER ON DELAY (EN) Timer T4:0 Time Base 0.01 (DN) Preset 1000 Accum 0 Tiempo de ciclo de salida GRT O:1.0 GREATER THAN (U) Source A T4:0.ACC 0 0 Source B N7:25 Contactos de salida 0 de tiempo proporcional T4:0 T4:0 ] [ (RES) DN NEQ O:1.0 NOT EQUAL (L) Source A N7:25 0 0 Source B 0 N7:2 MUL Variable de control ] [ MULTIPLY Source A N7:1 13 0 Source B T4:0.PRE Bit de efectuado 1000 de la instrucción Dest N7:25 PID 0 DDV DOUBLE DIVIDE Source 16383 Salida como fracción del tiempo de ciclo Dest N7:25 0 CLR Borra el indicador CLEAR de error menor Dest S:5 0 END 9–24
  • 307. 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
  • 308. Preface Manual de referencia del juego de instrucciones 5. Coloque la instrucción PID en el modo MANUAL, luego coloque el procesador en el modo de marcha. 6. Mientras monitoriza la pantalla PID, ajuste el proceso manualmente escribiendo al valor de porcentaje CO. 7. Cuando perciba tener el proceso bajo control manual, coloque la instrucción PID en el modo AUTOMATICO. 8. Ajuste la ganancia a medida que vaya observando la relación de la salida con el punto de ajuste durante el transcurso de tiempo. Cuando usa el procesador SLC 5/02, los ajustes de ganancia perturban el proceso cuando cambia los valores. Para evitar esta perturbación, cambie al modo MANUAL antes de efectuar el cambio de ganancia y luego retorne al modo AUTOMATICO. Cuando usa el procesador SLC 5/03 ó SLC 5/04, los cambios de ganancia no perturban el proceso; por lo tanto, no es necesario cambiar al modo MANUAL. 9. Cuando observe que el proceso está oscilando arriba y abajo del punto de ajuste de una manera uniforme, registre la duración de 1 ciclo. Eso es, obtenga el período natural del proceso. Período natural ≅ 4x tiempo muerto Registre el valor de ganancia. Retorne al modo MANUAL (detenga el proceso si fuese necesario). 10. Establezca el tiempo de actualización del lazo (y el intervalo de tiempo STI si es aplicable) a un valor de 5 a 10 veces más rápido que el período natural. Por ejemplo, si el tiempo de ciclo es 20 segundos y usted elige establecer el tiempo de actualización del lazo a 10 veces más rápido que la velocidad natural, establezca el tiempo de actualización del lazo a 200, lo que resultará en una velocidad de 2 segundos. 11. Establezca el valor de ganancia Kc a 1/2 de la ganancia necesaria para obtener el período natural del proceso. Por ejemplo, si el valor de ganancia registrado en el paso 9 fue 80, establezca la ganancia a 40. 12. Establezca el término de restablecimiento Ti para que éste se aproxime al período natural. Si el período natural es 20 segundos, como en nuestro ejemplo, se establecerá el término de restablecimiento a 3 (0.3 minutos por repetición se aproximan a 20 segundos). 13. Ahora establezca el régimen Td para que éste sea igual a un valor de 1/8 del término de restablecimiento. Para nuestro ejemplo, el valor 4 será usado para proporcionar un término de régimen de 0.04 minutos por repetición. 9–26
  • 309. 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
  • 310. Preface Manual de referencia del juego de instrucciones 11. Los valores que ha registrado deben tener un offset del CO% con la misma cantidad. Esto prueba la linealidad del proceso. El ejemplo siguiente muestra una progresión de offset de quince. CO 20% = PV 35% CO 40% = PV 55% CO 60% = PV 75% CO 80% = PV 95% Si los valores que ha registrado no tienen el offset con la misma cantidad: • El escalado es incorrecto, o • el proceso no es lineal, o • el equipo no está conectado y/o configurado correctamente. Haga las correcciones necesarias y repita los pasos 2–10. Cómo determinar el tiempo de actualización del lazo inicial Para determinar el tiempo de actualización del lazo aproximado que se debe usar para su proceso, realice lo siguiente: 1. Coloque los valores de aplicación normales en Smin y Smax. 2. Escriba: 50 en CO%. 3. Escriba: 60 en CO% y active inmediatamente su cronómetro. 4. Observe el PV. Cuando el PV comience a cambiar, pare el cronómetro. Registre este valor. Esto constituye el tiempo muerto. 5. Multiplique el tiempo muerto por 4. Este valor se aproxima al período natural. Por ejemplo, si: tiempo muerto = 3 segundos, entonces 4 3 = 12 segundos (≅ período natural) 6. Divida el valor obtenido en el paso 5 entre 10. Use este valor como el tiempo de actualización del lazo. Por ejemplo, si: período natural = 12 segundos, entonces 12 10 = 1.2 segundos. Por lo tanto, el valor 120 se introducirá como el tiempo de actualización del lazo. (120 10 ms = 1.2 segundos) 9–28
  • 311. 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
  • 312. Preface Manual de referencia del juego de instrucciones 9–30
  • 313. 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 Propósito Página Mnemónico Nombre ABL Prueba de búfer Determina el número de caracteres en el búfer, 10-7 por línea 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. 10-8 caracteres en búfer ACI Cadena a entero Convierte una cadena en un valor entero. 10-10 ACL Borrado del búfer Borra los búferes de recepción y/o de transmisión 10-11 ASCII de recepción y/o transmisión ACN Concatenado de Combina dos cadenas en una. 10-12 cadenas AEX Extracción de caĆ Extrae una porción de una cadena para crea nua 10-13 dena cadena nueva. AHL Líneas de handĆ Establece o restablece las líneas de comunicación 10-14 shake ASCII de módem AIC Entero a cadena Convierte un valor entero en una cadena. 10-16 ARD Lectura de Lee caracteres desde el búfer de entrada y los coloĆ 10-17 caracteres ASCII ca en una cadena. continúa en la página siguiente 10–1
  • 314. Preface Manual de referencia del juego de instrucciones Instrucción Propósito Página Mnemónico Nombre ARL Lectura ASCII de Lee una línea de caracteres desde el búfer de enĆ 10-20 línea trada y los coloca en una cadena. ASC Búsqueda de caĆ Busca una cadena. 10-22 dena ASR Comparación de Compara dos cadenas. 10-23 cadenas ASCII AWA Escritura ASCII Escribe una cadena con caracteres configurados 10-24 con apéndice por el usuario añadidos. AWT Escritura ASCII Escribe una cadena. 10-27 Descripción general de ASCII Las instrucciones ASCII están disponibles en los procesadores SLC 5/03 OS301 y superiores y todos los procesadores SLC 5/04. Existen dos tipos de instrucciones ASCII: • Control de puerto ASCII – esto incluye instrucciones que usan o modifican el canal de comunicación para la recepción o transmisión de datos. Cuando usa estas instrucciones, la configuración del sistema debe estar establecida en el “modo de usuario”. (ABL, ACB, ACL, AHL*, ARD, ARL, AWA*, AWT*) * – significa que debe estar en el modo de usuario o sistema Las instrucciones de control de puerto ASCII se colocan en cola según el orden de ejecución y dependen la una de la otra para ejecutarse (excepto ACL, la cual se ejecuta inmediatamente). Por ejemplo, si tiene una ARD (instrucción de lectura ASCII) y luego una AWT (instrucción de escritura ASCII), el bit de efectuado o el bit de error de la ARD debe estar establecido antes de que AWT pueda comenzar ejecutarse (aun cuando AWT se ha habilitado durante la ejecución de ARD por parte del procesador). Una segunda instrucción de control de puerto ASCII no puede comenzar a ejecutarse hasta que la primera se haya finalizado. Sin embargo, el procesador no espera la finalización de una instrucción de control de puerto ASCII antes de que siga ejecutando su programa de escalera. • Control de cadena ASCII – esto incluye instrucciones que manejan los datos de cadena. (ACI, ACN, AEX, AIC, ASC, ASR) Las instrucciones de control de cadena ASCII se ejecutan inmediatamente. Nunca se colocan en cola para esperar su ejecución. 10–2
  • 315. 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 Especificación Alterna entre 110, 300, 600, Velocidad 1200,2400,4800,9600 y 19200. El valor predeterminado es 1200. El valor predeterminado es 1 y no se puede Bits de arranque cambiar. Las opciones incluyen 1, 1.5 y 2. El valor Bits de parada predeterminado es 1. Alterna entre Ninguno, Impar y Par. El valor Paridad predeterminado es Ninguno. Alterna entre 7 y 8. El valor predeterminado es Bits de datos 8. Le permite configurar hasta 2 caracteres ASCII. La instrucción ABL usa bloques para determinar Caracteres de terminación 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 Caracteres añadidos de cada cadena para servir como caracteres de terminación para el dispositivo receptor. El valor predeterminado es CR LF. 10–3
  • 316. Preface Manual de referencia del juego de instrucciones Cómo usar el tipo de archivo de datos ASCII Estos son elementos de 1 palabra. Asigne las direcciones ASCII así: Formato Explicación A Archivo ASCII f Número de archivo. Un número de archivo entre 9Ć255 se puede usar. Af:e/b : Delimitador de elemento Número de e Rango de 0Ć255. Este es un elemento de 1 palabra. elemento / Delimitador de bit Número de b Ubicación de bit dentro del elemento. Rango de 0Ć15. bit Ejemplos: A9:2 Elemento 2, archivo ASCII 9 A10:0/7 Bit 7, elemento 0, archivo ASCII 10 Cómo usar el tipo de archivo de datos de cadena (ST) Este tipo de archivo es válido para los procesadores SLC 5/03 OS301, OS302 y SLC 5/04 OS400, OS401. Estos son elementos de 42 palabras. Puede direccionar las longitudes de cadena añadiendo un .LEN a cualquier dirección de cadena (por ejemplo, ST17:1.LEN). Los números del archivo de datos de cadena válidos son 9–255. Las longitudes de cadena deben estar entre 0 y 82. Por lo general, las longitudes fuera de este rango causan que el procesador establezca el bit de error ASCII (S:5/15) y la instrucción no se ejecuta. Nota Configura los caracteres añadidos o fin de línea vía la pantalla de configuración de canal. Los caracteres añadidos predeterminados son el retorno del carro y alimentación de línea; el carácter de fin de línea (terminación) predeterminado es un retorno de carro. Todas las instrucciones, menos ACL y AHL, entrarán en error si el puerto se inhabilita. 10–4
  • 317. Instrucciones ASCII Asigne direcciones de cadena así: Formato Explicación ST Archivo de cadena STf:e.s/b f Número de archivo. Un número de archivo entre 9Ć255 se puede usar. : Delimitador de elemento Número de Rango de 0Ć255. Estos son elementos de 42 palabras. e elemento 16 bits por elemento. . Delimitador de subelemento Número de s Rango de 0Ć41. Palabra 0 es la longitud, .LEN. subelemento / Delimitador de bit Ubicación de bit dentro del elemento. Rango de 0Ć15. b Número de bit El direccionamiento a nivel de bit no está disponible para la palabra 0 de elementos de cadena. Ejemplos: ST9:2 Elemento 2, archivo de cadena 9 ST10:2.3/8 Bit 8 en subelemento 3 de elemento 2, archivo de cadena 10 10–5
  • 318. Preface Manual de referencia del juego de instrucciones Cómo introducir parámetros El elemento de control para las instrucciones ASCII incluye ocho bits de estado, un byte de código de error y dos palabras de carácter: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Word 0 EN EU DN EM ER UL IN FD | Error Code Word 1 Number of characters for sending or receiving (LEN) Word 2 Number of characters sent or received (POS) EN = Enable Bit EU = Queue Bit DN = Asynchronous Done Bit EM = Synchronous Done Bit ER = Error Bit UL = Unload Bit IN = Running Bit (Este bit es el bit IN en el archivo de datos de control [R6:].) FD = Found Bit • El bit encontrado FD (bit 8) indica que la instruccion ha encontrado el fin de caracteres o caracteres de terminación en el búfer (se aplica a las instrucciones ABL y ACB). • El bit de marcha IN (bit 9) indica que una instrucción puesta en cola se está ejecutando. • El bit de descarga UL (bit 10) detiene la operación de instrucción antes (puede estar puesta en cola) o durante la ejecución. Si este bit se establece durante la ejecución de una instrucción, los datos ya procesados se envían al destino. Anote que la instrucción no se elimina de la cola; los datos remanentes simplemente no se procesan. Usted establece este bit. • El bit de error ER (bit 11) indica que un error ocurrió durante la ejecución de la instrucción, tal como un cambio de modo vía canal 1 ó la instrucción fue cancelada usando el bit UL o la instrucción ACL. • El bit de efectuado sincrónico EM (bit 12) se establece concurrentemente a un escán de programa para indicar la finalización de una instrucción ASCII. • El bit de efectuado asincrónico DN (bit 13) se establece en la parte opuesta de un escán de programa cuando una instrucción completa su operación exitosamente. Anote que una instrucción puede demorar más que un escán de programa para terminar la ejecución. • El bit de cola EU (bit 14) indica que una instrucción ASCII ha sido colocada en la cola ASCII. Esta acción se demora si la cola ya está llena. La cola puede contener hasta 16 instrucciones. • El bit de habilitación EN (bit 15) indica que una instrucción se ha habilitado debido a una transición de falso a verdadero. Este bit permanece establecido hasta que la instrucción haya terminado la ejecución de errores. 10–6
  • 319. Instrucciones ASCII Prueba de búfer por línea (ABL) 3 3 ABL ASCII TEST FOR LINE (EN) Use la instrucción ABL para determinar el número total de caracteres en el búfer de Channel Control (DN) entrada, hasta e incluyendo los caracteres de fin de línea (terminación). Esta Characters 0 (ER) Error instrucción busca dos caracteres de terminación que usted configura vía la pantalla de configuración de puerto ASCII. Durante una transición de falso a verdadero, el Instrucción de salida procesador comunica el número de caracteres en el campo POS del bloque de control ASCII. El puerto en serie debe estar configurado para el modo de usuario. Cómo introducir parámetros Introduzca los parámetros siguientes al programar esta instrucción: • El canal es el número del puerto RS-232 (canal 0). • El control es el área que almacena el registro de control requerido para operar la instrucción. • Los caracteres son el número de caracteres en el búfer que el procesador encuentra (0–1024). Este parámetro se muestra en pantalla solamente y reside en la palabra 2 del bloque de control. • El error muestra el código de error hexadecimal que indica por qué el bit ER se ha establecido en el archivo de datos de control (R6:). Vea la página 10–29 para obtener descripciones del código de error. Ejemplo I:1 ABL EN [ [ ASCII TEST FOR LINE 10 Channel 0 DN Si la ranura de entrada 1, bit 10, está Control R6:32 establecida, el procesador realiza una Characters 0 ER operación ABL por canal 0. Error Cuando el renglón cambia de falso a verdadero, se establece el bit de habilitación (EN). La instrucción se coloca en la cola de instrucción ASCII, el bit de cola (EU) se establece y el escán de programa continúa. Luego, la instrucción se ejecuta fuera del escán de programa. Sin embargo, si la cola está vacía, la instrucción se ejecuta inmediatamente. Al ejecutarse, se establece el bit de marcha. 10–7
  • 320. Preface Manual de referencia del juego de instrucciones El procesador determina el número de caracteres (hasta e incluyendo los caracteres de fin de línea/terminación) y coloca este valor en el campo de posición. El bit de efectuado (DN) se establece. Si cero aparece en el campo POS, es indicación de que se encontraron caracteres de fin de línea/terminación. El bit de encontrado (FD) se establece si el campo de posición se estableció a un valor que no sea cero. Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN) establecido, el procesador establece el bit de efectuado sincrónico (EM). El bit EM sirve como bit de efectuado secundario correspondiente al escán de programa. El bit de error (ER) se establece durante la ejecución de la instrucción si: • la instrucción se cancela – puerto en serie no en el modo de usuario • la instrucción se cancela debido a un cambio de modo de canal • el bit de descarga (UL) se establece y la instrucción no se ejecuta Número de caracteres en búfer (ACB) 3 3 ACB ASCII CHARS IN BUFFER (EN) Use la instrucción ACB para determinar los caracteres totales en el búfer. En una Channel Control (DN) transición de falso a verdadero, el procesador determina el número total de Characters Error 0 (ER) caracteres y lo registra en el campo de posición del bloque de control ASCII. El puerto en serie debe estar en el modo de usuario. 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 control es el área que almacena el registro de control requerido para operar la instrucción. • Los caracteres son el número de caracteres en el búfer que el procesador encuentra (0–1024). Este parámetro se muestra en pantalla solamente y reside en ;a palabra 2 del bloque de control. • El error muestra el código de error hexadecimal que indica por qué el bit ER se ha establecido en el archivo de datos de control (R6:). Vea la página 10–29 para obtener descripciones del código de error. 10–8
  • 321. Instrucciones ASCII Ejemplo I:1 ACB [ [ EN ASCII CHARS IN BUFFER 10 Channel 0 DN Si la ranura de entrada 1, bit 10, está Control R6:32 establecida, el procesador realiza una Characters 0 operación ABL por canal 0. ER Error Cuando el renglón va de falso a verdadero, el bit de habilitación (EN) se establece. Cuando la instrucción se coloca en la cola ASCII, el bit de cola (EU) se establece. El bit de marcha (RN) se establece cuando la instrucción se está ejecutando. El bit de efectuado (DN) se establece al momento en que la instrucción se finaliza. El procesador determina el número de caracteres en el búfer y coloca este valor en el campo de posición del bloque de control. El bit de efectuado (DN) se establece. Si aparece cero en el campo de caracteres, indica que no se encontraron caracteres. Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN) establecido, el procesador establece el bit sincrónico (EM). El bit EM sirve como bit de efectuado secundario correspondiente al escán de programa. El bit de error (ER) se establece durante la ejecución de la instrucción si: • la instrucción se cancela – puerto en serie no está en el modo de usuario • la instrucción se cancela debido a un cambio de modo de canal • el bit de descarga (UL) se establece y la instrucción no se ejecuta 10–9
  • 322. Preface Manual de referencia del juego de instrucciones Cadena a entero (ACI) 3 3 ACI STRING TO INTEGER Use la instrucción ACI para convertir una cadena ASCII en un valor entero entre Source Dest –32,768 y 32,767. Instrucción de salida Ejemplo I:1 ACI [ [ STRING TO INTEGER 10 Source ST38:90 Si la ranura de entrada 1, bit 10, está establecida, Destination N7:123 convierta la cadena en ST38:90 en un entero y alĆ 75 macene el resultado en N7:123 El procesador busca la fuente (tipo de archivo ST) para localizar el primer carácter entre 0 y 9. Todos los caracteres numéricos son extraídos hasta alcanzar un carácter no numérico o el fin de la cadena. La acción se realiza solamente si caracteres numéricos se encuentran. Si la cadena contiene una longitud inválida ( 0 ó 82), el bit de error ASCII S:5/15 se establece. Comas y señales (+, –) se permiten en la cadena. Sin embargo, solamente el signo menos se muestra en la tabla de datos. Luego la cadena numérica extraída se convierte en entero. El bit de error ASCII S:5/15 se establece si un overflow numérico ocurre o si la cadena contiene una longitud de cadena inválida. Se obtiene el valor de 32,767 como el resultado. Esta instrucción también establece los indicadores aritméticos (encontrados en palabra 0, bits 0–3 en el archivo de estado de procesador S:0): Con este bit: El procesador: S:0/0 Acarreo (C) está reservado. se establece si el valor entero se encuentra fuera del rango S:0/1 Overflow (V) válido. S:0/2 Cero (Z) se establece si el valor entero es cero. S:0/3 Signo (S) se establece si el resultado es negativo. 10–10
  • 323. Instrucciones ASCII Borrado del búfer ASCII de recepción y/o transmisión (ACL) 3 3 ACL ASCII CLEAR BUFFER Use esta instrucción para borrar un búfer ASCII. Las instrucciones ASCII son Channel Clear Receive Buffer eliminadas de la cola y luego el bit de error (ER) se establece. Esta instrucción se Clear Send Buffer ejecuta inmediamente al momento de transición del renglón a un estado verdadero. Instrucción de salida La instrucción funcionará cuando el canal se encuentre en el modo de usuario o el modo de sistema. En el modo de sistema, sólo el borrado del búfer de transmisión operará y únicamente si DF1 se detecta como el protocolo del modo de sistema. Cómo introducir parámetros Introduzca los parámetros siguientes al programar esta instrucción: • El canal es el número del puerto RS-232 (canal 0). • El borrado del búfer de recepción borra el búfer de recepción y elimina las instrucciones ARD y ARL de la cola. El bit de error (ER) se establece en cada una de estas instrucciones. • El borrado del búfer de transmisión borra el búfer de transmisión y elimina las instrucciones AWA y AWT de la cola. El bit de error (ER) se establece en cada una de estas instrucciones. Cuando el borrado del búfer de recepción y el borrado del búfer de transmisión se establece a Sí, todas las instrucciones se eliminan de la cola. Ejemplo I:1 ACL [ [ ASCII CLEAR BUFFER 10 Channel 0 Si la ranura de entrada 1, bit 10, está establecida, Clear Receive Buffer Y borre solamente el búfer de recepción para canal 0. 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
  • 324. Preface Manual de referencia del juego de instrucciones Concatenado de cadenas (ACN) 3 3 ACN STRING CONCATENATE La instrucción ACN combina dos cadenas usando cadenas ASCII como operandos. Source A Source B La segunda cadena se añade a la primera y el resultado se almacena en el destino. Dest 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 ACN [ [ STRING CONCATENATE 10 Source A ST37:42 Si la ranura de entrada 1, bit 10, está establecida, Source B ST38:91 concatene la cadena en ST37:42 con la cadena en ST38:91 y almacene el resultado en ST52:76. Destination ST52:76 Solamente los 82 primeros caracteres (0–81) se escriben al destino. Si el resultado es 0 ó 82, el bit de error ASCII S:5/15 se establece. 10–12
  • 325. Instrucciones ASCII Extracción de cadena (AEX) 3 3 AEX STRING EXTRACT Use la instrucción AEX para crear una cadena nueva tomando una porción de una Source Index cadena existente y enlazándola a una cadena nueva. Number Dest 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 AEX [ [ STRING EXTRACT 10 Source ST38:40 Si la ranura de entrada 1, bit 10, está establecida, Index 42 extraiga 10 caracteres a partir del carácter 43 de Number 10 ST348:40 y almacene el resultado en ST52:75. Destination ST52:75 Las condiciones siguientes causan que el procesador establezca el bit de error ASCII (S:5/15): • longitud de fuente inválida o longitud de cadena de cero • valores de índice o número fuera de rango • valor de índice mayor que la longitud de la cadena de fuente 10–13
  • 326. Preface Manual de referencia del juego de instrucciones La cadena destino no se cambia en ninguna de las condiciones de error anteriores. Sin embargo, el destino se cambiará si el valor de índice más el valor de número son mayores que la longitud de cadena. Anote que el bit de error ASCII (S:5/15) no se establece. Líneas de comunicación (AHL) 3 3 AHL ASCII HANDSHAKE LINES (EN) Use la instrucción AHL para establecer o restablecer las líneas de control de Channel AND Mask (DN) comunicación RS-232 Terminal de datos lista (DTR) y Petición de envío (RTS) para OR Mask Control (ER) su módem. En una transición de falso a verdadero, el procesador usa las dos Channel Status Error máscaras para determinar si va a establecer o restablecer las líneas DTR y RTS, o si no las va a cambiar. Esta instrucción operará cuando el puerto está en cualquier Instruccion de salida modo o está inhabilitado. Nota Asegúrese que el control de módem automático usado por el puerto no sea incompatible con esta instrucción. Cómo introducir parámetros Introduzca los parámetros siguientes al programar esta instrucción: • El canal es el número del puerto RS-232 (canal 0). • La máscara AND es el tipo de máscara usada para restablecer las líneas de control DTR y RTS. El bit 0 corresponde a la línea DTR y el bit 1 corresponde a la línea de control RTS. Un 1 en el bit de máscara causa que la línea se restablezca; un 0 deja la línea sin cambio. Anote que los valores de máscara no tienen una correspondencia de uno a uno con las líneas de control del módem. • La máscara OR es el tipo de máscara usada para establecer las líneas de control DTR y RTS. El bit 0 corresponde a la línea DTR y el bit 1 corresponde a la línea de control RTS. Un 1 en el bit de máscara causa que la línea se establezca; un 0 deja la línea sin cambio. Anote que los valores de máscara no tienen una correspondencia de uno a uno con las líneas de control del módem. • El control es el área que almacena el registro de control necesario para operar la instrucción. 10–14
  • 327. 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. 1 porque bit F ya que todos los bits 00 4 está establecido están establecidos Bit 15 ---8 7 6 5 4 3 2 1 0 Línea -reservado DTR DCD DSR RTS CTS 1 1 1 1 1 Ejemplo I:1 AHL [ [ EN ASCII HANDSHAKE LINES 10 Channel 0 DN AND Mask ABCD Si la ranura de entrada 1, bit 10, está establecida, el OR Mask DACB ER bit 0 de la máscara AND se establece para borrar la Control R6:23 línea DTR. Si los bits 0 y 1 de la máscara OR se Channel Status 001F establecen, establezca las líneas DTR y RTS. Error 00 El bit de error (ER) se establece durante la ejecución de la instrucción si: • la instrucción se cancela debido a un cambio de modo de canal • el bit de descarga (UL) se establece y la instrucción no se ejecuta 10–15
  • 328. Preface Manual de referencia del juego de instrucciones Entero a cadena (AIC) 3 3 AIC INTEGER TO STRING La instrucción AIC convierte un valor entero (–32,768 y 32,767) en una cadena Source Dest ASCII. La fuente puede ser una constante o una dirección de entero. Instrucción de salida Ejemplo I:1 AIC [ [ INTEGER TO STRING 10 Source 867 Si la ranura de entrada 1, bit 10, está establecida, convierta el Destination ST38:42 valor 867 en una cadena y almacene el resultado en ST38:42. 10–16
  • 329. Instrucciones ASCII Lectura de caracteres ASCII (ARD) 3 3 ARD ASCII READ (EN) Use la instrucción ARD para leer caracteres desde el búfer y almacenarlos en una Channel Dest (DN) cadena. Para repetir la operación, el renglón debe ir de falso a verdadero. Control (ER) String Length Characters Read Error Instrucción de salida Cómo introducir parámetros Introduzca los parámetros siguientes al programar esta instrucción: • El canal es el número del puerto RS-232 (canal 0). • El destino es el elemento de cadena donde desea almacenar los caracteres. • El control es la dirección del bloque de control usado para almacenar datos para la instrucción ARD. • La longitud de cadena (.LEN) es el número de caracteres que desea leer desde el búfer. El máximo es 82 caracteres. Si especifica una longitud mayor que 82, sólo los 82 primeros caracteres serán leídos. (Un cero retorna el valor predeterminado de 82.) Esta es la palabra 1 en el bloque de control. • Los caracteres leídos (.POS) son el número de caracteres que el procesador ha transferido del búfer a la cadena (0 a 82). Este campo se actualiza durante la ejecución de la instrucción y es de visualización solamente. Esta es la palabra 2 en el bloque de control. • El error muestra el código de error hexadecimal que indica por qué el bit ER se estableció en el archivo de datos de control (R6:). Vea la página 10–29 para obtener descripciones del código de error. Ejemplo I:1 ARD EN [ [ ASCII READ 10 Channel 0 Destination ST52:76 DN Si la ranura de entrada 1, bit 10, está estaleciĆ Control R6:23 da, lea 50 caracteres desde el búfer y transfiéĆ String Length 50 ER ralos a ST52:76. Characters Read 0 Error 00 10–17
  • 330. Preface Manual de referencia del juego de instrucciones Cuando el renglón va de falso a verdadero, el bit de habilitación (EN) se establece. Cuando la instrucción se coloca en la cola ASCII, el bit de cola (EU) se establece. El bit de marcha (RN) se establece cuando la instrucción se está ejecutando. El bit DN se establece una vez completada la instrucción. Una vez que el número de caracteres solicitado está en el búfer, los caracteres se transfieren a la cadena destino. El número de caracteres transferido se coloca en el campo POS del bloque de control. El número en el campo de lectura de caracteres se actualiza continuamente y el bit de efectuado (DN) no se establece sino hasta que todos los caracteres hayan sido leídos. Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN) establecido, el procesador establece el bit de efectuado síncrono (EM). El bit EM sirve como bit de efectuado secundario correspondiente al escán de programa. El bit de error (ER) se establece durante la ejecución de la instrucción si: • la instrucción se cancela – el puerto en serie no está en el modo de usuario • el módem está desconectado (la selección de línea de control es diferente a “NO HANDSHAKING”) • la instrucción se cancela debido a un cambio de modo de canal • el bit de descarga (UL) está establecido. La instrucción deja de ejecutar, pero los caracteres recibidos se envían al destino. • un ACL para borrar el búfer de recepción se ejecuta, eliminando así la instrucción ARD de la cola ASCII. 10–18
  • 331. Instrucciones ASCII Diagrama de temporización para una instrucción exitosa ARD, ARL, AWA y AWT Condición de renglón ON OFF ON Bit de habilitación (EN) OFF Bit de cola (EU) ON OFF Bit de marcha (RN) ON OFF Bit de efectuado Bit de error ON (DN o ER) OFF ON Bit de efectuado síncrono (EM) OFF 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
  • 332. Preface Manual de referencia del juego de instrucciones Lectura ASCII de línea (ARL) 3 3 ARL ASCII Read Line (EN) Use la instrucción ARL para leer caracteres desde el búfer, hasta e incluyendo los Channel Dest (DN) caracteres de fin de línea (terminación), y almacenarlos en una cadena. Los Control String Length (ER) caracteres de fin de línea son especificados vía la pantalla de configuración ASCII. Characters Read Error Instrucción de salida Cómo introducir parámetros Introduzca los parámetros siguientes al programar esta instrucción: • El canal es el número del puerto RS-232 (canal 0). • El destino es el elemento de cadena donde desea almacenar los caracteres. • El control es la dirección del bloque de control usado para almacenar datos para la instrucción ARL. • La longitud de cadena (LEN) es el número de caracteres que desea leer desde el búfer. El máximo es 82 caracteres. Si especifica una longitud mayor que 82, solamente los 82 primeros caracteres serán leídos y transferidos al destino. (Un 0 retorna al valor predeterminado de 82.) Esta es la palabra 1 en el bloque de control. • Los caracteres leídos (POS) son el número de caracteres que el procesador ha transferido del búfer a la cadena (0 a 82). Este campo es de visualización solamente y reside en la palabra 2 del bloque de control. • El error muestra el código de error hexadecimal que indica por qué el bit ER se estableció en el archivo de datos de control (R6:). Vea la página 10–29 para obtener descripciones del código de error. Ejemplo I:1 ARL [ EN [ ASCII READ LINE 10 Channel 0 Destination ST52:72 DN Si la ranura de entrada 1, bit 10, está establecida, Control R6:23 lea 18 caracteres (o hasta el fin de línea) desde el String Length 18 ER búfer y transfiéralos a ST52:72. Characters Read 0 Error 00 10–20
  • 333. Instrucciones ASCII Cuando el renglón va de falso a verdadero, el bit de habilitación (EN) de elemento de control se establece. Cuando la instrucción se coloca en la cola ASCII, el bit de cola (EU) se establece. El bit de marcha (RN) se establece cuando la instrucción se está ejecutando. El bit DN se establece a la finalización de la instrucción. Una vez que el número de caracteres solicitado está en el búfer, todos los caracteres (incluyendo los caracteres de fin de línea) se transfieren a la cadena destino. El número de caracteres transferido se almacena en la palabra POS del bloque de control. El número en el campo de caracteres leídos se actualiza continuamente y el bit de efectuado (DN) no se establece hasta que todos los caracteres hayan sido leídos. Excepción: Si el procesador encuentra caracteres de terminación antes de finalizar la lectura, el bit de efectuado (DN) se establece y el número de caracteres encontrado se almacena en la palabra POS del bloque de control. Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN) establecido, el procesador establece el bit síncrono (EM). El bit EM sirve como bit de efectuado secundario correspondiente al escán de programa. El bit de error (ER) se establece durante la ejecución de la instrucción si: • la instrucción es cancelada – el puerto en serie no está en el modo de usuario • el módem está desconectado (la selección de línea de control es diferente a “NO HANDSHAKING”) • la instrucción se cancela debido a un cambio de modo de canal • el bit de descarga (UL) está establecido. La instrucción deja de ejecutar, pero los caracteres recibidos se envían al destino. • un ACL para borrar el búfer de recepción se ejecuta eliminando así la instrucción ARD de la cola ASCII. Nota Para obtener información acerca de la temporización de esta instrucción, refiérase al diagrama de temporización en la página 10–19. 10–21
  • 334. Preface Manual de referencia del juego de instrucciones Búsqueda de cadena (ASC) 3 3 ASC STRING SEARCH Use la instrucción ASC para buscar una cadena existente en coincidencia con la Source Index cadena fuente. Search Result 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 I:1 ASC [ [ STRING SEARCH 10 Source ST38:40 Si la ranura de entrada 1, bit 10, está establecida, Index 35 busque la cadena en ST52:80 a partir del carácter Search ST52:80 36 para encontrar la cadena en ST38:40. En este Result N10:0 ejemplo, el resultado se almacena en 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
  • 335. Instrucciones ASCII Comparación de cadena ASCII (ASR) 3 3 ASR ASCII STRING COMPARE Use la instrucción ASR para comparar dos cadenas ASCII. El sistema busca una Source A Source B coincidencia en longitud y caracteres en mayúscula/minúscula. Si dos cadenas son idénticas, el renglón es verdadero; si existen diferencias, el renglón es falso. Instrucción de entrada Cómo introducir parámetros Introduzca los parámetros siguientes al programar esta instrucción: • La fuente A es la cadena uno que se va a comparar. • La fuente B es la cadena dos que se va a comparar. Ejemplo ASR O:1 ASCII STRING COMPARE Source A ST37:42 Si la cadena en ST37:42 es idéntica a la cadena 1 Source B ST38:90 en ST38:90, establezca el bit de salida O:1/1. Una longitud de cadena inválida causa que el procesador establezca el bit de error ASCII S:5/15 y el renglón se hace falso. 10–23
  • 336. Preface Manual de referencia del juego de instrucciones Escritura ASCII con anexo (AWA) 3 3 AWA ASCII WRITE APPEND (EN) Use la instrucción AWA para escribir caracteres desde una cadena fuente a un Channel Source (DN) dispositivo externo. Esta instrucción añade los dos caracteres anexos que usted Control String Length (ER) configura en la pantalla de configuración ASCII. Los caracteres predeterminados Characters Sent Error son un retorno de carro y un avance de línea anexados al final de la cadena. Cuando Instrucción de salida usa esta instrucción, también puede realizar la indirección en línea. Vea la página 10–26 para obtener más información. Cómo introducir parámetros Introduzca los parámetros siguientes al programar esta instrucción: • El canal es el número del puerto RS-232 (canal 0). • La fuente es el elemento de cadena que desea escribir. • El control es el área que almacena el registro de control requerido para operar la instrucción. • La longitud de cadena (.LEN) es el número de caracters que desea escribir desde la cadena fuente (0 a 82). Si introduce un 0, toda la cadena se escribirá. Esta es la palabra 1 en el bloque de control. • Los caracteres enviados (.POS) son el número de caracteres que el procesador ha enviado al área de pantalla (0 a 82). Este campo se actualiza continuamente durante la ejecución de la instrucción. Este valor puede ser mayor que la longitud de cadena si los caracteres anexados o valores insertados de la indirección en línea se usan. Si la longitud de cadena es mayor que 82, la cadena escrita al destino será truncada a 82 caracteres. Esta es la palabra 2 en el bloque de control. • El error muestra el código de error hexadecimal que indica por qué el bit ER se estableció en el archivo de datos de control (R6:). Vea la página 10–29 para obtener descripciones del código de error. Ejemplo I:1 AWA EN [ [ ASCII WRITE APPEND 10 Channel 0 Source ST37:42 DN Si la ranura de entrada 1, bit 10, está establecida, Control R6:23 lea 25 caracteres desde ST37:42 y escríbalo al String Length 25 ER dispositivo de pantalla. Luego escriba un retorno de Characters Sent 0 carro y avance de línea (predeterminados). Error 00 10–24
  • 337. Instrucciones ASCII Cuando el renglón va de falso a verdadero, el bit de habilitación de elemento de control (EN) se establece. Cuando la instrucción se coloca en la cola ASCII, el bit de cola (EU) se establece. El bit de marcha (RN) se establece cuando la instrucción se está ejecutando. El bit DN se establece al final de la instrucción. El sistema envía 25 caracteres desde el inicio de la cadena ST37:42 al dispositivo de pantalla y luego envía caracteres anexos configurados por el usuario. El bit de efectuado (DN) se establece y un valor de 27 está presente en la palabra .POS del bloque de control ASCII. Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN) establecido, el procesador establece el bit de efectuado síncrono (EM) para servir como bit de efectuado secundario correspondiente al escán de programa. El bit de error (ER) se establece durante la ejecución de la instrucción si: • la instrucción se cancela – el puerto en serie no está en el modo de usuario • el módem está desconectado (la selección de línea de control es diferente a “NO HANDSHAKING”) • la instrucción se cancela debido a un cambio de modo de canal • el bit de descarga (UL) está establecido. La instrucción deja de ejecutar, pero los caracteres recibidos se envían al destino. • un ACL para borrar el búfer de recepción se ejecuta, eliminando así la instrucción ARD de la cola ASCII. Nota Para obtener información acerca de la temporización de esta instrucción, refiérase al diagrama de temporización en la página 10–19. 10–25
  • 338. Preface Manual de referencia del juego de instrucciones Cómo usar la indirección en línea Esto le permite insertar valores enteros y de punto (coma) flotante en cadenas ASCII. El bit de marcha (RN) se debe establecer antes de que el valor de cadena se pueda usar. Las condiciones siguientes se aplican al realizar la indirección en línea: • todos los archivos válidos enteros (N) y de punto (coma) flotante (F) se pueden usar. Los rangos válidos incluyen 7, 8 y 9–255. • los tipos de archivo no son sensibles al uso de mayúsculas/minúsculas y pueden incluir dos puntos (:) o un punto y coma (;) • los valores positivos y ceros delanteros no se imprimen. Los valores negativos se imprimen con un signo menos delantero. Ejemplos Para los ejemplos siguientes: N7:0 = 250 N7:1 = –37 F8:0 = 2.015000 F8:1 = 0.873000 Indirección en línea válida: • Entrada: El caudal actual es [N7:0] GPH y contiene [F8:0] PPM de contaminantes. Salida: El caudal actual es 250 GPH y contiene 2.015000 PPM de contaminantes. • Entrada: La posición actual es [N5:1] a la velocidad de [F8:1] RPM. Salida: La posición actual es –37 a la velocidad de 0.873000 RPM. Indirección en línea no válida: • Entrada: La posición actual es [N5:1] a la velocidad de [F8:1] RPM. Salida: La posición actual es [N5:1] a la velocidad de 0.873000 RPM. Nota La truncación ocurre en la cadena de salida si la indirección causa que la salida exceda 80 caracteres. Los caracteres anexos siempre se aplican a la salida. 10–26
  • 339. Instrucciones ASCII Escritura ASCII (AWT) 3 3 AWT ASCII WRITE (EN) Use la instrucción AWT para escribir caracteres desde una cadena fuente a un Channel Source (DN) dispositivo externo. Para repetir la instrucción, el renglón debe ir de falso a Control String Length (ER) verdadero. Cuando usa esta instrucción, también puede realizar la indirección en Characters Sent Error línea. Vea la página 10–26 para obtener más información. 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 AWT [ EN [ ASCII WRITE 10 Channel 0 Source ST37:20 DN Si la ranura de entrada 1, bit 10, está establecida, Control R6:23 escriba 40 caracteres desde ST37:20 al String Length 40 dispositivo de pantalla. Characters Sent ER Error 10–27
  • 340. Preface Manual de referencia del juego de instrucciones Cuando el renglón va de falso a verdadero, el bit de habilitación (EN) de elemento de control se establece. Cuando la instrucción se coloca en la cola ASCII, el bit de cola (EU) se establece. El bit de marcha (RN) se establece cuando la instrucción se está ejecutando. Cuarenta caracteres desde la cadena ST37:40 son enviados a través del canal 0. El bit de efectuado (DN) se establece cuando la instrucción se está ejecutando. El bit DN se establece al final de la instrucción. Cuando el programa escanea la instrucción y encuentra el bit de efectuado (DN) establecido, el procesador establece el bit de efectuado síncrono (EM) para servir como bit de efectuado secundario correspondiente al escán del programa. El bit de error (ER) se establece durante la ejecución de la instrucción si: • la instrucción se cancela – el puerto en serie no está en el modo de usuario • el módem está desconectado (la selección de línea de control no es “NO HANDSHAKING”) • la instrucción se cancela debido a un cambio de modo de canal • el bit de descarga (UL) está establecido. La instrucción deja de ejecutar, pero los caracteres recibidos se envían al destino. • un ACL para borrar el búfer de recepción se ejecuta eliminando así la instrucción ARD de la cola ASCII. Nota Para obtener información acerca de la temporización de esta instrucción, refiérase al diagrama de temporización en la página 10–19. 10–28
  • 341. 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 Condiciones que resultan en el Acción recomendada error (HEX) establecimiento del bit ER Ningún error. La instrucción se 00 Ninguna requerida. completó exitosamente. Verifique el cableado del módem al canal de comunicación. Si el canal está configurado para comunicación con el La operación no se puede completar módem, las líneas DCD 02 porque el módem está fuera de línea. (datosĆportadoraĆdetección) y DSR (datosĆestablecimientoĆlisto) al canal deben estar activas para que el módem esté en línea. La transmisión no se puede completar Verifique el módem y las conexiones del 03 porque la señal Borrado para enviar se cableado del módem. perdió. No puede realizar la recepción de ASCII Vuelva a configurar el canal de 04 porque el canal de comunicación está comunicación para el modo de usuario. configurado para el modo de sistema. La comunicación de modo de sistema Verifique que el módem esté en línea y 05 (DF1) se detectó durante el intento de se comunique con los dispositivos realizar la transmision ASCII. necesarios. No puede efectuar la recepción o transmisión ASCII porque la Vuelva a configurar el menú de 07 configuración de canal ha sido configuración de canal y reintente la desactivada vía el menú de operación. configuración de canal. No puede realizar la escritura ASCII 08 debido a una transmisión ASCII en Vuelva a enviar la transmisión. progreso. La comunicación ASCII solicitada no es compatible con la configuración de canal actual. (Canal 0 está configurado para Configure el canal 0 para DF1, dúplex 09 DHĆ485 mientras que intente una total. transmisión ASCII o un control de comunicación de módem.) El bit de descarga (UL) se estableció, lo 0A que detuvo la ejecucion de la Ninguna requerida. instrucción. 10–29
  • 342. Preface Manual de referencia del juego de instrucciones Código de Condiciones que resultan en el Acción recomendada error (HEX) establecimiento del bit ER La longitud solicitada para la cadena no es válida, es un número no válido, Introduzca una longitud de cadena 0B mayor que 82 ó 0. Se aplica a las válida y reintente la operación. instrucciones ARD y ARL. La longitud de la cadena fuente no es válida, un número negativo, mayor que Introduzca una longitud de cadena 0C 82 ó 0. Se aplica a las instrucciones válida y reintente la operación. AWA y AWT. La longitud solicitada (.LEN) en el bloque de control es un número negativo o un valor mayor que el Introduzca una longitud válida y 0D tamaño de cadena almacenado con la reintente la operación. cadena fuente. Se aplica a las instrucciones AWA y AWT. 0E La instrucción ACL fue cancelada. Ninguna requerida. El modo de configuración de canal fue 0F Ninguna requerida. cambiado. 10–30
  • 343. 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 00 000 NUL 32 20 040 SP 64 40 100 @ 96 60 140 01 01 001 SOH 33 21 041 ! 65 41 101 A 97 61 141 a 02 02 002 STX 34 22 042 66 42 102 B 98 62 142 b 03 03 003 ETX 35 23 043 # 67 43 103 C 99 63 143 c 04 04 004 EOT 36 24 044 $ 68 44 104 D 100 64 144 d 05 05 005 ENQ 37 25 045 % 69 45 105 E 101 65 145 e 06 06 006 ACK 38 26 046 70 46 106 F 102 66 146 f 07 07 007 BEL 39 27 047 ' 71 47 107 G 103 67 147 g 08 08 010 BS 40 28 050 ( 72 48 110 H 104 68 150 h 09 09 011 HT 41 29 051 ) 73 49 111 I 105 69 151 i 10 0A 012 LF 42 2A 052 * 74 4A 112 J 106 6A 152 j 11 0B 013 VT 43 2B 053 + 75 4B 113 K 107 6B 153 k 12 0C 014 FF 44 2C 054 , 76 4C 114 L 108 6C 154 l 13 0D 015 CR 45 2D 055 - 77 4D 115 M 109 6D 155 m 14 0E 016 SO 46 2E 056 . 78 4E 116 N 110 6E 156 n 15 0F 017 SI 47 2F 057 / 79 4F 117 O 111 6F 157 o 16 10 020 DLE 48 30 060 0 80 50 120 P 112 70 160 p 17 11 021 DC1 49 31 061 1 81 51 121 Q 113 71 161 q 18 12 022 DC2 50 32 062 2 82 52 122 R 114 72 162 r 19 13 023 DC3 51 33 063 3 83 53 123 S 115 73 163 s 20 14 024 DC4 52 34 064 4 84 54 124 T 116 74 164 t 21 15 025 NAK 53 35 065 5 85 55 125 U 117 75 165 u 22 16 026 SYN 54 36 066 6 86 56 126 V 118 76 166 v 23 17 027 ETB 55 37 067 7 87 57 127 W 119 77 167 w 24 18 030 CAN 56 38 070 8 88 58 130 X 120 78 170 x 25 19 031 EM 57 39 071 9 89 59 131 Y 121 79 171 y 26 1A 032 SUB 58 3A 072 : 90 5A 132 Z 122 7A 172 z 27 1B 033 ESC 59 3B 073 ; 91 5B 133 [ 123 7B 173 { 28 1C 034 FS 60 3C 074 92 5C 134 124 7C 174 . 29 1D 035 GS 61 3D 075 = 93 5D 135 ] 125 7D 175 } 30 1E 036 RS 62 3E 076 94 5E 135 ^ 126 7E 176 ~ 31 1F 037 US 63 3F 077 ? 95 5F 137 _ 127 7F 177 DEL 10–31
  • 344. Preface Manual de referencia del juego de instrucciones 10–32
  • 345. Cómo comprender las rutinas de interrupción 11 Cómo comprender las rutinas de interrupción Este capítulo contiene información general acerca de rutinas de interrupción y explica cómo funcionan en su programa de lógica. Cada rutina de interrupción incluye: • una descripción general • el procedimiento de programación • la descripción operacional • la descripción del bit asociado Además, cada rutina de interrupción contiene un ejemplo de aplicación que muestra el uso de la rutina de interrupción. Rutinas de interrupción Instrucción Propósito Página Mnemónico Nombre Rutina de fallo del Proporciona la opción de evitar la parada del proceĆ 11-2 usuario sador. STI Interrupción Le permite interrumpir el escán del archivo de 11-7 temporizada programa principal, de manera periódica, para seleccionable escanear un archivo de subrutina específico. DII Interrupción de Permite que el procesador ejecute una subrutina 11-19 entrada discreta cuando la configuración del bit de entrada de una tarjeta de E/S discreta coincida con un valor de comparación que usted ha ya programado. ISR Interrupción de E/S Permite que un módulo de E/S especial interrumpa 11-30 el ciclo de operación normal del procesador para escanear un archivo de subrutina específico. 11–1
  • 346. Preface Manual de referencia del juego de instrucciones 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 usuario Fallo de no usuario Fallo de usuario no recuperable recuperable La rutina de fallo se ejecuta durante un paso. Nota: usted puede inicializar una La rutina de fallo puede La rutina de fallo no se instrucción MSG a otro nodo para eliminar el fallo poniendo a ejecuta. identificar la condición de fallo del cero el bit S:1/13. procesador. Datos de archivo de estado guardados Los datos en las palabras siguientes se guardaron durante la entrada a la subrutina de fallo de usuario y se volvieron a escribir cuando salieron de la subrutina. • Indicadores aritméticos S:0 • Registro matemático S:13 y S:14 • Registro de índice S:24 11–2
  • 347. Cómo comprender las rutinas de interrupción Cómo crear una subrutina de fallo de usuario Para usar la subrutina de fallo de usuario: 1. Cree un archivo de subrutina: • El rango válido del procesador SLC es 3–255 • MicroLogix 1000 designa el archivo 3 2. Introduzca el número de archivo en palabra S:29 del archivo de estado. Nota No se requiere ninguna acción para los usuarios de MicroLogix 1000. S:29 está reservado Operación del procesador SLC La coincidencia de fallos de usuario recuperables y no recuperbles causa que el procesador lea S:29 y ejecute el número de subrutina contenido en S:29. Si el fallo es recuperable, la rutina se puede usar para corregir el problema y poner a cero el bit de fallo S:1/13. Luego el procesador continúa en el modo de marcha REM. La rutina no se ejecuta para los fallos no atribuibles al usuario. Las palabras S:20 y S:21 se pueden examinar en su rutina de fallo para precisar el número de archivo y renglón donde el fallo ocurrió. Si el fallo ocurrió fuera del escán de escalera, este valor contendrá el número de renglón donde la instrucción TND, END o REF esté ubicada. Use las palabras S:20 y S:21 con su rutina de fallo de protección al momento de encendido para determinar el punto exacto en que ocurrió la parada de alimentación eléctrica anterior. Refiérase al apéndice B para obtener más información acerca del bit de fallo de protección al momento de encendido S:1/9. Nota Para los procesadores SLC 5/02, es necesario guardar su programa con la prueba de un solo paso seleccionada para que S:20 y S:21 se activen. Para los procesadores SLC 5/03 y SLC 5/04, si su programa contiene cuatro instrucciones de mensaje con el bit de operación continua (CO) establecido, la instrucción de mensaje de la rutina de fallo no se ejecutará. Operación del procesador MicroLogix La coincidencia de fallos de usuario recuperables y no recuperables causa que el archivo 3 se ejecute. Si el fallo es recuperable, la rutina se puede usar para corregir el problema y poner a cero el bit de fallo S:1/13. Luego el procesador continúa en el modo de marcha REM. La rutina no se ejecuta para los fallos no atribuibles al usuario. 11–3
  • 348. Preface Manual de referencia del juego de instrucciones Ejemplo de aplicación de la rutina de interrupción de usuario Digamos que tiene un programa en que desea controlar los errores mayores 0020 (MINOR ERROR AT END OF SCAN) y 0034 (NEGATIVE VALUE IN TIMER PRE OR ACC) bajo las condiciones siguientes: • Evitar una parada del procesador si el bit de interrupción por overflow S:5/0 está establecido. Permitir una parada del procesador cuando S:5/0 se establece más de cinco veces. • Evitar una parada del procesador si el valor de acumulador del temporizador T4:0 se hace negativo. Poner a cero el valor de acumulador negativo. Activar una salida para indicar que el acumulador se ha hecho negativo una vez o más. • Permitir una parada del procesador para todos los otros fallos de usuario. Un posible método de realizar lo anterior se muestra en los ejemplos siguientes. La rutina de fallo de usuario se designa como archivo 3. Cuando ocurre un error de usuario recuperable o no recuperable, el procesador escanea el archivo de subrutina 3. El procesador salta al archivo 4 si el código de error es 0020 y salta al archivo 5 si el código de error es 0034. Para todos los otros errores recuperables y no recuperables, el procesador sale de la rutina de fallo y detiene la operación en el modo de fallo. Rutina de fallo – Archivo de subrutina 3 La palabra S:6 es el código de fallo (en decimal) EQU JSR EQUAL JUMP TO SUBROUTINE Source A S:6 SBR file number 4 0 Source B 32 Código de fallo 0020 (Introduzca H20. El equivalente decimal de 32 aparece.) EQU JSR EQUAL JUMP TO SUBROUTINE Source A S:6 SBR file number 5 0 Source B 52 Código de fallo 0034 (Introduzca H34. El equivalente decimal de 52 aparece.) END 11–4
  • 349. Cómo comprender las rutinas de interrupción Archivo de subrutina 4 – Ejecutado para error 0020 SBR S:5 C5:0 SUBROUTINE ] [ (U) 0 CU CTU COUNT UP (CU) Counter C5:0 Preset 120 (DN) Accum 0 GRT RET GREATER THAN RETURN Source A C5:0.ACC 0 Source B 5 S:5 S:5 ] [ (U) 0 0 S:1 (U) 13 RET RETURN END Si el bit de interrupción por overflow está establecido, S:5/0 se establece y el contador C5:0 incrementa. Si el conteo de C5:0 es 5 ó menor, el bit de interrupción por overflow S:5/0 se pone a cero, el bit de error mayor detenido S:1/13 se pone a cero y el procesador permanece en el modo de marcha REM. Si el conteo es mayor que 5, el procesador establece S:5/0 y S:1/13 y entra en el modo de fallo. Este archivo de subrutina también se ejecuta si el bit de error de registro de control S:5/2 se establece. En dicho caso, el procesador se pone en el modo de fallo. 11–5
  • 350. Preface Manual de referencia del juego de instrucciones Archivo de subrutina 5 – Ejecutado para error 0034 SBR LES S:1 SUBROUTINE LESS THAN (U) Source A T4:0.ACC 13 0 CLR Source B 0 CLEAR Dest T4:0.ACC 0 O:3.0 ( ) 3 RET RETURN END Si el valor de acumulador del temporizador T4:0 es negativo, el bit de error mayor detenido S:1/13 se desenclava evitando así que el procesador entre en el modo de fallo. Simultáneamente, el valor de acumulador T4:0 ACC se pone a cero y la salida O:3.0/3 se activa. El código de fallo 0034 se muestra en el archivo de estado. Si el valor preseleccionado del temporizador T4:0 es negativo, S:1/13 permanece establecido y el procesador entra en el modo de fallo (O:3.0/3 se restablece si se estableció anteriormente). Además, si el valor preseleccionado o de acumulador de cualquier otro temporizador en el programa es negativo, S:1/13 se establece y el procesador entra en el modo de fallo. Si se estableció anteriormente, O:3.0/3 se restablece. 11–6
  • 351. 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
  • 352. Preface Manual de referencia del juego de instrucciones Nota El valor del punto de ajuste debe ser mayor que el tiempo de ejecución del archivo de subrutina STI, de lo contrario un bit de error menor se establece. Para todos los procesadores, el bit de pendiente STI y el bit de sobremarcha STI se establecerán. Además, para los procesadores SLC 5/03 y SLC 5/04 y los controladores MicroLogix 1000, el bit último STI se puede establecer. Operación Después de que usted restaura el programa y entra en el modo de marcha REM, el STI comienza la operación según lo siguiente: 1. El temporizador STI comienza a temporizar. 2. Cuando el intervalo STI caduca, el temporizador STI se restablece, el escán del procesador se interrumpe y el archivo de subrutina STI se escanea. 3. Si otra interrupción STI ocurre durante la ejecución de la subrutina STI, el bit de pendiente STI se establece. 4. Si el temporizador STI caduca durante el estado pendiente de un STI, el bit de perdido STI se establece. (Para los procesadores SLC 5/02, el bit de sobremarcha se establece.) 5. Cuando el escán de subrutina STI se finaliza, el escán del archivo de programa principal se reanuda al punto en que se detuvo, a menos que haya un STI pendiente. En dicho caso, la subrutina se vuelve a escanear inmediatamente. 6. El ciclo se repite. A título de identificación de su subrutina STI, incluya una instrucción INT como la primera instrucción en el primer renglón del archivo. Contenido de la subrutina STI La subrutina STI contiene los renglones de su lógica de aplicacion. Puede programar toda instrucción dentro de la subrutina STI con la excepción de una instrucción TND, REF o SVC. Las instrucciones IIM o IOM son necesarias en una subrutina STI si su aplicación requiere la actualización inmediata de puntos de entrada o salida. Termine la subrutina STI con una instrucción RET. La profundidad de pila JSR se limita a 3. Puede llamar otras subrutinas a un nivel de profundidad de 3 desde una subrutina STI. 11–8
  • 353. Cómo comprender las rutinas de interrupción Latencia de interrupción y coincidencias de interrupción La latencia de interrupción es el intervalo entre el límite de tiempo sobrepasado y el inicio de la subrutina de interrupción. Las interrupciones STI pueden ocurrir en cualquier punto en su programa, pero no necesariamente al mismo punto en interrupciones sucesivas. Las tablas siguientes muestran la interacción entre una interrupción y el ciclo de operación del procesador. Procesadores SLC SLC 5/03 y SLC 5/04 SLC 5/03 y SLC 5/04 SLC 5/02 STI STI con el bit S:33/8 STI con el bit S:33/8 establecido puesto a cero Input Scan Entre actualizaciones de Entre actualizaciones de Entre actualizaciones de ranura palabra ranura Program Scan Entre actualizaciones de Entre actualizaciones de Entre actualizaciones de instrucción palabra ranura Output Scan Entre actualizaciones de Entre actualizaciones de Entre actualizaciones de ranura palabra ranura Communications Entre paquetes de Entre actualizaciones de Entre paquetes de Processor Overhead comunicación paquete de palabra comunicación Entre actualizaciones de Entre actualizaciones de Al inicio y al final palabra palabra Eventos en el ciclo de operación del procesador Microcontrolador STI Input Scan Program Scan Entre actualizaciones de instrucción Output Scan Communication Entre paquetes de comunicación Controller Overhead Al inicio y al final Eventos en el ciclo de operación del procesador 11–9
  • 354. Preface Manual de referencia del juego de instrucciones Observe que el tiempo de ejecución se añade directamente al tiempo de escán global. Durante el período de latencia, el procesador está efectuando operaciones que no pueden ser interrumpidas por la función de interrupción STI. Los períodos de latencia son: • Las interrupciones de los procesadores SLC 5/02 y los controladores MicroLogix 1000 reciben servicio dentro de 2.4 ms como máximo. • Procesadores SLC 5/03 y SLC 5/04 – Si una interrupción ocurre mientras que el procesador realiza una actualización de ranura de palabras múltiples y su subrutina de interrupción accede a la misma ranura, la transferencia de palabras múltiples se finaliza antes de realizar el acceso de ranura de subrutina de interrupción. El bit de control de latencia de interrupción (S:33/8) funciona de la manera siguiente: – Cuando el bit se establece (1), las interrupciones reciben servicio dentro del tiempo de latencia de interrupción. Refiérase al apéndice B para obtener más información acerca de cómo calcular la latencia de interrupción. – Cuando el bit se pone a cero (0), los INT reciben servicio por renglón, ranura y tiempo de ejecución de paquete. El estado predeterminado se borra (0). Para determinar la latencia de interrupción con S:33/8 puesto a cero, debe calcular el tiempo de ejecución de cada renglón en su programa. Use el tiempo de ejecución calculado más largo más 500 µs como su latencia de interrupción máxima. Prioridades de interrupción Las prioridades de interrupción para los procesadores son: Controlador MicroLogix 1000 Procesador SLC 5/02 Procesador SLC 5/03 y SLC 5/04 1. Rutina de fallo de usuario 1. Rutina de fallo de usuario 1. Rutina de fallo de usuario 2. Subrutina de interrupción temporizada 2. Contador de alta velocidad 2. Interrupción de entrada discreta (DII) seleccionable 3. Subrutina de interrupción temporizada 3. Subrutina de interrupción temporizada 3. Subrutina de interrupción (ISR) seleccionable seleccionable 4. Subrutina de interrupción (ISR) Una interrupción que se está ejecutando sólo puede ser interrumpida por una interrupción con una prioridad más alta. 11–10
  • 355. 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
  • 356. Preface Manual de referencia del juego de instrucciones • Bit de habilitación STI (S:2/1) – El valor predeterminado es 1 (establecido). Cuando un número de archivo entre 3 y 255 está presente en la palabra S:31 y un valor de punto de ajuste entre 1 y 255 está presente en la palabra S:30, un bit de habilitación establecido permite el escán del archivo STI. Si el bit está restablecido por una instrucción STD, el escán del archivo STI ya no ocurre. Si el bit está establecido por una instrucción STE o STS, el escán se permite nuevamente. El bit de habilitación sólo habilita/inhabilita el escán de la subrutina STI. No afecta el temporizador STI. La instrucción STS afecta el bit de habilitación y el temporizador STI. El estado predeterminado se habilita. Si este bit se establece o se restablece usando la instrucción STE, STD o STS, la habilitación/inhabilitación se realiza inmediatamente. Si este bit se establece en el programa de usuario utilizando una instrucción que no sea STE, STD o STS, se realiza durante el próximo final de escán. Controlador MicroLogix 1000 – Este bit se establece o se restablece usando una instrucción STS, STE o STD. Si se establece, permite la ejecución del STI si el punto de ajuste STI S:30 no es cero. Si se ha puesto a cero, cuando ocurre una interrupción, la subrutina STI no se ejecuta y el bit de pendiente STI se establece. Específico para SLC 5/02 – Si está establecido o restablecido por el programa de usuario o comunics., no se activará sino hasta el próximo final de escán. Específico para SLC 5/03 y SLC 5/04 – Si este bit está establecido o restablecido por el programa de usuario o comunics., se activará al momento de caducidad del temporizador STI o durante el próximo final de escán (cualquiera que ocurra primero). • Bit de ejecución STI (S:2/2) – Este bit se establece cuando el archivo STI está siendo escaneado y se pone a cero cuando el escán se finaliza. El bit también se pone a cero al momento de encendido y a la entrada en el modo de marcha REM. • Bit de selección de resolución STI (S:2/10) – Este bit se pone a cero predeterminadamente. Cuando se ha puesto a cero, este bit selecciona un incremento de 10 ms para el valor de punto de ajuste STI (S:30). Cuando se establece, este bit selecciona un incremento de 1 ms para el valor de punto de ajuste (S:30). Para programar esta característica, use la función del monitor de datos para establecer/poner a cero este bit o direccione este bit con su programa de escalera. Este bit es configurable por el usuario y se activa durante una transición de modo PROG REM a REM RUN. • Bit de sobremarcha (S:5/10) – Este bit de error menor se establece cuando el temporizador STI caduca mientras que la rutina STI se está ejecutando o está inhabilitada y mientras que el bit dependiente esté establecido. Cuando esto ocurre, el temporizador STI continúa funcionando a la velocidad presente en la palabra S:30. Si el bit de sobremarcha se establece, tome la acción correctiva que indica su aplicación y luego ponga a cero el bit. 11–12
  • 357. 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
  • 358. Preface Manual de referencia del juego de instrucciones Renglón 4:0 Este renglón mide el tiempo entre las ejecuciones de subrutina de interrupción consecutivas. El entero N10:2 contiene el número de “tics” de 10 microsegundos que han ocurrido. Anote que la cantidad mayor de tiempo que se puede medir es de 0.32767 segundos. | Determine el número | | de “tics” de 10 ms | | Cuando medida desde el último | | válida | | B3 +SUB–––––––––––––––+ | |––––––––+––––] [–––––+––––––––––––+SUBTRACT +–+––––––––––––––––––––+–| | | 0 | |Source A S:43| | | | | | | | 0| | | | | | | |Source B N10:1| | | | | | | | 0| | | | | | | |Dest N10:2| | | | | | | | 0| | | | | | | +––––––––––––––––––+ | | | | | | | | | | | | | | | | | | Si rodante ha | | | | | | ocurrido en la Normalice el | | | | | | base de tiempo resultado | | | | | | S:0 +ADD–––––––––––––––+ | | | | | +––––] [–––––+ADD +–+ | | | | 3 |Source A 32767| | | | | | | | | | | |Source B N10:2| | | | | | 0| | | | | |Dest N10:2| | | | | | 0| | | | | +––––––––––––––––––+ | | | | | | | | | | | | Almacene el valor | | | | actual en el | | | | último valor | | | | +MOV–––––––––––––––+ | | | +––––––––––––––––––––––––––––––––––––––––––––––+MOVE +–+ | | | |Source S:43| | | | | | 0| | | | | |Dest N10:1| | | | | | 0| | | | | +––––––––––––––––––+ | | | | | | | | | | | | Ponga a cero el | | | | bit de error | | | | S:5 | | | +–––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––––––––––––+ | | 0 | el programa de escalera continúa en la página siguiente 11–14
  • 359. 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
  • 360. Preface Manual de referencia del juego de instrucciones Instrucciones STD y STE 3 3 3 3 Las instrucciones STD y STE se usan para crear zonas en las que las interrupciones STI no pueden ocurrir. Inhabilitación temporizada seleccionable – STD STD SELECTABLE TIMED DISABLE Cuando es verdadera, esta instrucción restablece el bit de habilitación STI y evita que la subrutina STI se ejecute. Cuando el renglón se hace falso, el bit de habilitación STI permanece establecido hasta que una instrucción STS o STE se ejecute. El temporizador STI continúa funcionando mientras que el bit de habilitación esté restablecido. Habilitación temporizada seleccionable – STE STE SELECTABLE TIMED ENABLE Esta instrucción, al momento de una transición del renglón de falso a verdadero, establece el bit de habilitación STI y permite la ejecución de la subrutina STI. Cuando el renglón se hace falso, el bit de habilitación STI permanece establecido hasta que una instrucción STD verdadera se ejecute. Esta instrucción no tiene efecto sobre la operación del temporizador STI o punto de ajuste. Cuando el bit de habilitación está establecido, la primera ejecución de la subrutina STI puede ocurrir en cualquier fracción del ciclo de temporización hasta un ciclo de temporización completo subsiguiente. Ejemplo de zona STD/STE En el programa siguiente, la función STI está activa. Las instrucciones STD y STE en los renglones 6 y 12 se incluyen en el programa de escalera para evitar que se ejecute la subrutina STI en cualquier punto en los renglones 7 a 11. La instrucción STD (renglón 6) restablece el bit STI y la instrucción STE (renglón 12) vuelve a establecer el bit de habilitación. El temporizador STI incrementa y puede sobrepasar el límite de tiempo en la zona STD, lo que establece el bit de pendiente S:2/0 y el bit de sobremarcha S:5/10. El bit de primer paso S:1/15 y la instrucción STE en el renglón 0 se incluyen para asegurar que la función STI se inicialice después de una desactivación y reactivación de alimentación eléctrica. Usted debe incluir este renglón cuando su programa contenga una zona STD/STE o una instrucción STD. 11–16
  • 361. Cómo comprender las rutinas de interrupción Archivo de STE programa 3 S:1 0 ] [ SELECTABLE TIMED ENABLE 15 1 ] [ ] [ ( ) 2 3 4 5 STD 6 SELECTABLE TIMED DISABLE 7 ] [ ] [ ( ) La ejecución de interrupción 8 STI no ocurre entre STD y 9 STE. 10 11 ] [ ] [ ( ) STE 12 SELECTABLE TIMED ENABLE 13 ] [ ] [ ( ) 14 15 16 17 END 11–17
  • 362. Preface Manual de referencia del juego de instrucciones Inicio temporizado seleccionable (STS) 3 3 3 3 STS SELECTABLE TIMED START Use la instrucción STS para condicionar el inicio del temporizador STI cuando entra File Time [x 10ms] en el modo de marcha REM en vez de comenzar automáticamente. También puede usarla para configurar o cambiar el número de archivo o punto de ajuste/frecuencia de la rutina STI que se va a ejecutar cuando el temporizador STI caduca. Esta instrucción no es necesaria para configurar una aplicación de interrupción STI básica. La instrucción STS le exige introducir dos parámetros: el número de archivo STI y el punto de ajuste STI. Al momento de ejecución verdadera del renglón, esta instrucción introduce el número de archivo y punto de ajuste en el archivo de estado (S:31, S:30), sobrescribiendo así los datos existentes. Simultáneamente, el temporizador STI se restablece y comienza a temporizar; al momento de sobrepasar el límite de tiempo, la ejecución de subrutina STI ocurre. Cuando el renglón se hace falso, la función STI permanece habilitada en el punto de ajuste y número de archivo que introdujo en la instrucción STS. Nota Específico para SLC 5/03 y SLC 5/04 – La instrucción STS usa el establecimiento del bit de resolución STI S:2/10 para determinar la base de tiempo que se va a usar al momento de la ejecución de la instrucción STS. 11–18
  • 363. 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
  • 364. Preface Manual de referencia del juego de instrucciones 6. Introduzca el número de subrutina DII en la palabra S:46 del archivo de estado. (Vea la página B–69.) Un valor de cero inhabilita la función DII. Nota Usuarios de PLC – La diferencia principal entre la DII y la PII PLC 5/40 es que la DII requiere que todas las transiciones declaradas ocurran antes de generar un conteo; en cambio, la PII requiere que solamente una de las transiciones declaradas ocurra. Además, en la DII, al término “conteo” se le denomina “predeterminado”. Ejemplo La DII puede ser programada para contar los artículos en un transportador de alta velocidad. Cada vez que 100 artículos pasan por un fotointerruptor, la subrutina DII se ejecuta. Luego la subrutina DII usa las instrucciones de E/S inmediatas para embalar los productos. 11–20
  • 365. 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
  • 366. Preface Manual de referencia del juego de instrucciones Contenido de la subrutina DII Para identificar su subrutina DII, use la instrucción INT como la primera instrucción en su primer renglón. La subrutina DII contiene los renglones de su lógica de aplicación. Puede programa cualquier instrucción dentro de la subrutina DII excepto una instrucción TND, REF o SVC. Las instrucciones IIM o IOM son necesarias en una subrutina DII si su aplicación requiere la actualización inmediata de los puntos de entrada o salida. Finalice la subrutina DII con una instrucción RET. La profundidad de pila JSR se limita a 3. Puede llamar otras subrutinas hasta una profundidad de 3 niveles desde una subrutina DII. Latencia de interrupción y coincidencias de interrupción La latencia de interrupción es el intervalo entre la detección DII y el inicio de la subrutina de interrupción. Las interrupciones DII pueden ocurrir a cualquier punto en su programa, pero no necesariamente al mismo punto en interrupciones sucesivas. Las interrupciones pueden ocurrir entre instrucciones en su programa, dentro del escán de E/S (entre ranuras) o entre el servicio de paquetes de comunicaciones. La tabla siguiente muestra la interacción entre una interrupción y el ciclo de operación del procesador. DII con el bit S:33/8 DII con el bit S:33/8 DII establecido establecido Input Scan Entre actualizaciones de Entre actualizaciones de Entre actualizaciones de ranura palabra ranura Program Scan Entre actualizaciones de Entre actualizaciones de Entre actualizaciones de instrucción palabra renglón Output Scan Entre actualizaciones de Entre actualizaciones de Entre actualizaciones de Communications ranura palabra ranura Entre paquetes de Entre actualizaciones de Entre paquetes de Processor Overhead comunicación paquete de palabra comunicación Entre actualizaciones de Entre actualizaciones de Al inicio y al final palabra palabra Eventos en el ciclo de operación del procesador Si una interrupción ocurre mientras el procesador SLC 5/03 ó SLC 5/04 está realizando una actualización de ranura de palabras múltiples y su subrutina de interrupción obtiene acceso a la misma ranura, la transferencia de palabras múltiples se completa antes de realizar el acceso a la ranura de subrutina de interrupción. 11–22
  • 367. Cómo comprender las rutinas de interrupción Observe que el tiempo de ejecución DII se añade directamente al tie