You are on page 1of 726

&$

" 
 !" 
  

t $
#t 


 
   !  &

 &
   &
 
 &
  &

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

Los ejemplos de ilustraciones, gráficos, programas y esquemas mostrados, en esta


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

La publicación de Allen-Bradley SGI-1.1, Safety Guidelines for the Application,


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

Está prohibida la reproducción total o parcial de los contenidos de esta publicación


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

En este manual hacemos anotaciones para advertirle sobre consideraciones de


seguridad:

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


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

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


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

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


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

Tabla de contenido

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

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


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

i

Manual de referencia del juego de instrucción

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


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

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


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

ii
Tabla de contenido

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


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

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


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

iii

Manual de referencia del juego de instrucción

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


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

iv
Tabla de contenido

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


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

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


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

v

Manual de referencia del juego de instrucción

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


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

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


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

vi
Tabla de contenido

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


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

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


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

vii

Manual de referencia del juego de instrucción

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


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

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


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

viii
Tabla de contenido

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


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

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


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

ix

Manual de referencia del juego de instrucción

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


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

x
Tabla de contenido

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

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


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

xi

Manual de referencia del juego de instrucción

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


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

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


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

xii
Tabla de contenido

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


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

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


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

xiii

Manual de referencia del juego de instrucción

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


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

xiv
Tabla de contenido

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


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

xv

Manual de referencia del juego de instrucción

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


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

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


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

xvi
Tabla de contenido

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


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

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


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

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


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

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


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

xvii

Manual de referencia del juego de instrucción

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

xviii
Tabla de contenido

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


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

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


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

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


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

xix

Manual de referencia del juego de instrucción

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


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

xx
Tabla de contenido

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


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

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


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

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


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

xxi

Manual de referencia del juego de instrucción

xxii
Prefacio

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

P-1

Juego de instrucciones del manual de referencia

Quién debe usar este manual


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

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


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

Propósito de este manual


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

P-2
Prefacio

Contenido de este manual



 
 

*)! # ')&'5*!+& !*+&)! 0 #%  *+
)!& $%,# $!3% !% # ),'&  #+&)* ')
(,  *!& )& # $%,#
*)! 5$& ,*) #* !%*+),!&%*  #5! 
 %*+),!&%* 2*!* *#) ') ,%!&%*  )$'#1&  )#3*
&%+" 0 +$'&)!1!5%
%*+),!&%*  *)! #* !%*+),!&%*  &$')!5% #*

&$')!5% ,#* # ')$!+% &$')) #&* -#&)*  +&*
*)! #* !%*+),!&%* $+$2+!* (, #
 %*+),!&%* $+$2+!* ')$!+% )#!1) &')!&%*  2#,#& 0
$+$2+!* % '#)* !%!-!,#*
*)! 5$& )#!1) #* !%*+),!&%*  $%"&
%*+),!&%*  $%"& 
  +&* !%#,0%& #* !%*+),!&%*  $&-) 0
+&*
#5!*  !%*+),!&%*  0 
%*+),!&%*  #,"&  *)! #* !%*+),!&%*  #5!  *#)

')&)$ (, +% # #,"& 0 ",!5% # ')&)$
%*+),!&%*  '#!!5% *)! #* !%*+),!&%* *&!* &% #

*'4! *'#1$!%+&  !+ *,%!&) 0 


5$& ,*) #* !%*+),!&%*
*)! #&* ,+)& $&&*  # !%*+),!5%  #+
# &%+&)  #+
-#&! 0 *,* !%*+),!&%* *&!*
-#&!
%*+),!&%*  *)! # !%*+),!5%  &$,%!!5% 

&$,%!!5% $%*" *)-!!& 0 *,* ')2$+)&* *&!&*
*)! # &%'+& ,!5% ')2$+)&*
*&!&* 0 &)$+& # #&(,  &%+)&# ') #&*
%*+),!5% 
')&*&)*     0 

 %*+),!&%*  *)! #* !%*+),!&%*  0 *,* ,*&*
*)! #* !%+)),'!&%* +$'&)!1*
*)!'!5%  #* ),+!%*  *#!&%#* # !%+)),'!5%  %+) !*)+

!%+)),'!5%  !%+)),'!&%*   0 *,* ')2$+)&*
*&!&*
/'#! #&* +!'&* !)%+*  ')&+&&#&* 
*)!'!5%  #&* ')&+&&#&*
 &$,%!!5% ,*&* &% #&* ')&*&)* 
 &$,%!!5%

&#!1!5% 0 &))!5%  /'#! 5$& # !%+)')+) 0 &))!) ')&#$*

##&* &% # *&+.) 0 ')&*&)

P-3
Preface
Juego de instrucciones del manual de referencia

Capítulo Título Contenido


('  "%( ""%( #-%'( - #$%'( $%'# 1$
 $1()  #%%(  &'%(%' ) #&%( 
' +%  ()% "
&0$  (/$ +"% (  * %( -  ' %$( 
%$)'%"%'  '%% , 
$%% " ( ()# &' "%( %$)'%"%'(  '%% ,

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

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 
hardware fijo, no. de catálogo 1747ĆNM001
Manual de instalación y operación para
Una descripción de cómo instalar y usar su controlador controladores programables de tipo con
programable SLC 500    hardware modular, no. de publicación
1747Ć6.2ES
Una descripción de cómo instalar y usar sus controladores
Manual del usuario de controladores
MicroLogix 1000. Este manual también contiene datos de
MicroLogix 1000, no. de publicación
archivo de estado e información del juego de instrucciones
1761Ć6.3ES
para los microcontroladores
Una lista completa de documentación actual de
AllenĆBradley, incluyendo instrucciones de pedido. AllenĆBradley Publication Index, no. de
También indica la disponibilidad de los documentos en publicación SD499
CDĆROM o multilingües
Un glosario de términos y abreviaturas de la Glosario de automatización industrial
automatización industrial AllenĆBradley, no. de publicación AGĆ7.1ES

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

 
      


    
 


         

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        


      !   1-9
XIO   
    
      !    1-9
OTE           
 1-10
OTL y         
      !     1-11
OTU        
            ! 
                
  
      !     

            !  
              !
  
OSR     #          1-12


"     

1–1
Preface
Manual de referencia del juego de instrucciones

Instrucciones del temporizador/contador

Instrucción
Propósito Página
Mnemónico Nombre
TON
!             1-18
 #   #    
TOF
!             1-19
  #   #    
RTO
!  $            1-21
   #        $
      #        
       # "  
CTU             # 1-26
          
    #          
     # "  
CTD             #  1-28
         
    #          
     # "  
HSC               1-29
             
RES                1-34
  !       
! 


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 

I  &$

: &!$   &!

 '$  ) &   ' &   &- ,&$ 


.$! 
 "$$ %% % "  -'!  "$!%!$ %
O:e.s/b e  $ '$
$ '$% "!%&$!$% %! $ '$%   '$% % 

%& ' +(! 


&!$  "$ #'$! %-! % % %$! ' .$!  "$


I:e.s/b .
%. !  !  ! & '- 

#'$! %  .$!   &$% ! %% ( 


.$! 
s "$  $ '$  ! /  $ ! "& *&$&%
"$
%"%  "$% .&"%

/ &!$  &

.$!   &$% / 
b
&$  % / 

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 !%  #  #


(!  !% (!  "  !%
!#!  (!  !% #! B3:3/14
Bf:e/b f
) " $ $"! " " ! $! #  # 
# 
: #!  #
"  ) "#" "
(!  B3:252/00
e #"   !  #"
# #  # 
!  #
/ #!  #
(!  '  # #!  B3:9
b
# # "  ) #" ) #

Formato Explicación Ejemplos

B &#   #!!
B3/62
Bf/b f &#   #!!
# 
/ &#   #!!
(!  ' $&!  # #! B3/4032
b
#  !% "  )
 # 

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

        :&+)/ &' '22/2 0


/.)+45& &' #22'),/ &' $+4 / #2%*+6/  1
.&+%#&/2 &' $+4 / 0/3+%+:.  2

Bits direccionables Palabras direccionables


  #$+,+4#%+:.   /.)+45&
  #$+,+4#%+:. &' &'3%#2)#   /3+%+:.
  ('%45#&/
  +,# 6#%9#
  22/2
  '3%#2)# &'30,#8#-+'.4/ &' $+4 3/,#-'.4'
  .*+$+%+:. 34' '3 ', $+4 &' -#2%*# ! $+4 " 0#2# +.3425%%+/.'3 
  .%/.42#&/  3/,#-'.4'
, %:&+)/ &' '22/2 3' -5'342# '.  7 ./
'3 &+2'%%+/.#$,'

Asigne direcciones de control según lo siguiente:

Formato Explicación

R 2%*+6/ &' %/.42/,

;-'2/ &' #2%*+6/ ;-'2/


'3 ', #2%*+6/ 02'&'4'2-+.#&/ ' 05'&' 53#2
Rf:e f 5. .;-'2/ &' #2%*+6/ '.42' < 3' 05'&' 53#2 3+ 3' 2'15+'2'
#,-#%'.#-+'.4/ #&+%+/.#,

: ',+-+4#&/2 &' ','-'.4/

;-'2/ &' #.)/3 &' <  34/3 3/. ','-'.4/3 &'  0#,#$2#3 '#
e
','-'.4/ ,# (+)52# #.4'2+/2

1–6
Instrucciones básicas

Ejemplo: R6:2       


             
Rf:e.s/b  Rf:e    
.        
s    
/      
b   
R6:2/15 ! R6:2/EN    !
R6:2/14 ! R6:2/EU     !   
R6:2/13 ! R6:2/DN     
R6:2/12 ! R6:2/EM    
R6:2/11 ! R6:2/ER   
R6:2/10 ! R6:2/UL    
R6:2/9 ! R6:2/IN     !
R6:2/8 ! R6:2/FD     

R6:2.1 ! R6:2.LEN
  
R6:2.2 ! R6:2.POS
   !

R6:2.1/0       


R6:2.2/0      

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 "&  $"#

("  "& (" #  "& "$"  (" 


f
Nf:e/b "& $" ) # % %#" # # "!%" $ 

: $"  $

("  #  )  #$# # $#   " 


$#
e
$ "  $
/ $"  $
(" 
b '  $ $"  $ #  ) 
$

Ejemplos:

N7:2 $  "&  $"#


N7:2/8 $  $  "&  $"#
N10:36 $ 
 "&  $"#  "&  # 
% "&  $"# "  %#%"

1–8
Instrucciones básicas

Examine si cerrado (XIC)

3 3 3 3 3 3

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


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

Estado de dirección de bit Instrucción XIC


  
   

Ejemplos de dispositivos que se activan o desactivan incluyen:


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

Examine si abierto (XIO)


3 3 3 3 3 3

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

Estado de dirección de bit Instrucción XIO


   
  

Ejemplos de dispositivos que se activan o desactivan incluyen:


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

1–9

Manual de referencia del juego de instrucciones

Active la salida (OTE)


3 3 3 3 3 3

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


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

  

respectivamente.

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


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

Las instrucciones OTE se restablecen cuando:


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

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

1–10
Instrucciones básicas

Enclavamiento de salida (OTL) y


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

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

  
 tantas veces como sea necesariol.

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


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

Cómo usar OTL

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


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

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


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

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


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

Cómo usar OTU

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


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

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


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

1–11

Manual de referencia del juego de instrucciones

One–Shot Rising (OSR)


3 3 3 3 3 3

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


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

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

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


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

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

Cómo introducir parámetros

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


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

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

Ejemplos

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

1–12
Instrucciones básicas

Procesadores SLC 600 y SLC 50/1


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

Dest O:3

            


    "         !
     "         $
      !    !    
            "   
     "     "

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


(Procesadores SLC 500 y SLC 5/01)

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

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

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

1–13
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


  #  #'   ! !"
  #  !%'  #! 

 ! $$
  #  #$
" #" # $#"  $" #!&  " !"

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 !%  # !'!

)!  !% ! " !"!"    )! !#!*


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

: #!  #

"#" " #"   !" ! " !"!"


)! 
e    ! " *  ! " #!!"
#
!&   ! "  *

 #  !"
" "$#
 #!  #
 #

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
 !"'   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
 # ""  " 
Bit de efectuado del    '
$ "  #
temporizador DN !     
 
   '    '
Bit de temporización del  # $  #      " 
temporizador TT !  ""   "  !  !"  !&
#    !
Bit de habilitación del    '    '
temporizador EN !   #    

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
 !   !
  ' #  !    !
 #

 !% " !  
 !  !%  !
  '     !   !%  !
 #

 !% " !  

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


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

     
     

 
Bit de temporización del 
 
    
 
   
temporizador TT          
     

      
   
  
   

    

Bit de habilitación del 
 
    
 
   
temporizador EN          
 

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
   
 
   
  
  
    

    
 
 
   
 
   
 
    
 
    
     
 
 
   
  
  

  


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
     
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
        
Bit de efectuado del     
 
     
temporizador DN      
  
      
      
Bit de temporización del        
         
temporizador TT         
        
    
Bit de habilitación del              
temporizador EN             

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
  
  
  
   
  
  
    

 
  
  
  

 

   
 
   
     

    
     
 
 
  
    



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


  %+   % !#  
 #$ 
  %+   % #   &&
 %  %&
  %  '# (
  %  &# (
  %&)+  ' # &&
     %#  #  $ %

$ %$ %"&% $   &$ %# *  $  # $

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

)"  "&  "  # !" # "#    & "


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

: $ "  $

#$ # #  $ #   !"#


)"  "  # !" # "#   
e
$ " # *  "  #  $"  "#
"  '   " #  *

 $  !"
# %$
 $ "  $
 $

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


   

 
  
 


   


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)


   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 " ,"%( +#+"% #   ) !+* +$ $)*(+ .$
progresivo OV 
) 
 -  %$ " # )#  ( .$
 *  %$* $/ %$*$% ) ) '+ " $)*(+ .$  
&+$*%  " %$*% ) (+ 
+$ ,"%( #$%( % +" '+

%$ +$ $)*(+ .$

Bit de efectuado DN  *  " ,"%( +#+"% ) +" % " ,"%( +#+"% ) 
#-%( '+ " ,"%( #$%( '+ " ,"%(
&()" %$% &()" %$%
Bit de habilitación de conteo ") %$  %$)  ($".$ ") %$  %$)  ($".$
progresivo CU )%$ ,(() ) $ "))   )
 *    " * +$ $)*(+ .$ 
%$ " # )#  ( .$ '+ "
$)*(+ .$ 

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


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

1–27
Preface
Manual de referencia del juego de instrucciones

Conteo regresivo (CTD)


3 3 3 3 3 3

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

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

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


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

Uso de los bits de estado


Y permanece establecido
Este bit Se establece cuando hasta ocurrir uno de los
siguientes eventos
Bit de underflow de conteo " ,"%( +#+"% #   +$ $)*(+ .$  %$ "
regresivo UN 
) 
 - # )#  ( .$ '+ "
 *  %$* $/ %$*$% (() ,0 $)*(+ .$  ) !+* 
#$* ) ) &+$*%  " %$*% )
$(#$*% #$%( % +"
'+ 
%$ +$
$)*(+ .$ 
Bit de efectuado DN  *  " ,"%( +#+"% ) +" % " ,"%( +#+"% ) 
#-%( '+ " ,"%( #$%( '+ " ,"%(
&()" %$% &()" %$%
Bit de habilitación de conteo ") %$  %$)  ($".$ ") %$  %$)  ($".$
regresivo CD )%$ ,(() ) $ "))   )
 *    " * +$ $)*(+ .$ 
%$ " # )#  ( .$ '+ "
$)*(+ .$ 

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


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

1–28
Instrucciones básicas

Contador de alta velocidad (HSC)


3 3

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

  

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

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

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

Operación del contador de alta velocidad

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

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

2. Quite el envolvente del SLC 500.

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


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

1–29

Manual de referencia del juego de instrucciones

           

 
   
         

  

 

4. Vuelva a poner la cubierta.


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

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


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

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


interrupción.

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

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


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

1–30
Instrucciones básicas

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

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

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


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

Elementos de datos del contador de alta velocidad

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

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

CU = Bit de habilitación de conteo progresivo


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

1–31

Manual de referencia del juego de instrucciones

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

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


estado inmediato del HSC cuando es verdadero.

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

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

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


instrucción HSC.

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


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

Ejemplo de aplicación

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


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

1–32
Instrucciones básicas

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

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

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

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

Rung 32 ] [ ] [ ] [ ( )

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

Rung 0 ] [ ( )

  

Rung 1 ] [ ] [ ] [ ( ) 


C5:0
Rung 20 (U)   
DN
   

RET 
Rung 21 RETURN

1–33
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

!" #'  ! 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:


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

%  $  (" !"

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

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


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

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


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

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


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

1–34
Instrucciones básicas

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


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

Cómo añadir archivo 2

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


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

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


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



   
  
 
 


1–35

Manual de referencia del juego de instrucciones

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

1–36
Instrucciones básicas

Cómo añadir el archivo 6

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


perforadora.


   

   
  





1–37

Manual de referencia del juego de instrucciones

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

1–38
Instrucciones de comparación

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

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


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

Instrucciones de comparación

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

EQU   


          2-3
NEQ    
                2-3

LES    


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

2–1

Manual de referencia del juego de instrucciones

Acerca de las instrucciones de comparación


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

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


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

Descripción general de las instrucciones de


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

Uso de direcciones de palabra indexadas

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


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

Uso de direcciones de palabra indirectas

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

2–2
Instrucciones de comparación

Igual (EQU)
3 3 3 3 3 3

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

    

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

No igual (NEQ)
3 3 3 3 3 3

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

    

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

2–3

Manual de referencia del juego de instrucciones

Menor que (LES)


3 3 3 3 3 3

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

    


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

Menor o igual que (LEQ)


3 3 3 3 3 3

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

    


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

2–4
Instrucciones de comparación

Mayor que (GRT)


3 3 3 3 3 3

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

    


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


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

Mayor o igual que (GEQ)


3 3 3 3 3 3

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

    


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


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

2–5

Manual de referencia del juego de instrucciones

Comparación con máscara


para igual (MEQ) 3 3 3 3 3 3

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


    


Cómo introducir parámetros


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

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

2–6
Instrucciones de comparación

Prueba de límite (LIM)


3 3 3 3 3 3

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

High Lim

    

Cómo introducir parámetros

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

Estado verdadero/falso de la instrucción

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

Falso Verdadero Falso


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

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
    


2–7
Preface
Manual de referencia del juego de instrucciones

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

Verdadero Falso Verdadero


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

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


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


2–8
Instrucciones de comparación

Ejemplo de aplicación de instrucciones de comparación


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

Cómo iniciar una subrutina en archivo 7

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

 

-+-  -)* 


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

 )& )&

 0,/$-#
  

2–9

Manual de referencia del juego de instrucciones

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

2–10
Instrucciones matemáticas

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

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


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

Instrucciones matemáticas

Instrucción
Propósito Page
Mnemónico Nombre
ADD !
 !
 
 

  


 3-6

   
SUB 
 

   
  


 3-7

   
MUL 
 

   
  


 3-11

   
DIV     
   
  


 3-12

       
 
DDV "          
   
3-13
 


 
     
 
 
CLR 
       




 3-14
SQR
 



 


 


 
  
 3-14

     
SCP 

      
  



   
3-15

 
" 
   
  

 

$

#
 



3–1
Preface
Manual de referencia del juego de instrucciones

Instrucción
Propósito Página
Mnemónico Nombre
SCL #"  " $#   $# ! $ #" "  3-18
(  $ %! "# '   !"$# 
 "#
ABS "$# $  %! "$#   $# '   3-24
!"$#   "#
CPT $!
%* $ & !") '   !"$#   3-25
"#
SWP !  " '#" " ' #"  $ *! " + 3Ć27
  !"  $ !%  # #!
  
ASN ! "  #  ! "  $ *! '   3Ć28
!"$#  !"   "#
ACS ! "  #  ! "  $ *! '   3-29
!"$#  !"   "#
ATN ! ##  #  ! ##  $ *! '  3Ć29
 !"$#  !"   "#
COS "  #  "  $ *! '   !+ 3Ć30
"$#   "#
LN !# #$!  #  !# #$!  %!   $# ' 3Ć30
    "#
LOG !#  "  #  !#   "   %!   3-31
 $# '   !"$#   "#
SIN   #  "  $ *! '   !"$#+ 3-31
   "#
TAN #  #  ##  $ *! '   3-32
!"$#   "#
XPY    #  
% $ %!   # '   !"$# 3Ć33
  "#

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:


! !" !    !    ! "   !

    
   
 #  !#"   # !" #( "&" 

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

   
$"  (
 # $ "$  #  !#'!  #

  
!" #( "&"  $"  (

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

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


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

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


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

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

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


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

3–4
Instrucciones matemáticas

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


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

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

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

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

Formato Explicación

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

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


Ff:e f  %)" !'% 

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


"!

:  '"%   !'"

+ %"  ! (! %!"  

 &'"& &"!  !'"&  


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

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

3–5
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

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

À
$ "*('*"+"-'  ()' )%"3& %,*+) -$')* "%$*   "+* *'$%&+ $ -$') "%$  ,& &+)' 
"+* *
)"- $ -$') "&)"' ' !/ %'*+)' ') #%($' 
  !/ *  /
 
/   /   /   /  
 

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


] [ [OSR] ADD
Source A B3:1 -))' () ,& *'$'
0 1
0101010110101000 *1& 
 * 2"' 
Source B B3:2 
  $ )*,$+' *
0001100101000000 '$' & 
 
Dest B3:2
0001100101000000

S:0 ADD " ,& ))' * &)'


] [ ADD
Source A 1  *+$"'  *
0 2"'  


Source B B3:3
0000000000000011
Dest B3:3
0000000000000011

B3 SUB " 
 * & +"-'
] [ SUBTRACT
Source A B3:3 

 *+$"'  *
31 )*+'  


0000000000000011
Source B 1

Dest B3:3
0000000000000011

S:5 $ "+    '-)$'.


(U)   * *&$- ()
0 -"+) $ ',))&"  ,&
END ))') %0') $ "&$ $
*1&

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.
#$"%+  #
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:
""   #!" # "#$
# #$ # # &#+  " #  "#%$ # ( "   
+  "   
 #  $""  # "#$ %"$ 
&" ' 
&" ' $* # #$   "  "" "  "  & "
  #      #$ 
"  # #$ #  "#%$ # "  #  $""  # "#$
# #$ #  "#%$ # $&  #  $""  #
 
"#$   #  &" ' #$) #$ 

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

!   

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
      
      

 
    

Raíz cuadrada (SQR)


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

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


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

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
         

      
         
  
 

 
    

3–14
Instrucciones matemáticas

Cómo escalar con parámetros (SCP)


3 3

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

   

y = mx + b

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

Cómo introducir parámetros

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


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

3–15
Preface
Manual de referencia del juego de instrucciones

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
 

       
                   
               
  
 

Ejemplos de aplicación

Ejemplo 1

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


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

3–16
Instrucciones matemáticas

Ejemplo 2

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


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

3–17

Manual de referencia del juego de instrucciones

Escala de datos (SCL)


3 3 3 3

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

Dest

    

Ejemplo

SCL
SCALE
Source N7:0
100

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

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


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

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


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

Cómo introducir parámetros

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


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

3–18
Instrucciones matemáticas

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
))&  * )*)-&
* *+# *" ,% &-) #&. * ++ % *& &%+))"& * )*+#
,)%+ ,% &-) #&. # "+  ))&) $%&)   +$"2% * *+# 0
-) #&.  # -#&) 
  4
  * &#& % # *+"%&  ')*%"  ,%
&-) #&. * -)" " %+* 0 *',2*  # '#""4% # -#&) 
& *+
À
)&  * *+# ,%& # -#&)  *+"%& * )&
* *+# *" # -#&)  *+"%& * %!+"-& % *& &%+))"& *
"!%& 
)*+#

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

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


en una variable de proceso PID

 


*# $1/

Valor con esĆ


cala


*# $3%

   

%+) $3% %+) $1/
Valor de entrada

3–19
 
Manual de referencia del juego de instrucciones

Cómo calcular la relación lineal

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



   $ !  #! % !' + "#

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

 

−    
 
 =   )   

"#  " (  #! ( % !'

  
×   =  

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


 
" &%



 


 
" (

   
  
#! ( #! &%


  

3–20
Instrucciones matemáticas

Cómo calcular la relación lineal

Use las ecuaciones siguientes para calcular las unidades con escala:

     "  ! $ & +  !

&    %$    '  ! %$  ! '


     
 
 =   (  

 !    '  ! ' $ &

 − 
×    =  

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:

   
 ×   
 "# 


     

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

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

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


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

3–21
 
Manual de referencia del juego de instrucciones


 
# (&



 


 
# *
   
 
$" * #!' $" (& #!'

  

Cómo calcular la relación lineal desplazada

Use las ecuaciones siguientes para calcular las unidades escaladas:



   % "  $" & ")  #$

)  # (&  # *  $" (&  $" *


 −      −  =
  +
 

#$  # *  $" * & ")

   ×
  = 

3–22
Instrucciones matemáticas

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


escalera tal como sigue:


   
 
SUB
SUBTRACT     

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

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


3–23
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
!" #&  !
SLC 5/04 OS401.

Cómo introducir los parámetros

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


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

Actualizaciones de los bits de estado aritmético


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

3–24
Instrucciones matemáticas

Calcular (CPT)
3 3

CPT
COMPUTE La instrucción CPT efectúa operaciones de copiar, aritméticas, lógicas y conversión.
Dest
Usted define la operación en la expresión y el resultado se escribe en el destino. El
Expression
CPT usa funciones para operar en uno o más valores en la expresion para efectuar
    
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:
                   
                 
  

 
                 
                  

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

3–25

Manual de referencia del juego de instrucciones

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

3–26
Instrucciones matemáticas

Intercambio (SWP)
3 3

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

  


Cómo introducir parámetros

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


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

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


SWP
SWAP

Source #ST10:1.1
Length 13

Antes:
ST10:1 = abcdefghijklmnopqrstuvwxyz

Después:
ST10:1 = badcfehgjilknmporqtsvuxwzy

3–27
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
    
igual que –π/2 y menor o igual que π/2 donde π = 3.141592. Use esta instrucción
con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
  
      
                   
               

 

 

3–28
Instrucciones matemáticas

Arco coseno (ACS)


3 3

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

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
  
         
                   

 
    

Arco tangente (ATN)


3 3

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

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
  
         
                   
               

 

 

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
    
cuando la fuentes es mayor que –2 π y menor que 2 π, donde π = 3.141592. El
valor resultante en el destino siempre es mayor o igual que –1 y menor o igual que
1. Use esta instrucción con los procesadores SLC 5/03 OS302 y SLC 5/04 OS401.

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
  
         
                   

 
    

Logaritmo natural (LN)


3 3

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

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
  
         
                   

 
    

3–30
Instrucciones matemáticas

Logaritmo a la base 10 (LOG)


3 3

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

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
  
         
                   

 
    

Seno (SIN)
3 3

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

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
  
         
                   

 
    

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
    
cuando la fuente es mayor que –2 π y menor que 2 π, donde π = 3.141592. El valor
resultante en el destino es un número real o infinito. Use esta instrucción con los
procesadores SLC 5/03 OS302 y SLC 5/04 OS401..

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
  
         
                   

 
    

3–32
Instrucciones matemáticas

X a la potencia de Y (XPY)
3 3

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

La instrucción XPY usa el algoritmo siguiente:


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

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


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

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
  
         
                   

 
    

3–33

Manual de referencia del juego de instrucciones

Instrucciones matemáticas en el ejemplo de aplicación


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

3–34
Instrucciones matemáticas

Cómo añadir el archivo 7


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

3–35

Manual de referencia del juego de instrucciones

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

3–36
Instrucciones de manejo de datos

4 Instrucciones de manejo de datos


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

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


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

Instrucciones de manejo de datos

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

"   "  !         4-3

$      
FRD
"  
"   "  ! 
 !   $  4-6

    
DEG
"  
"   !    $  4-10
    !     
RAD
"  
"   !    $  4-11
    !     
DCD      ! "         "  4-12
            
ENC
    
 ! !       ! "     4-13
 !  !     &   %# $
!       '  
        
 
COP y FLL
  " $   !'
     "  4Ć15
  " !   "      !'
 ! "  !    '  "
  
 (   % ! 

4–1
Preface
Manual de referencia del juego de instrucciones

Instrucción
Propósito Página
Mnemónico Nombre
MOV          4-20
MVM              4-21
"  #    
AND
 !   #   4-23
OR
 !   #    4-24
XOR 
 !   #     4-25
NOT 
 !   #   4-26
NEG               4-27

FFL y FFU     #           4-30
            %
             
 %         
           
   
LFL y LFU     #           4-32
            %
             
         
$             %
  

Acerca de las instrucciones de manejo de datos


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

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


instrucciones. Antes de aprender las instrucciones en cada uno de estos grupos, le
recomendamos que lea la descripción general. Este capítulo contiene las
descripciones generales siguientes:
• 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
&*+),"1&  *$"
)'*')* "#'* 0   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.

&*+),"1&  *$"
)'*')*  
  0  
0 '&+)'$2
')* ")''!"/ 

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
))'  *"%() * )*+$
* *+$ *" $ )*,$+'  * %0')   $ '-) $'. )*,$+
-) $'. 
& ,& ))') %&')
)'  * *+$ *" $ -$')  *+"&' * )'
* *+$ *" $ ($)  ,&+ * &!+"- & *' '&+))"' *
"!&' 
)*+$

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

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


en el overflow.

4–3
Preface
Manual de referencia del juego de instrucciones

Ejemplo 1

3 3 3

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


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

TOD
TO BCD
Source N7:3
9760 

      

Dest N10:0    


9760

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

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

Ejemplo 2

3 3 3

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


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

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


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

4–4
Instrucciones de manejo de datos

3 2 7 6 0 N7:3 Decimal

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


15 0 15 0
S:14 S:13

#$ ! !" %")  & " # %$  


 $     
*$ #   # "%"# 
#  ( 
TOD
] [ TO BCD
Source N7:3
32760   (   #
Dest S:13 %#$"    "$
00032760 
$ 
&" ' S:0 S:5 $  "" "
] [ (U)  "
1 0
MOV
MOVE
Source S:13
10080
Dest O:2.0    
10080

MVM
MASKED MOVE
Source S:14
3
Mask 000F

Dest O:3.0    


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
',-+.#3'  ,%#
+( ,(+ , !#$(, 2
archivo de datos o puede ser el registro matemático, S:13.
 

FRD
FROM BCD
Source

Dest

',-+.#3'  ,%#
+( ,(+ ,    
2  
2 ('-+(%(+ , #+(4
("#1 

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
++ (  ,# &)+ , + ,-%  
, ,-%  ,# .' /%(+ *. '( ,   , ('-# ' ' % !. '- ( ,# %
/ +!%(0  /%(+ *. /  ('/ +-#+ , &2(+    ' ,( ('-++#( ,
+ ,-%   % (/ +!%(0 + ,.%- ' .' ++(+ & '(+
 +(  , ,-%  ,# % /%(+   ,-#'( ,  +(
#"'(  ,# &)+ , + ,-%  

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

4–6
Instrucciones de manejo de datos

S:1 EQU FRD


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

Source B I:0.0 Dest N7:2


0 0

MOV
MOVE
Source I:0.0
0

Dest N7:1
0

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

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

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

Ejemplo 1

3 3 3

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


máximo valor de fuente es 9999, BCD.

FRD
FROM BCD
Source N7:3 

     
9760  
  
Dest N10:0
9760

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

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

4–7
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      
 
00032760 
 
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    
Source S:13  
  

00001234
Dest N7:0

1234
0000 0100 1101 0010

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


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

4–9
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

    Fuente 180/Π


donde Π = 3.141592

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

Cómo introducir parámetros


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

Actualizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
 

          
                   
               
  
 

4–10
Instrucciones de manejo de datos

Grados en radianes (RAD)


3 3

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

    Fuente Π/180


donde Π = 3.141592

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

Cómo introducir los parámetros


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

Actaulizaciones de los bits de estado aritmético


Con este bit: El procesador:
      
                  
 

          
                   
               
  
 

4–11


Manual de referencia del juego de instrucciones

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


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

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

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

Cómo introducir parámetros


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

Actualizaciones de los bits de estado aritmético

Permanecen sin cambios.

4–12
Instrucciones de manejo de datos

Codificar 1 de 16 a 4 (ENC)
3

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

  
 siguiente:

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

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

Cómo introducir parámetros


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

4–13
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:


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

4–14
Instrucciones de manejo de datos

Instrucciones para copiar el archivo (COP)


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

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


Uso de COP

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

  


  


Cómo introducir parámetros

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


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

4–15
Preface
Manual de referencia del juego de instrucciones

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

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


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

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


Si el archivo de tipo entonces puede especificar una
destino es un/una: longitud máxima de:

 
 
  
 
  
  
 
  

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

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

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


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

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


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

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


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

4–16
Instrucciones de manejo de datos

Uso de FLL

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


valor de una dirección de elemento.

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


 


     

Cómo introducir parámetros

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


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

4–17
Preface
Manual de referencia del juego de instrucciones

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

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


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

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


Si el archivo de tipo entonces puede especificar na
destino es un/una: longitud máxima de:

 
 
  
 
  
  
 
  

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.
!" #'  !

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:

     !  ! !"

 $ %  !  ! !"
! !" !  !#" !    ! "   !

   
!"
! !" !  !#" ! "$  " &! !"

  
!"  ! "   ! !"

4–20
Instrucciones de manejo de datos

Mover con máscara (MVM)


3 3 3 3 3 3

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

Cómo introducir parámetros

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


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

Actualizaciones de los bits de estado aritmético


Con este bit: El controlador:

     !  ! !"

 $ %  !  ! !"
! !" !  !#" !    ! "   !

   
!"
! !" !  !#" ! "$  ! "    !

  
!"

4–21

Manual de referencia del juego de instrucciones

Operación

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


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

MVM
MASKED MOVE
Source B3:0

Mask F0F0

Dest B3:2

B3:2 antes de mover


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

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

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

B3:2 después de mover


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

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

4–22
Instrucciones de manejo de datos

Y (AND)
3 3 3 3 3 3

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

Dest

Tabla de verdad
!" #'  !
Destino = A y B
A B Destino
  
  
  
  

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:

     !  ! !"

 $ %  !  ! !"
! !" !  !#" !    ! "    !

   
!"
! !" !  " &! !"$ !"& !" 

  
! "    ! !"

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
!" #'  !
Destino = A o B
A B Destino
  
  
  
  

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:

     !  ! !"

 $ %  !  ! !"
! !" !  !#" !    ! "   !

   
!"
! !" !  !#" ! "$  "! &!

   !"$ !"& !"  ! "    !
!"

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
!" #'  !
Destino = A X o B
A B Destino
  
  
  
  

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:

     !  ! !"

 $ %  !  ! !"
! !" !  !#" !    ! "    !

   
!"
! !" !  !#" ! "$  "! &!

   !"$ !"& !"  ! "    !
!"

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

!" #'  ! Tabla de verdad

Destino = NOT A
A Destino
 
 

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:

     !  ! !"

 $ %  !  ! !"
! !" !  !#" !    ! "    !

   
!"
! !" !  !#" ! "$  "! &!

   !"$ !"& !"  ! "    !
!"

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.
%)*(+"1%  )#"
La fuente y el destino deben ser direcciones de palabra.

Actualizaciones de bits de estado aritmético


Con este bit: El controlador:
) '&%  (& )" )  + &,( #&- % )& &%*(("&( )
 ((& 
()*#
) )*# )" ) +% &,( #&- % )& &%*(("& )
()*# # &,( #&- )1#& &+(( )" 
  ) # +%*
+(%* # &,( #&- # "%"&(  ((&( $%&( *$"0% )
)*# # ,#&(
 ) &#& % # )*"%& "  
 ,( #&- 
)*/ )*#"& # &,( #&- %& )"!%& . *(+%&
'($% % # )*"%&
( #&) )*"%&)  '+%*& &$ #&*%* # ()+#*& 
&,( #&- '($% % # )*"%&
) )*# )" # ()+#*& ) (& % )& &%*(("&( )
 (& 
()*#
) )*# )" # ()+#*& ) %!*",& % )& &%*(("&( )

"!%& 
()*#

4–27
Preface
Manual de referencia del juego de instrucciones

Descripción general de las instrucciones FIFO y LIFO


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

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


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

Cómo introducir parámetros

Introduzca los parámetros siguienes al programar estas instrucciones:


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

     

       



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


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

4–28
Instrucciones de manejo de datos

Los bits de estado de la estructura de control son direccionados


mnemónicamente. Estos incluyen:

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


pila está vacía.

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


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

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


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

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


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

Efectos en el registro de índice S:24

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

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


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

4–29
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

!" #!  !

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  !" #%  ! 
Length 34 "!   
  N7:14 2
Position 9 !%  
 3
4
5
  !  !
FFU 6 !!    
FIFO UNLOAD (EU)
7     "  

FIFO #N7:12 (DN)
Fuente 8 !" 
 
Dest N7:11 (EM)
Control R6:0 N7:10 9
Length 34
Position 9  !" #%    "!
  
    %$
!% !  # ! 33
N7:45
Instrucciones FFL-FFU  !" !
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


!" #!  !
ilustradas abajo.

 !" #%   ! 


"!   
 
LFL !%  

LIFO LOAD (EN) Posición
Source N7:10 (DN) N7:11 N7:12 0
LIFO #N7:12
(EM) 1   ! ! !
Control R6:0 Destino N7:13         "
Length 34 N7:14 2  
 !" 
 
Position 9 3
4
5
 !" #%     "! 
LFU 6
LIFO UNLOAD (EU)  
    %$
!% !  # ! 7
LIFO #N7:12 (DN)
Dest N7:11  !" ! 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

Manual de referencia del juego de instrucciones

Instrucciones de manejo de datos en el ejemplo de


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

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

4–34
Instrucciones de manejo de datos

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

4–35

Manual de referencia del juego de instrucciones

4–36
Instrucciones de flujo de programa

5 Instrucciones de flujo de programa


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

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


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

Instrucciones de control de flujo de programa

Instrucción
Propósito Página
Mnemónico Nombre
JMP y LBL
  
         "   $ 5Ć3
      
JSR, SBR,
    
         5Ć5
y RET   
   
 
MCR                   5-8
     $        
TND                $  5-10
  
SUS
     #     5-11
 $      ! $
 $      
IIM              "   5-12
 " 
IOM
            "   5-13
 " 
REF   5-14

5–1

Manual de referencia del juego de instrucciones

Acerca de las instrucciones de control de flujo de


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

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


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

5–2
Instrucciones de flujo de programa

Salto (JMP) y etiqueta (LBL)


3 3 3 3 3 3

(JMP) Use estas instrucciones conjuntamente para saltar porciones del programa de
escalera.
]LBL[ Si el renglón que contiene la
El programa:
instrucción de salto es:

            
            
            
        

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

Cómo introducir parámetros

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


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

Uso de JMP

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


misma etiqueta desde una o más instrucciones JMP.

5–3

Manual de referencia del juego de instrucciones

Uso de LBL

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


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

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


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

5–4
Instrucciones de flujo de programa

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


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

RET
RETURN

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

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

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

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


estado hasta que la subrutina se vuelva a ejecutar.

Cómo anidar archivos de subrutina

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


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

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

5–5
Preface
Manual de referencia del juego de instrucciones

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

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


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

RET RET RET

Ejemplo de cómo anidar subrutinas hasta el nivel 3

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


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

Uso de JSR

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


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

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


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

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


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

5–6
Instrucciones de flujo de programa

Uso de SBR

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


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

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


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

Uso de RET

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

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

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


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

5–7
Preface
Manual de referencia del juego de instrucciones

Restablecimiento de control maestro (MCR)


3 3 3 3 3 3

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

Si el renglón MCR que inicia la


El controlador:
zona es:

  
   

  
   




    

 


 
  
 
    

 
 


 

     





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


ejemplo, las aplicaciones de receta.

Cuando programe las instrucciones MCR, observe lo siguiente:


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

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


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

Si inicia instrucciones tales como temporizadores o contadores en una zona


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

5–8
Instrucciones de flujo de programa

Operación del procesador SLC

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

Si inicia instrucciones tales como temporizadores o contadores en una zona


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

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


MCR falsa.

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


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

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


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

5–9

Manual de referencia del juego de instrucciones

Fin temporal (TND)


3 3 3 3 3 3

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


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

  

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

5–10
Instrucciones de flujo de programa

Suspender (SUS)
3 3 3 3 3 3

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

  

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

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


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

Cómo introducir parámetros

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


programar la instrucción.

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


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

5–11

Manual de referencia del juego de instrucciones

Entrada inmediata con máscara (IIM)


3 3 3 3 3 3

IIM
IMMEDIATE INPUT w MASK Esta instrucción le permite actualizar datos antes del escán de entrada normal.
Slot
Mask Cuando la instrucción IIM se habilita, el escán de programa se interrumpe. Los
datos de una ranura de E/S especificada se transfieren a través de una máscara al
 !"%  !
   $   $
archivo de datos de entrada poniendo así los datos a la disposición de instrucciones
! #  siguientes a la instrucción IIM en el programa de escalera.
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
 !"%  ! destino.
    $  

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


 !  "   

 !  "   

 !  "   

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
 !"%  
   $   $ escán de programa se reanuda.
!  # 
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.
 !"%  
    $  

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


   "   

   "   

   "   

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

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

5–13

Manual de referencia del juego de instrucciones

Regenerar I/S (REF)


3 3 3

Uso de un procesador SLC 5/02

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



  

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

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

Los temporizadores de control (watchdog) y de escán son restablecidos al


ejecutar la instrucción REF. Debe asegurarse que la instrucción REF no se
coloque dentro de un lazo de programa sin fin.

No coloque una instrucción REF dentro de un lazo de programa a menos que


el programa se analice detenidamente.

Uso de procesadores SLC 5/03 y SLC 5/04


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

  
 para el cual desea servicio.
• Procesador SLC 5/03

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

– el canal 1 es DH-485

• El procesador SLC 5/04

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

– el canal 1 es DH+

5–14
Instrucciones de flujo de programa

Instrucciones de control de flujo de programa en el


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

Cómo añadir el archivo 2


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

5–15

Manual de referencia del juego de instrucciones

5–16
Instrucciones específicas de aplicación

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

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


de papel que muestra el uso de las instrucciones específicas de aplicación.

Instrucciones específicas de aplicación

Instrucción
Propósito Página
Mnemónico Nombre
BSL y BSR  !                6-5
 !  !   $      
 !      %         
   !    !  
 !
    
SQO y        "   6-9
SQC           #  
  $  "     
 
SQL    &            & 6-14
    "       $

6–1

Manual de referencia del juego de instrucciones

Acerca de las instrucciones específicas de aplicación


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

En este capítulo se encuentra una descripción general antes de cada grupo de


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

6–2
Instrucciones específicas de aplicación

Descripción general de las instrucciones de


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

Cómo introducir los parámetros

Introduzca los parámetros siguientes al programar estas instrucciones:


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

El elemento de control se muestra abajo.

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

Los bits de estado del elemento de control se pueden direccionar


mnemónicamente. Entre éstos se incluyen:

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

– El bit de error ER (bit 11), cuando se establece, indica que la instrucción


ha detectado un error tal como la introducción de un número negativo para
la longitud o posición. Evite usar el bit de salida cuando este bit esté
establecido.

– El bit de efectuado DN (bit 13), cuando se establece, indica que el


fichero de bit se ha desplazado una posición.

– El bit de habilitación EN (bit 15) está establecido en una transición de


falso a verdadero del renglón e indica que la instrucción está habilitada.

6–3

Manual de referencia del juego de instrucciones

Cuando el registro se desplaza y las condiciones de entrada se hacen falsas, los


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

– Para los procesadores SLC la longitud es 2048

– Para los controladores MicroLogix 1000 la longitud es 1680


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

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

Efectos en el registro de índice S:24

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

6–4
Instrucciones específicas de aplicación

Desplazamiento de bit izquierdo (BSL)


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

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

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


   

Uso de BSL

Cuando el renglón va de falso a verdadero, el procesador establece el bit de


habilitación (EN bit 15) y el bloque de datos se desplaza a la izquierda (a un número
de bit superior) por una posición de bit. El bit especificado en la dirección de bit se
desplaza a la primera posición de bit. El último bit se desplaza fuera del fichero y se
almacena en el bit de descarga (UL bit 10). El desplazamiento se realiza
inmediatamente.

Para la operación de ajuste automático de línea, establezca la posición de la


dirección de bit en el último bit del fichero o en el bit UL, según sea aplicable.

6–5

Manual de referencia del juego de instrucciones

La ilustración siguiente muestra cómo funciona la instrucción de desplazamiento de


bit izquierdo.
BSL
BIT SHIFT LEFT (EN)
File #B3:1 (DN)
Control R6:14
Bit Address I:22/12
Length 58

%  &%

  "&  % $ $ $!' %
! # % $ %  $% % 
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 #  % 
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48  
NO VALIDO 73 72 71 70 69 68 67 66 65 64

%  $#
 


Si desea desplazar más de un bit por escán, debe crear un lazo en la aplicación
usando las instrucciones JMP, LBL y CTU.

Uso de BSR

Cuando el renglón va de falso a verdadero, el procesador establece el bit de


habilitación (EN bit 15) y el bloque de datos se desplaza a la derecha (a un número
de bit superior) por una posición de bit. El bit especificado en la dirección de bit se
desplaza a la última posición de bit. El primer bit se desplaza fuera del fichero y se
almacena en el bit de descarga (UL bit 10) en el byte de estado del elemento de
control. El desplazamiento se completa inmediatamente.

Para la operación de ajuste automático de línea, establezca la posición de la


dirección de bit en el primer bit del fichero o en el bit UL, según sea aplicable.

6–6
Instrucciones específicas de aplicación

La ilustración siguiente muestra cómo funciona la instrucción de desplazamiento de


bit derecho.
BSR
BIT SHIFT RIGHT (EN)
File #B3:2 (DN)
Control R6:15
Bit Address I:23/06
Length 38
$  #"
 


47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 "  $
INVALID 69 68 67 66 65 64  

 !%  $# # # & $


" $ # $ #$ $ 
$  %$
 

Si desea desplazar más de un bit por escán, debe crear un lazo en la aplicación
usando las instrucciones JMP, LBL y CTU.

6–7

Manual de referencia del juego de instrucciones

Descripción general de las instrucciones de


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

Efectos en el registro de índice S:24

El valor presente en el registro de índice S:24 se sobrescribe cuando la instrucción


de secuenciador es verdadera. El valor del registro de índice será igual al valor de
posición de la instrucción.

Aplicaciones que requieren más de 16 bits

Cuando la aplicación requiere más de 16 bits, use instrucciones de secuenciador


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

6–8
Instrucciones específicas de aplicación

Salida de secuenciador (SQO)


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

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

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

 

 

Cómo introducir parámetros

Introduzca los parámetros siguientes al programar estas instrucciones:


• El archivo es la dirección del archivo de secuenciador. Debe usar el indicador
de archivo (#) para esta dirección.
Los datos del archivo de secuenciador se usan de la manera siguiente:

Instrucción El archivo de secuenciador almacena:


      




     


 

• La máscara (SQO, SQC) es un código hexadecimal o la dirección de la palabra


o archivo de máscara a través de la cual la instrucción mueve datos. Establezca
los bits de máscara para transferir datos y restablezca los bits de máscara para
enmascarar datos. Use una palabra o archivo de máscara si desea cambiar la
máscara según los requisitos de aplicación.
Si la máscara es un archivo, su longitud será igual a la longitud del archivo de
secuenciador. Los dos archivos registran automáticamente.
• La fuente es la dirección de la palabra o archivo de entrada para un SQC de la
cual la instrucción obtiene datos para comparación con su archivo de
secuenciador.
• El destino es la dirección de la palabra o archivo de salida para un SQC a la
cual la instrucción mueve datos de su archivo de secuenciador.

6–9

Manual de referencia del juego de instrucciones

Nota Puede direccionar la máscara, fuente o destino de una instrucción de secuenciador


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

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

Los bits de estado de la estructura de control incluyen:


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

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

6–10
Instrucciones específicas de aplicación

• La posición es la ubicación o paso de palabra en el archivo de secuenciador al


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

Nota de aplicación: Puede usar la instrucción de restablecimiento (RES) para


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

Uso de SQO

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

Cuando el renglón va de falso a verdadero, la instrucción se incrementa hasta el


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

El bit de efectuado se establece cuando la última palabra del archivo de


secuenciador se transfiere. En la próxima transición de renglón de falso a
verdadero, la instrucción restablece la posición al paso uno.

Si la posición es igual a cero al momento de arranque, cuando usted conmuta el


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

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


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

6–11
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

 
    !   !%   
! !      $ 
  !   
 

 $       # !
       "   
! ! !  "  $

6–13

Manual de referencia del juego de instrucciones

Carga de secuenciador (SQL)


3 3 3 3
SQL
SEQUENCER LOAD (EN) La instrucción SQL almacena datos de 16 bits en un archivo de carga de
File
Source
(DN)
secuenciador a cada paso de la operación del secuenciador. La fuente de estos datos
Control
Length puede ser una dirección de palabra de E/S o de almacenamiento, una dirección de
Position
archivo o una constante.

  


Cómo introducir parámetros

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


• El archivo es la dirección del archivo de secuenciador. Debe usar el indicador
de archivo (#) para esta dirección.
• La fuente puede ser una dirección de palabra, dirección de archivo o una
constante (–32768 a 32767).
Si la fuente es una dirección de archivo, la longitud de archivo es igual a la
longitud del archivo de carga de secuenciador. Los dos archivos pasarán
automáticamente según el valor de posición.
• La longitud es el número de pasos del archivo de carga de secuenciador (y
también de la fuente si la fuente es una dirección de archivo), a partir de la
posición 1. El número máximo que puede introducir es 255 palabras (104
palabras cuando usa los controladores MicroLogix 1000). La posición 0 es la
posición de arranque. La instrucción se restablece (se ajusta automáticamente)
a la posición 1 durante cada ciclo completado.
La dirección de posición asignada para un archivo de secuenciador es el paso
cero. Las instrucciones de secuenciador usan la longitud más una palabra de
datos para cada archivo con referencia en la instrucción. Esto se aplica a la
fuente si se direcciona como archivo.

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

6–14
Instrucciones específicas de aplicación

• El control es una dirección de archivo de control. Los bits de estado, valor de


longitud y valor de posición se almacenan en este elemento. No use la
dirección de archivo de control para otras instrucciones.
El elemento de control se muestra abajo:

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Pal. 0 EN DN ER
Pal. 1 Longitud
Pal. 2 Posición

Los bits de estado de la estructura de control incluyen:

– El bit de error ER (bit 11) se establece cuando el procesador detecta un


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

– El bit de efectuado DN (bit 13) se establece después de que la instrucción


haya operado en la última palabra en el archivo de carga de secuenciador.
Se restablece en la próxima transición de renglón de falso a verdadero
después de que el renglón se haga falso.

– El bit de habilitación EN (bit 15) se establece en una transición de falso


a verdadero del renglón SQL y se restablece en una transición de verdadero
a falso.

6–15
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.

 

/-/  /+, 


%*$" -&(( ++* %*$" -&(( +1 */"--0,/+-
  ."(" /+- !"
%0)1%""( #+- ,"-#+- &3*
-&(( %*$" "."/
+("
%& '*".. &*  

 +(" +("

"2.1&/ %
  

"-#+-!+-

-&#& &+.
,"-#+-!+.

6–17

Manual de referencia del juego de instrucciones

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

6–18
Instrucciones específicas de aplicación

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

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

6–19

Manual de referencia del juego de instrucciones

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

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

7 Cómo usar las instrucciones del


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

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


de papel que muestra el uso de las instrucciones del contador de alta velocidad.
Instrucciones del contador de alta velocidad

Mnemónico Nombre Propósito Página


   #     
        ! 
HSC    
         7Ć6
  
   
       
    #  
   
       
HSL      
        7Ć18
   
     "  
   
RES            
    7Ć21
     
  
   
RAC                
7Ć22
             
  
HSE     #
        #  
    
    #     
HSD   
       !    7-23
    #
        
    
   
  
  !              
OTE               !   7Ć24
         

7–1

Manual de referencia del juego de instrucciones

Acerca de las instrucciones del contador de alta


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

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


filtros de entrada.

Antes de aprender estas instrucciones, lea la descripción general que sigue en la


próxima página.

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

Descripción general de las instrucciones del contador


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

Elementos del archivo de datos del contador

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

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

CU = Bit de habilitación de conteo progresivo


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

À  

  
 
   

        

Los valores preseleccionados y acumulados del contador se almacenan como


enteros signados.
Uso de bits de estado

Los bits de estado del contador de alta velocidad son retentivos. Cuando el contador
de velocidad se configura por primera vez, los bits 3–7, 14 y 15 se restablecen y el
bit 1 (IE) se establece.

7–3

Manual de referencia del juego de instrucciones

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

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

• El bit de acumulador ≤ valor bajo preseleccionado LP (bit 8) es un bit


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

7–5

Manual de referencia del juego de instrucciones

Contador de alta velocidad (HSC)


HSC
HIGH SPEED COUNTER (CU)
Use esta instrucción para configurar el contador de alta velocidad. Solamente una
Type
Counter C5:0
(CD)
(DN)
instrucción HSC se puede usar en un programa. El contador de alta velocidad no
High Preset
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
 "    
 ↑
 
 
 
  
  "    
#
  !       ↑
  "
↑
"  ! "  
 "   
 ! " ↑ "
 
 
  ! "
 ! "  "   
#
  !   ! "    ↑ " "
↑
"    ! "  
 "   
 !  ↑ ↑
 
 
 "  ! 
 "   
 ! 
   !   #
  ! ↑ ↑ "
   ! " ↑
"  
 
 "   
   
 
 
    
   "   
  !        "
"     ! "  

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
                
                 
              
      

                
           
    
    
      

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)


 
   




 
  
    



 



7–9
Preface
Manual de referencia del juego de instrucciones

Contador progresivo con restablecimiento y retención

Estado de entrada
Acción del
Conteo de Dirección RestableciĆ Retención contador de alta
Renglón
entrada de entrada miento de de entrada velocidad
HSC
(E/S) (I/1) entrada (I/2) (I/3)
  
   
   
  
  
  
  
 
    
 

  
  
 
       

  
     
 
        

     
 
      


    

Uso del contador bidireccional y el contador bidireccional con


restablecimiento y retención

Los contadores bidireccionales se usan cuando el parámetro que se mide puede


incrementar o disminuir. Por ejemplo, un paquete que entra y sale de una tolva de
almacenamiento se cuenta para regular el flujo a través del área.

Los contadores bidireccionales operan de la misma manera, excepto la operación de


entradas 1 y 0. Para los tipos de impulso y dirección, la entrada 0 proporciona el
impulso y la entrada 1 proporciona la dirección. Para los tipos progresivos y
regresivos, la entrada 0 proporciona el conteo progresivo y la entrada 1 proporciona
el conteo regresivo. Ambos tipos están disponibles con y sin restablecimiento y
retención. Refiérase a la página 7–7 para obtener más información acerca de los
tipos de contador bidireccional.

Para los contadores bidireccionales, se usan los valores altos y bajos


preseleccionados. El valor bajo preseleccionado debe ser menor que el valor alto
preseleccionado o de lo contrario ocurrirá un error INVALID PRESETs LOADED
TO HIGH SPEED COUNTER (37H).

Los contadores bidireccionales operan en el rango de –32,768 a +32,767 inclusive y


se pueden poner a cero usando la instrucción de restablecimiento (RES).

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

Operación

Cuando la instrucción HSC se ejecuta como verdadera por primera vez, el:
• Valor bajo preseleccionado de hardware se establece a –32,768.
• Acumulador de instrucción se carga en el acumulador de hardware.
• Valor alto preseleccionado de instrucción se carga en el valor alto
preseleccionado de hardware.

Después de la primera ejecución verdadera de instrucción HSC, los datos se pueden


transferir únicamente al acumulador de hardware vía una instrucción RES o RAC, o
a los valores alto y bajo preseleccionados de hardware vía la instrucción HSL.

Todo valor de acumulador de instrucción entre –32,768 y +32,767 inclusive se


puede cargar en el hardware. El valor alto preseleccionado debe ser mayor que el
valor bajo preseleccionado o un error INVALID PRESETs LOADED TO HIGH
SPEED COUNTER (37H) ocurre.

La condición siguiente Ocurre cuando


  


    
      



        


  
      
   


          
   
        


  
      


      
          


 

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
  


    
      



        


  
 
  
    


           
   
          


  
 

      


      
         


 

7–11
Preface
Manual de referencia del juego de instrucciones

Cuando el valor bajo preseleccionado se alcanza, el:


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

Un overflow ocurre cuando el acumulador de hardware hace una transición de


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

Un underflow ocurre cuando el acumulador de hardware hace una transición de


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

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

Contador bidireccional (impulso/dirección)

Estado de entrada
Acción del
Conteo de Dirección RestableciĆ Retención contador de alta
Renglón
entrada de entrada miento de de entrada velocidad
HSC
(E/S) (I/1) entrada (I/2) (I/3)


 


   




 



 
   
  




  
    



 



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

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

Estado de entrada
Acción del
Conteo de Dirección RestableciĆ Retención contador de alta
Renglón
entrada de entrada miento de de entrada velocidad
HSC
(E/S) (I/1) entrada (I/2) (I/3)
  
   
          
  
  
  
  
           
 
  
  

 
       

  
  

 
       

  
     

 
        

     

 
      


   

Contador bidireccional (conteo progresivo/regresivo)

Estado de entrada
Conteo Conteo Acción del
progresivo regresivo Renglón contador de alta
de entrada de entrada HSC velocidad
(E/S) (I/1)
  
   
    
  
  
  
  
      
 
  

 
   


   

7–13
Preface
Manual de referencia del juego de instrucciones

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

Estado de entrada
Acción del
Conteo de Dirección RestableciĆ Retención contador de alta
Renglón
entrada de entrada miento de de entrada velocidad
HSC
(E/S) (I/1) entrada (I/2) (I/3)
     
   
          
  
     
     
  
            
 
     
  

 
       

  
  

 
       

  
        

 
          

        

 
      


   

Cuando los impulsos de entrada progresivos y regresivos ocurren simultáneamente,


el contador de alta velocidad cuenta progresivamente y luego regresivamente.

Uso del contador bidireccional con restablecimiento y retención con


codificador (encoder) de cuadratura

El codificador (encoder) de cuadratura se usa para determinar la dirección de


rotación y la posición de rotación; por ejemplo, para un torno. El contador
bidireccional cuenta la rotación del codificador (encoder) de cuadratura.

Los contadores bidireccionales operan dentro del rango de –32,768 a +32,767


inclusive y se pueden poner a cero usando la instrucción de restablecimiento (RES).
La figura siguiente muestra un condificador (encoder) de cuadratura conectado a
entradas 0, 1 y 2. La dirección de conteo es determinada por el ángulo de fase entre
A y B. Si A precede B, el contador incrementa. Si B precede A, el contador se
reduce.

El contador se puede restablecer usando la entrada Z. Las salidas Z de los


codificadores (encoders) típicamente porporcionan un impulso por revolución.

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


  


  

  
  
   

    
          


    



Operación

Para los contadores bidireccionales, se usan los valores altos y bajos


preseleccionados. El valor bajo preseleccionado debe ser menor que el valor alto
preseleccionado o de lo contrario ocurrirá un error INVALID PRESETs LOADED TO
HIGH SPEED COUNTER (37H).

Cuando la instrucción HSC se ejecuta como verdadera por primera vez, el. . .
• Valor bajo preseleccionado de hardware se establece a –32,768.
• Acumulador de instrucción se carga en el acumulador de hardware.
• Valor alto preseleccionado de instrucción se carga en el valor alto
preseleccionado de hardware.

Todo valor de acumulador de instrucción entre –32,768 y +32,767 inclusive se


puede cargar en el hardware.

Después de la primera ejecución verdadera de la instrucción HSC, los datos sólo se


pueden transferir al acumulador de hardware vía una instrucción RES o RAC, o a
los valores alto y bajo preseleccionado de hardware vía la instrucción HSL.

7–15
Preface
Manual de referencia del juego de instrucciones

La condición siguiente Ocurre cuando


  


    
      



        


  
      
   


          
   
        


  
      


      
          


 

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
  


    
      



        


  
 
  
    


           
   
          


  
 

      


      
         


 

Cuando el valor bajo preseleccionado se alcanza, el:


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

Un overflow ocurre cuando el acumulador de hardware hace una transición de


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

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

Un underflow ocurre cuando el acumulador de hardware hace una transición de


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

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

Contador bidireccional (codificador [encoder])

Estado de entrada Acción del


Entrada A Entrada B Renglón contador de alta
(E/S) (I/1) HSC velocidad
     
     
     
 
   

  

Contador bidireccional con restablecimiento y retención (codificador [encoder])

Estado de entrada
Acción del
Conteo de Dirección RestableciĆ Retención contador de alta
Renglón
entrada de entrada miento de de entrada velocidad
HSC
(E/S) (I/1) entrada (I/2) (I/3)
       
       
 " 
   
  
       
   
   
       
  À     

  
À               "   !  ! 

7–17

Manual de referencia del juego de instrucciones

Carga del contador de alta velocidad (HSL)


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

Si usa la instrucción HSL con el contador progresivo, el valor alto preseleccionado


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

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

Cómo introducir parámetros

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


• La fuente es una dirección que identifica la primera de cinco palabras de datos
usadas por el HSL. La fuente puede ser un elemento de archivo de entero o
binario.
• La longitud es el número de elementos que comienzan de la fuente. Este
número siempre es 5.

Operación

La instrucción HSL le permite configurar el contador de alta velocidad para que


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

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

La dirección de fuente es un elemento de archivo de entero o binario. Por ejemplo,


si N7:5 se selecciona como la dirección de fuente, los parámetros adicionales para la
ejecución de esta instrucción aparecerían tal como se muestra en la tabla siguiente.

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

Ubicación
Contador
de la Contadores
progresivo Descripción
imagen de bidireccionales
solamente
parámetro
'-# # *.3 !+.)(  #-, ' % +"#/( 
,%# )%+  , ('-+(%(
2,+  2,+  #-, 
 
#-, 
,%# ,%#
#-,  0 
 #-, 

.'-  .'- %-  ('-( )+(!+,#/( % ,-(  #-, ' ,-


  )%+ , ,+#  -+/3,  % &2,+ '
,%# ,%# %, ,%#, +%,
('-( )+(!+,#/( .'( % .&.%(+
%(+ %-( %(+ %-( %'1 ,- /%(+ % .'-  ,%# ,
  )+,%4 )+,%4 ,+#  -+/3,  % &2,+  ,%#  %,
#('( #('( ,%#, +%, 0 .' ,2' , +%#1  %
,.+.-#'  +"#/( 

.'- $  ('-( +!+,#/( % ,-(  #-, ' ,-


  ,+/( )%+ , ,+#  -+/3,  % &2,+  %,
,%# ,%#, +%,
('-( )+(!+,#/( .'( % .&.%(+
%(+ $( %'1 ,- /%(+ % .'-  ,%# ,
  ,+/( )+,%4 ,+#  -+/3,  % &2,+  ,%#  %,
#('( ,%#, +%, 0 .' ,2' , +%#1  %
,.+.-#'  +"#/( 

Los bits en la máscara de salida corresponden directamente a las salidas físicas. Si


un bit se establece a 1, la salida correspondiente puede cambiarse por el contador de
alta velocidad. Si un bit se establece a 0, la salida correspondiente no puede ser
cambiada por el contador de alta velocidad.
Los bits en las fuentes alta y baja también corresponden directamente a las salidas
físicas. La fuente alta se aplica cuando el valor alto preseleccionado se alcanza. La
fuente baja se aplica cuando el valor bajo preseleccionado se alcanza. Los estados
de salida final se determinan aplicando la fuente de salida sobre la máscara y
actualizando solamente las salidas sin máscara (las que tienen un número 1 en la
configuración del bit de máscara).
Siempre puede cambiar el estado de las salidas por medio del programa del usuario o
el dispositivo de programación sin importar la máscara de salida. El contador de alta
velocidad sólo modifica salidas y bits de imagen de salida seleccionados según las
configuraciones de fuente y bit de máscara cuando los valores preseleccionados se
alcanzan. El último dispositivo que cambia la imagen de salida (por ej., el programa
del usuario o contador de alta velocidad) determina la configuración de salida real.
Los forzados anulan el control de salida desde el contador de alta velocidad o
desde la imagen de salida. Los forzados se pueden aplicar a las entradas del
contador de alta velocidad. Las entradas forzadas son reconocidas por el
contador de alta velocidad (por ej., una entrada de conteo forzada a
desactivado y activado incrementa el acumulador de alta velocidad).

7–19

Manual de referencia del juego de instrucciones

El hardware del contador de velocidad se actualiza inmediatemente cuando la


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

Si un fallo ocurre a causa de la instrucción HSL, los parámetros HSL no se cargan


en el hardware del contador de alta velocidad. Puede usar más de una instrucción
HSL en su programa. Las instrucciones HSL pueden tener ubicaciones de imagen
diferentes para los parámetros adicionales.

No cambie un valor preseleccionado y una fuente/máscara de salida con la


misma instrucción HSL cuando el acumulador se acerca al valor
preseleccionado anterior.

Si el contador de alta velocidad se habilita y la instrucción HSL se evalúa como


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

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

Restablecimiento del contador de alta velocidad (RES)


C5:0 La instrucción RES le permite escribir un cero en el acumulador de hardware y en el
RES acumulador de imagen.

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

Operación

La ejecución de esta instrucción inmediatamente:


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

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

7–21

Manual de referencia del juego de instrucciones

Acumulador de restablecimiento del contador de alta


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

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

Cómo introducir parámetros

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


• La fuente representa el valor que se carga en el acumulador. La fuente puede
ser una constante o una dirección.

Operación

La ejecución del RAC:


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

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

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

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

Habilitación (HSE) e inhabilitación (HSD) de interrupción


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

Uso de HSE

Operación

Cuando la interrupción del contador de alta velocidad se habilita, la subrutina del


usuario (archivo de programa 4) se ejecuta cuando:
• Se alcanza un valor alto o bajo preseleccionado.
• Ocurre un overflow o underflow.

Cuando, en el modo de un solo escán de prueba y en una condición de operación


pasiva, la interrupción del contador de alta velocidad se retarda hasta que el próximo
disparo de escán se reciba del dispositivo de programación. El acumulador del
contador de alta velocidad cuenta durante el reposo.

El estado predeterminado de la interrupción del contador de alta velocidad se


habilita (el bit IE se establece a 1).

Si la rutina de interrupción del contador de alta velocidad se ejecuta y otra


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

7–23

Manual de referencia del juego de instrucciones

Uso de HSD

Operación

La instrucción HSD inhabilita la interrupción del contador de alta velocidad


evitando así que la subrutina de interrupción se ejecute.

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


ejecuta inmediatamente.

Esta instrucción HSD no cancela una interrupcion, sino que resulta en el


establecimiento del bit pendiente (C5:0/3) cuando:
• Se alcanza un valor alto o bajo preseleccionado.
• Ocurre un overflow o underflow.

Actualización del acumulador de imagen del contador


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

Operación

Esta instrucción transfiere el acumulador de hardware al acumulador de instrucción.


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

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

Lo que ocurre con el HSC cuando pasa al modo de


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

A la primera ejecución verdadera de la instrucción HSC después del paso a marcha,


el valor bajo preseleccionado se inicializa a –32,768 y la máscara de salida y las
configuraciones de salida baja se incializan a cero. Use la instrucción HSL durante
el primer paso para restaurar cualesquier valores necesarios para su aplicación.

Puede modificar el comportamiento del contador de alta velocidad a la introducción


del modo de marcha REM ajustando los parámetros HSC antes de la primera
ejecución verdadera de la instrucción HSC. El siguiente ejemplo de renglones de
escalera demuestra las varias maneras de ajustar los parámetros HSC.

7–25

Manual de referencia del juego de instrucciones

Ejemplo 1

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

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

Ejemplo 2

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

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

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

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

7–27

Manual de referencia del juego de instrucciones

Ejemplo 3

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

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

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

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

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

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

Instrucciones del contador de alta velocidad en el


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

#)
" """ $&#$&  
  $")  """  
&  """  
"%
""" #$$  ##" $($"  
"# $)  $"  
""#  

" " ' "& $"


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


El archivo de programa principal (archivo 2) inicializa la instrucción HSC,


monitoriza los botones de arranque y parada de la máquina y llama otras subrutinas
necesarias para hacer funcionar la máquina. Refiérase a los comentarios que
preceden cada renglón para obtener información adicional.

7–29

Manual de referencia del juego de instrucciones

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

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

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

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

7–31

Manual de referencia del juego de instrucciones

El contador de alta velocidad se usa para controlar la posición del transportador. El


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

El contador de alta velocidad pone a cero el bit de salida de propulsión del


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

El contador de alta velocidad establece el bit de salida de la unidad propulsora del


transportador (O:0/0) cada vez que un valor bajo preseleccionado se alcanza. Como
resultado, la unidad propulsora acelera y mantiene el motor del transportador.

Cuando el manual ha recorrido la distancia especificada establecida por el valor alto


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

Este ejemplo usa el codificador (encoder) de cuadratura con la instrucción de


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

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

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

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

7–33

Manual de referencia del juego de instrucciones

7–34
Instrucciones de comunicación

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

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

Instrucciones de comunicación

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

MSG                  8-3


               
    
          
               
      
SVC                    8-60
                 
            
            
   

8–1

Manual de referencia del juego de instrucciones

Acerca de las instrucciones de comunicación


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

En este capítulo se encuentra una descripción general antes de cada tipo de


instrucción:
• Instrucción de mensaje para el procesador SLC 5/02
• Instrucción de mensaje para los procesadores SLC 5/03 y SLC 5/04
• Instrucción de comunicación de servicio para el procesador SLC 5/02
• Instrucción de comunicación de servicio para los procesadores SLC 5/03
y SLC 5/04

8–2
Instrucciones de comunicación

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

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

  

uno a la vez en orden secuencial (primero que llega, primero que sale)

Operación

La instrucción se puede programar como mensaje de escritura o lectura. El


dispositivo receptor puede ser otro procesador SLC 500 en la red, o un dispositivo
que no sea SLC 500, usando el archivo común de interface (archivo 9 485CIF en los
procesadores SLC 500). El protocolo 485CIF también se usa para los mensajes de
tipo PLC-2.

Los datos asociados con una instrucción de escritura de mensaje no se envían


cuando usted habilita la instrucción. En cambio, se envían al final del escán o
cuando una instrucción de comunicación de servicio (SVC) o regeneración (REF) se
habilita en su programa de escalera. En algunos casos esto significa que debe
guardar en un búfer los datos en su aplicación.

Cuando selecciona el SLC-500 como el dispositivo receptor, la comunicación se


puede realizar entre:
• un procesador SLC 5/02 y cualquier otro procesador de la familia SLC 500
• un procesador SLC 5/03 y cualquier otro procesador de la familia SLC 500
• un procesador SLC 5/04 y cualquier otro procesador de la familia SLC 500

8–3

Manual de referencia del juego de instrucciones

Bits del archivo de estado relacionados

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

Es posible que desee usar el bit S:2/15, selección de servicio de comunicaciones.


Refiérase al apéndice B en este manual para obtener más información.

8–4
Instrucciones de comunicación

Opciones de configuración disponibles

Las siguientes opciones de configuración están disponibles con el procesador


SLC 5/02:
• Lectura/escritura de dispositivos semejantes en una red local a otro procesador
SLC 500
• Lectura/escritura de dispositivos semejantes en una red local a un 485CIF
(emulación PLC2)

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


de mensaje.

Cómo introducir parámetros

Después de colocar la instrucción MSG en un renglón, especifique si el mensaje es


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

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

– 485CIF, si el dispositivo receptor es un procesador que no sea SLC


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

Nota La longitud del bloque de control MSG incrementa de 7 a 14 palabras al


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

8–5

Manual de referencia del juego de instrucciones

Uso de los bits de estado

Read/Write: READ ignore if timed out: 0 TO


Target Device: 500CPU to be retried: 0 NR
Control Block: N7:0 awaiting execution: 0 EW
Local Destination File Address: ***
Target Node: 0 error: 0 ER
Target File Address: *** message done: 0 DN
Message Length in elements *** message transmitting: 0 ST
message enabled: 0 EN

control bit address: N7:0/8

ERROR CODE: 0
Error Code Desc:

La columna derecha en la ilustración de arriba indica los diversos bits de estado


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

8–6
Instrucciones de comunicación

Diagrama de temporización para una instrucción MSG


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

 $         


      ! " %
     
À Á Â   #! Ä


 








 









1. Cuando el renglón MSG se hace verdadero y el MSG es escaneado, el bit EN se


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

2. En el siguiente final de escán o instrucción de comunicación de servicio (SVC),


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

8–7

Manual de referencia del juego de instrucciones

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

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

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

3. Si el nodo receptor recibe exitosamente el paquete DH-485, envía un ACK


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

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

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

4. Si no recibe un ACK, el paso 3 no ocurre. Un NAK (ningún acuse de recibo) se


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

8–8
Instrucciones de comunicación

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

Si la respuesta contiene “He realizado exitosamente su solicitud de lectura y le


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

Si la respuesta contiene “No he realizado su solicitud; tiene un error”, el bit ER


se establece y el bit ST se pone a cero. La función de la instrucción MSG ha
sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la
próxima vez que la instrucción MSG es escaneada.

Configuración del bloque de control

La configuración del bloque de control se ilustra abajo si usted selecciona un


500CPU como el dispositivo receptor:

Configuración del bloque de control - 500CPU


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

8–9
Preface
Manual de referencia del juego de instrucciones

La configuración del bloque de control se ilustra abajo si usted selecciona un 485


CIF como el dispositivo receptor:

Configuración del bloque de control - 485 CIF


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

8–10
Instrucciones de comunicación

Ejemplos de aplicación para procesadores SLC 5/02

Ejemplo 1

El ejemplo de aplicación 1 muestra cómo puede implementar la operación continua


de una instrucción de mensaje.

B3 MSG
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  #  "# 


1 ] [ (U)  "#!$)
13* 15* 
N7:0  
] [  
12*  
2 END

Notas de operación
 #
 #  "#!$)  $  #  #$  
"#!$)  " "# "%  #  #)  !
$  "#!$)  " #   !)& "' "# !!
!) #$
 #  !!!  #( "%!'  #  #) "#
!! !) #$ "  " !!!"

8–11

Manual de referencia del juego de instrucciones

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

El ejemplo de aplicación 2 involucra un procesador SLC 5/02 y un procesador SLC


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

Un dispositivo de detección de temperatura, conectado como entrada al procesador


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

8–12
Instrucciones de comunicación

I:1.0 N7:0 "+   $ ($)


] [ ( )  %&*# *'
"*('*"+"-'  5 1 () $ '&+)'$ $
&+)  *&*')  S:1 T4:0 -&+"$')
+%()+,)  ] [ (RES)
15
"+  ()"%) (*'
N7:0 "+   $ ($)
(L)  %&*# *+
0 * $ "+ 
B3 &$-%"&+'
(U)
0
TON
 TIMER ON DELAY
Timer T4:0
(EN) %(')"/') 
Time Base 0.01 * ,&'*
(DN)
Preset 400
Accum 0
"+  ()"%) (*'
MSG
S:1 &*+),"1&  *)"+,)
 ] [ READ/WRITE MESSAGE (EN)
 %&*# *
Read/write WRITE
15
Target Device 500CPU (DN) ")"'&* $ )!"-'
Control Block N10:0
S:4
] [ Control Block Length 7 (ER)  ,&+ . )(+') *'&
6  
'' )(+') 
"+  )$'#    %* B3 B3 '& "+, $ %&*# 
] [
0
(L) ($)
0
N10:0 MSG &*+),"1&  $+,) 
 ] [ READ/WRITE MESSAGE (EN) %&*# * ")"'&*
13* Read/write
Target Device
READ
500CPU
$ )!"-'  *+"&' .
"+  +,'  Control Block N11:0
(DN)
)(+') *'&  
*)"+,)  %&*# Control Block Length 7 (ER) '' )(+') 
'& "+, $ %&*# 
($)
T4:0 B3
 ] [ (L) &$-%"&+'  *+
DN 10 "&*+),"1&  $)%
&'+""  $ ($""1&
N11:0 N7:0 T4:0 *" $ "+  &$-2
 ] [ ]/[ (RES) %"&+'  
13* 0
N7:0 ()%&
"+  +,' (U) *+$"' ,)&+
 $+,)  0 %0*  * ,&'*
%&*#
B3
(U)  "+*  *+'  $
0 "&*+),"1& 
N11:0   
(U) 
 
15*
N10:0
(U)
15*
 END

* &'+*  '()"1& ()& & $ (0 "& *" ,"&+

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

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

+, *& $3& '%"&0  &."* %&+#+   &,* $ %''  %*!  '  ('&"&'  *' $ ",   $
(*"%* "&+,*-"3&  N7:0
S:1
Renglón 2:0 ] [ (U)
15 15
+, *& $3& +,$ $ .$'*  $2%",  ,"%(' +'*(+'  -&' + -+ -& (*'+'* 
 3 

  +, *& $3& / *& $3&   &' +'& &+*"'+ ('*)- (- "&,*'-"* $ .$'* & $ %('  .$'* $
$2%",  ,"%(' +'*(+' & $ $')-  "&+,*-"3& 
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
1&,"' $ *& $3& &,*"'*
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

 "&+,*-"3&  + ,".  $ &,* $ %''  %*!  '  ' + *)-"*& '&""'&+  &,*
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

 "&+,*-"3&  + ,". -&' $ "&+,*-"3&  &,*"'* + "&$"0


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

+, *& $3& *+,$ ,'+ $+ "&+,*-"'&+  -&' $ 4$,"% "&+,*-"3&  + ! "&$"0' 
($*  '&,*'$ + '** (* + -** )- $'+ ",+    /  + ('& &  *'
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

Manual de referencia del juego de instrucciones

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

MSG
READ/WRITE MESSAGE
Type
(EN) Los datos asociados con una instrucción de escritura de mensaje se almacena en un
Read/write
Target Device
(DN)
(ER)
búfer cuando usted habilita la instrucción. El SLC 5/03 con OS300 tiene cuatro
Local/Remote
Control Block
búferes de transmisión. El SLC 5/03 con procesadores OS301, OS302 y SLC 5/04
Control Block Length 14
con procesadores OS400, OS401 dan servicio a un máximo de cuatro instrucciones
de mensaje por canal para un máximo de ocho instrucciones de mensaje.

  


Operación
SLC 5/03 OS300 – Si una instrucción MSG ha entrado en uno de los cuatro búferes
de transmisión “independientes del canal” y está esperando ser transmitida, su
bloque de control tendrá los bits de estado EN y EW establecidos. Si más de cuatro
instrucciones MSG se habilitan a la vez, una cola de overflow “dependiente del
canal” se usa para almacenar los bloques de encabezado de instrucción MSG (no los
datos para una escritura MSG) a partir de la quinta instrucción hasta la
décimocuarta.

SLC 5/03 con OS301, OS302 y SLC 5/04 con OS400, OS401 – Si una instrucción
MSG ha entrado en uno de los cuatro búferes de transmisión “dependientes del
canal” y está esperando ser transmitida, su bloque de control tendrá los bits de
estado EN y EW establecidos. Si más de cuatro instrucciones MSG para aquel canal
se habilitan a la vez, una cola de overflow “dependiente del canal” se usa para
almacenar los bloques de encabezado de instrucción MSG (no los datos para una
escritura MSG) a partir de la quinta instrucción a la décimocuarta.

Esta instrucción, la cual hace cola en orden FIFO, tendrá el bit de estado de bloque
de control EN establecido. Si más de 14 instrucciones MSG se habilitan a la vez
para un solo canal, el bit de estado de bloque de control WQ se establece ya que es
posible que no haya espacio disponible para poner la instrucción en cola. Esta
instrucción se debe a volver a escanear hasta que haya espacio en la cola de
overflow.
Nota Si habilita sistemáticamente más instrucciones MSG que las que pueden recibir los
búferes, el orden en que las instrucciones MSG hacen en cola es determinado por el
orden en que son escaneadas. Esto significa que las instrucciones MSG más
cercanas del inicio del programa hacen cola regularmente y las instrucciones MSG
más adelantes del programa pueden no entrar en la cola.

Puede usar el control de límite de tiempo sobrepasado semejante a la instrucción


MSG del SLC 5/02 ó puede usar el control de límite de tiempo sobrepasado
incorporado. Si el valor del límite de tiempo sobrepasado se establece a 0, lo que
constituye el valor predeterminado, la funcionabilidad es semejante a la instrucción
MSG del SLC 5/02. La diferencia de ésta es que el renglón se debe volver a
escanear después del establecimiento del bit TO. Luego debe restablecer el bit TO y
volver a ejecutar la instrucción MSG. Le recomendamos que establezca el valor del
límite de tiempo sobrepasado interno a un número que no sea 0.

8–18
Instrucciones de comunicación

Cuando usa un procesador SLC 5/03 ó SLC 5/04, la instrucción de mensaje:


• inicia lecturas y escrituras a través de canal 0 del RS-232 cuando es configurado
para los protocolos siguientes:

– Punto a punto DF1

– Esclavo DF1

– DH-485, o
• inicia lecturas y escrituras a través de:

– canal 1 de DH-485 (procesadores SLC 5/03 únicamente)

– canal 1 de DH+ (procesadores SLC 5/04 únicamente)

Bits del archivo de estado relacionados


   

     
    
           

       
      
 
         
   
             

Refiérase al apéndice B en este manual para obtener más información acerca de los
bits del archivo de estado de mostrados previamente.

8–19

Manual de referencia del juego de instrucciones

Opciones de configuración disponibles

Las siguientes opciones de configuración están disponibles cuando se usa un


procesador SLC 5/03 ó SLC 5/04. Refiérase al apéndice D para obtener parámetros
válidos al programar la instrucción de mensaje.
• Lectura/escritura de dispositivos semejantes en una red local a otro procesador
SLC 500
• Lectura/escritura de dispositivos semejantes en una red local a un 485CIF
• Lectura/escritura de dispositivos semejantes en una red local a un PLC-5 À
• Lectura/escritura de dispositivos semejantes en una red remota a otro
procesador SLC 500
• Lectura/escritura de dispositivos semejantes en una red remota a un 485CIF
(emulación PLC2)
• Lectura/escritura de dispositivos semejantes en una red remota a un procesador
PLC-5 À
À     
   
  

8–20
Instrucciones de comunicación

Cómo introducir parámetros

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


• Lectura/escritura – La lectura indica que el procesador local (el procesador en
que se encuentra la instrucción) está recibiendo datos; la escritura indica que
está enviando datos.
• El dispositivo receptor identifica el tipo de dispositivo que recibirá datos. Las
opciones válidas son:

– el 500CPU si el dispositivo receptor es otro procesador SLC

– el 485CIF si el dispositivo receptor es un dispositivo que no sea SLC en la


red DH-485

– el PLC-5 si el dispositivo receptor acepta comandos PLC-5

• Local o remoto identifica si el mensaje es enviado a un dispositivo en una red


local DH-485 ó DH+, o a un dispositivo remoto en otra red a través de un
puente. Las opciones válidas son:

– Local si el dispositivo receptor se encuentra en una red local

– Remoto si el dispositivo receptor se encuentra en una red remota

• El bloque de control es una dirección de archivo de entero que usted


selecciona. Es un archivo de entero de 14 palabras que contiene bits de estado,
dirección de archivo receptor y otros datos asociados con la instrucción de
mensaje.
• La longitud del bloque de control se fija a 14 elementos. Este campo no se
puede modificar.

Nota La longitud del bloque de control MSG incrementa de 7 a 14 palabras al


cambiarse de un programa de procesador SLC 5/02 a un programa de
procesador SLC 5/03 ó SLC 5/04. Asegúrese que haya un mínimo de 7
palabras no usadas después de cada bloque de control MSG en su programa.

8–21

Manual de referencia del juego de instrucciones

Uso de los bits de estado

La columna derecha en la ilustración siguiente alista los varios bits de estado


asociados con la instrucción SLC 5/03 y SLC 5/04.

Type: Peer–to–Peer
Read/Write: READ ignore if timed out: 0 TO
Target Device: 500CPU to be retried: 0 NR
Local/Remote: Local awaiting execution: 0 EW
Control Block: N10:0 continuous run: 0 CO
Channel: 1 error: 0 ER
Target Node: 2 message done: 0 DN
message transmitting: 0 ST
message enabled: 0 EN
Destination File Addr: N7:0 waiting for queue space: 0 WQ
Target Source File Address: N7:50
Message Length In Elements: 10
Message Timeout (seconds): 5

ERROR CODE: 0 control bit address: N10:0/8


Error Code Desc:

• Bit del límite de tiempo sobrepasado TO (palabra 0, bit 08) Establezca este
bit en su aplicación para eliminar una instrucción de mensaje activa del control
de procesador. Puede usar su propia rutina de control de límite de tiempo
sobrepasado semejante a la instrucción MSG del SLC 5/02 o puede usar el
control de límite de tiempo sobrepasado interno. Le recomendamos que use el
control de límite de tiempo sobrepasado incorporado porque simplifica el
programa del usuario.
Si usa su propia rutina de control de límite de tiempo sobrepasado, el valor del
límite de tiempo sobrepasado (palabra 8) se debe poner a cero. Si la instrucción
MSG no se completa dentro del plazo de tiempo especificado y el bit DN no se
establece, usted debe establecer el bit TO (bit 8 de palabra 0) y volver a realizar
un escán de la instrucción MSG, de lo contrario el mensaje llevará un búfer
activo hasta que el procesador se detenga y se vuelva a arrancar. Después de la
ejecución de la instrucción MSG, el procesador establece el bit ER (bit 12) y
retorna el código de error 37H. Vuelva a iniciar la instrucción MSG
restableciendo el bit TO y volviendo a ejecutar la instrucción MSG.

Si usa el control de límite de tiempo sobrepasado interno, establezca el valor del


límite de tiempo sobrepasado (palabra 8) entre 1 y 255 segundos. Cuando el
límite de tiempo sobrepasado ocurre, el bit TO y el bit ER (bit 12 de palabra 0)
se establecen y el procesador retorna el código de error 37H. Vuelva a iniciar la
instrucción MSG restableciendo el bit TO y volviendo a ejecutar la instrucción
MSG.
• Bit no respuesta NR (bit 09) se establece si el procesador receptor responde a
la instrucción con un acuse de recibo negativo. Esto significa que el dispositivo
receptor no puede dar servicio al paquete en ese momento y se debe volver a
intentar. El bit NR se restablece cuando el bit ER, DN o ST se establece.
Recomendamos no intentar controlar este bit. Se usa para funciones DH-485 y
se presenta a título informativo únicamente.

8–22
Instrucciones de comunicación

• El bit habilitado y en espera EW (bit 10) se establece después de que el bit


de habilitación se ha establecido y el mensaje se almacena en el búfer y espera
ser enviado en el búfer. Recomendamos no intentar controlar este bit. Se
presenta a título informativo únicamente.
• Operación continua CO (bit 11) Establezca este bit si desea enviar la
instrucción MSG de manera continua. Recomendamos que el control del límite
de tiempo sobrepasado interno se use para esta opción y que el renglón sea
incondicionalmente verdadero. Use este bit para activar y desactivar el modo.
Nota No intente establecer ni restablecer los otros bits en la palabra de control.
Este modo operará continuamente siempre que el renglón sea escaneado
continuamente. Si la instrucción tiene error, vuelve a intentar automáticamente
hasta tener éxito. Si sobrepasa el límite de tiempo y se vuelve a escanear, el
modo se detendrá. El bit ER se debe poner a cero para reanudar la operación.
• El bit de error ER (bit 12) se establece cuando la transmisión de mensaje está
con fallo. El bit ER se restablece la próxima vez que el renglón asociado vaya
de falso a verdadero.
• El bit de efectuado DN (bit 13) se establece cuando el mensaje se transmite
con éxito. El bit DN se restablece la próxima vez que el renglón asociado vaya
de falso a verdadero.
• El bit de arranque ST (bit 14) se establece cuando el procesador acusa recibo
del dispositivo receptor. El bit ST se restablece cuando el bit DN, ER o TO se
establece. Recomendamos no intentar controlar este bit. Se presenta a título
informativo únicamente.
• El bit de habilitación EN (bit 15) se establece cuando las condiciones de
renglón se hacen verdaderas y la instrucción se ejecuta. Permanece establecido
hasta que la transmisión de mensaje se haya completado y el renglón se haga
falso.
• El bit de espera de espacio en la cola WQ (Word 7, bit 0) se establece
cuando no hay espacio en la cola activa para escribir o leer datos. Este bit se
pone a cero cuando hay espacio disponible en al cola activa. Recomendamos
no intentar controlar este bit. Se presenta a título informativo únicamente.

Nota Cuando el bit WQ se establece, o cuando sólo se establece el bit EN, y usted usa
una instrucción de escritura MSG, sus datos de fuente no tienen búfer. Si su
aplicación requiere datos con búfer (o “fotografía”), espere hasta que el bit EW se
establezca antes de sobrescribir sus datos de fuente.
• EN = 1 y EW = 1 cuando MSG entra en el búfer
• EN = 1 cuando MSG entra en cola
• WQ = 1 cuando la cola (que retiene 10 MSG) está llena:
búfer – retiene 4 mensajes con los datos
cola – almacena el puntero (lista de espera)

Nota Si su programa contiene cuatro instrucciones de mensaje con el bit de operación


continua (CO) establecido, la instrucción de mensaje de la rutina de fallo no se
ejecutará.

8–23
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

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.

 $        


       ! "
    
      #! 


 








 







 



1. Cuando el renglón MSG se hace verdadero y el MSG es escaneado, si hay


espacio en cualquiera de los cuatro búferes MSG activos, los bits EN y EW es
establecen. Si esta fuera una instrucción de escritura MSG, los datos de fuente
sería transferidos al búfer MSG en este momento. Si no hay espacio en los
cuatro búferes MSG, pero hay disponible una posición en la cola MSG de 10
posiciones, sólo el bit EN se establece. La cola MSG de 10 posiciones trata los
datos primeros en llegar y así permite al procesador SLC 5/03 ó SLC 5/04
recordar el orden en que las instrucciones MSG se habilitaron. Anote que el
programa no tiene acceso a la cola MSG de SLC 5/03 ó SLC 5/04.

Si no hay espacio en ninguno de los cuatro búferes MSG ni en la cola MSG de


10 posiciones, sólo el bit WQ se establece. Observe que cuando el bit WQ se
establece, la instrucción MSG se debe volver a escanear más adelante cuando
haya espacio en los cuatro búferes MSG o la cola MSG de 10 posiciones.

8–26
Instrucciones de comunicación

Una vez establecido el bit EN, permanece establecido hasta que el proceso
entero MSG se haya finalizado y el bit DN, ER o TO se establezca. El valor del
límite de tiempo sobrepasado MSG comienza a temporizar cuando el bit EN
se establece. Si el período del límite de tiempo sobrepasado vence antes de que
la instrucción MSG finalice su función, el bit ER se establece y un código se
coloca en el bloque MSG para informarle del error del límite de tiempo
sobrepasado.

Si decide establecer el bit CO, su instrucción MSG residirá de manera


permanente en uno de los cuatro búferes MSG activos. La instrucción MSG
continuará volviendo a transmitir sus datos cada vez que el bit DN o ER se
establece. Si esta fuera una instrucción de escritura MSG, sus datos de fuente se
actualizarían durante cada ciclo MSG.

2. Al próximo final de escán o SVC, el procesador SLC 5/03 ó SLC 5/04


determina si debe examinar la cola MSG en busca de una tarea. El procesador
toma su decisión según en el estado de los bits S:2/15, S:33/7, S:33/5, S:33/6,
solicitudes de comunicación de la red desde otros nodos y si hay instrucciones
MG anteriores que ya están en progreso. Si el procesador SLC 5/03 determina
que no debe acceder a la cola, la instrucción MSG permanece tal como era.
(Los bits EN y EW permanecen establecidos o sólo el bit EN se establece, o de
lo contrario sólo el bit WQ se establece hasta el próximo final de escán o SVC.
Si solamente el bit WQ se establece, la instrucción MSG se debe volver a
escanear.)

Si el procesador SLC 5/03 ó SLC 5/04 determina que hay una “tarea de
desempeñar”, descargar las entradas de la cola MSG en los búferes MSG hasta
que todos los cuatro búferes estén llenos. Cada búfer MSG contiene un paquete
de red válido. Si un paquete no se puede construir exitosamente de la cola
MSG, el bit ER se establece y un código se coloca en el bloque MSG para
informarle de un error. Cuando una instrucción MSG se carga en un búfer
MSG, los bits EN y EW se establecen.

Luego el procesador SLC 5/03 ó SLC 5/04 sale al final de escán o la porción
SVC del escán. La función de comunicación de fondo del procesador envía los
paquetes a los nodos receptores que especificó en su instrucción MSG. Según el
estado de los bits S:2/14, S:33/7, S:33/5 y S:33/6, puede tener hasta cuatro
instrucciones MSG activas en todo momento.

3. Si el nodo receptor recibe exitosamente el paquete, envía un ACK (un acuso de


recibo). El ACK causa que el procesador ponga a cero el bit EW y establezca el
bit ST. El nodo receptor todavía no ha examinado el paquete para determinar si
entiende su solicitud. Observe que el nodo receptor no tiene que responder
dentro de un plazo de tiempo determinado.
Nota Si el nodo receptor está con fallo o desconecta y vuelve a conectar la
alimentación eléctrica durante este plazo de tiempo de una transacción MSG,
nunca recibirá una respuesta. Es por eso que recomendamos el uso del valor
del límite de tiempo sobrepasado MSG en su instrucción MSG.

8–27

Manual de referencia del juego de instrucciones

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

4. Si no recibe un ACK, el paso 3 no ocurre. Un NAK (ningún acuso de recibo) se


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

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

Si la respuesta contiene “He realizado exitosamente su solicitud de lectura y le


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

Si la respuesta contiene “No he realizado su solicitud; tiene un error”, el bit ER


se establece y el bit ST se pone a cero. La función de la instrucción MSG ha
sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la
próxima vez que la instrucción MSG es escaneada.

8–28
Instrucciones de comunicación

Los cuatro búferes son compartidos entre el canal 0 y el canal 1 para los
procesadores SLC 5/03 OS300. Para los procesadores SLC 5/03 OS301, OS302 y
SLC 5/04 OS400, OS401, hay cuatro búferes MSG por canal. Cada canal tiene su
propia cola MSG de diez posiciones. El procesador SLC 5/03 ó SLC 5/04 descarga
las dos colas MSG en los búferes MSG equitativamente al final de escán o SVC.
Esto permite que ambos canales tengan el mismo acceso a las comunicaciones. Si
usted programa una instrucción SVC que es configurada para dar servicio solamente
a un canal, entonces dicho canal tendrá su cola MSG descargada en los búferes
MSG (hasta el próximo final de escán o SVC cuando ambos canales se volverán a
descargar equitativamente).

8–29
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
                  


 

                
               


    !     


               


    !      



             

Nota Para los usuarios del juego de protocolo y comando 177-6.5.16 DH, DH+,
DH-485:
El código de error MSG representa el campo STS de la respuesta a su instrucción
MSG. Los códigos E0 – EF representan los códigos EXT STS 0 – F. Los códigos
F0 – FC representan los códigos EXT STS 10 – 1C.

8–31

Manual de referencia del juego de instrucciones

Ejemplos de configuraciones usando la instrucción de


mensaje
La instrucción siguiente proporciona ejemplos para enviar comandos entre los
dispositivos compatibles con DH-485 y DF1 de dúplex completo y los dispositivos
compatibles con DH+.

Esta sección proporciona una variedad de ejemplos de aplicación usando la


instrucción MSG.
• Lógica de escalera usando:

– la operación continua de la instrucción de mensaje

– la instrucción de mensaje de regeneración automática

– el bit de límite de tiempo sobrepasado para inhabilitar una instrucción


de mensaje activa

– la transmisión en serie

• Mensajes locales vía:

– la lectura local de un 500CPU

– la lectura local de un 485CIF

– la lectura local de un PLC-5

• Mensajes remotos usando:

– un sólo módulo de interface de comunicación 1785-KA5

– dos módulos de comunicación 1785-KA

– los procesadores SLC con transferencia al canal 0

– un integrador de pirámide

– dos módulos de interface de comunicación 1785-KA5

– “saltos” múltiples usando dos módulos de interface de comunicación


1785-KA5

8–32
Instrucciones de comunicación

Uso de la lógica de escalera

Ejemplo 1

Hay dos métodos para configurar una instrucción de mensaje que lee o escribe datos
hacia/desde su nodo receptor de manera continua. El método más indicado y más
eficiente es establecer el bit continuo (CO) de la instrucción de mensaje. Con este
bit establecido, el mensaje reside permanentemente en uno de los cuatro búferes de
mensaje del procesador SLC 5/03 ó SLC 5/04 y solicita/envía datos al nodo receptor
continuamente. La única restricción de este método es que usted puede tener
solamente hasta cuatro instrucciones de mensajes continuamente configuradas. Si
tiene instrucciones de mensaje configuradas de esta manera, otras instrucciones de
mensaje en su programa de escalera tomarán más tiempo para completarse porque
en efecto ha reducido el número de búferes de mensaje disponibles.

El segundo método se llama una instrucción de mensaje de regeneración automática.


El efecto es semejante al establecer el bit continuo (CO) donde la instrucción de
mensaje lee o escribe datos hacia/desde su nodo receptor de manera continua. Sin
embargo, en vez de residir permanentemente en un búfer de mensaje, el mensaje de
regeneración automática se elimina de su búfer de mensaje. Este método es muy
útil si tiene más de cuatro mensajes que necesita operar continuamente o si desea
que estos mensajes configurados continuamente compartan espacio de búfer con
otras instrucciones de mensaje en su programa. Aunque este método tiene el mismo
efecto que el establecimiento del bit CO, anote que será más lento que un mensaje
continuo verdadero (con el bit CO establecido).

8–33

Manual de referencia del juego de instrucciones

El ejemplo de aplicación 1 muestra cómo puede implementar la operación continua


de una instrucción de mensaje. Este ejemplo usa un valor del límite de tiempo
sobrepasado de mensaje interno que no sea cero.
Renglón 2:0
Esta es la manera correcta de programar un mensaje continuo en un procesador
5/03 ó 5/04. Este mensaje residirá permanentemente en uno de los 4 búferes de
transmisión de mensaje. Puede activar o desactivar el mensaje continuo
estableciendo/restableciendo B3/0. Sin embargo, debe desenclavar el bit de
HABILITACION de mensaje cada vez que active el bit de MENSAJE CONTINUO – esto
permite que la instrucción se vuelva a cargar en un búfer de mensaje.
| +MSG––––––––––––––––––––+ |
|–––––––––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–|
| |Type PEER–TO–PEER+–(DN) |
| |Read/Write READ+–(ER) |
| |Target Device 500CPU| |
| |Local/Remote LOCAL| |
| |Control Block N7:0| |
| |Control Block Length 14| |
| +–––––––––––––––––––––––+ |
Renglón 2:1
| Bit |
| MSG |
| continuo |
| B3 N7:0 À N7:0 |
|––] [––––––––––––––––––––––––––––––––––––––––––––––––+––––––––––––(
––]/[––– )–––––+–|
| 0 10 | 11 | |
| | Bit MSG | |
| | continuo | |
| | B3 N7:0 | |
| |––[OSR]–––––(U)–––––+ |
| | 1 | 15 |
| | | |
| | N7:0 | |
| +––] [ –––| |
| 8 |
Renglón 2:2
| |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
| |
À
            

8–34
Instrucciones de comunicación

Ejemplo 2

Este ejemplo muestra dos instrucciones de mensaje configuradas para funcionar


continuamente por el método de regeneración automática. Este ejemplo usa un
valor del límite de tiempo sobrepasado de mensaje interno distinto de cero.
Renglón 2:0
Este es otro método para programa un mensaje que lee o escribe su destino de
manera continua. Denominamos este método un método de regeneración automática
porque en vez de usar el bit CONTINUO (CO), volvemos a iniciar el mensaje
manualmente cuando los bits de EFECTUADO o ERROR se establecen. Use este método
si tiene más de 4 mensajes que necesite operar a la vez de manera continua.
| Bit activado/ Mensaje 1 |
| desactivado de mensaje 1 |
| B3 +MSG––––––––––––––––––––+ |
|––––] [––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–|
| 0 |Type PEER–TO–PEER+–(DN) |
| |Read/Write READ+–(ER) |
| |Target Device 500CPU| |
| |Local/Remote LOCAL| |
| |Control Block N7:0| |
| |Control Block Length 14| |
| +–––––––––––––––––––––––+ |
Renglón 2:1
| Bit de EFECTUADO Bit de HABILITACION |
| de mensaje 1 de mensaje 1 |
| N7:0 N7:0 À N7:0 |
|–+––––] [–––––+–––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
––]/[–––
| | 13 | 10 15 |
| | Bit ERROR | |
| | mensaje 1 | |
| | N7:0 | |
| +––––] [–––––+ |
| 12 |
Renglón 2:2
| Bit activado/ Mensaje 2 |
| desactivado de mensaje 2 |
| B3 +MSG––––––––––––––––––––+ |
|––––] [––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–|
| 1 |Type PEER–TO–PEER+–(DN) |
| |Read/Write READ+–(ER) |
| |Target Device 500CPU| |
| |Local/Remote LOCAL| |
| |Control Block N7:40| |
| |Control Block Length 14| |
| +–––––––––––––––––––––––+ |

8–35

Manual de referencia del juego de instrucciones

Renglón 2:3
| Bit de EFECTUADO Bit de HABILITACION |
| de mensaje 2 de mensaje 2 |
| N7:40 N7:40 À N7:40 |
|–+––––] [–––––+–––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
––]/[–––
| | 13 | 10 15 |
| | Bit ERROR | |
| | mensaje 2 | |
| | N7:40 | |
| +––––] [–––––+ |
| 12 |
Renglón 2:4
| |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
| |
À
            

8–36
Instrucciones de comunicación

Ejemplo 3

El ejemplo de aplicación 3 le muestra cómo usar el bit de límite de tiempo


sobrepasado para inhabilitar una instrucción de mensaje activa. En este ejemplo,
una salida se activa después de cinco intentos sin éxito (de 2 segundos de duración)
de transmitir un mensaje. Este ejemplo usa un valor del límite de tiempo
sobrepasado de mensaje interno distinto de cero.
Renglón 2:0
En el programa, una vez establecido B3/1, la instrucción de mensaje intenta 5
veces completarse exitosamente. Si se completa en menos de 5 intentos,
desenclavará B3/1. Si, después de 5 intentos, el mensaje todavía no se ha
completado, una salida se activa y B3/1 se desenclava. Para volver a intentar
este mensaje, sólo establezca B3/1 a 1.
| Bit de |
| disparo MSG |
| del usuario |
| B3 +MSG––––––––––––––––––––+ |
|––––] [–––––––––––––––+––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–+–|
| 1 | |Type PEER–TO–PEER+–(DN) | |
| | |Read/Write READ+–(ER) | |
| | |Target Device 500CPU| | |
| | |Local/Remote LOCAL| | |
| | |Control Block N7:0| | |
| | |Control Block Length 14| | |
| | +–––––––––––––––––––––––+ | |
| | B3 C5:0 | |
| +––[OSR]––+––(RES)–––––+––––––––––––––––––––––––––––––+ |
| 0 | | |
| | El mensaje | |
| | no se | |
| | completó | |
| | O:3 | |
| +––––(U)–––––+ |
| 0 |
Renglón 2:1
| Bit de ERROR |
| de mensaje |
| N7:0 N7:0 À +CTU–––––––––––––––+ |
|––––] [–––––––––––––––––––––––––––––––––––––––+–+COUNT
––]/[––– UP +–(CU)–+–|
| 12 10 | |Counter C5:0+–(DN) | |
| | |Preset 5| | |
| | |Accum 5| | |
| | +––––––––––––––––––+ | |
| | Bit de HABILITACION | |
| | de mensaje | |
| | N7:0 | |
| +––––(U)––––––––––––––––––––+ |
| 15 |

8–37

Manual de referencia del juego de instrucciones

Renglón 2:2
| El mensaje |
| no se |
| completó |
| C5:0 O:3 |
|––] [––––––––––––––––––––––––––––––––––––––––––––––––––––––––––+––––(L)–––––+–|
| DN | 0 | |
| | Bit de | |
| | disparo MSG| |
| | del usuario| |
| | B3 | |
| +––––(U)–––––+ |
| 1 |
Renglón 2:3
| Bit de | Bit de |
| EFECTUADO | disparo MSG |
| de mensaje| del usuario |
| N7:0 B3 |
|––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
| 13 1 |
Renglón 2:4
| |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
| |
À
            

8–38
Instrucciones de comunicación

Ejemplo 4

El ejemplo de aplicación 4 le muestra cómo vincular las instrucciones de mensaje


para transmitir en serie, una tras otra. En este ejemplo, una escritura MSG es
seguida por una lectura MSG, lo que provoca la transmisión en serie. Este ejemplo
usa un valor del límite de tiempo sobrepasado de mensaje interno distinto de cero.
Renglón 2:0
Este programa demuestra cómo encadenar las instrucciones de mensaje, es decir,
habilitar un segundo mensaje una vez completado con éxito el primero. Este
ejemplo intenta continuamente escribir datos a un nodo de red y luego leer dados
de un nodo de red.
Este renglón habilita que el mensaje de ESCRITURA inicie cuando vaya de PROGRAMA
a EJECUCION.
| Bit de | Bit de HABILITACION |
| primer paso | de escritura de mens.|
| S:1 N7:0 |
|––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
| 15 15 |
Renglón 2:1
| +MSG––––––––––––––––––––+ |
|–––––––––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–|
| |Type PEER–TO–PEER+–(DN) |
| |Read/Write WRITE+–(ER) |
| |Target Device 500CPU| |
| |Local/Remote LOCAL| |
| |Control Block N7:0| |
| |Control Block Length 14| |
| +–––––––––––––––––––––––+ |
Renglón 2:2
Si el mensaje de ESCRITURA tiene error, siga ensayando el mensaje de ESCRITURA
hasta que se complete con éxito. No ensaye el mensaje de LECTURA hasta que haya
una ESCRITURA exitosa.
| Bit ERROR | Bit de HABILITACION |
| escr. mens. | de escritura de mens.|
| N7:0 N7:0 À N7:0 |
|––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
––]/[–––
| 12 10 15 |
Renglón 2:3
Una vez completado con éxito el mensaje de ESCRITURA, habilite el mensaje de
LECTURA.
| Bit de EFECTUADO |
| de escritura de mensaje |
| N7:0 +MSG––––––––––––––––––––+ |
|––––] [––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–|
| 13 |Type PEER–TO–PEER+–(DN) |
| |Read/Write READ+–(ER) |
| |Target Device 500CPU| |
| |Local/Remote LOCAL| |
| |Control Block N7:20| |
| |Control Block Length 14| |
| +–––––––––––––––––––––––+ |

8–39

Manual de referencia del juego de instrucciones

Renglón 2:4
Si el mensaje de LECTURA tiene error, siga ensayando el mensaje de LECTURA hasta
que se haya completado con éxito. No vuelva a ensayar la ESCRITURA hasta que
haya una LECTURA exitosa.
| Bit ERROR | Bit de HABILITACION |
| lec. mens.| de lectura de mensaje |
| N7:20 N7:20 À N7:20 |
|––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
––]/[–––
| 12 10 15 |
Renglón 2:5
Una vez que los mensajes de ESCRITURA y LECTURA se hayan completado
exitosamente, vuelva a iniciar la secuencia de mensaje desenclavando el bit de
habilitación del mensaje de ESCRITURA.
| Bit EFEC. |Bit EFEC. | Bit de HABILITACION |
| lec. mens.|esc. mens.| de escritura de mensaje |
| N7:20 N7:0 N7:20 À N7:0 |
|––––] [––––––––] [––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|
––]/[–––
| 13 13 10 15 |
Renglón 2:6
| |
|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|
| |
À
            

8–40
Instrucciones de comunicación

Uso de mensajes locales

Ejemplo 1 – Lectura local de un 500CPU

Type: Peer–to–Peer
Read/Write: READ ignore if timed out: 0 TO
Target Device: 500CPU to be retried: 0 NR
Local/Remote: Local awaiting execution: 0 EW
Control Block: N10:0 continuous run: 0 CO
Channel: 1 error: 0 ER
Target Node (decimal): 2 message done: 0 DN
message transmitting: 0 ST
message enabled: 0 EN
Destination File Addr: N7:0 waiting for queue space: 0 WQ
Target Source File Address: N7:50
Message Length In Elements: 10
Message Timeout (seconds): 5

ERROR CODE: 0 control bit address: N10:0/8


Error Code Desc:

En la pantalla anterior, el procesador SLC 5/03 ó SLC 5/04 lee 10 elementos del
archivo N7 del nodo receptor, a partir de la palabra N7:50. Las 10 palabras se
colocan en su archivo de entero a partir de la palabra N7:0. Si pasan cinco segundos
sin respuesta, el bit de error N10:0/12 se establece, lo que indica que la instrucción
ha sobrepasado el límite de tiempo. El dispositivo en el nodo 2 entiende el
protocolo de la familia del procesador SLC 500 (SLC 500, SLC 5/01, SLC 5/02,
SLC 5/03 y SLC 5/04).
Tecla de función Descripción
.+!%"% !' )7(!-* ! )* * !' +-*!. *- ,0! -!%! !' (!).&! '
* * -!!+/*-
-)#* 14'% * !.  .+!%"% ' %-!%6) 

- 0) '!/0-  !./%)* 5./ !. ' %-!%6) !) !' +-*!. *- %)%% *-
,0! 1  -!%%- '*. /*.
%-!%6) ! -$%1* - 0) !.-%/0- "0!)/! 5./ !. ' %-!%6) !' +-*!. *- %)%% *-
,0! 1 !)1%- '*. /*.
*. /%+*. ! -$%1* 14'% *. .*)             3 
- 0) '!/0- "0!)/! 5./ !. ' %-!%6) !) !' +-*!. *- -!!+/*-
,0! 1  !)1%- '*. /*.
%-!%6) -!!+/*- - 0) !.-%/0-  !./%)* 5./ !. ' %-!%6) !' +-*!. *- -!!+/*-
,0! 1  -!%%- '*. /*.
*. /%+*. ! -$%1* 14'% *. .*)             3 
!"%)! ' '*)#%/0 !' (!).&! !) !'!(!)/*. *. !'!(!)/*. ! 0)
*)#%/0 ! (!).&! +'- .! '%(%/)  0) '*)#%/0 (42%( !  *. !'!(!)/*. !
/-!. +'-. .! '%(%/)  0) '*)#%/0 (42%( !  

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

' '  #*('*#+#-' 


'+ #*('*#+#-' 
' '

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

+ '+
 ' '
 !&+#"##.& ! )!  '+
  , #'    '& %. ,$'
 

+
 !&+#"##.& ! )! 
  , #'

Procesador SLC 5/04 (A) a procesador SLC 5/03 (C) vía 1785-KA5

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 2
Remote Bridge Link Id <dec>: 1
Remote Bridge Node Address <dec>: 0
Local Bridge Node Address <dec>: 6
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 11
Message Timeout (seconds): 5

Comentarios

El canal se establece a 1 ya que el comando original es iniciado por un procesador


SLC 5/04 en la red DH+ (identificación de red 2).

El nodo receptor es el procesador SLC 5/03 a dirección de nodo 2.

La identificación de red del puente remoto es la identificación de red de la red


remota DH-485 con el procesador SLC 5/03 (identificación de red 1).

8–45

Manual de referencia del juego de instrucciones

La dirección de nodo del puente remoto se establece a 0 (no usado) porque la


comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.

La dirección de nodo del puente local se establece a 6 porque esta es la dirección


de nodo de la red DH+ usada por el módulo de interface de comunicación
1785-KA5.

Procesador SLC 5/03 (C) a procesador SLC 5/04 (A) vía 1785-KA5

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 1
Remote Bridge Link Id <dec>: 1
Remote Bridge Node Address <dec>: 0
Local Bridge Node Address <dec>: 7
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 11
Message Timeout (seconds): 5

Comentarios

El canal se establece a 1 ya que el comando original es iniciado por un procesador


SLC 5/03 en la red DH-485 (identificación de red 1).

El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 1.

La identificación de vínculo del puente remoto es el vínculo con el procesador


SLC 5/04 (identificación de red 2).

La dirección de nodo del puente remoto se establece a 0 (no usado) porque la


comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.

La dirección de nodo del puente local se establece a 7 porque ésta es la dirección


de nodo de la red DH-485 usada por el módulo de interface de comunicación
1785-KA5.

8–46
Instrucciones de comunicación

Procesador SLC 5/03 (C) a un PLC-5 (B) vía 1785-KA5

Type: Peer–to–Peer
Read/Write: Write
Target Device: PLC5
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 3
Remote Bridge Link Id <dec>: 2
Remote Bridge Node Address <dec>: 0
Local Bridge Node Address <dec>: 7
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 11
Message Timeout (seconds): 5

Comentarios

El canal se establece a 1 ya que el comando original es iniciado por un procesador


SLC 5/03 en la red DH-485 (identificación de red 1).

El nodo receptor es el procesador PLC-5 a dirección de nodo 3.

La identificación de vínculo del puente remoto es el vínculo con el procesador


PLC–5 (identificación de red 2).

La dirección de nodo del puente remoto se establece a 0 (no usado) porque la


comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.

La dirección de nodo del puente local se establece a 7 porque ésta es la dirección


de nodo de la red DH-485 usada por el módulo de interface de comunicación
1785-KA5.

8–47

Manual de referencia del juego de instrucciones

Ejemplo 2 – Comunicación con procesadores A–B usando dos 1785-KA

 '%$' ( *$ 
 '%$' ( *$ 

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

$$
+ $(
 ) $ +
 
 $# "-)!$
 ) $
   $$
$(

(  +, $$ 


  .
 
 $# "-)!$
  

Procesador SLC 5/04 (B) a procesador PLC5 (C) vía dos 1785-KA

Type: Peer–to–Peer
Read/Write: Write
Target Device: PLC5
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 0
Remote Bridge Link Id <dec>: 0
Remote Bridge Node Address <dec>: 131
Local Bridge Node Address <dec>: 8
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 0

Comentarios

El canal se establece a 1 porque el comando original es iniciado por un procesador


SLC 5/04 en la red DH+.

El nodo receptor es el procesador PLC-5 a dirección de nodo 0. (En realidad, esta


es la dirección de nodo 3, pero la dirección de nodo se establece a 0 porque la
dirección de nodo del puente remoto maneja la estructura de direccionamiento.)

La identificación de vínculo del puente remoto siempre se establece a 0 cuando se


usa esta estructura de direccionamiento.

8–48
Instrucciones de comunicación

La dirección de nodo del puente remoto se establece a 131. La dirección de nodo


del puente remoto consiste en el dígito más significativo (octal) del 1785-KA (220)
remoto más la dirección del nodo receptor. Por ejemplo, 200 + 3 = 203 octales (131
decimal).

La dirección de nodo del puente local se establece a 8 porque esta es la


equivalente decimal del segundo dígito menos significante de la dirección 1785-KA
(10 octal).

Procesador SLC 5/04 (B) a procesador SLC 5/04 (A) vía dos 1785-KA

Type: Peer–to–Peer
Read/Write: Write
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 0
Remote Bridge Link Id <dec>: 0
Remote Bridge Node Address <dec>: 146
Local Bridge Node Address <dec>: 8
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 0

Comentarios

El canal se establece a 1 porque el comando original es iniciado por un procesador


SLC 5/04 en la red DH+.

El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 0. (En


realidad, esta es dirección de nodo 22, pero la dirección de nodo se establece a 0
porque la dirección de nodo del puente remoto maneja la estructura de
direccionamiento.)

La identificación de vínculo del puente remoto siempre se establece a 0 cuando se


usa esta estructura de direccionamiento.

La dirección de nodo del puente remoto se establece a 146. La dirección de nodo


del puente remoto consiste en el dígito más significante (octal) del 1785-KA remoto
más la dirección del nodo receptor. Por ejemplo, 200 + 22 = 222 octal (146
decimal).

La dirección de nodo del puente local se establece a 8 porque esta es la


equivalente decimal del segundo dígito menos significativo de la dirección
1785-KA (10 octal).

8–49

Manual de referencia del juego de instrucciones

Ejemplo 3 – Transferencia vía canal 0 DH-485 del procesador SLC 5/04


$+)(+$,$.( 

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

  
$+)(+$,$.(  (!( 
(!(  0

( ,
('."*,$!(* !"
$',"'*# "  0
(',*(%!(* &(!-%* !"
  

Procesador SLC 5/04 (A) a procesador SLC 5/03 (D) vía un procesador SLC 5/04 (C)
(transferencia usando canal 0 DH-485)

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 2
Remote Bridge Link Id <dec>: 1
Remote Bridge Node Address <dec>: 0
Local Bridge Node Address <dec>: 2
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 5

Comentarios
El canal se establece a 1 porque el comando original es iniciado por un procesador
SLC 5/04 en la red DH+.
El nodo receptor es el procesador SLC 5/03 en la dirección de nodo 2.
La identificación de vínculo del puente remoto es el vínculo con el procesador
SLC 5/04 (canal 0, identificación de red 1).
La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.
La dirección de nodo del puente local se establece a 2 porque esta es la dirección
de nodo DH+.

8–50
Instrucciones de comunicación

Procesador SLC 5/03 (D) a procesador SLC 5/04 (A) vía un procesador SLC 5/04 (C)
(transferencia usando canal 0 DH-485)

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 3
Remote Bridge Link Id <dec>: 2
Remote Bridge Node Address <dec>: 0
Local Bridge Node Address <dec>: 1
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 5

Comentarios
El canal se establece a 1 porque el comando original es iniciado por un procesador
SLC 5/03 en la red DH-485.
El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 1.
La identificación de vínculo del puente remoto es el vínculo con el procesador
SLC 5/04 (canal 1, identificación de red 2).
La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.
La dirección de nodo del puente local se establece a 1 porque ésta es la dirección
de nodo DH-485.

8–51

Manual de referencia del juego de instrucciones

Procesador SLC 5/03 (D) a PLC-5 (B) vía un procesador SLC 5/04
(transferencia usando canal 0 DH-485)

Type: Peer–to–Peer
Read/Write: Write
Target Device: PLC5
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 3
Remote Bridge Link Id <dec>: 2
Remote Bridge Node Address <dec>: 0
Local Bridge Node Address <dec>: 1
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 5

Comentarios
El canal se establece a 1 porque el comando original es iniciado por un procesador
SLC 5/03 en la red DH-485.
El nodo receptor es el procesador PLC-5 en la dirección de nodo 3.
La identificación de vínculo del puente remoto es el vínculo con el procesador
SLC 5/04 (canal 1, identificación de red 2).
La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.
La dirección de nodo del puente local se establece a 1 porque ésta es la dirección
de nodo DH-485.

8–52
Instrucciones de comunicación

Mensajes remotos (SLC 5/03 a un SLC 500, SLC 5/01 ó SLC 5/02)

La ilustración siguiente muestra la conectividad para un mensaje remoto.

    !"(-%# !"


+"!  
)!)


)!) )!) !"(-%#%  %1(


 )( '1!.&) !" +"! 

 )!) 
 2

)!) 
)(-+)&!)+ ')!.&+ !"  )(-+)&!)+ ')!.&+ !" 
   

)!)  !"(-%# !" +"! 

 ) -& )!)

)!)  )!)
  ) -&
)!)

2 )( '1!.&)
 2
 )'*.-!)+
%(!.,-+%&  
!"(-%#%  %1( !" +"! 


 
 

)!)
)!) 

)(-+)&!)+ ')!.&+ !"  )(-+)&!)+ ')!.&+ !" 


   

)($%-.! '0/%' !" & +"! 2    '   *%",


"! +

Los siguientes pies de gráfico representan los parámetros de direccionameinto


de un SLC 5/03 a un procesador SLC 5/02 remoto.
 Estes es el nodo original de la instrucción MSG. No tiene que especificar
esta dirección.
 Esta es la dirección de nodo del puente local.
 Esta es la dirección de nodo remoto del puente local. No tiene que
especificar esta dirección.
 Esta es la dirección de nodo del puente remoto.
 Esta es la dirección de nodo del puente remoto. No tiene que especificar
esta dirección.
 Esta es la identificación de red remota.

Esta es la dirección de nodo receptor.

8–53

Manual de referencia del juego de instrucciones

Ejemplo 4 – Transferencia vía canal 0 DF1 del procesador SLC 5/04

#*('*#+#-'  #*('*#+#-'  #*('*#+#-'  #*('*#+#-' 


   
' '  ' '  ' ' ' '
'+ '+ '+ '+

'&+)'$ ') %' ,$) ! '&+)'$ ') %' ,$) ! '&+)'$ ') %' ,$) ! '&+)'$ ') %' ,$) !
  
  
  
  


   
+ /  +
 !&+#"##.& ! )!  
  , #'  !&+#"##.& ! )!    !&+#"##.& ! )! 
 , #'   , #'

Procesador SLC 5/04 (A) a procesador SLC 5/04 (D) vía dos procesadores SLC 5/04
(transferencia usando canal 0 DF1)

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node (decimal): 63
Remote Bridge Link Id: 1
Remote Bridge Node Address <dec>: 0
Local Bridge Node Address <dec>: 2
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 5

Nota La configuración incorrecta puede causar que los datos sean escritos o leídos de un
procesador no seleccionado. Asegúrese que todos parámetros e identificaciones de
vínculo de canal se establezcan correctamente.
Comentarios
El canal se establece a 1 porque el comando original es iniciado por un procesador
SLC 5/04 en la red DH+.
El nodo receptor es el procesador SLC 5/04 a dirección de nodo 77 (63 decimales).
La identificación de vínculo del puente remoto es el vínculo con el procesador
SLC 5/04 (identificación de vínculo 1).
La dirección de nodo del puente remoto se establece a 0 (no usado) porque canal
0 es dúplex total DF1.
La dirección de nodo del puente local se establece a 2 porque ésta es la dirección
de nodo DH+.

8–54
Instrucciones de comunicación

Ejemplo 5 – Transferencia vía canal 0 DH+ del procesador SLC 5/04


")'&)"*",&  ")'&)"*",&  ")'&)"*",& 
&& &&  && 

&* &* &*

&%*(&#&( $&+#(  &%*(&#&( $&+#(  &%*(&#&( $&+#( 


 
  
  

+ 
 
  .
 %*"!""-%  (   

 +"&  %*"!""-%  (   
  +"&

Nota El dispositivo B tiene S:34/5 establecido a 1.

Procesador SLC 5/04 (A) a procesador SLC 5/04 (C) vía un solo procesador SLC 5/04
(transferencia usando canal 0 DF1)

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node: 0
Remote Bridge Link Id <dec>: 1
Remote Bridge Node Address: 0
Local Bridge Node Address: 2
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 5

Comentarios
El canal se establece a 1 porque el comando original es iniciado por un procesador
SLC 5/04 en la red DH+.
El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 0 (dúplex total
DF1).
La identificación de vínculo del puente remoto es el vínculo con el procesador
SLC 5/04 (identificación de vínculo 1).
La dirección de nodo del puente remoto se establece a 0 (no usado) porque canal
0 es dúplex total DF1.
La dirección de nodo del puente local se establece a 2 porque ésta es la dirección
de nodo DH+.

8–55

Manual de referencia del juego de instrucciones

Procesador SLC 5/04 (C) a procesador SLC 5/04 (A) vía un solo procesador SLC 5/04
(transferencia usando canal 0 DF1)

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Local
Control Block: user specified
Channel: 0

Target Node (decimal): 63


Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 5

Comentarios

El canal se establece a 0 porque el comando original es iniciado por un procesador


SLC 5/04 conectado vía dúplex total DF1.

El nodo receptor es el procesador SLC 5/04 en la dirección nodo 63 decimales (77


octal).

Procesador SLC 5/04 (C) a procesador SLC 5/04 (B) cuando la transferencia está habilitada

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Local
Control Block: user specified
Channel: 0
Target Node (decimal): 2

Destination/Source File Addr: user specified


Target Src/Dst File Address: user specified
Message Length In Elements: 10
Message Timeout (seconds): 5

Comentarios

El canal se establece a 1 porque el comando original es iniciado por un procesador


SLC 5/04 en la red DH+.

El nodo receptor es el procesador SLC 5/04 en la dirección de nodo DH+ 29


decimal (34 octal).

8–56
Instrucciones de comunicación

Ejemplo 6 – Transferencia usando un integrado pirámide para encaminar una instrucción


de mensaje

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

+
!&)!  $ 
!&)!  $  
 '

 '"

Procesador SLC 5/04 (B) a procesador SLC 5/04 (A) via un integrador de pirámide usando
el encaminamiento PI

Type: Peer–to–Peer
Read/Write: Read
Target Device: 500 CPU
Local/Remote: Remote
Control Block: user specified
Channel: 1
Target Node: 7
Remote Bridge Link Id <dec>: 1
Remote Bridge Node Address: 0
Local Bridge Node Address: 13
Destination/Source File Addr: user specified
Target Src/Dst File Address: user specified
Message Length In Elements: 15
Message Timeout (seconds): 5

Comentarios
El canal se establece a 1 porque el comando original es iniciado por un procesador
SLC 5/04 en la red DH+.
El nodo receptor es el procesador SLC 5/04 en la dirección de nodo 7.
La identificación de vínculo del puente remoto es el vínculo con el procesador
SLC 5/04 (identificación de vínculo 1).
La dirección de nodo del puente remoto se establece a 0 (no usado) porque la
comunicación es de un dispositivo con capacidades de Internet a otro dispositivo
con capacidades de Internet.
La dirección de nodo del puente local se establece a 13 decimal (15 octal) porque
ésta es la dirección de nodo DH+.

8–57

Manual de referencia del juego de instrucciones

Ejemplo 7 –
!(&%(!)!+% 
!(&%(!)!+% 

%% 
%) %% 
%%  %)
%$)'%"%' #%*"'    
   %$)'%"%' #%*"' 
  
%%
/
 %)
+
 *!%
/ 
 %$ #.*"%  *!%
  / %%
%)

) ! ,- %% 


  /
/ 
 %$ #.*"%
  /

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
 !"   programación. Cuando se evalúa como verdadera, el escán de programa se
interrumpe para ejecutar la porción de comunicaciones de servicio del ciclo de
operación. Luego el escán se reanuda en la instrucción siguiente a la instrucción
SVC. Use esta instrucción para mejorar el rendimiento de comunicación de su
procesador SLC 5/02.

No se le permite colocar una instrucción SVC en una subrutina de interrupción STI,


interrupción de E/S ni fallo del usuario.

Los bits siguientes le permiten personalizar o monitorizar el servicio de


comunicaciones. Refiérase al capítulo 1 de este manual para obtener información
adicional acerca del archivo de estado.
• S:2/5 DH-485 Comando entrante pendiente
• S:2/6 DH-485 Respuesta de mensaje pendiente
• S:2/7 DH-485 Comando de mensaje saliente pendiente
• S:2/15 DH-485 Selección de servicio de comunicaciones

Uso de un procesador SLC 5/03 ó SLC 5/04


SVC
SERVICE COMMUNICATIONS Cuando usa un procesador SLC 5/03 ó SLc 5/04, la instrucción SVC opera según lo
Channel 0
Channel 1 expuesto anteriormente. Estos procesadores le permiten seleccionar un canal de
comunicación específico (0, 1 ó ambos) al que se debe dar servicio. No se le
permite colocar una instrucción SVC en una subrutina de fallo, DII, STI ni evento
 !"   de E/S.

Los bits de estado siguientes le permiten personalizar o monitorizar el servicio de


comunicaciones. Refiérase al apéndice B de este manual para obtener información
adicional acerca del archivo de estado.
Canal 1 Canal 0
                 
    !   
  !     
 
 
           
     

8–60
Instrucciones de comunicación

   
  
            
 
  
     
       


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.

   
  S:2
 ] [ (SVC)
7

Puede colocar este renglón después de una instrucción de escritura de mensaje.


S:2/7 se establece cuando la instrucción de mensaje se habilita y está esperando
(siempre que no se transmita un mensaje). Cuando S:2/7 se establece, la instrucción
SVC se evalúa como verdadera y el escán de programa se interrumpe para ejecutar
la porción de comunicaciones de servicio del escán de operación. Luego el escán se
reanuda en la instrucción siguiente a la instrucción SVC.

Este ejemplo sencillo asume que el bit de selección de servicio de comunicaciones


S:2/15 se ha puesto a cero y que ésta es la única instrucción MSG activa.
Nota Puede programar la instrucción SVC sin condiciones a través de los renglones.
Esta es la técnica normal de programación para la instrucción SVC.

El procesador SLC 5/03 ó SLC 5/04 puede pasar una instrucción MSG a través de
una red remota a su destino receptor. (Puede hacer un salto por una red.) El
procesador SLC 5/03 ó SLC 5/04 también puede pasar una instrucción MSG a la red
que existe en el otro lado del puente local.

8–61

Manual de referencia del juego de instrucciones

8–62
Instrucción proporcional integral derivativa

9 Instrucción proporcional integral


derivativa
Este capítulo describe la instrucción proporcional integral derivativa (PID).

Descripción general
3 3 3

PID
PID Esta es una instrucción de salida que controla las características físicas tales como la
Control Block
Process
Control
Variable
Variable
temperatura, presión, nivel líquido o régimen de caudal usando lazos de proceso.
Control Block Length 23

La instrucción PDI normalmente controla un lazo cerrado usando entradas de un



  

módulo de entrada análogico y proporcionando una salida a un módulo de salida
analógico. Para el control de temperatura, usted puede convertir la salida analógica
a una salida activada/desactivada de tiempo proporcional para impulsar una unidad
de calefacción o enfriamiento. Un ejemplo aparecen en las páginas 9–15 a 9–17.

La instrucción PID se puede operar en el modo temporizado o el modo STI. En el


modo temporizado, la instrucción actualiza su salida periódicamente a un régimen
seleccionado por el usuario. En el modo STI, la instrucción se debe colocar en una
subrutina de interrupción STI. Entonces actualiza su salida cada vez que se realiza
un escán de la subrutina STI. El intervalo de tiempo STI y el régimen de
actualización de lazo deben ser idénticos para que la ecuación se ejecute
correctamente.

9–1
Preface
Manual de referencia del juego de instrucciones

El concepto PID
El control en lazo cerrado PID retiene una variable de proceso a un punto de ajuste
deseado. Un ejemplo del régimen de caudal/nivel de fluido se muestra abajo.

Alimentación hacia
adelante o bias

Punto de ajuste Error


∑ Ecuación ∑
Régimen de caudal PID

Variable de Salida
proceso de
control

Detector
de nivel

Válvula de control

La ecuación PID controla el proceso enviando una señal de salida a la válvula de


control. Cuanto más grande sea el error entre el punto de ajuste y la entrada de
variable de proceso, tanto más grande es la señal de salida y vice versa. Un valor
adicional (alimentación hacia adelante o bias) se puede añadir a la salida de control
como offset. El resultado del cálculo PID (variable de control) impulsará la variable
de proceso que controla hacia el punto de ajuste.

9–2
Instrucción proporcional integral derivativa

La ecuación PID
La instrucción PID usa el algoritmo siguiente:

Ecuación estándar con ganancias dependientes:

Salida + K C [(E) ) 1ńT I ŕ(E)dt ) T D · D(PV)ńdt] ) bias

Las constantes de ganancia estándar son:

Término Rango (bajo a alto) Referencia


!!    

 !%"! $"#"$"!
"!&$""$  À
     !%"!
+$ !"  

   !'&"% #"$ $#&,! !&$
$%& !&"  À
     !'&"% #"$ $#&,!
+$ !"  $+ !    

 !'&"% $(&(
     !'&"%
À

À  #  "% $!"%  


 ) 
 '!"  &  $%& !&"  & ) $!"  $'$*" 
% %&!  

El término (régimen) derivativo proporciona la uniformización por medio de un


filtro de paso bajo. La frecuencia de corte del filtro es 16 veces mayor que la
frecuencia de ángulo del término derivativo.

Cómo introducir parámetros

Normalmente, la instrucción PID se coloca en un renglón sin lógica condicional. La


salida permanece a su último valor cuando el renglón es falso. El término integral
también se borra cuando el renglón es falso.
Nota La instrucción PID es un tipo de algortimo PID de sólo entero y no le permite
introducir valores de punto (coma) flotante para sus parámetros. Por lo tanto, si
intenta mover un valor de punto (coma) flotante a uno de los parámetros PID
usando la lógica de escalera, ocurrirá una conversión de punto (coma) flotante a
entero.

9–3

Manual de referencia del juego de instrucciones

Durante la programación, usted introduce las direcciones del bloque de control,


variable de proceso y variable de control después de colocar la instrucción PID en
un renglón:
• El bloque de control es un archivo que almacena los datos requeridos para
operar la instrucción. La longitud de archivo se fija a 23 palabras y se debe
introducir como dirección de archivo de entero. Por ejemplo, la introducción de
N10:0 asignará los elementos N10:0 a N10:22. La configuración del bloque de
control se ilustra en la página 9–11.
No escriba a las direcciones de bloque de control con otras instrucciones en su
programa excepto según lo descrito más adelante en este capítulo. Si vuelve a
usar un bloque de datos que fue asignado anteriormente para otro uso, es buena
práctica poner primero a cero los datos. Recomendamos que use un archivo de
datos único para contener sus bloques de control PID. Por ejemplo N10:0. Esto
evita el reuso imprevisto de las direcciones de bloque de control PID por otras
instrucciones en su programa.
• La variable de proceso PV es una dirección de elemento que almacena el
valor de entrada de proceso. Esta dirección puede ser la ubicación de la palabra
de entrada analógica donde el valor de la entrada A/D se almacena. Este valor
también podría ser un valor de entero si decide escanear su valor de entrada de
antemano al rango 0–16383.
• La variable de control CV es una dirección de elemento que almacena la
salida de la instrucción PID. El valor de salida tiene un rango de 0 a 16383;
16383 es el 100%. Esto es normalmente un valor de entero para que usted
pueda escalar el rango de entrada PID según el rango analógico específico que
su aplicación requiere.

La ilustración a continuación muestra una instrucción PID con direcciones típicas


para estos parámetros introducidos:

PID
PID
Control Block N10:0
Process Variable N10:28
Control Variable N10:29
Control Block Length 23

9–4
Instrucción proporcional integral derivativa

auto/manual: MANUAL ∗ time mode Bit: 1 TM


mode: TIMED ∗ auto/manual bit: 1 AM
control: E=SP–PV ∗ control mode bit: 0 CM
setpoint (SP): 0 0output limiting enabled bit: 0 OL
process (PV): 0 ∗ reset and gain range: 0 RG
scaled error: 0 ∗ scale setpoint flag: 0 SC
deadband: 0 loop update time too fast: 0 TF
output (CV): 0 %∗ derivitive (rate) action: 0 DA
DB, set when error is in DB: 0 DB
loop update: 0 [.01 secs] output alarm, upper limit: 0 UL
gain: 0 [/10] output alarm, lower limit: 0 LL
reset: 0 [/10 m/r] setpoint out of range: 0 SP
rate: 0 [/100 min] process var out of range: 0 PV
min scaled: 0 PID done: 0 DN
max scaled: 0
output (CV) limit: NO ∗ PID enabled: 0 EN
output (CV) min: 0 %
output (CV) max: 0 %

La columna izquierda en la ilustración anterior enumera otros parámetros de


instrucción PID que debe introducir.
• Automático/manual AM (palabra 0, bit 1) alterna entre automático y
manual. Automático indica que el PID controla la salida. (El bit se ha puesto a
cero.) Manual indica que el usuario establece el valor de salida. (El bit está
establecido.) Cuando haga ajustes, le recomendamos que efectúe los cambios
en el modo manual, seguido por un retorno al modo automático. El límite de
salida también se aplica en el modo manual.
• El modo TM (word 0, bit 0) alterna los valores temporizados y STI.
Temporizado indica que el PID actualiza su salida al régimen especificado en el
párametro de actualización del lazo.
Nota Cuando usa el modo temporizado, el tiempo de escán de su procesador debe ser
un mínimo de diez veces más rápido que el tiempo de actualización del lazo para
evitar inexactitudes o perturbaciones.

STI indica que el PID actualiza su salida cada vez que se escanea. Cuando
selecciona STI, la instrucción PID debe ser programada en una subrutina de
interrupción STI, y la rutina STI debe tener un intervalo de tiempo igual al
ajuste del parámetro de “actualización del lazo” PID. Establezca el período STI
en la palabra S:30. Por ejemplo, si el tiempo de actualización del lazo contiene
el valor 10 (para 100 ms), entonces el intervalo de tiempo STI también debe ser
igual a 10 (para 10 ms).
• El control CM (palabra 0, bit 2) alterna los valores E=SP–PV y E=PV–SP.
La acción directa (E=PV–SP) causa que la salida CV incremente cuando la
salida PV es mayor que el punto de ajuste SP (por ejemplo, una aplicación de
enfriamiento). La acción inversa (E=SP–PV) causa que la salida CV
incremente cuando la salida PV sea menor que el punto de ajuste SP (por
ejemplo, una aplicación de calefacción).

9–5

Manual de referencia del juego de instrucciones

– El punto de ajuste SP (palabra 2) es el punto de control deseado de la


variable del proceso. Puede cambiar este valor con las instrucciones en su
programa de escalera. Escriba el valor en la tercera palabra en el bloque de
control (por ejemplo, escriba el valor en N10:2 si su bloque de control es
N10:0). Sin escala, el rango de este valor es 0–16383. En caso contrario,
el rango es de escala mínima (palabra 8) a escala máxima (palabra 7),
– La ganancia Kc (palabra 3) es la ganancia proporcional, con un rango de
0.1 a 25.5 La regla general es establecer esta ganancia a la mitad del valor
necesario para causar que la salida oscile cuando los términos de
restablecimiento y régimen (abajo) se ponen a cero.
Específico para SLC 5/03 y SLC 5/04 – El rango válido es 0 a 32767. Esta
palabra no es afectada por el bit RG.

– El restablecimiento Ti (palabra 4) es la ganancia integral, con un rango de


0.1 a 25.5 minutos por repetición. La regla general es establecer el tiempo
de restablecimiento para que sea igual al período natural medido en la
calibración de ganancia de arriba.
Específico para SLC 5/03 y SLC 5/04 – El rango válido es 0 a 32767
minutos/repetición. Anote que el valor 1 añadirá el término integral
mínimo posible en la ecuación PID.

– Régimen Td (palabra 5) es el término derivativo. El rango de ajuste es


0.01 a 2.55 minutos. La regla general es establecer este valor a 1/8 del
tiempo integral de arriba.
Específico para SLC 5/03 and SLC 5/04 – El rango válido es 0 a 32767
minutos.

– Escala máxima Smax (palabra 7) – Si el punto de ajuste debe ser leído en


unidades de ingeniería, entonces este parámetro corresponde al valor del
punto de ajuste en unidades de ingeniería cuando la entrada de control es
16383. El rango válido es ±16383 a +16383.
Específico para SLC 5/03 y SLC 5/04 – El rango válido es ±32768 a
+32767.

– Escala mínima Smin (palabra 8) – Si el punto de ajuste debe ser leído en


unidades de ingeniería, este parámetro corresponde al valor del punto de
ajuste en unidades de ingeniería cuando la entrada de control es cero. El
rango válido es ±16383 a +16383.
Específico SLC 5/03 y SLC 5/04 – El rango válido ±32768 a 32767.
Nota La escala Smin – Smax le permite introducir el punto de ajuste en unidades
de ingeniería. La banda muerta, error y PV se mostrarán en unidades de
ingeniería. Todavía se espera que el PV de la variable de proceso se
encuentre dentro del rango de 0 a 16383. El uso de Smin – Smax no
minimiza la resolución PV PID.

9–6
Instrucción proporcional integral derivativa

Específico para SLC 5/03 y SLC 5/04: Los errores con escala mayores que
+32767 ó menores que ±32768 no se pueden representar. Si el error con
escala es mayor que +32767, se representa como +32767. Si el error con
escala es menor que ±32768, se representa como ±32768.

– La banda muerta DB (palabra 9) es un valor no negativo. La banda


muerta se extiende sobre y debajo el punto de ajuste según el valor que
usted introduce. La banda muerta se introduce en la intersección con cero
de la variable de proceso PV y el punto de ajuste SP. Esto significa que la
banda muerta estará en efecto sólo después que la variable de proceso PV
entre en la banda muerta y pase a través del punto de ajuste SP.
El rango válido es 0 a la escala máxima ó 0 a 16383 cuando no hay escala.

– Actualización del lazo (palabra 13) es el intervalo de tiempo entre los


cálculos PID. La entrada es en intervalos de 0.01 segundo. La regla
general es introducir un tiempo de actualización del lazo cinco a diez veces
más rápido que el período natural de la carga (determinado poniendo los
parámetros de restablecimiento y régimen a cero y luego incrementando la
ganancia hasta que la salida comience a oscilar). En el modo STI, este
valor debe ser igual al valor de intervalo de tiempo STI de S:30.
El rango válido es 1 a 2.55 segundos.
Específico para SLC 5/03 y SLC 5/04 – El rango válido es 0.01 a 10.24
segundos.

– El proceso con escala PV (palabra 14) se usa para la muestra en pantalla


únicamente. Este es el valor con escala de la variable de proceso (la
entrada analógica). Sin escala, el rango de este valor es 0–16383. Si no, el
rango es de escala mínimia (palabra 8) a escala máxima (palabra 7).

– Error con escala (palabra 15) se usa para visualización solamente. Este es
el error de escala según es seleccionado por el parámetro de modo de
control. Rango: escala máxima a –escala mínima, ó 16383 a –16383
cuando no hay escala.
Nota Específico para SLC 5/03 y SLC 5/04: Los errores con escala mayores que
+32767 ó menores que ±32768 no se pueden representar. Si el error con
escala es mayor que +32767, se representa como +32767. Si el error con
escala es menor que ±32768, se representa como ±32768.

9–7
Preface
Manual de referencia del juego de instrucciones

– La salida CV% (palabra 16) muestra la salida CV real de 0 a 16383 en


términos de porcentaje. (El rango es 0 a 100%.) Si usted seleccionó el
modo AUTO con la tecla de llave F1, es para la visualización únicamente.
Si seleccionó el modo manual y usa un monitor de datos APS, puede
cambiar la salida CV% y el cambio se aplicará a CV. El escribir a la salida
CV% con su programa de usuario o un dispositivo de programación no
inteligente no afectará el CV. Cuando usa un dispositivo que no sea APS,
debe escribir directamente a CV que tiene un rango de 0 a 16383.

• El límite de salida (CV) OL (palabra 0, bit 3) alterna entre Sí y No.


Seleccione Sí, si desea limitar la salida a los valores mínimos y máximos.

SI (1) NO (0)
salida CV% límite de salida CV% seleccionado límite de salida CV% cancelado

#      "        "
     #   "   "     
       "     # 
           #$            #$
 "      "      
   #  
•    "      
  !
•          #
   "  

"       "        "
     "    "   "     
       "     # 
        "           "  
   "         
•    "      #  

 !
•          #

   "  

9–8
Instrucción proporcional integral derivativa

Indicadores de instrucción PID


auto/manual: AUTO ∗ time mode Bit: 1 TM
mode: STI ∗ auto/manual bit: 0 AM
control: E=SP–PV ∗ control mode bit: 0 CM
setpoint (SP): 500 0output limiting enabled bit: 1 OL
process (PV): 0 ∗ reset and gain range: 0 RG
scaled error: 0 scale setpoint flag: 0 SC
deadband: 5 loop update time too fast: 0 TF
output (CV): 0 %∗ derivitive (rate) action: 0 DA
DB, set when error is in DB: 0 DB
loop update: 50 [.01 secs] output alarm, upper limit: 0 UL
gain: 25 [/10] output alarm, lower limit: 0 LL
reset: 10 [/10 m/r] setpoint out of range: 0 SP
rate: 1 [/100 min] process var out of range: 0 PV
min scaled: 0 PID done: 0 DN
max scaled: 1000
output (CV) limit: NO ∗ PID enabled: 0 EN
output (CV) min: 0 %
output (CV) max: 0 %

La columna derecha de la pantalla anterior muestra varios indicadores asociados con


la instrucción PID. La sección siguiente describe estos indicadores:
• El bit de modo de tiempo TM (palabra 0, bit 0) especifica el modo PID. Se
establece cuando el modo TEMPORIZADO está en efecto. Se pone a cero
cuando el modo STI está en efecto. Este bit se puede establecer o poner a cero
por medio de instrucciones en su programa de escalera.
• El bit manual/automático AM (palabra 0, bit 01) especifica la operación
automática cuando se pone a cero y la operación manual cuando se establece.
Este bit puede ser establecido o poner a cero por medio de instrucciones en su
programa de escalera.
• El bit de modo de control CM (palabra 0, bit 02) se pone a cero si el control
es E=SP–PV. Se establece si el control es E=PV–SP. Este bit se puede
establecer o poner a cero por medio de instrucciones en su programa de
escalera.
• El bit de límite de salida habilitado OL (palabra 0, bit 03) se establece
cuando ha seleccionado limitar la variable de control usando la tecla de función
[F4]. Este bit se puede establecer o poner a cero por medio de instrucciones en
su programa de escalera.
• Específico para SLC 5/03 y SLC 5/04 – Bit de mejoramiento de
restablecimiento y rango de ganancia RG (palabra 0, bit 4) Cuando se
establece, este bit causa que el valor de restablecimiento de minuto/repetición y
el multiplicador de ganancia sean mejorados por un factor de 10 (multiplicador
de restablecimiento de .01 y multiplicador de ganancia de .01).
Ejemplo con el juego de bit 4 El valor de restablecimiento de 1 indica que el
valor integral de 0.01 minutos/repetición (0.6 segundos/repetición) se aplicará al
algoritmo integral PID. El valor de ganancia de 1 indica que el error será
multiplicado en 0.01 y aplicado al algoritmo PID.

9–9

Manual de referencia del juego de instrucciones

Cuando se pone a cero, este bit permite que el valor de restablecimiento de


minutos/repetición y el valor del multiplicador de ganancia sean evaluados en
las mismas unidades que la instrucción 5/02 PID (multiplicador de
restablecimiento de 0.1 y multiplicador de ganancia de 0.1).

Ejemplo con el juego de bit 4 El valor de restablecimiento de 1 indica que el


valor integral de 0.01 minutos/repetición (0.6 segundos/repetición) se aplicará al
algoritmo integral PID. El valor de ganancia de 1 indica que el error será
multiplicado en 0.01 y aplicado al algoritmo PID.

Observe que el multiplicador de régimen no es afectado por esta selección. (La


edición inicial del software, versión 4.0, puede no permitirle introducir este bit.
Sin embargo, puede alterar el estado de este bit directamente en el bloque de
control.)
• El indicador de punto de ajuste de escala SC (palabra 0, bit 05) se pone a
cero cuando se especifican los valores de escala del punto de ajuste.
• El tiempo de actualización del lazo demasiado rápido TF (palabra 0, bit
06) está establecido por el algoritmo PID si el tiempo de actualización del lazo
que ha especificado no puede ser realizado por el programa en cuestión (debido
a límites de tiempo de escán).
Si este bit está establecido, trate de corregir el problema actualizando su lazo
PID a un régimen más lento o moviendo la instrucción PID a una rutina de
interrupción STI. Las ganancias de restablecimiento y régimen aparecerán con
error si la instrucción funciona con este bit establecido.
• Bit de acción de derivativa (régimen) DA (palabra 0, bit 07) Cuando está
establecido, este bit causa que el cálculo de derivativa (régimen) sea evaluado
en el error en vez del PIV. Cuando se pone a cero, este bit permite que el
cálculo de derivativa (régimen) sea evaluado de la misma manera que la
instrucción 5/02 PID (donde la derivativa se realiza en el PIV). Este bit es
usado únicamente por los procesadores SLC 5/03 y SLC 5/04.
• DB, establecido cuando el error está en DB (palabra 0, bit 08) se establece
cuando la variable de proceso se encuentra dentro del rango de banda muerta de
intersección con 0.
• La alarma de salida, límite superior UL (palabra 0, bit 09) se establece
cuando el CV de de salida de control calculado excede el límite CV superior.
• La alarma de salida, límite inferior LL (palabra 0, bit 10) se establece
cuando el CV de salida de control calculado es menor que el límite CV inferior.
• El punto de ajuste fuera de rango SP (palabra 0, bit 11) se establece cuando
el punto de ajuste excede el valor con escala máximo o es menor que el valor
con escala mínimo.
• La variable de proceso fuera de rango PV (palabra 0, bit 12) se establece
cuando la variable de proceso sin escala (o sin procesar) excede 16838 ó es
menor que cero.
• El PID efectuado DN (palabra 0, bit 13) se establece en escanes donde el
algoritmo PID se calcula. Se calcula al régimen de actualización del lazo.
• El PID habilitado EN (palabra 0, bit 15) se establece mientras que el
renglón de la instrucción PID se habilita.

9–10
Instrucción proporcional integral derivativa

Configuración del bloque de control


La longitud del bloque de control se fija a 23 palabras y se debe programar como
archivo de entero. Los indicadores de instrucción PID (palabra 0) y otros
parámetros se ubican de la manera siguiente:

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

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
 !  $%(-  !  $%(-   $!    $! 
,  ( Dt  

, ,  ( Dt   $%(,  ( $%(,  (
Dt    Dt  

Dt    Dt  
 !  $%(-  !  $%(-
,  ( Dt   ,  ( Dt  
12H SLC 5/02 SLC 5/03 y SLC 5/04 SLC 5/02 SLC 5/03 and SLC 5/04
         
!" ! "  Kc  !" ! "  Kc   ! "! "  Kc a !" ! "  Kc 


,   Kc  

  Kc
 
!" ! "  Kc  
13H SLC 5/02 SLC 5/03 y SLC 5/04 SLC 5/02 SLC 5/03 and SLC 5/04
 $"  $"    $-    $-
"#$$  "#$$  " "#$$  Ti " "#$$  Ti
Ti  

Ti   a   Ti  

   Ti
14H SLC 5/02 SLC 5/03 y SLC 5/04 SLC 5/02 SLC 5/03 y SLC 5/04
 "&$&  "&$&      
"* Td  

"* Td   "&$& "* Td "&$& "* Td


   Td  

   Td
21H  $   %#$   # )' Smax     ,   !$   %#$   # )' Smax 
(SLC 5/02 solamente)  $   %#$   # )' Smax         Smax    
22H  $   %#$   # + Smin     ,   !$   %#$   # + Smin 
(SLC 5/02 solamente)  $   %#$   # + Smin         Smin  Smax    
23H %$  %#$   # +   !%$  %#$   # + Smin 
Smin  !%$  %#$   # )' Smax     Smin  Smax    
SLC 5/03 y SLC 5/04   + 

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  +) " )" " &+$*%  !+)* -  +) " )"  &+$*%  !+)* $*%$)
Smin  &+$*%  !+)* SP  Smax % #  " &+$*%  !+)* SP a Smin  SP 
Smax %
 $% +) " )"  &+$*%  !+)* -
  &+$*%  !+)* SP  

  $% +) " )"  &+$*%  !+)* $*%$)
#  " &+$*%  !+)* SP    SP  


$*%$) +($* " !+ 1$ $  " " ".% 
%+(( )* ((%( - ) )*"  *   &"(
 " "%'+  %$*(%"  $ #(% +($* "
!+ 1$ )+) + $* " ".%  ) )
$*(%+ +$ &+$*%  !+)*  ".% $,/" % "
".%  %$* $2 !+*$% %$ " +)% " &+$*%
 !+)* $*( %( - ) )*"  *   &"(
 " "%'+  %$*(%"
41H )" )" %$ " 1$  )" )" )" %$ " 1$  )"
$" $"
 Banda muerta   1  Banda muerta   1 #  " banda #  " banda
muerta    banda muerta a   banda
muerta  (Smax - muerta  

Smin)  

 Banda muerta   Banda muerta 


(Smax Ć Smin) %  $ 


 Banda muerta 


)&0 % &(
 
51H  Límite de salida alta   1 #  " límite de salida alta 
) Límite de salida alta     límite de salida alta  
52H  Límite de salida baja   1 #  " límite de salida baja    límite de
) Límite de salida baja   salida baja  límite de salida alta  
53H Límite de salida baja  límite de salida alta #  " límite de salida baja a   límite de
salida baja  límite de salida alta  
60H     )*/ ) $% $*(%+ % &%( )3  $ +$ #0$ #%  *() ".%)  $ )+
+$ ,. " ".%  + $*((+#& % &%( +$ &(%(# +$% $ " &(%(# &( $ &" % ( ,%
$*((+& 1$   " +"  )+ ,. ) $*((+#3  )+(+* $ +$% $ +$ ( ,%  $*((+& 1$
&  &%( " $*((+& 1$     - +$% $ " ( ,%  )+(+* $ 
 "*(( )+ &(%(#  )"( - " # $(
" &%) " $ # $*%  "%) ".%) 

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