12.05.2013 Views

1747-6.15ES, Juego de instrucciones de SLC 500 y MicroLogix ...

1747-6.15ES, Juego de instrucciones de SLC 500 y MicroLogix ...

1747-6.15ES, Juego de instrucciones de SLC 500 y MicroLogix ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Allen-Bradley<br />

<strong>Juego</strong> <strong>de</strong><br />

<strong>instrucciones</strong> <strong>de</strong><br />

<strong>SLC</strong> <strong>500</strong> y<br />

<strong>MicroLogix</strong> 1000<br />

(Nos. <strong>de</strong> cat. <strong>1747</strong>-L511,<br />

<strong>1747</strong>-L514, <strong>1747</strong>-L524,<br />

<strong>1747</strong>-L532, <strong>1747</strong>-L541,<br />

<strong>1747</strong>-L542, <strong>1747</strong>-L543, y<br />

controladores <strong>de</strong> boletín 1761)<br />

Manual <strong>de</strong><br />

referencia


Información importante para el usuario<br />

Debido a la variedad <strong>de</strong> usos <strong>de</strong> los productos <strong>de</strong>scritos en esta publicación, las<br />

personas responsables <strong>de</strong> la aplicación y uso <strong>de</strong> este equipo <strong>de</strong> control <strong>de</strong>ben<br />

asegurarse <strong>de</strong> que se hayan seguido todos los pasos necesarios para que cada<br />

aplicación y uso cumplan con todos los requisitos <strong>de</strong> rendimiento y seguridad,<br />

incluyendo leyes, reglamentaciones, códigos y normas aplicables.<br />

Los ejemplos <strong>de</strong> ilustraciones, gráficos, programas y esquemas mostrados, en esta<br />

guía tienen la única intención <strong>de</strong> ilustrar el texto. Debido a las muchas variables y<br />

requisitos asociados con cualquier instalación particular, Allen-Bradley no pue<strong>de</strong><br />

asumir responsabilidad u obligación (incluyendo responsabilidad <strong>de</strong> propiedad<br />

intelectual) por el uso real basado en los ejemplos mostrados en esta publicación.<br />

La publicación <strong>de</strong> Allen-Bradley SGI-1.1, Safety Gui<strong>de</strong>lines for the Application,<br />

Installation, and Maintenance of Solid State Control (disponible en la oficina <strong>de</strong><br />

Allen-Bradley local), <strong>de</strong>scribe algunas diferencias importantes entre equipos<br />

transistorizados y dispositivos electromecánicos, las cuales <strong>de</strong>ben tomarse en<br />

consi<strong>de</strong>ración al usar productos tales como los <strong>de</strong>scritos en esta publicación.<br />

Está prohibida la reproducción total o parcial <strong>de</strong> los contenidos <strong>de</strong> esta publicación<br />

<strong>de</strong> propiedad exclusiva sin el permiso escrito <strong>de</strong> Allen-Bradley Company, Inc.<br />

En este manual hacemos anotaciones para advertirle sobre consi<strong>de</strong>raciones <strong>de</strong><br />

seguridad:<br />

I<strong>de</strong>ntifica información o prácticas o circunstancias que pue<strong>de</strong>n producir<br />

lesiones personales o incluso la muerte, daños materiales o pérdidas<br />

económicas.<br />

Las notas <strong>de</strong> “Atención” le ayudan a:<br />

• i<strong>de</strong>ntificar un peligro<br />

• evitar un peligro<br />

• reconocer las consecuencias<br />

Nota I<strong>de</strong>ntifica información crítica para una correcta aplicación y entendimiento<br />

<strong>de</strong>l productol.<br />

<strong>SLC</strong> <strong>500</strong>, <strong>SLC</strong> 5/01, <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03, <strong>SLC</strong> 5/04, <strong>MicroLogix</strong>, PanelView, RediPANEL, Dataliner, DH+,<br />

Data Highway Plus son marcas comerciales <strong>de</strong> Allen-Bradley Company, Inc.<br />

Gateway 2000 es una marca comercial <strong>de</strong> Gateway 2000, Inc.<br />

VERSA es una marca comercial <strong>de</strong> Nippon Electric Co. Information Systems Inc.


Tabla <strong>de</strong> contenido<br />

Tabla <strong>de</strong> contenido<br />

Prefacio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-1<br />

Quién <strong>de</strong>be usar este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-2<br />

Propósito <strong>de</strong> este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-2<br />

Contenido <strong>de</strong> este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-3<br />

Documentación asociada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-5<br />

Técnicas comunes usadas en este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P-6<br />

1 Instrucciones básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1<br />

Instrucciones <strong>de</strong> bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1<br />

Instrucciones <strong>de</strong>l temporizador/contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–2<br />

Acerca <strong>de</strong> las <strong>instrucciones</strong> básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–2<br />

Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–3<br />

Archivos <strong>de</strong> datos <strong>de</strong> salida y entrada (archivos O:0 e I:1) . . . . . . . . . . . . . . . . . . . . . . . 1–3<br />

Archivo <strong>de</strong> estado (archivo S2:) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–4<br />

Archivo <strong>de</strong> datos <strong>de</strong> bit (B3:) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–5<br />

Archivos <strong>de</strong> datos <strong>de</strong> temporizador y contador (T4: y C5:) . . . . . . . . . . . . . . . . . . . . . . 1–5<br />

Archivo <strong>de</strong> datos <strong>de</strong> control (R6:) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–6<br />

Archivo <strong>de</strong> datos enteros (N7:) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–7<br />

Examine si cerrado (XIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–9<br />

Examine si abierto (XIO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–9<br />

Active la salida (OTE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–10<br />

Enclavamiento <strong>de</strong> salida (OTL) y <strong>de</strong>senclavamiento <strong>de</strong> salida (OTU) . . . . . . . . . . . . . . . . 1–11<br />

Cómo usar OTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–11<br />

Cómo usar OTU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–11<br />

One–Shot Rising (OSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12<br />

Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12<br />

Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> temporizador . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15<br />

Valor <strong>de</strong>l acumulador (.ACC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15<br />

Valor preseleccionado (.PRE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15<br />

Base <strong>de</strong> tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15<br />

Precisión <strong>de</strong>l temporizador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–16<br />

Estructura <strong>de</strong> direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–16<br />

Ejemplos <strong>de</strong> direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–17<br />

Temporizador a la conexión (TON) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

1–18<br />

i


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

ii<br />

Uso <strong>de</strong> los bits <strong>de</strong> estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–18<br />

Temporizador a la <strong>de</strong>sconexión (TOF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–19<br />

Uso <strong>de</strong> los bits <strong>de</strong> estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–19<br />

Temporizador retentivo (RTO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–21<br />

Uso <strong>de</strong> los bits <strong>de</strong> estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–21<br />

Uso <strong>de</strong> los contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–23<br />

Elementos <strong>de</strong>l archivo <strong>de</strong> datos <strong>de</strong>l contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–23<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–23<br />

Valor acumulado (.ACC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–23<br />

Valor preseleccionado (PRE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–24<br />

Estructura <strong>de</strong> direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–24<br />

Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–25<br />

Cómo funcionan los contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–26<br />

Conteo progresivo (CTU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–26<br />

Uso <strong>de</strong> los bits <strong>de</strong> estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–27<br />

Conteo regresivo (CTD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–28<br />

Uso <strong>de</strong> los bits <strong>de</strong> estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–28<br />

Contador <strong>de</strong> alta velocidad (HSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–29<br />

Operación <strong>de</strong>l contador <strong>de</strong> alta velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–29<br />

Elementos <strong>de</strong> datos <strong>de</strong>l contador <strong>de</strong> alta velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–31<br />

Ejemplo <strong>de</strong> aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–32<br />

Ejemplo <strong>de</strong> aplicación – Archivo 2<br />

(consulta <strong>de</strong>l bit DN en el programa principal) . . . . . . . . . . . . . . . . . . . . . . 1–33<br />

Ejemplo <strong>de</strong> aplicación – Archivo 3 (ejecución <strong>de</strong> lógica HSC) . . . . . . . . . . . . . . . 1–33<br />

Restablecimiento (RES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–34<br />

Instrucciones básicas <strong>de</strong>l ejemplo <strong>de</strong> aplicación <strong>de</strong> la perforadora <strong>de</strong> papel . . . . . . . . . . . . 1–35<br />

Cómo añadir archivo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–35<br />

Cómo añadir el archivo 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–37<br />

2 Instrucciones <strong>de</strong> comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1<br />

Instrucciones <strong>de</strong> comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1<br />

Acerca <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2<br />

Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2<br />

Uso <strong>de</strong> direcciones <strong>de</strong> palabra in<strong>de</strong>xadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2<br />

Uso <strong>de</strong> direcciones <strong>de</strong> palabra indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2<br />

Igual (EQU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3<br />

No igual (NEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3<br />

Menor que (LES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–4<br />

Menor o igual que (LEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–4<br />

Mayor que (GRT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–5<br />

Mayor o igual que (GEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

2–5


Tabla <strong>de</strong> contenido<br />

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

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6<br />

Prueba <strong>de</strong> límite (LIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7<br />

Estado verda<strong>de</strong>ro/falso <strong>de</strong> la instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7<br />

Ejemplo <strong>de</strong> aplicación <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> comparación en la perforadora <strong>de</strong> papel . . . . . . . 2–9<br />

Cómo iniciar una subrutina en archivo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–9<br />

3 Instrucciones matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1<br />

Instrucciones matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1<br />

Acerca <strong>de</strong> las <strong>instrucciones</strong> matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3<br />

Descripción general <strong>de</strong> las <strong>instrucciones</strong> matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3<br />

Uso <strong>de</strong> las direcciones <strong>de</strong> palabra in<strong>de</strong>xadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3<br />

Uso <strong>de</strong> las direcciones <strong>de</strong> palabra indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4<br />

Bit <strong>de</strong> interrupción por overflow, S:5/0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4<br />

Cambios <strong>de</strong>l registro matemático S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4<br />

Uso <strong>de</strong>l archivo <strong>de</strong> datos <strong>de</strong> punto (coma) flotante (F:8) . . . . . . . . . . . . . . . . . . . . . . . . 3–5<br />

Añadir (ADD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–6<br />

Actualizaciones <strong>de</strong> bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–6<br />

Restar (SUB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7<br />

Adición y sustracción <strong>de</strong> 32 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–8<br />

Bit <strong>de</strong> selección <strong>de</strong> overflow matemático S:2/14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–8<br />

Ejemplo <strong>de</strong> adición <strong>de</strong> 32 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–9<br />

Multiplicar (MUL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11<br />

Cambios <strong>de</strong>l registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11<br />

Dividir (DIV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12<br />

Cambios <strong>de</strong>l registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12<br />

División doble (DDV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13<br />

Cambios <strong>de</strong>l registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13<br />

Borrar (CLR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14<br />

Raíz cuadrada (SQR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14<br />

Cómo escalar con parámetros (SCP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

3–15<br />

iii


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

iv<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–15<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–16<br />

Ejemplos <strong>de</strong> aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–16<br />

Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–16<br />

Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–17<br />

Escala <strong>de</strong> datos (SCL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–18<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–18<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–18<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–19<br />

Ejemplo <strong>de</strong> aplicación 1 – Conversión <strong>de</strong> una señal <strong>de</strong> entrada analógica <strong>de</strong><br />

4 mA–20 mA en una variable <strong>de</strong> proceso PID . . . . . . . . . . . . . . . . . . . . . . . 3–19<br />

Cómo calcular la relación lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–20<br />

Ejemplo <strong>de</strong> aplicación 2 – Cómo escalar una entrada analógica para controlar<br />

una salida analógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–20<br />

Cómo calcular la relación lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–21<br />

Cómo calcular la relación lineal <strong>de</strong>splazada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–22<br />

Absoluto (ABS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–24<br />

Cómo introducir los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–24<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–24<br />

Calcular (CPT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–25<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–25<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–25<br />

Ejemplo <strong>de</strong> aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–26<br />

Intercambio (SWP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–27<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–27<br />

Arco seno (ASN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–28<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–28<br />

Arco coseno (ACS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–29<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–29<br />

Arco tangente (ATN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–29<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–29<br />

Coseno (COS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–30<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–30<br />

Logaritmo natural (LN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–30<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–30<br />

Logaritmo a la base 10 (LOG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–31<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–31<br />

Seno (SIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–31<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–31<br />

Tangente (TAN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–32<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

3–32


Tabla <strong>de</strong> contenido<br />

X a la potencia <strong>de</strong> Y (XPY) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–33<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–33<br />

Instrucciones matemáticas en el ejemplo <strong>de</strong> aplicación <strong>de</strong> la perforadora <strong>de</strong> papel . . . . . . . 3–34<br />

Cómo añadir el archivo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–35<br />

4 Instrucciones <strong>de</strong> manejo <strong>de</strong> datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1<br />

Acerca <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> manejo <strong>de</strong> datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–2<br />

Convertir en BCD (TOD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–3<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–3<br />

Cambios <strong>de</strong>l registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–3<br />

Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–4<br />

Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–4<br />

Convertir <strong>de</strong> BCD (FRD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–6<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–6<br />

Cambios <strong>de</strong>l registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–7<br />

Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–7<br />

Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–8<br />

Radianes en grados (DEG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–10<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–10<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–10<br />

Grados en radianes (RAD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–11<br />

Cómo introducir los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–11<br />

Actaulizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–11<br />

Descodificar 4 a 1 <strong>de</strong> 16 (DCD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–12<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–12<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–12<br />

Codificar 1 <strong>de</strong> 16 a 4 (ENC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–13<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–13<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–14<br />

Instrucciones para copiar el archivo (COP) y llenar el archivo (FLL) . . . . . . . . . . . . . . . . . 4–15<br />

Uso <strong>de</strong> COP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–15<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–15<br />

Uso <strong>de</strong> FLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–17<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–17<br />

Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> mover y lógicas . . . . . . . . . . . . . . . . . . . . . . . . 4–19<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19<br />

Uso <strong>de</strong> direcciones <strong>de</strong> palabra in<strong>de</strong>xadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19<br />

Uso <strong>de</strong> direcciones <strong>de</strong> palabra indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–19<br />

Cambios <strong>de</strong>l registro matemático, S:13 y S:14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

4–19<br />

v


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

vi<br />

Mover (MOV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–20<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–20<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–20<br />

Mover con máscara (MVM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–21<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–21<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–21<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–22<br />

Y (AND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–23<br />

Tabla <strong>de</strong> verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–23<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–23<br />

O (OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–24<br />

Tabla <strong>de</strong> verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–24<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–24<br />

O exclusivo (XOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–25<br />

Tabla <strong>de</strong> verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–25<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–25<br />

No (NOT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–26<br />

Tabla <strong>de</strong> verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–26<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–26<br />

Negar (NEG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–27<br />

Actualizaciones <strong>de</strong> bits <strong>de</strong> estado aritmético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–27<br />

Descripción general <strong>de</strong> las <strong>instrucciones</strong> FIFO y LIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–28<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–28<br />

Efectos en el registro <strong>de</strong> índice S:24<br />

Carga FIFO (FFL)<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–29<br />

Descarga FIFO (FFU)<br />

Carga LIFO (LFL)<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–30<br />

Descarga LIFO (LFU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–32<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos en el ejemplo <strong>de</strong> aplicación <strong>de</strong> la perforadora <strong>de</strong> papel . 4–34<br />

Añadir el archivo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–34<br />

5 Instrucciones <strong>de</strong> flujo <strong>de</strong> programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1<br />

Instrucciones <strong>de</strong> control <strong>de</strong> flujo <strong>de</strong> programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1<br />

Acerca <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> control <strong>de</strong> flujo <strong>de</strong> programa . . . . . . . . . . . . . . . . . . . . . . . . . 5–2<br />

Salto (JMP) y etiqueta (LBL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–3<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–3<br />

Uso <strong>de</strong> JMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–3<br />

Uso <strong>de</strong> LBL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–4<br />

Saltar a subrutina (JSR), subrutina (SBR), y retornar (RET) . . . . . . . . . . . . . . . . . . . . . . . . . 5–5<br />

Cómo anidar archivos <strong>de</strong> subrutina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–5<br />

Uso <strong>de</strong> JSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

5–6


Tabla <strong>de</strong> contenido<br />

Uso <strong>de</strong> SBR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–7<br />

Uso <strong>de</strong> RET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–7<br />

Restablecimiento <strong>de</strong> control maestro (MCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–8<br />

Operación <strong>de</strong>l procesador <strong>SLC</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–9<br />

Fin temporal (TND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–10<br />

Suspen<strong>de</strong>r (SUS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–11<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–11<br />

Entrada inmediata con máscara (IIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–12<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–12<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–12<br />

Salida inmediata con máscara (IOM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–13<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–13<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–13<br />

Regenerar I/S (REF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–14<br />

Uso <strong>de</strong> un procesador <strong>SLC</strong> 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–14<br />

Uso <strong>de</strong> procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–14<br />

Instrucciones <strong>de</strong> control <strong>de</strong> flujo <strong>de</strong> programa en el ejemplo <strong>de</strong> aplicación <strong>de</strong> la<br />

perforadora <strong>de</strong> papel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–15<br />

Cómo añadir el archivo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–15<br />

6 Instrucciones específicas <strong>de</strong> aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–1<br />

Instrucciones específicas <strong>de</strong> aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–1<br />

Acerca <strong>de</strong> las <strong>instrucciones</strong> específicas <strong>de</strong> aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–2<br />

Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> <strong>de</strong>splazamiento <strong>de</strong> bit . . . . . . . . . . . . . . . . . . . . 6–3<br />

Cómo introducir los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–3<br />

Efectos en el registro <strong>de</strong> índice S:24<br />

Desplazamiento <strong>de</strong> bit izquierdo (BSL)<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–4<br />

Desplazamiento <strong>de</strong> bit <strong>de</strong>recho (BSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–5<br />

Uso <strong>de</strong> BSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–5<br />

Uso <strong>de</strong> BSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–6<br />

Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> secuenciador . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–8<br />

Efectos en el registro <strong>de</strong> índice S:24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–8<br />

Aplicaciones que requieren más <strong>de</strong> 16 bits<br />

Salida <strong>de</strong> secuenciador (SQO)<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–8<br />

Comparación <strong>de</strong> secuenciador (SQC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–9<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–9<br />

Uso <strong>de</strong> SQO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–11<br />

Uso <strong>de</strong> SQC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–12<br />

Carga <strong>de</strong> secuenciador (SQL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–14<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–14<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

6–16<br />

vii


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

viii<br />

Instrucciones específicas <strong>de</strong> aplicación en el ejemplo <strong>de</strong> aplicación <strong>de</strong> la<br />

perforadora <strong>de</strong> papel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17<br />

7 Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad . . . . . . . . . . . . . . . . . 7–1<br />

Instrucciones <strong>de</strong>l contador <strong>de</strong> alta velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–1<br />

Acerca <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . 7–2<br />

Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad . . . . . . . . . . . . . . . . 7–3<br />

Elementos <strong>de</strong>l archivo <strong>de</strong> datos <strong>de</strong>l contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–3<br />

Uso <strong>de</strong> bits <strong>de</strong> estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–3<br />

Contador <strong>de</strong> alta velocidad (HSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–6<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–6<br />

Uso <strong>de</strong>l contador progresivo y el contador regresivo con restablecimiento<br />

y retención . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–8<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–8<br />

Contador progresivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–9<br />

Contador progresivo con restablecimiento y retención . . . . . . . . . . . . . . . . . . . . . . 7–10<br />

Uso <strong>de</strong>l contador bidireccional y el contador bidireccional con restablecimiento y<br />

retención . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–10<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–11<br />

Contador bidireccional (impulso/dirección) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–12<br />

Contador bidireccional con restablecimiento y retención (impulso/dirección) . . . . 7–13<br />

Contador bidireccional (conteo progresivo/regresivo) . . . . . . . . . . . . . . . . . . . . . . 7–13<br />

Contador bidireccional con restablecimiento y retención<br />

(conteo progresivo/regresivo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–14<br />

Uso <strong>de</strong>l contador bidireccional con restablecimiento y retención con codificador<br />

(enco<strong>de</strong>r) <strong>de</strong> cuadratura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–14<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–15<br />

Contador bidireccional (codificador [enco<strong>de</strong>r]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–17<br />

Contador bidireccional con restablecimiento y retención<br />

(codificador [enco<strong>de</strong>r]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–17<br />

Carga <strong>de</strong>l contador <strong>de</strong> alta velocidad (HSL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–18<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–18<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–18<br />

Restablecimiento <strong>de</strong>l contador <strong>de</strong> alta velocidad (RES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–21<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–21<br />

Acumulador <strong>de</strong> restablecimiento <strong>de</strong>l contador <strong>de</strong> alta velocidad (RAC) . . . . . . . . . . . . . . . 7–22<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–22<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–22<br />

Habilitación (HSE) e inhabilitación (HSD) <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad 7–23<br />

Uso <strong>de</strong> HSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–23<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

7–23


Tabla <strong>de</strong> contenido<br />

Uso <strong>de</strong> HSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–24<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–24<br />

Actualización <strong>de</strong>l acumulador <strong>de</strong> imagen <strong>de</strong>l contador <strong>de</strong> alta velocidad (OTE) . . . . . . . . . 7–24<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–24<br />

Lo que ocurre con el HSC cuando pasa al modo <strong>de</strong> marcha REM . . . . . . . . . . . . . . . . . . . . 7–25<br />

Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–26<br />

Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–27<br />

Ejemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–28<br />

Instrucciones <strong>de</strong>l contador <strong>de</strong> alta velocidad en el ejemplo <strong>de</strong> aplicación <strong>de</strong> la<br />

perforadora <strong>de</strong> papel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–29<br />

8 Instrucciones <strong>de</strong> comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–1<br />

Instrucciones <strong>de</strong> comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–1<br />

Acerca <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–2<br />

Descripción general <strong>de</strong> la instrucción <strong>de</strong> mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–3<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–3<br />

Bits <strong>de</strong>l archivo <strong>de</strong> estado relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–4<br />

Opciones <strong>de</strong> configuración disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–5<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–5<br />

Uso <strong>de</strong> los bits <strong>de</strong> estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–6<br />

Diagrama <strong>de</strong> temporización para una instrucción MSG exitosa <strong>de</strong>l <strong>SLC</strong> 5/02 . . . . . . . . . . . 8–7<br />

Configuración <strong>de</strong>l bloque <strong>de</strong> control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–9<br />

Ejemplos <strong>de</strong> aplicación para procesadores <strong>SLC</strong> 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–11<br />

Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–11<br />

Ejemplo 2 – Archivo <strong>de</strong> programa 2 <strong>de</strong>l procesador <strong>SLC</strong> 5/02 . . . . . . . . . . . . . . . . . . . 8–12<br />

Archivo <strong>de</strong> programa 2 <strong>de</strong>l procesador <strong>SLC</strong> 5/01 a nodo 3 . . . . . . . . . . . . . . . . . . . 8–14<br />

Ejemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–15<br />

Ejemplo 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–16<br />

Descripción general <strong>de</strong> la instrucción <strong>de</strong> mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–18<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–18<br />

Bits <strong>de</strong>l archivo <strong>de</strong> estado relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–19<br />

Opciones <strong>de</strong> configuración disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–20<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–21<br />

Uso <strong>de</strong> los bits <strong>de</strong> estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–22<br />

Configuraciones <strong>de</strong>l bloque <strong>de</strong> control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–24<br />

Diagrama <strong>de</strong> temporización para una instrucción exitosa <strong>de</strong>l <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 . . . . . . 8–26<br />

Códigos <strong>de</strong> error <strong>de</strong> la instrucción MSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

8–30<br />

ix


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

x<br />

Ejemplos <strong>de</strong> configuraciones usando la instrucción <strong>de</strong> mensaje . . . . . . . . . . . . . . . . . . . . . 8–32<br />

Uso <strong>de</strong> la lógica <strong>de</strong> escalera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–33<br />

Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–33<br />

Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–35<br />

Ejemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–37<br />

Ejemplo 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–39<br />

Uso <strong>de</strong> mensajes locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–41<br />

Ejemplo 1 – Lectura local <strong>de</strong> un <strong>500</strong>CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–41<br />

Ejemplo 2 – Lectura local <strong>de</strong> un 485CIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–42<br />

Ejemplo 3 – Lectura local <strong>de</strong> un PLC-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–43<br />

Uso <strong>de</strong> mensajes remotos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–45<br />

Ejemplo 1 – Comunicación con procesadores A–B usando un 1785-KA5 . . . . . . . 8–45<br />

Procesador <strong>SLC</strong> 5/04 (A) a procesador <strong>SLC</strong> 5/03 (C) vía 1785-KA5 . . . . . . . . . . . 8–45<br />

Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–45<br />

Procesador <strong>SLC</strong> 5/03 (C) a procesador <strong>SLC</strong> 5/04 (A) vía 1785-KA5 . . . . . . . . . . . 8–46<br />

Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–46<br />

Procesador <strong>SLC</strong> 5/03 (C) a un PLC-5 (B) vía 1785-KA5 . . . . . . . . . . . . . . . . . . . . 8–47<br />

Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–47<br />

Ejemplo 2 – Comunicación con procesadores A–B usando dos 1785-KA . . . . . . . 8–48<br />

Procesador <strong>SLC</strong> 5/04 (B) a procesador PLC5 (C) vía dos 1785-KA . . . . . . . . . . . . 8–48<br />

Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–48<br />

Procesador <strong>SLC</strong> 5/04 (B) a procesador <strong>SLC</strong> 5/04 (A) vía dos 1785-KA . . . . . . . . 8–49<br />

Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–49<br />

Ejemplo 3 – Transferencia vía canal 0 DH-485 <strong>de</strong>l procesador <strong>SLC</strong> 5/04 . . . . . . . 8–50<br />

Procesador <strong>SLC</strong> 5/04 (A) a procesador <strong>SLC</strong> 5/03 (D) vía un procesador<br />

<strong>SLC</strong> 5/04 (C) (transferencia usando canal 0 DH-485) . . . . . . . . . . . . . . . . . 8–50<br />

Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–50<br />

Procesador <strong>SLC</strong> 5/03 (D) a procesador <strong>SLC</strong> 5/04 (A) vía un procesador<br />

<strong>SLC</strong> 5/04 (C) (transferencia usando canal 0 DH-485) . . . . . . . . . . . . . . . . . 8–51<br />

Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–51<br />

Procesador <strong>SLC</strong> 5/03 (D) a PLC-5 (B) vía un procesador <strong>SLC</strong> 5/04<br />

(transferencia usando canal 0 DH-485) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–52<br />

Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–52<br />

Mensajes remotos (<strong>SLC</strong> 5/03 a un <strong>SLC</strong> <strong>500</strong>, <strong>SLC</strong> 5/01 ó <strong>SLC</strong> 5/02) . . . . . . . . . . . 8–53<br />

Ejemplo 4 – Transferencia vía canal 0 DF1 <strong>de</strong>l procesador <strong>SLC</strong> 5/04 . . . . . . . . . . 8–54<br />

Procesador <strong>SLC</strong> 5/04 (A) a procesador <strong>SLC</strong> 5/04 (D) vía dos procesadores<br />

<strong>SLC</strong> 5/04 (transferencia usando canal 0 DF1) . . . . . . . . . . . . . . . . . . . . . . . 8–54<br />

Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–54<br />

Ejemplo 5 – Transferencia vía canal 0 DH+ <strong>de</strong>l procesador <strong>SLC</strong> 5/04 . . . . . . . . . . 8–55<br />

Procesador <strong>SLC</strong> 5/04 (A) a procesador <strong>SLC</strong> 5/04 (C) vía un solo procesador<br />

<strong>SLC</strong> 5/04 (transferencia usando canal 0 DF1) . . . . . . . . . . . . . . . . . . . . . . . 8–55<br />

Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

8–55


Tabla <strong>de</strong> contenido<br />

Procesador <strong>SLC</strong> 5/04 (C) a procesador <strong>SLC</strong> 5/04 (A) vía un solo procesador<br />

<strong>SLC</strong> 5/04 (transferencia usando canal 0 DF1) . . . . . . . . . . . . . . . . . . . . . . . 8–56<br />

Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–56<br />

Procesador <strong>SLC</strong> 5/04 (C) a procesador <strong>SLC</strong> 5/04 (B) cuando la transferencia<br />

está habilitada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–56<br />

Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–56<br />

Ejemplo 6 – Transferencia usando un integrado pirámi<strong>de</strong> para encaminar<br />

una instrucción <strong>de</strong> mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–57<br />

Procesador <strong>SLC</strong> 5/04 (B) a procesador <strong>SLC</strong> 5/04 (A) via un integrador<br />

<strong>de</strong> pirámi<strong>de</strong> usando el encaminamiento PI . . . . . . . . . . . . . . . . . . . . . . . . . . 8–57<br />

Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–57<br />

Ejemplo 7 – . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–58<br />

Procesador <strong>SLC</strong> 5/03 a un procesador <strong>SLC</strong> 5/03<br />

(transferencia usando dos 1785-KA5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–58<br />

Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–58<br />

Comunicaciones <strong>de</strong> servicio (SVC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–60<br />

Uso <strong>de</strong> un procesador <strong>SLC</strong> 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–60<br />

Uso <strong>de</strong> un procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–60<br />

Servicio <strong>de</strong> canal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–61<br />

Ejemplo <strong>de</strong> aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–61<br />

9 Instrucción proporcional integral <strong>de</strong>rivativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–1<br />

Descripción general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–1<br />

El concepto PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–2<br />

La ecuación PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–3<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–3<br />

Indicadores <strong>de</strong> instrucción PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–9<br />

Configuración <strong>de</strong>l bloque <strong>de</strong> control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–11<br />

Errores <strong>de</strong> tiempo <strong>de</strong> ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–12<br />

Escala PID y E/S analógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–14<br />

Uso <strong>de</strong> la instrucción SCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–14<br />

Uso <strong>de</strong> la instrucción SCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–15<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–15<br />

Notas <strong>de</strong> aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–18<br />

Rangos <strong>de</strong> entrada/salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–18<br />

Escalado a unida<strong>de</strong>s <strong>de</strong> ingeniería . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–18<br />

Banda muerta (DB) <strong>de</strong> intersección con cero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–20<br />

Alarmas <strong>de</strong> salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–20<br />

Límite <strong>de</strong> salida con bloqueo <strong>de</strong> acción integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–21<br />

Modo manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–21<br />

Estado <strong>de</strong> renglón PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–22<br />

Alimentación hacia a<strong>de</strong>lante o bias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

9–23<br />

xi


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

xii<br />

Salidas <strong>de</strong> tiempo proporcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–23<br />

Ejemplo – Salidas <strong>de</strong> tiempo proporcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–24<br />

Sintonización PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–25<br />

Procedimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–25<br />

Cómo verificar el escalado <strong>de</strong>l sistema continuo . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–27<br />

Cómo <strong>de</strong>terminar el tiempo <strong>de</strong> actualización <strong>de</strong>l lazo inicial . . . . . . . . . . . . . . . . . 9–28<br />

10 Instrucciones ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–1<br />

Instrucciones ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–1<br />

Descripción general <strong>de</strong> ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–2<br />

Descripción general <strong>de</strong>l parámetro <strong>de</strong> protocolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–3<br />

Cómo usar el tipo <strong>de</strong> archivo <strong>de</strong> datos ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–4<br />

Cómo usar el tipo <strong>de</strong> archivo <strong>de</strong> datos <strong>de</strong> ca<strong>de</strong>na (ST . . . . . . . . . . . . . . . . . . . . . . . 10–4<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–6<br />

Prueba <strong>de</strong> búfer por línea (ABL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–7<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–7<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–7<br />

Número <strong>de</strong> caracteres en búfer (ACB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–8<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–8<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–9<br />

Ca<strong>de</strong>na a entero (ACI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–10<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–10<br />

Borrado <strong>de</strong>l búfer ASCII <strong>de</strong> recepción y/o transmisión (ACL) . . . . . . . . . . . . . . . . . . . . . 10–11<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–11<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–11<br />

Concatenado <strong>de</strong> ca<strong>de</strong>nas (ACN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–12<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–12<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–12<br />

Extracción <strong>de</strong> ca<strong>de</strong>na (AEX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–13<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–13<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–13<br />

Líneas <strong>de</strong> comunicación (AHL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–14<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–14<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–15<br />

Entero a ca<strong>de</strong>na (AIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–16<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–16<br />

Lectura <strong>de</strong> caracteres ASCII (ARD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–17<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–17<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–17<br />

Diagrama <strong>de</strong> temporización para una instrucción exitosa<br />

ARD, ARL, AWA y AWT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

10–19


Tabla <strong>de</strong> contenido<br />

Lectura ASCII <strong>de</strong> línea (ARL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–20<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–20<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–20<br />

Búsqueda <strong>de</strong> ca<strong>de</strong>na (ASC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–22<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–22<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–22<br />

Comparación <strong>de</strong> ca<strong>de</strong>na ASCII (ASR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–23<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–23<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–23<br />

Escritura ASCII con anexo (AWA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–24<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–24<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–24<br />

Cómo usar la indirección en línea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–26<br />

Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–26<br />

Escritura ASCII (AWT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–27<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–27<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–27<br />

Códigos <strong>de</strong> error <strong>de</strong> instrucción ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–29<br />

Tabla <strong>de</strong> conversión ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–31<br />

11 Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–1<br />

Rutinas <strong>de</strong> interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–1<br />

Descripción general <strong>de</strong> la rutina <strong>de</strong> fallo <strong>de</strong> usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–2<br />

Datos <strong>de</strong> archivo <strong>de</strong> estado guardados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–2<br />

Cómo crear una subrutina <strong>de</strong> fallo <strong>de</strong> usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–3<br />

Operación <strong>de</strong>l procesador <strong>SLC</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–3<br />

Operación <strong>de</strong>l procesador <strong>MicroLogix</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–3<br />

Ejemplo <strong>de</strong> aplicación <strong>de</strong> la rutina <strong>de</strong> interrupción <strong>de</strong> usuario . . . . . . . . . . . . . . . . . . . 11–4<br />

Rutina <strong>de</strong> fallo – Archivo <strong>de</strong> subrutina 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–4<br />

Archivo <strong>de</strong> subrutina 4 – Ejecutado para error 0020 . . . . . . . . . . . . . . . . . . . . . . . . 11–5<br />

Archivo <strong>de</strong> subrutina 5 – Ejecutado para error 0034 . . . . . . . . . . . . . . . . . . . . . . . . 11–6<br />

Descripción general <strong>de</strong> la interrupción temporizada seleccionable . . . . . . . . . . . . . . . . . . . 11–7<br />

Procedimiento <strong>de</strong> programación básico para la función STI . . . . . . . . . . . . . . . . . . . . . 11–7<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–8<br />

Contenido <strong>de</strong> la subrutina STI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–8<br />

Latencia <strong>de</strong> interrupción y coinci<strong>de</strong>ncias <strong>de</strong> interrupción . . . . . . . . . . . . . . . . . . . . . . . 11–9<br />

Procesadores <strong>SLC</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–9<br />

Microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–9<br />

Priorida<strong>de</strong>s <strong>de</strong> interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–10<br />

Datos <strong>de</strong> archivo <strong>de</strong> estado guardados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–11<br />

Parámetros STI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

11–11<br />

xiii


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

xiv<br />

Instrucciones STD y STE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–16<br />

Inhabilitación temporizada seleccionable – STD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–16<br />

Habilitación temporizada seleccionable – STE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–16<br />

Ejemplo <strong>de</strong> zona STD/STE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–16<br />

Inicio temporizado seleccionable (STS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–18<br />

Descripción general <strong>de</strong> la interrupción <strong>de</strong> entrada discreta . . . . . . . . . . . . . . . . . . . . . . . . 11–19<br />

Procedimiento <strong>de</strong> programación básico para la función DII . . . . . . . . . . . . . . . . . . . . 11–19<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–20<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–21<br />

Modo <strong>de</strong> contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–21<br />

Modo <strong>de</strong> evento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–21<br />

Contenido <strong>de</strong> la subrutina DII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–22<br />

Latencia <strong>de</strong> interrupción y coinci<strong>de</strong>ncias <strong>de</strong> interrupción . . . . . . . . . . . . . . . . . . . . . . 11–22<br />

Priorida<strong>de</strong>s <strong>de</strong> interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–23<br />

Datos <strong>de</strong> archivo <strong>de</strong> estado guardados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–23<br />

Reconfigurabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–24<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–24<br />

Parámetros DII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–25<br />

Ejemplo <strong>de</strong> aplicación <strong>de</strong> interrupción <strong>de</strong> entrada discreta . . . . . . . . . . . . . . . . . . . . . 11–28<br />

Diagrama <strong>de</strong> escalera para la aplicación <strong>de</strong> embotelladora . . . . . . . . . . . . . . . . . . 11–29<br />

Descripción general <strong>de</strong> interrupción <strong>de</strong> E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–30<br />

Procedimiento <strong>de</strong> programación básico para la función <strong>de</strong> interrupción <strong>de</strong> E/S . . . . . 11–30<br />

Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–31<br />

Contenido <strong>de</strong> la subrutina <strong>de</strong> interrupción (ISR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–31<br />

Latencia <strong>de</strong> interrupción y coinci<strong>de</strong>ncias <strong>de</strong> interrupción . . . . . . . . . . . . . . . . . . . . . . 11–31<br />

Priorida<strong>de</strong>s <strong>de</strong> interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–33<br />

Datos <strong>de</strong> archivo <strong>de</strong> estado guardados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–34<br />

Parámetros <strong>de</strong> interrupción <strong>de</strong> E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–35<br />

Inhabilitación <strong>de</strong> interrupción <strong>de</strong> E/S (IID) y habilitación <strong>de</strong> interrupción <strong>de</strong> E/S (IIE) . . 11–37<br />

Inhabilitación <strong>de</strong> interrupción <strong>de</strong> E/S – IID Habilitación <strong>de</strong> interrupción<br />

<strong>de</strong> E/S – IIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–37<br />

Operación IID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–38<br />

Operación IIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–38<br />

Ejemplo <strong>de</strong> zona IID/IIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–39<br />

Restablecimiento <strong>de</strong> interrupción pendiente (RPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–40<br />

Cómo introducir parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–40<br />

Subrutina <strong>de</strong> interrupción (INT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

11–41


Tabla <strong>de</strong> contenido<br />

12 Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación . . . . . . . . . . . . . . . . . . . . . . . . 12–1<br />

Protocolo <strong>de</strong> comunicación DH-485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–2<br />

Protocolo <strong>de</strong> la red DH-485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–2<br />

Rotación <strong>de</strong>l testigo DH-485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–2<br />

Inicialización <strong>de</strong> la red DH-485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–3<br />

Consi<strong>de</strong>raciones <strong>de</strong> software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–3<br />

Número <strong>de</strong> nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–3<br />

Establecimiento <strong>de</strong> direcciones <strong>de</strong> nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–4<br />

Establecimiento <strong>de</strong> la velocidad en baudios <strong>de</strong>l procesador . . . . . . . . . . . . . . . . . . 12–4<br />

Establecimiento <strong>de</strong> la dirección <strong>de</strong> nodo máxima . . . . . . . . . . . . . . . . . . . . . . . . . . 12–4<br />

Número máximo <strong>de</strong> dispositivos <strong>de</strong> comunicación . . . . . . . . . . . . . . . . . . . . . . . . . 12–4<br />

Parámetros <strong>de</strong> configuración DH-485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–5<br />

Protocolo <strong>de</strong> comunicación <strong>de</strong> Data Highway Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–7<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–7<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–8<br />

Parámetros <strong>de</strong> configuración <strong>de</strong> canal 1 <strong>de</strong> DH+<br />

(procesadores <strong>SLC</strong> 5/04 únicamente) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–9<br />

Descripción general <strong>de</strong> la palabra <strong>de</strong> estado global . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–10<br />

Bit <strong>de</strong> habilitación <strong>de</strong> transmisión <strong>de</strong> palabra <strong>de</strong> estado global S:34/3<br />

(<strong>SLC</strong> 5/04 con OS401) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–11<br />

Bit <strong>de</strong> habilitación <strong>de</strong> recepción <strong>de</strong> palabra <strong>de</strong> estado global S:34/4<br />

(<strong>SLC</strong> 5/04 con OS401) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–12<br />

Comunicación <strong>de</strong> PLC–5 a <strong>SLC</strong> <strong>500</strong> usando los comandos MSG <strong>de</strong> tipo PLC–2 . . . 12–14<br />

Cómo los procesadores PLC-5 direccionan datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–15<br />

Cómo usar el archivo CIF <strong>SLC</strong> <strong>500</strong> (emulación PLC-2) . . . . . . . . . . . . . . . . . . . . . . . 12–15<br />

Programación para manejar las diferencias <strong>de</strong> direccionamiento <strong>de</strong> palabra/byte . . . 12–16<br />

Cómo enviar un mensaje <strong>de</strong> tipo PLC-2 a un procesador PLC-5 usando el<br />

direccionamiento <strong>SLC</strong> <strong>de</strong> “palabra” (S:2/8 = 0) . . . . . . . . . . . . . . . . . . . . . 12–16<br />

Cómo enviar un mensaje <strong>de</strong> tipo PLC-2 a un procesador PLC-5 usando el<br />

direccionamiento <strong>de</strong> “byte” (S:2/8 = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–16<br />

Ejemplo – Cómo enviar un mensaje <strong>de</strong> tipo PLC-2 a procesadores PLC-5<br />

usando procesadores <strong>SLC</strong> direccionados por “palabra” (S:2/8 = 0) . . . . . 12–17<br />

Ejemplo – Cómo enviar un mensaje <strong>de</strong> tipo PLC-2 a un procesador PLC-5<br />

usando procesadores direccionados por “byte) (S:2/8 = 1) . . . . . . . . . . . . 12–17<br />

Procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 a comunicación PLC-5 usando comandos<br />

MSG <strong>SLC</strong> <strong>500</strong> ó PLC-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–18<br />

Protocolo <strong>de</strong> comunicación RS-232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–19<br />

Protocolo <strong>de</strong> full–duplex DF1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–19<br />

Parámetros <strong>de</strong> configuración <strong>de</strong> canal 0 <strong>de</strong> duplex total DF1 . . . . . . . . . . . . . . . . 12–20<br />

Protocolo maestro/esclavo <strong>de</strong> half–duplex DF1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–23<br />

Parámetros <strong>de</strong> configuración <strong>de</strong> canal 0 <strong>de</strong>l esclavo <strong>de</strong> half–duplex DF1 . . . . . . . 12–24<br />

Parámetros <strong>de</strong> configuración <strong>de</strong> canal 0 <strong>de</strong>l maestro <strong>de</strong> half–duplex DF1 . . . . . .<br />

12–25<br />

xv


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

xvi<br />

Consi<strong>de</strong>raciones cuando comunica como esclavo DF1 en un vínculo <strong>de</strong> múltiples<br />

conexiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–30<br />

Cómo usar mó<strong>de</strong>ms que tienen capacidad para protocolos <strong>de</strong> comunicación DF1 . . . . . . 12–31<br />

Mó<strong>de</strong>ms <strong>de</strong> línea telefónica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–31<br />

Mó<strong>de</strong>ms manuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–31<br />

Mó<strong>de</strong>ms <strong>de</strong> contestación automática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–31<br />

Mó<strong>de</strong>ms <strong>de</strong> <strong>de</strong>sconexión automática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–32<br />

Mó<strong>de</strong>ms <strong>de</strong> discado automático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–32<br />

Mó<strong>de</strong>ms con líneas arrendadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–32<br />

Mó<strong>de</strong>ms con discado DTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–32<br />

Mó<strong>de</strong>ms controladores <strong>de</strong> línea (corto alcance) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–33<br />

Mó<strong>de</strong>ms <strong>de</strong> radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–34<br />

Mó<strong>de</strong>ms <strong>de</strong> vínculo por satélite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–35<br />

Operación <strong>de</strong> línea <strong>de</strong> control <strong>de</strong> mó<strong>de</strong>m en los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 . . . . 12–35<br />

Full–duplex DF1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–35<br />

Half–duplex DF1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–36<br />

Parámetros <strong>de</strong> retardo <strong>de</strong> transmisión RTS y retardo <strong>de</strong> <strong>de</strong>sactivación RTS . . . . . . . . . . . 12–37<br />

Protocolo <strong>de</strong> comunicación ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–38<br />

Configuración <strong>de</strong> parámetro <strong>de</strong> canal 0 ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–38<br />

Cómo usar las características <strong>de</strong> transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–39<br />

Transferencia DH+ a DH-485 – (Todos los procesadores <strong>SLC</strong> 5/04) . . . . . . . . . . . . . 12–39<br />

Transferencia DF1 a DH+ – (Procesadores <strong>SLC</strong> 5/04 OS401 y posteriores) . . . . . . . 12–39<br />

Transferencia <strong>de</strong> E/S remota (Procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401) . . 12–39<br />

Consi<strong>de</strong>raciones cuando la transferencia DF1 a DH+ se habilita . . . . . . . . . . . . . . . . 12–40<br />

Cómo entrar en línea con un procesador <strong>SLC</strong> 5/04 usando el full–duplex DF1 . . 12–40<br />

Cómo transmitir un mensaje usando el full–duplex DF1 hacia un procesador<br />

<strong>SLC</strong> 5/04 con la transferencia DF1 a DH+ habilitada . . . . . . . . . . . . . . . . 12–40<br />

Cómo transmitir un mensaje usando el full–duplex DF1 <strong>de</strong>s<strong>de</strong> un procesador<br />

<strong>SLC</strong> 5/04 con la transferencia DF1 a DH+ habilitada . . . . . . . . . . . . . . . . 12–40<br />

Cómo comunicar <strong>de</strong>s<strong>de</strong> un procesador <strong>SLC</strong> 5/04 usando<br />

direccionamiento PLC-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–40<br />

13 Cómo localizar y corregir fallos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–1<br />

Cómo borrar fallos automáticamente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–1<br />

Procesadores <strong>SLC</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–1<br />

Controladores <strong>MicroLogix</strong> 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–2<br />

Cómo borrar fallos manualmente (procesadores <strong>SLC</strong>) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–3<br />

Cómo usar la rutina <strong>de</strong> fallo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–3<br />

Mensajes <strong>de</strong> fallo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–4<br />

Fallos <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–5<br />

Errores <strong>de</strong> encendido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–6<br />

Errores <strong>de</strong> ida a marcha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

13–7


Tabla <strong>de</strong> contenido<br />

Errores <strong>de</strong> marcha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–8<br />

Error <strong>de</strong> carga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–10<br />

Fallos <strong>de</strong>l procesador <strong>SLC</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–11<br />

Errores <strong>de</strong> encendido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–11<br />

Errores <strong>de</strong> ida a marcha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–12<br />

Errores <strong>de</strong> marcha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–13<br />

Errores <strong>de</strong> instrucción <strong>de</strong> programa <strong>de</strong> usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–17<br />

Cómo localizar y corregir fallos <strong>de</strong> los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 . . . . . . . . . . . 13–23<br />

Cómo encen<strong>de</strong>r la pantalla LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–23<br />

Cómo i<strong>de</strong>ntificar errores <strong>de</strong>l procesador durante la <strong>de</strong>scarga <strong>de</strong> un<br />

sistema <strong>de</strong> operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–23<br />

A Archivo <strong>de</strong> estado <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000 . . . . . . . . . . . . . . . . . . . . . . . . A–1<br />

Descripción general <strong>de</strong>l archivo <strong>de</strong> estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–2<br />

Descripciones <strong>de</strong> archivo <strong>de</strong> estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–3<br />

B Archivo <strong>de</strong> estado <strong>SLC</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–1<br />

Descripción general <strong>de</strong>l archivo <strong>de</strong> estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–2<br />

Convenciones usadas en las pantallas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–5<br />

C Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecución <strong>de</strong> instrucción . . . . . . . . . . . . . . . . . . . . . C–1<br />

Tiempos <strong>de</strong> ejecución <strong>de</strong> instrucción y uso <strong>de</strong> memoria <strong>de</strong> instrucción . . . . . . . . . . . . . . . . . C–2<br />

Controladores <strong>MicroLogix</strong> 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–2<br />

Latencia <strong>de</strong> interrupción <strong>de</strong> usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–5<br />

Cómo estimar el uso <strong>de</strong> memoria para el sistema <strong>de</strong> control <strong>MicroLogix</strong> 1000 . . . . . . . C–6<br />

Hoja <strong>de</strong> trabajo <strong>de</strong> tiempo <strong>de</strong> ejecución <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000 . . . . . . . . . . C–7<br />

Descripción general <strong>de</strong>l uso <strong>de</strong> memoria para los procesadores <strong>SLC</strong> . . . . . . . . . . . . . . . . . . C–8<br />

Tiempos <strong>de</strong> ejecución <strong>de</strong> instrucción y uso <strong>de</strong> memoria <strong>de</strong> instrucción . . . . . . . . . . . . . . . . . C–9<br />

Procesadores fijos y <strong>SLC</strong> 5/01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–9<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–11<br />

Cómo estimar el uso <strong>de</strong> memoria total <strong>de</strong>l sistema usando un procesador<br />

compacto o <strong>SLC</strong> 5/01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–12<br />

Continuación <strong>de</strong> procesadores fijos y <strong>SLC</strong> 5/01 . . . . . . . . . . . . . . . . . . . . . . . . . . . C–13<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–13<br />

Continuación <strong>de</strong> procesadores fijos y <strong>SLC</strong> 5/01 . . . . . . . . . . . . . . . . . . . . . . . . . . . C–14<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–14<br />

Procesador <strong>SLC</strong> 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–15<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–18<br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–19<br />

Cómo estimar el uso <strong>de</strong> memoria total <strong>de</strong>l sistema usando un procesador<br />

<strong>SLC</strong> 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–19<br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

C–20<br />

xvii


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

xviii<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–20<br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–21<br />

Instrucciones que tienen direcciones in<strong>de</strong>xadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–21<br />

Instrucciones que tienen direcciones <strong>de</strong> archivo <strong>de</strong> datos M0 y M1 . . . . . . . . . . . . . . . C–21<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–21<br />

Procesador <strong>SLC</strong> 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–22<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–27<br />

Tiempos <strong>de</strong> ejecución <strong>de</strong> punto (coma) flotante <strong>de</strong>l procesador <strong>SLC</strong> 5/03 . . . . . . . C–28<br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–30<br />

Cálculo aproximado <strong>de</strong>l uso <strong>de</strong> memoria <strong>de</strong>l sistema usando un procesador<br />

<strong>SLC</strong> 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–30<br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–31<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–31<br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–32<br />

Comparación <strong>de</strong> palabra <strong>de</strong> usuario entre el procesador <strong>SLC</strong> 5/03 ó<br />

<strong>SLC</strong> 5/04 y el procesador <strong>SLC</strong> 5/02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–32<br />

Palabras <strong>de</strong> instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–32<br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–33<br />

Palabras <strong>de</strong> datos – Archivos 0 y 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–33<br />

Palabras <strong>de</strong> datos – Archivo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–33<br />

Palabras <strong>de</strong> datos – Archivo 3 a 255 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–33<br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–34<br />

Instrucciones con direcciones in<strong>de</strong>xadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–34<br />

Instrucciones con direcciones <strong>de</strong> archivo <strong>de</strong> datos M0 y M1 . . . . . . . . . . . . . . . . . . . . C–34<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–34<br />

Procesador <strong>SLC</strong> 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–35<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–40<br />

Tiempos <strong>de</strong> ejecución <strong>de</strong> punto (coma) flotante <strong>de</strong>l procesador <strong>SLC</strong> 5/04 . . . . . . . C–41<br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–43<br />

Cálculo aproximado <strong>de</strong>l uso <strong>de</strong> memoria <strong>de</strong>l sistema usando un<br />

procesador <strong>SLC</strong> 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–43<br />

<strong>SLC</strong> 5/04 Processor Continued . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–44<br />

Instrucciones con direcciones in<strong>de</strong>xadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–44<br />

Instrucciones con direcciones <strong>de</strong> archivo <strong>de</strong> datos M0 y M1 . . . . . . . . . . . . . . . . . . . . C–44<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–44<br />

Instrucciones con direcciones indirectas a nivel <strong>de</strong> palabra . . . . . . . . . . . . . . . . . . . . . C–45<br />

Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–46<br />

Instrucciones con direcciones a nivel <strong>de</strong> bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–47<br />

Tiempos <strong>de</strong> ejecución <strong>de</strong> instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–48<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

C–48


Tabla <strong>de</strong> contenido<br />

D Tiempo <strong>de</strong> escán estimado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–1<br />

Ciclo <strong>de</strong> operación <strong>de</strong>l procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–2<br />

Tiempos <strong>de</strong> acceso para los datos M0/M1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–3<br />

Latencia <strong>de</strong> interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–4<br />

Cómo calcular la latencia <strong>de</strong> interrupción para <strong>SLC</strong> 5/03 . . . . . . . . . . . . . . . . . . . . . . . . D–5<br />

Interrupción temporizada seleccionable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–5<br />

Interrupción <strong>de</strong> entrada discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–5<br />

Interrupción <strong>de</strong> evento <strong>de</strong> E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–5<br />

Cómo calcular la latencia <strong>de</strong> interrupción para <strong>SLC</strong> 5/04 . . . . . . . . . . . . . . . . . . . . . . . . D–6<br />

Interrupción temporizada seleccionable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–6<br />

Interrupción <strong>de</strong> entrada discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–6<br />

Interrupción <strong>de</strong> evento <strong>de</strong> E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–6<br />

Ejemplo – Interrupción temporizada seleccionable <strong>de</strong>l procesador <strong>SLC</strong> 5/03 . . . . . . . . D–7<br />

Ejemplo – Interrupción temporizada seleccionable <strong>de</strong>l procesador <strong>SLC</strong> 5/04 . . . . . . . . D–7<br />

Hojas <strong>de</strong> trabajo <strong>de</strong> tiempo <strong>de</strong> escán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–8<br />

Definición <strong>de</strong> terminología <strong>de</strong> la hoja <strong>de</strong> trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–8<br />

Hoja <strong>de</strong> trabajo A – Cómo estimar el tiempo <strong>de</strong> escán <strong>de</strong>l controlador fijo . . . . . . . . . . D–9<br />

Hoja <strong>de</strong> trabajo B – Cómo estimar el tiempo <strong>de</strong> escán <strong>de</strong>l procesador <strong>1747</strong>-L511 ó<br />

<strong>1747</strong>-l514 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–11<br />

Hoja <strong>de</strong> trabajo C – Cómo estimar el tiempo <strong>de</strong> escán <strong>de</strong>l procesador <strong>1747</strong>-L524 . . . . D–13<br />

Hoja <strong>de</strong> trabajo D – Cómo calcular el tiempo <strong>de</strong> escán <strong>de</strong>l procesador <strong>1747</strong>-L532 . . . D–16<br />

Hoja <strong>de</strong> trabajo E – Cómo calcular el tiempo <strong>de</strong> escán <strong>de</strong>l procesador <strong>1747</strong>-L542 D–19<br />

Procesador <strong>SLC</strong> 5/03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–22<br />

Procesador <strong>SLC</strong> 5/04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–23<br />

Ejemplo <strong>de</strong> cálculo <strong>de</strong> tiempo <strong>de</strong> escán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–24<br />

Ejemplo: Hoja <strong>de</strong> trabajo B – Cómo calcular el tiempo <strong>de</strong> escán <strong>de</strong> una aplicación<br />

<strong>de</strong>l procesador <strong>1747</strong>-L511 ó <strong>1747</strong>-L514 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–26<br />

Continúa en la página siguiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D–26<br />

E Referencias <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–1<br />

Modos <strong>de</strong> direccionamiento válidos y tipos <strong>de</strong> archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–2<br />

Cómo compren<strong>de</strong>r los modos <strong>de</strong> direccionamientos diferentes . . . . . . . . . . . . . . . . . . . E–3<br />

Direccionamiento directo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–3<br />

Direccionamiento in<strong>de</strong>xado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–3<br />

Direccionamiento indirecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–3<br />

Direccionamiento indirecto in<strong>de</strong>xado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–3<br />

F Organización y direccionamento <strong>de</strong>l archivo <strong>de</strong> datos . . . . . . . . . . . . . . . . . . . . . . F–1<br />

Descripción <strong>de</strong> la organización <strong>de</strong>l archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–2<br />

Descripción general <strong>de</strong>l archivo <strong>de</strong> procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–2<br />

Archivos <strong>de</strong> programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–3<br />

Archivos <strong>de</strong> datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

F–3<br />

xix


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

xx<br />

Acceso y almacenamiento <strong>de</strong> los archivos <strong>de</strong> procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . F–4<br />

Descarga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–5<br />

Operación normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–6<br />

Apagado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–6<br />

Encendido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–7<br />

Cómo direccionar los archivos <strong>de</strong> datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–8<br />

Cómo especificar direcciones lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–8<br />

Direccionamiento <strong>de</strong> E/S para un controlador <strong>de</strong> E/S fijo . . . . . . . . . . . . . . . . . . . . F–10<br />

Direccionamiento <strong>de</strong> E/S para un controlador modular . . . . . . . . . . . . . . . . . . . . . . F–12<br />

Cómo especificar direcciones in<strong>de</strong>xadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–13<br />

Ejemplo <strong>de</strong> direccionamiento in<strong>de</strong>xado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–13<br />

Cómo crear datos para direcciones in<strong>de</strong>xadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–14<br />

Intersección <strong>de</strong> los límites <strong>de</strong> archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–14<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–15<br />

Cómo monitorizar las direcciones in<strong>de</strong>xadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–15<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–16<br />

Instrucciones <strong>de</strong> archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–16<br />

Efectos <strong>de</strong> interrupciones <strong>de</strong> programa en el registro <strong>de</strong> índice S:24 . . . . . . . . . . . F–16<br />

Cómo especificar una dirección indirecta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–17<br />

Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–17<br />

Cómo crear datos para direcciones indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–18<br />

Intersección <strong>de</strong> los límites <strong>de</strong> archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–18<br />

Cómo monitorizar las direcciones indirectas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–18<br />

Instrucciones <strong>de</strong> archivo <strong>de</strong> direccionamiento – Cómo usar el indicador<br />

<strong>de</strong> archivo (#) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–19<br />

Instrucciones <strong>de</strong> <strong>de</strong>splazamiento <strong>de</strong> bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–19<br />

Instrucciones <strong>de</strong> secuenciador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–20<br />

Instrucciones <strong>de</strong> copiar archivo y llenar archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . F–21<br />

Constantes numéricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–22<br />

Archivos <strong>de</strong> datos M0 y M1 – Módulos <strong>de</strong> E/S especiales . . . . . . . . . . . . . . . . . . . . . . . . . . F–23<br />

Cómo direccionar los archivos M0–M1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–23<br />

Restricciones relativas al uso <strong>de</strong> las direcciones <strong>de</strong> archvivo <strong>de</strong> datos M0-M1 . . . . . . F–23<br />

Cómo monitorizar direcciones <strong>de</strong> bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–24<br />

Procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 con la monitorización <strong>de</strong><br />

M0 y M1 inhabilitada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–24<br />

Procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 con la monitorización <strong>de</strong><br />

M0 y M1 habilitada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–24<br />

Cómo transferir datos entre los archivos <strong>de</strong> procesador y archivos M0 ó M1 . . . . . . . F–25<br />

Tiempo <strong>de</strong> acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–26<br />

Cómo minimizar el tiempo <strong>de</strong> escán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–26<br />

Cómo capturar los datos <strong>de</strong> archivo M0–M1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

F–27


Tabla <strong>de</strong> contenido<br />

Módulos <strong>de</strong> E/S especiales con memoria retentiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–28<br />

Archivos <strong>de</strong> datos G – Módulos <strong>de</strong> E/S especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–29<br />

Cómo editar los datos <strong>de</strong> archivo G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F–30<br />

G Sistemas numéricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–1<br />

Números binarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–2<br />

Valores <strong>de</strong>cimales positivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–2<br />

Valores <strong>de</strong>cimales negativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–3<br />

Números hexa<strong>de</strong>cimales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–5<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–5<br />

Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–6<br />

Máscara hexa<strong>de</strong>cimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–7<br />

Aritmética <strong>de</strong> punto (coma) flotante binario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G–8<br />

H Programas <strong>de</strong> ejemplo <strong>de</strong> aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H–1<br />

Ejemplo <strong>de</strong> aplicación <strong>de</strong> la perforadora <strong>de</strong> papel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H–2<br />

Descripción general <strong>de</strong> la operación <strong>de</strong> la perforadora <strong>de</strong> papel . . . . . . . . . . . . . . . . . . . . . . H–3<br />

Operación <strong>de</strong>l mecanismo <strong>de</strong>l taladro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H–3<br />

Operación <strong>de</strong>l transportador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H–3<br />

Cálculo y advertencia <strong>de</strong> la broca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H–4<br />

Programa <strong>de</strong> escalera <strong>de</strong> la perforadora <strong>de</strong> papel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H–5<br />

Ejemplo <strong>de</strong> aplicación <strong>de</strong>l secuenciador activado por tiempo . . . . . . . . . . . . . . . . . . . . . . . H–20<br />

Programa <strong>de</strong> escalera <strong>de</strong> secuenciador activado por tiempo . . . . . . . . . . . . . . . . . . . . . . . . . H–21<br />

Ejemplo <strong>de</strong> aplicación <strong>de</strong>l secuenciador activado por evento . . . . . . . . . . . . . . . . . . . . . . . . H–23<br />

Programa <strong>de</strong> escalera <strong>de</strong> secuenciador activado por eventos . . . . . . . . . . . . . . . . . . . . . . . . H–24<br />

Ejemplo <strong>de</strong> aplicación <strong>de</strong> activación/<strong>de</strong>sactivación <strong>de</strong>l circuito . . . . . . . . . . . . . . . . . . . . . . H–26<br />

Programa <strong>de</strong> escalera <strong>de</strong> activación/<strong>de</strong>sactivación <strong>de</strong>l circuito . . . . . . . . . . . . . . . . . . . . . .<br />

H–27<br />

xxi


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

xxii


Prefacio<br />

Lea este prefacio para familiarizarse con el resto <strong>de</strong>l manual. Proporciona<br />

información acerca <strong>de</strong>:<br />

• quién <strong>de</strong>be usar este manual<br />

• el propósito <strong>de</strong> este manual<br />

• las convenciones usadas en este manual<br />

Prefacio<br />

P-1


<strong>Juego</strong> Preface <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong>l manual <strong>de</strong> referencia<br />

Quién <strong>de</strong>be usar este manual<br />

P-2<br />

Use este manual si es responsable <strong>de</strong>l diseño, instalación, programación o<br />

localización y corrección <strong>de</strong> fallos los sistemas <strong>de</strong> control que emplean los pequeños<br />

controladores <strong>de</strong> lógica <strong>de</strong> Allen-Bradley.<br />

Debe poseer un entendimiento básico <strong>de</strong> los productos <strong>SLC</strong> <strong>500</strong>. Si no lo tiene,<br />

póngase en contacto con su representante local Allen-Bradley para obtener la<br />

instrucción técnica correcta antes <strong>de</strong> usar este producto.<br />

Propósito <strong>de</strong> este manual<br />

Este manual constituye una guía <strong>de</strong> referencia <strong>de</strong> los procesadores <strong>SLC</strong> <strong>500</strong> y los<br />

controladores MicoLogix 1000. Este manual:<br />

• proporciona el archivo <strong>de</strong> estado<br />

• proporciona las <strong>instrucciones</strong> usadas en sus programas <strong>de</strong> lógica <strong>de</strong> escalera<br />

• suplementa la ayuda en línea disponible en el terminal


Contenido <strong>de</strong> este manual<br />

Capítulo Título Contenido<br />

Prefacio<br />

1 Instrucciones básicas<br />

2<br />

Instrucciones <strong>de</strong><br />

comparación<br />

3 Instrucciones matemáticas<br />

4<br />

5<br />

6<br />

7<br />

8<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong><br />

datos<br />

Instrucciones <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Instrucciones <strong>de</strong> aplicación<br />

específica<br />

Cómo usar las <strong>instrucciones</strong><br />

<strong>de</strong>l contador <strong>de</strong> alta<br />

velocidad<br />

Instrucciones <strong>de</strong><br />

comunicación<br />

9 Instrucción PID<br />

Prefacio<br />

Describe el propósito, historia y alcance <strong>de</strong> este<br />

manual. También <strong>de</strong>fine el grupo <strong>de</strong> lectores para<br />

que ha sido creado el manual.<br />

Describe cómo usar las <strong>instrucciones</strong> <strong>de</strong> lógica <strong>de</strong><br />

escalera para funciones <strong>de</strong> reemplazo <strong>de</strong> relés,<br />

contaje y temporización.<br />

Describe las <strong>instrucciones</strong> <strong>de</strong> comparación las<br />

cuales le permiten comparar los valores <strong>de</strong> datos.<br />

Describe las <strong>instrucciones</strong> matemáticas que le<br />

permiten realizar operaciones <strong>de</strong> cálculo y<br />

matemáticas en palabras individuales.<br />

Describe cómo realizar las <strong>instrucciones</strong> <strong>de</strong> manejo<br />

<strong>de</strong> datos, incluyendo las <strong>instrucciones</strong> <strong>de</strong> mover y<br />

lógicas e <strong>instrucciones</strong> FIFO y LIFO.<br />

Describe las <strong>instrucciones</strong> <strong>de</strong> lógica <strong>de</strong> escalera<br />

que afectan el flujo y ejecución <strong>de</strong>l programa.<br />

Describe las <strong>instrucciones</strong> asociadas con el<br />

<strong>de</strong>splazamiento <strong>de</strong> bit, secuenciador y STI.<br />

Describe los cuatro modos <strong>de</strong> la instrucción <strong>de</strong> alta<br />

velocidad y sus <strong>instrucciones</strong> asociadas.<br />

Describe la instrucción <strong>de</strong> comunicación <strong>de</strong><br />

mensaje, servicio y sus parámetros asociados.<br />

Describe el concepto, ecuación, parámetros<br />

asociados y formato <strong>de</strong>l bloque <strong>de</strong> control para los<br />

procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong><br />

5/04.<br />

10 Instrucciones ASCII Describe las <strong>instrucciones</strong> ASCII y sus usos.<br />

11<br />

12<br />

13<br />

Descripción <strong>de</strong> las rutinas <strong>de</strong><br />

interrupción<br />

Descripción <strong>de</strong> los protocolos<br />

<strong>de</strong> comunicación<br />

Localización y corrección <strong>de</strong><br />

fallos<br />

Describe las interrupciones temporizadas<br />

seleccionables, la interrupción <strong>de</strong> entrada discreta<br />

e interrupciones <strong>de</strong> E/S y sus parámetros<br />

asociados.<br />

Explica los tipos diferentes <strong>de</strong> protocolos <strong>de</strong><br />

comunicación usados con los procesdores <strong>SLC</strong><br />

<strong>500</strong>.<br />

Explica cómo el interpretar y corregir problemas<br />

con el software y procesador.<br />

P-3


<strong>Juego</strong> Preface <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong>l manual <strong>de</strong> referencia<br />

P-4<br />

Capítulo Título Contenido<br />

Apéndice A<br />

Archivo <strong>de</strong> estado <strong>de</strong>l<br />

controlador <strong>MicroLogix</strong> 1000<br />

Apéndice B Archivo <strong>de</strong> estado <strong>SLC</strong><br />

Apéndice C<br />

Apéndice D<br />

Apéndice E<br />

Apéndice F<br />

Tiempos <strong>de</strong> ejecución <strong>de</strong><br />

<strong>instrucciones</strong> y uso <strong>de</strong><br />

memoria<br />

Cómo calcular el tiempo <strong>de</strong><br />

escán<br />

Referencias <strong>de</strong> instrucción <strong>de</strong><br />

programación<br />

Organización y<br />

direccionamiento <strong>de</strong>l archivo<br />

<strong>de</strong> datos<br />

Apéndice G Sistemas numéricos<br />

Apéndice H<br />

Programas <strong>de</strong> ejemplo <strong>de</strong><br />

aplicación<br />

Describe los fallos mayores y menores, información<br />

diagnóstica, modos <strong>de</strong> procesador, tiempos <strong>de</strong><br />

escán, velocida<strong>de</strong>s <strong>de</strong> baudios y direcciones <strong>de</strong><br />

nodo <strong>de</strong>l sistema para los controladores <strong>MicroLogix</strong><br />

1000.<br />

Describe los fallos mayores y menores, información<br />

diagnóstica, modos <strong>de</strong> procesador, tiempos <strong>de</strong><br />

escán, tasas <strong>de</strong> baudio y direcciones <strong>de</strong> nodo <strong>de</strong>l<br />

sistema para los procesadores <strong>SLC</strong> <strong>500</strong>.<br />

Proporciona la capacidad <strong>de</strong> memoria <strong>de</strong>l usuario y<br />

tiempos <strong>de</strong> ejecución <strong>de</strong> instrucción. También<br />

<strong>de</strong>scribe cómo estimar el uso total <strong>de</strong> memoria <strong>de</strong><br />

un sistema.<br />

Proporciona latencia <strong>de</strong> interrupción, información<br />

<strong>de</strong>l tiempo <strong>de</strong> acceso M0/M1 y hojas <strong>de</strong> cálculo<br />

para estimar los tiempos <strong>de</strong> escán.<br />

Proporciona una lista <strong>de</strong> <strong>instrucciones</strong> con sus<br />

parámetros y tipos <strong>de</strong> archivo válidos.<br />

Proporciona <strong>de</strong>talles acerca <strong>de</strong> archivos <strong>de</strong> datos<br />

abarcando los formatos <strong>de</strong> archivo y cómo crear y<br />

eliminar datos.<br />

Describe los sistemas <strong>de</strong> numeración hexa<strong>de</strong>cimal,<br />

binaria y <strong>de</strong>cimal a<strong>de</strong>más <strong>de</strong>l formato <strong>de</strong> punto<br />

(coma) flotante.<br />

Proporciona ejemplos <strong>de</strong> aplicaciones avanzadas<br />

para <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad,<br />

secuenciador y <strong>de</strong>splazamiento <strong>de</strong> bit.


Documentación asociada<br />

Prefacio<br />

Los documentos siguientes contienen información adicional acerca <strong>de</strong> los productos<br />

<strong>SLC</strong> <strong>de</strong> Allen-Bradley. Para obtener un ejemplar, póngase en contacto con su<br />

oficina o distribuidor local <strong>de</strong> Allen-Bradley.<br />

Para obtener Lea este documento<br />

Una <strong>de</strong>scripción general <strong>de</strong> la familia <strong>de</strong> productos <strong>SLC</strong><br />

<strong>500</strong><br />

Descripción general <strong>de</strong>l sistema <strong>SLC</strong> <strong>500</strong><br />

Una presentación <strong>de</strong> APS para los usuarios<br />

principiantes, la cual contiene conceptos básicos con un<br />

enfoque en tareas y ejercicios sencillos, y que permite al<br />

lector comenzar a programar casi inmediatamente.<br />

Una manual <strong>de</strong> procedimientos y referencia para el<br />

personal técnico que usa la utilidad <strong>de</strong> importación/<br />

exportación APS para convertir los archivos APS a<br />

ASCII y, a su vez, <strong>de</strong> ASCII a archivos APS<br />

Una guía <strong>de</strong> instrucción técnica y referencia rápida <strong>de</strong><br />

APS<br />

Una guía <strong>de</strong> procedimientos comunes usadas en APS<br />

Un manual <strong>de</strong> procedimientos para el personal técnico<br />

que usa APS para <strong>de</strong>sarrollar aplicaciones <strong>de</strong> control<br />

Una <strong>de</strong>scripción <strong>de</strong> cómo instalar y usar su controlador<br />

programable <strong>SLC</strong> <strong>500</strong> fijo<br />

Una <strong>de</strong>scripción <strong>de</strong> cómo instalar y usar su controlador<br />

programable <strong>SLC</strong> <strong>500</strong> modular<br />

Una <strong>de</strong>scripción <strong>de</strong> cómo instalar y usar sus controladores<br />

<strong>MicroLogix</strong> 1000. Este manual también contiene datos <strong>de</strong><br />

archivo <strong>de</strong> estado e información <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

para los microcontroladores<br />

Una lista completa <strong>de</strong> documentación actual <strong>de</strong><br />

Allen-Bradley, incluyendo <strong>instrucciones</strong> <strong>de</strong> pedido.<br />

También indica la disponibilidad <strong>de</strong> los documentos en<br />

CD-ROM o multilingües<br />

Un glosario <strong>de</strong> términos y abreviaturas <strong>de</strong> la<br />

automatización industrial<br />

Comienzo rápido <strong>de</strong> APS para usuarios<br />

principiantes<br />

Manual <strong>de</strong> usuario <strong>de</strong><br />

importación/exportación APS<br />

Guía <strong>de</strong> referencia rápida <strong>de</strong>l programa- dor<br />

<strong>de</strong> software <strong>SLC</strong> <strong>500</strong>, no. <strong>de</strong> publicación<br />

ABT-<strong>1747</strong>-TSJ50ES— disponible en<br />

PASSPORT al precio <strong>de</strong> US$50.00<br />

Guía <strong>de</strong> procedimientos comunes <strong>de</strong>l<br />

software <strong>SLC</strong> <strong>500</strong>, no. <strong>de</strong> publicación<br />

ABT-<strong>1747</strong>-TSJ50ES—disponible en<br />

PASSPORT al precio <strong>de</strong> $50.00<br />

Manual <strong>de</strong>l usuario <strong>de</strong>l software <strong>de</strong><br />

programación avanzada (APS) <strong>de</strong> Rockwell<br />

Manual <strong>de</strong> instalación y operación para<br />

controladores programables <strong>de</strong> tipo con<br />

hardware fijo, no. <strong>de</strong> catálogo <strong>1747</strong>-NM001<br />

Manual <strong>de</strong> instalación y operación para<br />

controladores programables <strong>de</strong> tipo con<br />

hardware modular, no. <strong>de</strong> publicación<br />

<strong>1747</strong>-6.2ES<br />

Manual <strong>de</strong>l usuario <strong>de</strong> controladores<br />

<strong>MicroLogix</strong> 1000, no. <strong>de</strong> publicación<br />

1761-6.3ES<br />

Allen-Bradley Publication In<strong>de</strong>x, no. <strong>de</strong><br />

publicación SD499<br />

Glosario <strong>de</strong> automatización industrial<br />

Allen-Bradley, no. <strong>de</strong> publicación AG-7.1ES<br />

P-5


<strong>Juego</strong> Preface <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong>l manual <strong>de</strong> referencia<br />

Técnicas comunes usadas en este manual<br />

P-6<br />

Las convenciones siguientes se usan en todo este manual:<br />

• Las listas con viñetas proporcionan información, no pasos <strong>de</strong> procedimento.<br />

• Las listas numeradas proporcionan pasos secuenciales o información <strong>de</strong><br />

jerarquía.<br />

• El texto que aperece en estos caracteres indica palabras o frases que<br />

usted <strong>de</strong>be escribir.<br />

• El texto itálico se usa para <strong>de</strong>stacar.<br />

• Los nombres <strong>de</strong> las teclas correspon<strong>de</strong>n a los nombres indicados y aparecen en<br />

letras negritas y mayúsculas <strong>de</strong>ntro <strong>de</strong> corchetes (por ejemplo, [ENTER]). Un<br />

icono <strong>de</strong> la tecla <strong>de</strong> función correspon<strong>de</strong> a el nombre <strong>de</strong> la tecla <strong>de</strong> función que<br />

OFFLINE<br />

CONFIG<br />

SAVE &<br />

<strong>de</strong>be presionar, tal como EXIT .<br />

CONFIG<br />

F8<br />

La tabla siguiente resume las convenciones usadas para diferenciar entre las<br />

posiciones <strong>de</strong>l interruptor <strong>de</strong> llave <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/40, los modos <strong>de</strong>l procesador<br />

y la presentación en pantalla real en la línea <strong>de</strong> estado <strong>de</strong> APS.<br />

Referencias <strong>de</strong> la posición<br />

<strong>de</strong>l interruptor <strong>de</strong> llave<br />

Referencias al modo <strong>de</strong><br />

procesador<br />

Posición RUN Modo <strong>de</strong> marcha RUN<br />

Posición REMote<br />

Modo <strong>de</strong> marcha REM RUN<br />

Modo <strong>de</strong> programa REM PROG<br />

Prueba – modo <strong>de</strong> paso único REM SRG<br />

Prueba – modo <strong>de</strong> escán único REM SSN<br />

Prueba – modo <strong>de</strong> escán<br />

continuo<br />

Referencias a la línea <strong>de</strong><br />

estado<br />

REM CSN<br />

Posición PROGram Modo <strong>de</strong> programa PROG


1 Instrucciones básicas<br />

Instrucciones <strong>de</strong> bit<br />

Instrucciones básicas<br />

Este capítulo contiene información general acerca <strong>de</strong> las <strong>instrucciones</strong> generales y<br />

explica cómo funcionan en su programa <strong>de</strong> aplicación. Cada una <strong>de</strong> estas<br />

<strong>instrucciones</strong> básicas incluye información acerca <strong>de</strong>:<br />

• cómo aparecen los símbolos <strong>de</strong> instrucción<br />

• cómo usar la instrucción<br />

A<strong>de</strong>más, la última sección contiene un ejemplo <strong>de</strong> aplicación para una perforadora<br />

<strong>de</strong> papel que muestra las <strong>instrucciones</strong> básicas en uso.<br />

Instrucción<br />

Mnemónico Nombre<br />

Propósito Página<br />

XIC Examine si cerrado Examina un bit para una condición activada. 1–9<br />

XIO Examine si abierto Examina un bit para una condición <strong>de</strong>sactivada. 1–9<br />

OTE Conecte la salida Activa o <strong>de</strong>sactiva un bit. 1–10<br />

OTL y<br />

OTU<br />

Enclav. <strong>de</strong> salida y<br />

<strong>de</strong>senclavamiento<br />

<strong>de</strong> salida<br />

OSR Un frente ascen<strong>de</strong>nte<br />

OTL activa un bit cuando el renglón está ejecutado<br />

y este bit retiene su estado cuando el renglón no<br />

está ejecutado u ocurre un ciclo <strong>de</strong> potencia. OTU<br />

<strong>de</strong>sactiva un bit cuando el renglón está ejecutado y<br />

este bit retiene su estado cuando el renglón no está<br />

ejecutado o cuando ocurre un ciclo <strong>de</strong> alimentación<br />

eléctrica.<br />

1–11<br />

Ocasiona un evento <strong>de</strong> una sola vez. 1–12<br />

continúa en la página siguiente<br />

1–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucciones <strong>de</strong>l temporizador/contador<br />

1–2<br />

Instrucción<br />

Mnemónico Nombre<br />

TON Temporizador<br />

a la conexión<br />

TOF Temporizador<br />

a la <strong>de</strong>sconexión<br />

RTO Temporizador retentivo<br />

Propósito Página<br />

Cuenta los intervalos <strong>de</strong> la base <strong>de</strong> tiempo cuando<br />

la instrucción es verda<strong>de</strong>ra.<br />

Cuenta los intervalos <strong>de</strong> la base <strong>de</strong> tiempo cuando<br />

la instrucción es falsa.<br />

Cuenta los intervalos <strong>de</strong> la base <strong>de</strong> tiempo cuando<br />

la instrucción es verda<strong>de</strong>ra y retiene el valor acumulador<br />

cuando la instrucción se hace falsa o cuando<br />

ocurre un ciclo <strong>de</strong> alimentación eléctrica.<br />

CTU Conteo progresivo Incrementa el valor acumulador a cada transición<br />

<strong>de</strong> falso a verda<strong>de</strong>ro y retiene el valor acumulador<br />

cuando la instrucción se hace falsa o cuando ocurre<br />

un ciclo <strong>de</strong> alimentación eléctrica.<br />

CTD Conteo regresivo Disminuye el valor acumulado a cada transición <strong>de</strong><br />

falso a verda<strong>de</strong>ro y retiene el valor acumulador<br />

cuando la instrucción se hace falsa o cuando ocurre<br />

un ciclo <strong>de</strong> alimentación eléctrica.<br />

HSC Contador <strong>de</strong> alta<br />

velocidad<br />

Cuenta los impulsos <strong>de</strong> alta velocidad <strong>de</strong> una<br />

entrada <strong>de</strong> alta velocidad <strong>de</strong> controlador fijo.<br />

RES Restablecimiento Pone a cero el valor acumulado y los bits <strong>de</strong> estado<br />

<strong>de</strong> un temporizador o contador. No use con<br />

temporizadores TOF.<br />

Acerca <strong>de</strong> las <strong>instrucciones</strong> básicas<br />

Estas <strong>instrucciones</strong>, cuando se usan en programas <strong>de</strong> escalera, representan circuitos<br />

<strong>de</strong> lógica cableados usados para el control <strong>de</strong> una máquina o equipo.<br />

Las <strong>instrucciones</strong> básicas se divi<strong>de</strong>n en tres grupos: bit, temporizador y contador.<br />

Antes <strong>de</strong> apren<strong>de</strong>r acerca <strong>de</strong> las <strong>instrucciones</strong> en cada uno <strong>de</strong> estos grupos, le<br />

recomendamos que lea la <strong>de</strong>scripción general que prece<strong>de</strong> dicho grupo:<br />

• Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> bit<br />

• Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> temporizador<br />

• Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> contador<br />

1–18<br />

1–19<br />

1–21<br />

1–26<br />

1–28<br />

1–29<br />

1–34


Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> bit<br />

Instrucciones básicas<br />

Estas <strong>instrucciones</strong> operan en un solo bit <strong>de</strong> datos. Durante la operación, el<br />

procesador pue<strong>de</strong> establecer o restablecer el bit, según la continuidad lógica <strong>de</strong> los<br />

renglones <strong>de</strong> escalera. Pue<strong>de</strong> direccionar un bit tantas veces como requiera su<br />

programa.<br />

Nota No se recomienda usar la misma dirección con <strong>instrucciones</strong> <strong>de</strong> salida múltiples.<br />

Las <strong>instrucciones</strong> <strong>de</strong> bit se usan con los archivos <strong>de</strong> datos siguientes:<br />

Archivos <strong>de</strong> datos <strong>de</strong> salida y entrada (archivos O:0 e I:1)<br />

Estos representan salidas y entradas externas. Los bits en archivo 1 se usan para<br />

representar las entradas externas. En la mayoría <strong>de</strong> los casos, una sola palabra <strong>de</strong> 16<br />

bits en estos archivos correspon<strong>de</strong>rá a una ubicación <strong>de</strong> ranura en su controlador con<br />

los números <strong>de</strong> bit correspondientes a números <strong>de</strong> terminal <strong>de</strong> entrada o salida. Los<br />

bits <strong>de</strong> la palabra no usados no están disponibles para su uso.<br />

La tabla a continuación explica el formato <strong>de</strong> direccionamiento para salidas y<br />

entradas. Anote que el formato especifica e como el número <strong>de</strong> ranura y s como el<br />

número <strong>de</strong> palabra. Cuando trabaje con <strong>instrucciones</strong> <strong>de</strong> archivo, haga referencia al<br />

elemento como e.s (ranura y palabra) tomados juntos.<br />

Formato Explicación<br />

O:e.s/b e<br />

I:e.s/b .<br />

O Salida<br />

I Entrada<br />

: Delimitador <strong>de</strong>l elemento<br />

s<br />

Número <strong>de</strong><br />

la ranura<br />

(<strong>de</strong>cimal)<br />

Ranura 0, adyacente a la fuente <strong>de</strong> alimentación eléctrica en<br />

el primer chasis, se aplica al módulo <strong>de</strong> procesador. Las<br />

ranuras posteriores son ranuras <strong>de</strong> E/S, numeradas <strong>de</strong>s<strong>de</strong> 1<br />

hasta un máximo <strong>de</strong> 30.<br />

Delimitador <strong>de</strong> palabra. Requerido sólo si es necesario un número <strong>de</strong> palabra<br />

según lo indicado a continuación.<br />

Número <strong>de</strong><br />

palabra<br />

/ Delimitador <strong>de</strong> bit<br />

b<br />

Número <strong>de</strong><br />

terminal<br />

Requerido si el número <strong>de</strong> entradas o salidas exce<strong>de</strong>n 16<br />

para la ranura. Rango: 0-255 (el rango acepta “tarjetas<br />

especiales” <strong>de</strong> palabras múltiples)<br />

Entradas: 0- 15<br />

Salidas: 0- 15<br />

1–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

1–4<br />

Ejemplos (aplicables al controlador ilustrado en página F-12):<br />

O:3/15 Salida 15, ranura 3<br />

O:5/0 Salida 0, ranura 5<br />

O:10/11 Salida 11, ranura 10<br />

I:7/8 Entrada 8, ranura 7<br />

I:2.1/3 Entrada 3, ranura 2, palabra 1<br />

Direcciones <strong>de</strong> palabra:<br />

Archivo <strong>de</strong> estado (archivo S2:)<br />

O:5 Palabra <strong>de</strong> salida 0, ranura 5<br />

O:5.1 Palabra <strong>de</strong> salida 1, ranura 5<br />

I:8 Palabra <strong>de</strong> entrada, ranura 8<br />

Valores pre<strong>de</strong>terminados: Su dispositivo <strong>de</strong> programación mostrará una dirección <strong>de</strong> una<br />

manera más formal. Por ejemplo, cuando asigna la dirección O:5/0, el dispositivo <strong>de</strong><br />

programación la mostrará como O:5.0/0 (archivo <strong>de</strong> salida, ranura 5, palabra 0, terminal 0).<br />

No pue<strong>de</strong> añadir ni eliminar elementos <strong>de</strong>l archivo <strong>de</strong> estado. El archivo <strong>de</strong> estado<br />

<strong>de</strong>l controlador <strong>MicroLogix</strong> 1000 se explica en apéndice A y el archivo <strong>de</strong> estado<br />

<strong>de</strong>l procesador <strong>SLC</strong> <strong>500</strong> se explica en apéndice B. Pue<strong>de</strong> direccionar varios bits y<br />

palabras según lo siguiente:<br />

Formato Explicación<br />

S Archivo <strong>de</strong> estado<br />

: Delimitador <strong>de</strong> elemento<br />

S:e/b e Número <strong>de</strong><br />

elemento<br />

Ejemplos:<br />

/ Delimitador <strong>de</strong> bit<br />

b Número <strong>de</strong><br />

bit<br />

Rangos <strong>de</strong> 0-15 en un controlador fijo o <strong>SLC</strong> 5/01, 0-32 en un<br />

procesador <strong>SLC</strong> 5/02, 0-83 en un <strong>SLC</strong> 5/03 OS300, 0–96 en<br />

un <strong>SLC</strong> 5/03 OS301 y posterior y 5/04 OS400 y 0-164 en un<br />

<strong>SLC</strong> 5/04. Estos son elementos <strong>de</strong> 1 palabra. 16 bits por<br />

cada elemento<br />

Ubicación <strong>de</strong>l bit <strong>de</strong>ntro <strong>de</strong>l elemento. Rangos <strong>de</strong> 0-15.<br />

S:1/15 Elemento 1, bit 15. Este es el bit <strong>de</strong> “primer paso” que pue<strong>de</strong><br />

usar para iniciar <strong>instrucciones</strong> en su programa.<br />

S:3 Elemento 3. El byte inferior <strong>de</strong> este elemento es el tiempo <strong>de</strong><br />

escán actual. El byte superior es el tiempo <strong>de</strong> escán <strong>de</strong> control<br />

(watchdog).


Archivo <strong>de</strong> datos <strong>de</strong> bit (B3:)<br />

Instrucciones básicas<br />

El archivo 3 constituye el archivo <strong>de</strong> bit, usado principalmente para <strong>instrucciones</strong> <strong>de</strong><br />

bit (lógica <strong>de</strong> relé), registros <strong>de</strong> <strong>de</strong>splazamiento y secuenciadores. El tamaño<br />

máximo <strong>de</strong>l archivo es 256 elementos <strong>de</strong> 1 palabra, un total <strong>de</strong> 4096 bits. Pue<strong>de</strong><br />

direccionar los bits especificando el número <strong>de</strong> elemento (0 a 255) y el número <strong>de</strong><br />

bit (0 a 15) <strong>de</strong>ntro <strong>de</strong>l elemento. También pue<strong>de</strong> direccionar los bits numerándolos<br />

secuencialmente, 0 a 4095.<br />

A<strong>de</strong>más, pue<strong>de</strong> direccionar los elementos <strong>de</strong> este archivo.<br />

Formato Explicación Ejemplos<br />

Bf:e/b f<br />

B Archivo <strong>de</strong> tipo <strong>de</strong> bit<br />

Número <strong>de</strong> archivo. Número 3 es el archivo<br />

pre<strong>de</strong>terminado. Un número <strong>de</strong> archivo entre<br />

10-255 se pue<strong>de</strong> usar si se requiere<br />

almacenamiento adicional.<br />

: Delimitador <strong>de</strong> elemento<br />

e<br />

Número <strong>de</strong><br />

elemento<br />

/ Delimitador <strong>de</strong> bit<br />

b<br />

Número <strong>de</strong><br />

bit<br />

Rangos <strong>de</strong> 0-255. Estos son<br />

elementos <strong>de</strong> 1 palabra. 16 bits<br />

por cada elemento.<br />

Ubicación <strong>de</strong>l bit <strong>de</strong>ntro <strong>de</strong>l<br />

elemento. Rangos <strong>de</strong> 0-15.<br />

B3:3/14<br />

Bit 14, elemento 3<br />

B3:252/00<br />

Bit 0, elemento 252<br />

B3:9<br />

Bits 0-15, elemento 9<br />

Formato Explicación Ejemplos<br />

Bf/b<br />

B<br />

f<br />

/<br />

b<br />

Idéntico a lo anterior.<br />

Idéntico a lo anterior.<br />

Idéntico a lo anterior.<br />

Número <strong>de</strong><br />

bit<br />

Ubicación numérica <strong>de</strong>l bit <strong>de</strong>ntro<br />

<strong>de</strong>l archivo. Rangos <strong>de</strong> 0-4095.<br />

Archivos <strong>de</strong> datos <strong>de</strong> temporizador y contador (T4: y C5:)<br />

B3/62<br />

Bit 62<br />

B3/4032<br />

Bit 4032<br />

Vea las páginas 1–16 y 1–24 respectivamente para obtener los formatos <strong>de</strong><br />

direccionamiento.<br />

1–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Archivo <strong>de</strong> datos <strong>de</strong> control (R6:)<br />

1–6<br />

Estas <strong>instrucciones</strong> usan varios bits <strong>de</strong> control. Estos son elementos <strong>de</strong> 3 palabras<br />

usados con <strong>de</strong>splazamiento <strong>de</strong> bit, FIFO, LIFO, <strong>instrucciones</strong> <strong>de</strong> secuenciador e<br />

<strong>instrucciones</strong> ASCII ABL, ACB, AHL, ARD, ARL, AWA y AWT. La palabra 0 es<br />

la palabra <strong>de</strong> estado, la palabra 1 indica la longitud <strong>de</strong> datos almacenados y la<br />

palabra 2 indica la posición. Esto se muestra en la figura siguiente.<br />

En el elemento <strong>de</strong> control hay ocho bits <strong>de</strong> estado y un byte <strong>de</strong> código <strong>de</strong> error. Un<br />

controlador fijo y un elemento <strong>de</strong> control <strong>SLC</strong> 5/01 tienen seis bits. Los bits EU y<br />

EM no son usados por el procesador.<br />

15<br />

14<br />

13<br />

12<br />

11<br />

Elemento <strong>de</strong> control<br />

10<br />

9<br />

EN EU DN EM ER UL IN FD Código <strong>de</strong> error<br />

8<br />

Longitud <strong>de</strong> arreglo <strong>de</strong> bit o archivo (LEN)<br />

Indicador <strong>de</strong> bit o posición (POS)<br />

Bits direccionables Palabras direccionables<br />

EN = Habilitación<br />

EU = Habilitación <strong>de</strong> <strong>de</strong>scarga<br />

DN = Efectuado<br />

EM = Pila vacía<br />

ER = Error<br />

7<br />

6<br />

5<br />

4<br />

LEN = Longitud<br />

POS = Posición<br />

UL = Descarga (<strong>de</strong>splazamiento <strong>de</strong> bit solamente)<br />

IN = Inhibición (Este es el bit <strong>de</strong> marcha [RN bit 9] para <strong>instrucciones</strong> ASCII)<br />

FD = Encontrado (SQC solamente)<br />

El código <strong>de</strong> error se muestra en HEX y no<br />

es direccionable.<br />

Asigne direcciones <strong>de</strong> control según lo siguiente:<br />

Formato Explicación<br />

Rf:e f<br />

R Archivo <strong>de</strong> control<br />

3<br />

2<br />

1<br />

0<br />

Pal.<br />

Número <strong>de</strong> archivo. Número 6 es el archivo pre<strong>de</strong>terminado. Se pue<strong>de</strong> usar<br />

un número <strong>de</strong> archivo entre 10-255 se pue<strong>de</strong> usar si se requiere<br />

almacenamiento adicional.<br />

: Delimitador <strong>de</strong> elemento<br />

e<br />

Número <strong>de</strong><br />

elemento<br />

Rangos <strong>de</strong> 0-255. Estos son elementos <strong>de</strong> 3 palabras. Vea<br />

la figura anterior.<br />

0<br />

1<br />

2


Archivo <strong>de</strong> datos enteros (N7:)<br />

Ejemplo: R6:2 Elemento 2, archivo <strong>de</strong> control 6.<br />

Direcione los bits y palabras usando el formato<br />

Rf:e.s/b don<strong>de</strong> Rf:e se explica anteriormente y:<br />

. es el <strong>de</strong>limitador <strong>de</strong> palabra<br />

s indica el subelemento<br />

/ es el <strong>de</strong>limitador <strong>de</strong> bit<br />

b indica el bit<br />

R6:2/15 ó R6:2/EN Bit habilitación<br />

R6:2/14 ó R6:2/EU Bit <strong>de</strong> habilitación <strong>de</strong> <strong>de</strong>scarga<br />

R6:2/13 ó R6:2/DN Bit <strong>de</strong> efectuado<br />

R6:2/12 ó R6:2/EM Bit <strong>de</strong> pila vacía<br />

R6:2/11 ó R6:2/ER Bit <strong>de</strong> error<br />

R6:2/10 ó R6:2/UL Bit <strong>de</strong> <strong>de</strong>scarga<br />

R6:2/9 ó R6:2/IN Bit <strong>de</strong> inhibición<br />

R6:2/8 ó R6:2/FD Bit <strong>de</strong> encontrado<br />

R6:2.1 ó R6:2.LEN Valor <strong>de</strong> longitud<br />

R6:2.2 ó R6:2.POS Valor <strong>de</strong> posición<br />

R6:2.1/0 Bit 0 <strong>de</strong>l valor <strong>de</strong> longitud<br />

R6:2.2/0 Bit 0 <strong>de</strong>l valor positivo<br />

Instrucciones básicas<br />

Use estas direcciones (al nivel <strong>de</strong> bit) según las requiera su programa. Estos son<br />

elementos <strong>de</strong> 1 palabra direccionables al nivel <strong>de</strong> elemento y bit.<br />

1–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

1–8<br />

Asigne las direcciones <strong>de</strong> enteros según lo siguiente:<br />

Formato Explicación<br />

Nf:e/b<br />

Ejemplos:<br />

N Archivo <strong>de</strong> enteros<br />

f<br />

Número <strong>de</strong> archivo. Número 7 es el archivo pre<strong>de</strong>terminado. Un número <strong>de</strong><br />

archivo entre 10-255 se pue<strong>de</strong> usar si se requiere almacenamiento adicional.<br />

: Delimitador <strong>de</strong> elemento<br />

e<br />

Número <strong>de</strong><br />

elemento<br />

/ Delimitador <strong>de</strong> bit<br />

b<br />

Número <strong>de</strong><br />

bit<br />

Rangos <strong>de</strong> 0-255. Estos son elementos <strong>de</strong> 1 palabra. 16 bits<br />

por cada elemento.<br />

Ubicación <strong>de</strong>l bit <strong>de</strong>ntro <strong>de</strong>l elemento. Rangos <strong>de</strong> 0-15.<br />

N7:2 Elemento 2, archivo <strong>de</strong> enteros 7<br />

N7:2/8 Bit 8 en elemento 2, archivo <strong>de</strong> enteros 7<br />

N10:36 Elemento 36, archivo <strong>de</strong> enteros 10 (archivo 10 <strong>de</strong>signado como<br />

un archivo <strong>de</strong> enteros por el usuario)


Examine si cerrado (XIC)<br />

] [<br />

Instrucción <strong>de</strong> entrada<br />

Instrucciones básicas<br />

Use la instrucción XIC en su programa <strong>de</strong> escalera para <strong>de</strong>terminar si un bit está<br />

activado. Cuando la instrucción se ejecuta, si la dirección <strong>de</strong> bit está activada (1),<br />

entonces la instrucción es evaluada como verda<strong>de</strong>ra. Cuando la instrucción se<br />

ejecuta, si el bit direccionado está <strong>de</strong>sactivado (0), entonces la instrucción evaluada<br />

como falsa.<br />

Estado <strong>de</strong> dirección <strong>de</strong> bit Instrucción XIC<br />

0 Falsa<br />

1 Verda<strong>de</strong>ra<br />

Ejemplos <strong>de</strong> dispositivos que se activan o <strong>de</strong>sactivan incluyen:<br />

• un botón pulsador cableado a una entrada (direccionado como I:0/4)<br />

• una salida cableada a una luz piloto (direccionada como O:0/2)<br />

• un temporizador que controla una luz (direccionado como T4:3/DN)<br />

Examine si abierto (XIO)<br />

]/[<br />

Instrucción <strong>de</strong> entrada<br />

Use una instrucción XIO en su programa <strong>de</strong> escalera para <strong>de</strong>terminar si un bit está<br />

<strong>de</strong>sactivado. Cuando la instrucción se ejecuta, si el bit direccionado está<br />

<strong>de</strong>sactivado (0), entonces la instrucción es evaluada como verda<strong>de</strong>ra. Cuando la<br />

instrucción se ejecuta, si el bit direccionado está activado (1), entonces la<br />

instrucción es evaluada como falsa.<br />

Estado <strong>de</strong> dirección <strong>de</strong> bit Instrucción XIO<br />

0 Verda<strong>de</strong>ra<br />

1 Falsa<br />

<br />

<br />

Ejemplos <strong>de</strong> dispositivos que se activan o <strong>de</strong>sactivan incluyen:<br />

• sobrecarga <strong>de</strong>l motor normalmente cerrada (N.C.) cableada a una entrada<br />

(I:O/10)<br />

• una salida cableada a una luz piloto (direccionada como O:0/4)<br />

• un temporizador que controla una luz (direccionado como T4:3/DN)<br />

<br />

<br />

1–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Active la salida (OTE)<br />

( )<br />

Instrucción <strong>de</strong> salida<br />

1–10<br />

<br />

Use una instrucción OTE en su programa <strong>de</strong> escalera para activar/<strong>de</strong>sactivar un bit<br />

cuando las condiciones <strong>de</strong> renglón son evaluada como verda<strong>de</strong>ras/falsas<br />

respectivamente.<br />

Un ejemplo <strong>de</strong> un dispositivo que se activa y <strong>de</strong>sactiva es una salida cableada a una<br />

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

Las <strong>instrucciones</strong> OTE se restablecen cuando:<br />

• Entra o regresa al modo <strong>de</strong> marcha REM o prueba REM o cuando se restaura la<br />

alimentación eléctrica.<br />

• El OTE se programa <strong>de</strong>ntro <strong>de</strong> una zona <strong>de</strong> restablecimiento <strong>de</strong> control maestro<br />

(MCR) inactiva o falsa.<br />

Nota Un bit que está establecido <strong>de</strong>ntro <strong>de</strong> una subrutina usando una instrucción OTE<br />

permanece establecido hasta que la subrutina se escanee nuevamente.


Enclavamiento <strong>de</strong> salida (OTL) y<br />

<strong>de</strong>senclavamiento <strong>de</strong> salida (OTU)<br />

(L)<br />

(U)<br />

Instrucciones <strong>de</strong><br />

salida<br />

Cómo usar OTL<br />

Cómo usar OTU<br />

<br />

Instrucciones básicas<br />

OTL y OTU son <strong>instrucciones</strong> <strong>de</strong> salida retentivas. OTL sólo pue<strong>de</strong> activar un bit,<br />

en cambio, OTU sólo pue<strong>de</strong> <strong>de</strong>sactivar un bit. Estas <strong>instrucciones</strong> se usan<br />

generalmente en parejas, con ambas <strong>instrucciones</strong> direccionando el mismo bit.<br />

Su programa pue<strong>de</strong> examinar un bit controlador por <strong>instrucciones</strong> OTL y OTU<br />

tantas veces como sea necesariol.<br />

Bajo las condiciones <strong>de</strong> error irrecuperable, las salidas físicas se <strong>de</strong>sactivan.<br />

Una vez corregidas las condiciones <strong>de</strong> error, el controlador reanuda la<br />

operación usando el valor <strong>de</strong> la tabla <strong>de</strong> datos <strong>de</strong> la operación.<br />

Cuando asigna una dirección a la instrucción OTL que correspon<strong>de</strong> a la dirección <strong>de</strong><br />

una salida física, el dispositivo <strong>de</strong> salida cableado a este terminal <strong>de</strong> tornillo está<br />

activado cuando el bit está establecido (activado o habilitado).<br />

Cuando las condiciones <strong>de</strong> renglón se convierten en falsas (<strong>de</strong>spués <strong>de</strong> ser<br />

verda<strong>de</strong>ras), el bit permanece establecido y el dispositivo <strong>de</strong> salida correspondiente<br />

permanece activado.<br />

Una vez habilitada, la instrucción <strong>de</strong> enclavamiento indica al controlador que active<br />

el bit direccionado. Des<strong>de</strong> ese momento en a<strong>de</strong>lante, el bit permanece activado,<br />

pese a la condición <strong>de</strong>l renglón, hasta que el bit esté <strong>de</strong>sactivado (típicamente por<br />

una instrucción OTU en otro renglón).<br />

Cuando asigna una dirección a la instrucción OTU que correspon<strong>de</strong> a la dirección <strong>de</strong><br />

una salida física, el dispositivo <strong>de</strong> salida cableado a este terminal <strong>de</strong> tornillo está<br />

<strong>de</strong>sactivado cuando el bit está restablecido (<strong>de</strong>sactivado o inhabilitado).<br />

La instrucción <strong>de</strong> <strong>de</strong>senclavamiento indica al controlador que <strong>de</strong>sactive el bit<br />

direccionado. Des<strong>de</strong> ese momento en a<strong>de</strong>lante, el bit permanece <strong>de</strong>sactivado, pese a<br />

la condición <strong>de</strong>l renglón, hasta que esté activado (típicamente por una instrucción<br />

OTL en otro renglón).<br />

<br />

1–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

One–Shot Rising (OSR)<br />

Cómo introducir parámetros<br />

1–12<br />

[OSR]<br />

Instrucción <strong>de</strong> entrada<br />

La instrucción OSR es una instrucción <strong>de</strong> entrada retentiva que ocasiona un evento<br />

durante una sola vez. Use la instrucción OSR cuando un evento <strong>de</strong>be comenzar<br />

basado en el cambio <strong>de</strong> estado <strong>de</strong>l renglón <strong>de</strong> falso a verda<strong>de</strong>ro.<br />

Cuando las condiciones <strong>de</strong> renglón prece<strong>de</strong>ntes <strong>de</strong> la instrucción OSR van <strong>de</strong> falsas<br />

a verda<strong>de</strong>ras, la instrucción OSR será verda<strong>de</strong>ra durante un escán. Después <strong>de</strong><br />

completarse un escán, la instrucción OSR se hace falsa, aun cuando las condiciones<br />

<strong>de</strong> renglón prece<strong>de</strong>ntes permanecen verda<strong>de</strong>ras. La instrucción OSR sólo volverá a<br />

hacerse verda<strong>de</strong>ra si las condiciones <strong>de</strong> renglón prece<strong>de</strong>ntes efectúan una transición<br />

<strong>de</strong> falso a verda<strong>de</strong>ro.<br />

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

La dirección asignada a la instrucción OSR no es la dirección <strong>de</strong> ONE–SHOT<br />

mencionada por su programa, ni indica el estado <strong>de</strong> la instrucción OSR. Esta<br />

dirección permite que la instrucción OSR recuer<strong>de</strong> su estado <strong>de</strong> renglón anterior.<br />

Use una dirección <strong>de</strong> bit <strong>de</strong>s<strong>de</strong> el archivo <strong>de</strong> datos <strong>de</strong>l bit o enteros. El bit<br />

direccionado está establecido (1) durante un escán cuando las condiciones <strong>de</strong><br />

renglón prece<strong>de</strong>ntes <strong>de</strong> la instrucción OSR son verda<strong>de</strong>ras (aun cuando la<br />

instrucción OSR se hace falsa); el bit está restablecido (0) cuando las condiciones <strong>de</strong><br />

renglón prece<strong>de</strong>ntes <strong>de</strong> la instrucción OSR se hacen falsas.<br />

Nota La dirección <strong>de</strong> bit que usa para esta instrucción <strong>de</strong>be ser única. No la use en otros<br />

lugares <strong>de</strong>l programa.<br />

No use una dirección <strong>de</strong> entrada o salida para programar el parámetro <strong>de</strong> dirección<br />

<strong>de</strong> la instrucción OSR.<br />

Ejemplos<br />

<br />

Los renglones siguientes ilustran el uso <strong>de</strong> las <strong>instrucciones</strong> OSR. Los cuatro<br />

primeros renglones se aplican a los procesadores <strong>SLC</strong> <strong>500</strong> y <strong>SLC</strong> 5/01. El quinto<br />

renglón abarca la bifurcación <strong>de</strong> salida y se aplica a los procesadores <strong>SLC</strong> 5/02,<br />

<strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 y controladores <strong>MicroLogix</strong> 1000.


Procesadores <strong>SLC</strong> 600 y <strong>SLC</strong> 50/1<br />

I:1.0<br />

] [<br />

0<br />

Cuando la instrucción <strong>de</strong> entrada va <strong>de</strong> falso a verda<strong>de</strong>ro, la<br />

instrucción OSR acondiciona el renglón para que la salida vaya a<br />

verda<strong>de</strong>ro durante un escán <strong>de</strong> programa. La salida se hace<br />

falsa y permanece falsa durante los escanes subsiguientes hasta<br />

que la entrada efectúe otra transición <strong>de</strong> falso a verda<strong>de</strong>ro.<br />

I:1.0<br />

] [<br />

0<br />

B3<br />

[OSR]<br />

0<br />

B3<br />

[OSR]<br />

0<br />

O:3.0<br />

( )<br />

0<br />

TOD<br />

TO BCD<br />

Source Tf:0.ACC<br />

Dest O:3<br />

En este caso, el valor acumulado <strong>de</strong> un temporizador se<br />

convierte a BCD y se movió a una palabra <strong>de</strong> salida don<strong>de</strong> está<br />

conectada una presentación LED. Cuando marcha el temporizador,<br />

el valor acumulado está cambiando rápidamente. Este valor<br />

pue<strong>de</strong> ser inmovilizado y mostrado para cada transición <strong>de</strong> falso<br />

a verda<strong>de</strong>ro <strong>de</strong> la condición <strong>de</strong> entrada <strong>de</strong>l renglón.<br />

Uso <strong>de</strong> una instrucción OSR en una bifurcación<br />

(Procesadores <strong>SLC</strong> <strong>500</strong> y <strong>SLC</strong> 5/01)<br />

I:1.0<br />

] [<br />

0<br />

I:1.0<br />

] [<br />

0<br />

B3<br />

[OSR]<br />

0<br />

B3<br />

[OSR]<br />

0<br />

O:3.0<br />

( )<br />

0<br />

O:3.0<br />

( )<br />

1<br />

O:3.0<br />

( )<br />

0<br />

O:3.0<br />

( )<br />

1<br />

En el renglón <strong>de</strong> arriba, la instrucción OSR no se permite<br />

<strong>de</strong>ntro <strong>de</strong> una bifurcación.<br />

En este caso la instrucción OSR no está en la<br />

bifurcación, por lo tanto, el renglón es válido.<br />

Instrucciones básicas<br />

Los procesadores <strong>SLC</strong> <strong>500</strong> y <strong>SLC</strong> 5/01 le permiten usar una instrucción OSR por<br />

cada renglón.<br />

1–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

1–14<br />

Cuando use un procesador <strong>SLC</strong> <strong>500</strong> ó <strong>SLC</strong> 5/01, no ubique condiciones <strong>de</strong><br />

entrada <strong>de</strong>spués <strong>de</strong> la instrucción OSR en un renglón. Pue<strong>de</strong> ocurrir una<br />

operación inesperada.<br />

Procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y LSC 5/04 y controladores <strong>MicroLogix</strong> 1000<br />

I:1.0<br />

] [<br />

0<br />

B3<br />

]/[<br />

1<br />

B3<br />

] [<br />

2<br />

B3<br />

[OSR]<br />

0<br />

B3<br />

[OSR]<br />

3<br />

O:3.0<br />

( )<br />

0<br />

O:3.0<br />

( )<br />

1<br />

Los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 y controladores <strong>MicroLogix</strong><br />

1000 le permiten usar una instrucción OSR por cada salida en un renglón.


Instrucciones básicas<br />

Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> temporizador<br />

Cada dirección <strong>de</strong> temporizador se compone <strong>de</strong> un elemento <strong>de</strong> 3 palabras. Palabra<br />

0 es la palabra <strong>de</strong> control, palabra 1 almacena el valor preseleccionado y palabra 2<br />

almacena el valor acumulado.<br />

Pal. 0<br />

Pal. 1<br />

Pal. 2<br />

15 14 13<br />

Cómo introducir parámetros<br />

Valor <strong>de</strong>l acumulador (.ACC)<br />

Valor preseleccionado (.PRE)<br />

Base <strong>de</strong> tiempo<br />

EN TT DN Uso interno<br />

Valor preseleccionado<br />

Valor <strong>de</strong> acumulador<br />

Bits direccionables Palabras direccionables<br />

EN = Bit 15 Habilitación<br />

TT = Bit 14 Temporización <strong>de</strong>l tempor.<br />

DN = Bit 13 Efectuado<br />

PRE = Valor preseleccionado<br />

ACC = Valor acumulado<br />

Los bits etiquetados como ”uso interno“ no son direccionables.<br />

Este es el tiempo transcurrido <strong>de</strong>s<strong>de</strong> el último restablecimiento <strong>de</strong>l temporizador.<br />

Cuando está habilitado, el temporizador lo actualiza constantemente.<br />

Especifica el valor que el temporizador <strong>de</strong>be alcanzar antes <strong>de</strong> que el controlador<br />

establezca el bit <strong>de</strong> efectuado. Cuando el valor acumulado sea igual o mayor que el<br />

valor preseleccionado, el bit <strong>de</strong> efectuado estará establecido. Pue<strong>de</strong> usar este bit<br />

para controlar un dispositivo <strong>de</strong> salida.<br />

Los valores preseleccionados y acumulados para temporizadores tienen un rango<br />

<strong>de</strong>s<strong>de</strong> 0 hasta +32,767. Si el valor preseleccionado o acumulador <strong>de</strong> temporizador<br />

es un número negativo, ocurre un error <strong>de</strong> tiempo <strong>de</strong> ejecución.<br />

La base <strong>de</strong> tiempo <strong>de</strong>termina la duración <strong>de</strong> cada intervalo <strong>de</strong> base <strong>de</strong> tiempo. Para<br />

los procesadores fijos y <strong>SLC</strong> 5/02, la base <strong>de</strong> tiempo ha sido establecido a 0.01<br />

segundo. Para los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03, <strong>SLC</strong> 5/04 y los controladores<br />

<strong>MicroLogix</strong> 1000, la base <strong>de</strong> tiempo es seleccionable como 0.01 (10 ms) segundo ó<br />

1.0 segundo.<br />

1–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Precisión <strong>de</strong>l temporizador<br />

1–16<br />

La precisión <strong>de</strong>l temporizador se refiere al tiempo transcurrido entre el momento en<br />

que una instrucción <strong>de</strong> temporizador está habilitada y el momento en que el<br />

intervalo temporizado se ha completado. La inexactitud causada por el escán <strong>de</strong><br />

programa pue<strong>de</strong> ser mayor que la base <strong>de</strong> tiempo <strong>de</strong>l temporizador. También <strong>de</strong>be<br />

consi<strong>de</strong>rar el tiempo necesario para activar el dispositivo <strong>de</strong> salida.<br />

La precisión <strong>de</strong> temporización es ± 0.01 a +0 segundos, con un escán <strong>de</strong> programa<br />

<strong>de</strong> hasta 2.5 segundos. El temporizador <strong>de</strong> 1 segundo mantiene la precisión con un<br />

escán <strong>de</strong> programa <strong>de</strong> hasta 1.5 segundos. Si sus programas pue<strong>de</strong>n exce<strong>de</strong>r 1.5 ó<br />

2.5 segundos, repita el renglón <strong>de</strong> instrucción <strong>de</strong>l temporizador para que el renglón<br />

sea escaneado <strong>de</strong>ntro <strong>de</strong> estos límites.<br />

Nota La temporización podría resultar inexacta si las <strong>instrucciones</strong> <strong>de</strong> salto (JMP),<br />

etiqueta (LBL), salto a subrutina (JSR) o subrutina (SBR) saltan el renglón que<br />

contiene una instrucción <strong>de</strong> temporizador mientras que el temporizador esté<br />

temporizando. Si la duración <strong>de</strong> salto es menor <strong>de</strong> 2.5 segundos, no se pier<strong>de</strong><br />

ningún tiempo; si la duración <strong>de</strong> salto exce<strong>de</strong> 2.5 segundos, ocurre un error <strong>de</strong><br />

temporización no <strong>de</strong>tectable. Cuando se usan subrutinas, es necesario que un<br />

temporizador esté ejecutado a un mínimo <strong>de</strong> cada 2.5 segundos para evitar un error<br />

<strong>de</strong> temporización.<br />

Estructura <strong>de</strong> direccionamiento<br />

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

T Archivo <strong>de</strong> temporizador<br />

f<br />

Explicación<br />

Número <strong>de</strong> archivo. Para los procesadores <strong>SLC</strong> <strong>500</strong>, el número pre<strong>de</strong>terminado<br />

es 4. Se pue<strong>de</strong> usar un número entre 10-255 para almacenamiento<br />

adicional. El único número <strong>de</strong> archivo válido es 4 para los controladores<br />

<strong>MicroLogix</strong> 1000.<br />

: Delimitador <strong>de</strong> elemento<br />

e<br />

Número <strong>de</strong><br />

elemento<br />

. Elemento <strong>de</strong> palabras<br />

s subelemento<br />

/ <strong>de</strong>limitador <strong>de</strong> bit<br />

b bit<br />

Estos son elementos <strong>de</strong> 3 palabras. Para los procesadores<br />

<strong>SLC</strong> <strong>500</strong> el rango es 0-255. Para los controladores<br />

<strong>MicroLogix</strong> 1000 el rango es <strong>de</strong> 0-39.


Ejemplos <strong>de</strong> direccionamiento<br />

• T4:0/15 ó T4:0/EN Bit <strong>de</strong> habilitación<br />

• T4:0/14 ó T4:0/TT Bit <strong>de</strong> temporización <strong>de</strong>l temporizador<br />

• T4:0/13 ó T4:0/DN Bit <strong>de</strong> efectuado<br />

• T4:0.1 ó T4:0.PRE Valor preseleccionado <strong>de</strong>l temporizador<br />

• T4:0.2 ó T4:0.ACC Valor acumulado <strong>de</strong>l temporizador<br />

• T4:0.1/0 ó T4:0.PRE/0 Bit 0 <strong>de</strong>l valor preseleccionado<br />

• T4:0.2/0 ó T4:0.ACC/0 Bit 0 <strong>de</strong>l valor acumulado<br />

Instrucciones básicas<br />

1–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Temporizador a la conexión (TON)<br />

TON<br />

TIMER ON DELAY<br />

Timer T4:0<br />

Time Base 0.01<br />

Preset 120<br />

Accum 0<br />

Instrucción <strong>de</strong> salida<br />

Uso <strong>de</strong> los bits <strong>de</strong> estado<br />

1–18<br />

(EN)<br />

(DN)<br />

Use la instrucción TON para activar o <strong>de</strong>sactivar una salida <strong>de</strong>spués <strong>de</strong> que el<br />

temporizador haya estado activado durante un intervalo <strong>de</strong> tiempo preseleccionado.<br />

La instrucción TON comienza a contar los intervalos <strong>de</strong> la base <strong>de</strong> tiempo cuando<br />

las condiciones <strong>de</strong> renglón se hacen verda<strong>de</strong>ras. Con tal que las condiciones <strong>de</strong><br />

renglón permanezcan verda<strong>de</strong>ras, el temporizador ajusta su valor acumulado (ACC)<br />

durante cada evaluación hasta alcanzar el vazor pre<strong>de</strong>terminado (PRE). Cuando las<br />

condiciones <strong>de</strong> renglón se hacen falsas, el valor acumulado se reinicializa sin<br />

importar si el temporizador ha sobrepasado el límite <strong>de</strong> tiempo.<br />

Este bit Se establece cuando<br />

Bit <strong>de</strong> efectuado <strong>de</strong>l<br />

temporizador DN (bit 13)<br />

Bit <strong>de</strong> temporización <strong>de</strong>l<br />

temporizador TT (bit 14)<br />

Bit <strong>de</strong> habilitación <strong>de</strong>l<br />

temporizador EN (bit 15)<br />

el valor acumulado es igual o<br />

mayor que el valor<br />

preseleccionado<br />

las condiciones <strong>de</strong> renglón<br />

son verda<strong>de</strong>ras y el valor<br />

acumulado es menor que el<br />

valor preseleccionado<br />

las condiciones <strong>de</strong> renglón<br />

son verda<strong>de</strong>ras<br />

Y permanece establecido<br />

hasta ocurrir uno <strong>de</strong> los<br />

siguientes eventos<br />

las condiciones <strong>de</strong> renglón<br />

se hacen falsas<br />

las condiciones <strong>de</strong> renglón<br />

se hacen falsas o cuando el<br />

bit <strong>de</strong> efectuado esté<br />

establecido<br />

las condiciones <strong>de</strong> renglón<br />

se hacen falsas<br />

Cuando el procesador cambia <strong>de</strong>l modo <strong>de</strong> marcha REM o prueba REM al modo <strong>de</strong><br />

programa REM o la alimentación eléctrica <strong>de</strong>l usuario se pier<strong>de</strong> durante la temporización<br />

<strong>de</strong> la instrucción, pero no ha alcanzado su valor preseleccionado, ocurre lo<br />

siguiente:<br />

• El bit <strong>de</strong> habilitación <strong>de</strong>l temporizador (EN) permanece establecido.<br />

• El bit <strong>de</strong> temporización <strong>de</strong>l temporizador (TT) permanece establecido.<br />

• El valor acumulado (ACC) permanece sin cambio.<br />

Se pue<strong>de</strong> ocurrir lo siguiente al regresar al modo <strong>de</strong> marcha REM o prueba REM:<br />

Condición Resultado<br />

Si el renglón verda<strong>de</strong>ro:<br />

Si el renglón es falso:<br />

<br />

<br />

El bit EN permanece establecido.<br />

El bit TT permanece establecido<br />

El valor ACC está puesto a cero.<br />

El bit EN está restablecido.<br />

El bit TT está restablecido.<br />

El valor ACC está puesto a cero.


Temporizador a la <strong>de</strong>sconexión (TOF)<br />

TOF<br />

TIMER OFF DELAY<br />

Timer T4:1<br />

Time Base 0.01<br />

Preset 120<br />

Accum 0<br />

Instrucción <strong>de</strong> salida<br />

(EN)<br />

(DN)<br />

Uso <strong>de</strong> los bits <strong>de</strong> estado<br />

Instrucciones básicas<br />

Use la instrucción TOF para activar o <strong>de</strong>sactivar una salida <strong>de</strong>spués <strong>de</strong> que su<br />

renglón ha estado <strong>de</strong>sactivado durante un intervalo <strong>de</strong> tiempo preseleccionado. La<br />

instrucción TOF comienza a contar los intervalos <strong>de</strong> la base <strong>de</strong> tiempo cuando el<br />

renglón efectúa una transición <strong>de</strong> verda<strong>de</strong>ro a falso. Con tal que las condiciones<br />

permanezcan falsas, el temporizador incrementa su valor acumulado (ACC) durante<br />

cada escán hasta alcanzar el valor preseleccionado (PRE). El valor acumulado se<br />

restablecerá cuando las condiciones <strong>de</strong> renglón se hagan verda<strong>de</strong>ras, sin importar si<br />

el tiempo en el temporizador se ha agotado.<br />

Este bit Se establece cuando<br />

Bit <strong>de</strong> efectuado <strong>de</strong>l<br />

temporizador DN (bit 13)<br />

Bit <strong>de</strong> temporización <strong>de</strong>l<br />

temporizador TT (bit 14)<br />

Bit <strong>de</strong> habilitación <strong>de</strong>l<br />

temporizador EN (bit 15)<br />

las condiciones <strong>de</strong> renglón<br />

son verda<strong>de</strong>ras<br />

las condiciones <strong>de</strong> renglón<br />

son falsas y el valor<br />

acumulado es menor que el<br />

valor preseleccionado<br />

las condiciones <strong>de</strong> renglón<br />

son verda<strong>de</strong>ras<br />

<br />

Y permanece establecido<br />

hasta ocurrir uno <strong>de</strong> los<br />

siguientes eventos<br />

las condiciones <strong>de</strong> renglón<br />

se hacen falsas y el valor<br />

acumulado es mayor o igual<br />

que el valor preseleccionado<br />

las condiciones <strong>de</strong> renglón<br />

se hacen verda<strong>de</strong>ras o<br />

cuando el bit <strong>de</strong> efectuado se<br />

restablece<br />

las condiciones <strong>de</strong> renglón<br />

se hacen falsas<br />

Cuando la operación <strong>de</strong>l procesador cambia <strong>de</strong>l modo <strong>de</strong> marcha REM o prueba<br />

REM al modo <strong>de</strong> programa REM o cuando se pier<strong>de</strong> la alimentación eléctrica <strong>de</strong>l<br />

usuario durante la temporización <strong>de</strong> una instrucción <strong>de</strong> retardo con temporizador<br />

<strong>de</strong>sactivado, pero no ha alcanzado su valor preseleccionado, ocurre lo siguiente:<br />

• El bit <strong>de</strong> habilitación <strong>de</strong>l temporizador (EN) permanece establecido.<br />

• El bit <strong>de</strong> temporización <strong>de</strong>l temporizador (TT) permanece establecido.<br />

• El bit <strong>de</strong> efectuado <strong>de</strong>l temporizador (DN) permanece establecido.<br />

• El valor acumulado (ACC) permanece sin cambio.<br />

<br />

1–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

1–20<br />

Se pue<strong>de</strong> ocurrir lo siguiente al regresar al modo <strong>de</strong> marcha REM o prueba REM:<br />

Condición Resultado<br />

Si el renglón es verda<strong>de</strong>ro:<br />

Si el renglón es falso:<br />

El bit TT se restablece.<br />

El bit DN permanece establecido.<br />

El bit EN se establece.<br />

El valor ACC se restablece.<br />

El bit TT se restablece.<br />

El bit DN se restablece.<br />

El bit EN se restablece.<br />

El valor ACC se establece igual que el<br />

valor preseleccionado.<br />

La instrucción <strong>de</strong> restablecimiento (RES) no se pue<strong>de</strong> usar con las<br />

<strong>instrucciones</strong> TOF porque RES siempre pone a cero los bits <strong>de</strong> estado así como<br />

el valor acumulado. (Vea la página 1-34.)<br />

Nota El TOF temporiza <strong>de</strong>ntro <strong>de</strong> una pareja MCR inactiva.


Temporizador retentivo (RTO)<br />

RTO<br />

RETENTIVE TIMER ON<br />

Timer T4:2<br />

Time Base 0.01<br />

Preset 120<br />

Accum 0<br />

Instrucción <strong>de</strong> salida<br />

(EN)<br />

(DN)<br />

Uso <strong>de</strong> los bits <strong>de</strong> estado<br />

Instrucciones básicas<br />

Use la instrucción RTO para activar o <strong>de</strong>sactivar una salida <strong>de</strong>spués que el<br />

temporizador haya estado <strong>de</strong>sactivado durante un intervalo <strong>de</strong> tiempo<br />

preseleccionado. La instrucción RTO es una instrucción retentiva que comienza a<br />

contar los intervalos <strong>de</strong> base <strong>de</strong> tiempo cuando las condiciones <strong>de</strong> renglón se hacen<br />

verda<strong>de</strong>ras.<br />

La instrucción RTO retiene su valor acumulado cuando ocurre cualquiera <strong>de</strong> los<br />

eventos siguientes:<br />

• Las condiciones <strong>de</strong> renglón se hacen falsas.<br />

• Cambia la operación <strong>de</strong>l procesador <strong>de</strong>l modo <strong>de</strong> marcha REM o prueba REM<br />

al modo <strong>de</strong> programa REM.<br />

• Se corta la alimentación eléctrica <strong>de</strong>l procesador (siempre que se mantenga una<br />

batería auxiliar).<br />

• Ocurre un fallo.<br />

Cuando regresa el procesador al modo <strong>de</strong> marcha REM o prueba REM y/o las<br />

condiciones <strong>de</strong> renglón se hacen verda<strong>de</strong>ras, la temporización continúa <strong>de</strong>s<strong>de</strong> el<br />

valor acumulado retenido. Los temporizadores retentivos mi<strong>de</strong>n el período<br />

acumulativo durante el cual las condiciones <strong>de</strong> renglón son verda<strong>de</strong>ras mediante la<br />

retención <strong>de</strong> su valor acumulado.<br />

Este bit Se establece cuando<br />

Bit <strong>de</strong> efectuado <strong>de</strong>l<br />

temporizador DN (bit 13)<br />

Bit <strong>de</strong> temporización <strong>de</strong>l<br />

temporizador TT (bit 14)<br />

Bit <strong>de</strong> habilitación <strong>de</strong>l<br />

temporizador EN (bit 15)<br />

<br />

el valor acumulado es igual o<br />

mayor que el valor<br />

preseleccionado<br />

las condiciones <strong>de</strong> renglón<br />

son verda<strong>de</strong>ras y el valor<br />

acumulado es menor que el<br />

valor preseleccionado<br />

las condiciones <strong>de</strong> renglón<br />

son verda<strong>de</strong>ras<br />

Y permanece establecido<br />

hasta ocurrir uno <strong>de</strong> los<br />

siguientes eventos<br />

la instrucción RES apropiada<br />

se habilita<br />

las condiciones <strong>de</strong> renglón<br />

se hacen falsas o cuando se<br />

establece el bit <strong>de</strong> efectuado<br />

las condiciones <strong>de</strong> renglón<br />

se hacen falsas<br />

Nota Para restablecer el valor acumulado <strong>de</strong>l temporizador retentivo y los bits <strong>de</strong> estado<br />

<strong>de</strong>spués <strong>de</strong> que el renglón RTO se hace falso, <strong>de</strong>be programar una instrucción <strong>de</strong><br />

restablecimiento (RES) con la misma dirección en otro renglón.<br />

<br />

1–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

1–22<br />

Cuando el procesador cambia <strong>de</strong>l modo <strong>de</strong> marcha REM o prueba REM al modo <strong>de</strong><br />

programa REM o fallo REM, o cuando se pier<strong>de</strong> la alimentación eléctrica <strong>de</strong>l<br />

usuario durante la temporización <strong>de</strong>l temporizador, pero todavía sin alcanzar el valor<br />

preseleccionado, ocurre lo siguiente:<br />

• El bit <strong>de</strong> habilitación (EN) <strong>de</strong>l temporizador permanece establecido.<br />

• El bit <strong>de</strong> temporización (TT) <strong>de</strong>l temporizador permanece establecido.<br />

• El valor acumulado (ACC) permanece sin cambio.<br />

Pue<strong>de</strong> ocurrir lo siguiente al regresar al modo <strong>de</strong> marcha REM o prueba REM o<br />

cuando se restaura la alimentación eléctrica:<br />

Condición Resultado<br />

Si el renglón es verda<strong>de</strong>ro:<br />

Si el renglón es falso:<br />

El bit TT permanece establecido.<br />

El bit EN permanece establecido.<br />

El valor ACC permanece sin cambio y<br />

vuelve a incrementar.<br />

El bit TT se restablece.<br />

El bit DN permanece en su último estado.<br />

El bit EN se restablece.<br />

El valor ACC permanece en su último<br />

estado.


Uso <strong>de</strong> los contadores<br />

Elementos <strong>de</strong>l archivo <strong>de</strong> datos <strong>de</strong>l contador<br />

Instrucciones básicas<br />

Cada dirección <strong>de</strong> contador se compone <strong>de</strong> un elemento <strong>de</strong> archivo <strong>de</strong> datos <strong>de</strong> 3<br />

palabras. Palabra 0 es la palabra <strong>de</strong> control y contiene los bits <strong>de</strong> estado <strong>de</strong> la<br />

instrucción. Palabra 1 es el valor preseleccionado. Palabra 2 es el valor acumulado.<br />

La palabra <strong>de</strong> control para las <strong>instrucciones</strong> <strong>de</strong> contador incluye seis bits <strong>de</strong> estado,<br />

según lo indicado a continuación:<br />

Pal. 0<br />

Pal. 1<br />

Pal. 2<br />

Cómo introducir parámetros<br />

Valor acumulado (.ACC)<br />

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00<br />

CU CD DN OV UN UA Uso interno<br />

Valor preseleccionado<br />

Valor acumulado<br />

Bits direccionables Palabras direccionables<br />

CU = Habilitación <strong>de</strong> conteo prog.<br />

CD = Habilitación <strong>de</strong> conteo reg.<br />

DN = Bit <strong>de</strong> efectuado<br />

OV = Bit <strong>de</strong> overflow<br />

UN = Bit <strong>de</strong> un<strong>de</strong>rflow<br />

UA = Actualización <strong>de</strong>l valor acumulado<br />

(HSC en el controlador fijo solamente)<br />

PRE = Preseleccionado<br />

ACC = Acumulado<br />

Los bits etiquetados como ”uso interno“ no son direccionables.<br />

Para obtener información acerca <strong>de</strong> la instrucción <strong>de</strong>l contador <strong>de</strong> alta velocidad <strong>de</strong>l<br />

controlador <strong>MicroLogix</strong> 1000, vea el capítulo 7.<br />

Este es el número <strong>de</strong> transiciones <strong>de</strong> falso a verda<strong>de</strong>ro que han ocurrido <strong>de</strong>s<strong>de</strong> el<br />

último restablecimiento <strong>de</strong>l contador.<br />

1–23


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Valor preseleccionado (PRE)<br />

Estructura <strong>de</strong> direccionamiento<br />

1–24<br />

Especifica el valor que el contador <strong>de</strong>be alcanzar antes que el controlador establezca<br />

el bit <strong>de</strong> efectuado. Cuando el valor <strong>de</strong>l acumulador se hace igual o mayor que el<br />

valor preseleccionado, se establece el bit <strong>de</strong> estado efectuado. Pue<strong>de</strong> usar este bit<br />

para controlar un dispositivo <strong>de</strong> salida.<br />

Los valores preseleccionados y acumulados para los contadores oscilan entre<br />

–32,768 hasta +32,767 y se almacen como enteros con signos. Los valores<br />

negativos se almacenan en forma <strong>de</strong> complemento <strong>de</strong> dos.<br />

Asigne direcciones <strong>de</strong> contador usando el formato Cf:e.s/b<br />

C Contador<br />

f<br />

Explicación<br />

Número <strong>de</strong> archivo. Para los procesadores <strong>SLC</strong> <strong>500</strong>, el valor<br />

pre<strong>de</strong>terminado es 5. Un número <strong>de</strong> archivo entre 10–255 se<br />

pue<strong>de</strong> usar para obtener almacenamiento adicional. El único<br />

número <strong>de</strong> archivo válido es 5 para los controladores<br />

<strong>MicroLogix</strong> 1000.<br />

: Delimitador <strong>de</strong> elemento<br />

e<br />

Número <strong>de</strong><br />

elemento<br />

. Elemento <strong>de</strong> palabra<br />

s Subelemento<br />

/ Delimitador <strong>de</strong> bit<br />

b Bit<br />

Estos son elementos <strong>de</strong> 3 palabras.<br />

Para los procesadores <strong>SLC</strong> <strong>500</strong> el<br />

rango es 0-255. Para los controladores<br />

<strong>MicroLogix</strong> 1000 el rango es <strong>de</strong> 0-39.


Ejemplos<br />

Instrucciones básicas<br />

• C5:0/15 ó C5:0/CU Bit <strong>de</strong> habilitación <strong>de</strong> conteo progresivo<br />

• C5:0/14 ó C5:0/CD Bit <strong>de</strong> habilitación <strong>de</strong> conteo regresivo<br />

• C5:0/13 ó C5:0/DN Bit <strong>de</strong> efectuado<br />

• C5:0/12 ó C5:0/OV Bit <strong>de</strong> overflow<br />

• C5:0/11 ó C5:0/UN Bit <strong>de</strong> un<strong>de</strong>rflow<br />

• C5:0/10 ó C5:0/UA Bit <strong>de</strong> actualización <strong>de</strong>l valor acumulado (HSC en el<br />

controlador fijo solamente)<br />

• C5:0.1 ó C5:0PRE Valor preseleccionado <strong>de</strong>l contador<br />

• C5:0.2 ó C5:0.ACC Valor acumulado <strong>de</strong>l contador<br />

• C5:0.1/0 ó C5:0.PRE/0 Bit <strong>de</strong>l valor preseleccionado<br />

• C5:0.2/0 ó C5:0.ACC/0 Bit 0 <strong>de</strong>l valor acumulado<br />

1–25


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Cómo funcionan los contadores<br />

1–26<br />

La figura siguiente muestra cómo funciona un contador. El valor <strong>de</strong>l contador <strong>de</strong>be<br />

permanecer <strong>de</strong>ntro <strong>de</strong>l rango <strong>de</strong> ±32768 a +32767. Si el valor <strong>de</strong> conteo exce<strong>de</strong><br />

+32767 ó <strong>de</strong>scien<strong>de</strong> a menos <strong>de</strong> ±32768, se establece un bit <strong>de</strong> overflow (OV) o<br />

un<strong>de</strong>rflow (UN) <strong>de</strong> estado <strong>de</strong>l contador.<br />

Un contador se pue<strong>de</strong> poner a cero usando la instrucción <strong>de</strong> restablecimiento (RES).<br />

–32,768<br />

(CTU)<br />

Conteo progresivo<br />

0<br />

+32,767<br />

Conteo progresivo (CTU)<br />

CTU<br />

COUNT UP<br />

Counter C5:0<br />

Preset 120<br />

Accum 0<br />

Instrucción <strong>de</strong> salida<br />

(CU)<br />

(DN)<br />

Valor acumulado <strong>de</strong>l contador<br />

Conteo regresivo<br />

(CTD)<br />

Un<strong>de</strong>rflow Overflow<br />

<br />

El CTU es una instrucción que cuenta las transiciones <strong>de</strong> renglón <strong>de</strong> falso a<br />

verda<strong>de</strong>ro. Las transiciones <strong>de</strong> renglón pue<strong>de</strong>n ser provocadas por eventos<br />

ocurriendo en el programa (<strong>de</strong> la lógica nterna o dispositivos <strong>de</strong> campo externos)<br />

tales como piezas que pasan por un <strong>de</strong>tector o que activan un interruptor <strong>de</strong> límite.<br />

Cuando las condiciones <strong>de</strong> renglón para una instrucción CTU efectúan una<br />

transición <strong>de</strong> falso a verda<strong>de</strong>ro, el valor acumulado se incrementa en uno, siempre<br />

que el renglón que contiene la instrucción CTU se evalúe entre estas transiciones.<br />

La capacidad <strong>de</strong>l contador para <strong>de</strong>tectar transiciones <strong>de</strong> falso a verda<strong>de</strong>ro <strong>de</strong>pen<strong>de</strong><br />

<strong>de</strong> la velocidad (frecuencia) <strong>de</strong> la señal <strong>de</strong> entrada.<br />

Nota La duración activada y <strong>de</strong>sactivada <strong>de</strong> un señal <strong>de</strong> entrada no <strong>de</strong>be ser más rápida<br />

que el tiempo <strong>de</strong> escán 2x (se entien<strong>de</strong> un ciclo <strong>de</strong> trabajo <strong>de</strong> 50%).<br />

El valor acumulado se retiene cuando las condiciones <strong>de</strong> renglón vuelven a hacerse<br />

falsas. El conteo acumulado se retiene hasta que sea puesto a cero por una<br />

instrucción <strong>de</strong> restablecimiento (RES) que tenga la misma dirección que el contador.


Uso <strong>de</strong> los bits <strong>de</strong> estado<br />

Este bit Se establece cuando<br />

Bit <strong>de</strong> overflow <strong>de</strong> conteo<br />

progresivo OV<br />

(bit 12)<br />

el valor acumulado cambia a<br />

–32,768 (<strong>de</strong>s<strong>de</strong> +32,767) y<br />

continúa contando <strong>de</strong>s<strong>de</strong> ese<br />

punto<br />

Bit <strong>de</strong> efectuado DN (bit 13) el valor acumulado es igual o<br />

mayor que el valor<br />

preseleccionado<br />

Bit <strong>de</strong> habilitación <strong>de</strong> conteo<br />

progresivo CU<br />

(bit 15)<br />

las condiciones <strong>de</strong> renglón<br />

son verda<strong>de</strong>ras<br />

Instrucciones básicas<br />

Y permanece establecido<br />

hasta ocurrir uno <strong>de</strong> los<br />

siguientes eventos<br />

se ejecuta una instrucción<br />

RES con la misma dirección<br />

que la instrucción CTU O<br />

BIEN el conteo se reduce a<br />

un valor menor o igual que<br />

+32,767 con una instrucción<br />

CTD<br />

el valor acumulado se hace<br />

menor que el valor<br />

preseleccionado<br />

las condiciones <strong>de</strong> renglón<br />

se hacen falsas O BIEN se<br />

habilita una instrucción RES<br />

con la misma dirección que la<br />

instrucción CTU<br />

El valor acumulado se retiene <strong>de</strong>spués que la instrucción CTU se hace falsa, o<br />

cuando la alimentación eléctrica se corta y luego se restaura al controlador.<br />

A<strong>de</strong>más, el estado activado o <strong>de</strong>sactivado <strong>de</strong> los bits <strong>de</strong> contador efectuado,<br />

overflow y un<strong>de</strong>rflow es retentivo. El valor acumulado y los bits <strong>de</strong> control se<br />

restablecen cuando se habilita la instrucción RES correcta. Los bits CU siempre se<br />

establecen antes <strong>de</strong> introducir los modos <strong>de</strong> marcha REM o prueba REM.<br />

1–27


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Conteo regresivo (CTD)<br />

CTD<br />

COUNT DOWN<br />

Counter C5:1<br />

Preset 120<br />

Accum 0<br />

Instrucción <strong>de</strong> salida<br />

Uso <strong>de</strong> los bits <strong>de</strong> estado<br />

1–28<br />

(CD)<br />

(DN)<br />

El CTD es una instrucción que cuenta las transiciones <strong>de</strong> renglón <strong>de</strong> falso a<br />

verda<strong>de</strong>ro. Las transiciones <strong>de</strong> renglón pue<strong>de</strong>n ser causadas por eventos que<br />

ocurren en el programa, tales como piezas pasando por un <strong>de</strong>tector o accionando un<br />

final <strong>de</strong> carrera.<br />

Cuando las condiciones <strong>de</strong> renglón para una instrucción CTD han efectuado una<br />

transición <strong>de</strong> falo a verda<strong>de</strong>o, el valor acumulado se disminuye en un conteo,<br />

siempre que el renglón que contiene la instrucción CTD se evalúe entre estas<br />

transiciones.<br />

Los conteos acumulados se retienen cuando las condiciones <strong>de</strong> renglón se hacen<br />

falsas nuevamente. El conteo acumulado se retiene hasta que sea puesto a cero por<br />

una instrucción <strong>de</strong> restablecimiento (RES) que tiene la misma dirección que el<br />

contador restablecido.<br />

Este bit Se establece cuando<br />

Bit <strong>de</strong> un<strong>de</strong>rflow <strong>de</strong> conteo<br />

regresivo UN<br />

(bit 11)<br />

el valor acumulado cambia a<br />

–32,768 (<strong>de</strong>s<strong>de</strong> +32,767) y<br />

continúa contando regresivamente<br />

<strong>de</strong>s<strong>de</strong> ese punto<br />

Bit <strong>de</strong> efectuado DN (bit 13) el valor acumulado es igual o<br />

mayor que el valor<br />

preseleccionado<br />

Bit <strong>de</strong> habilitación <strong>de</strong> conteo<br />

regresivo CD<br />

(bit 14)<br />

<br />

las condiciones <strong>de</strong> renglón<br />

son verda<strong>de</strong>ras<br />

Y permanece establecido<br />

hasta ocurrir uno <strong>de</strong> los<br />

siguientes eventos<br />

una instrucción RES con la<br />

misma dirección que la<br />

instrucción CTD se ejecuta O<br />

BIEN el conteo es<br />

incrementado menor o igual<br />

que +32,767 con una<br />

instrucción CTU<br />

el valor acumulado se hace<br />

menor que el valor<br />

preseleccionado<br />

las condiciones <strong>de</strong> renglón<br />

se hacen falsas O BIEN se<br />

habilita una instrucción RES<br />

con la misma dirección que la<br />

instrucción CTD<br />

El valor acumulado se retiene <strong>de</strong>spués <strong>de</strong> que la instrucción CTD se hace falsa, o<br />

cuando la alimentación eléctrica al controlador se corta y luego se restaura.<br />

A<strong>de</strong>más, el estado activado o <strong>de</strong>sactivado <strong>de</strong> los bits <strong>de</strong> contador efectuado,<br />

overflow y un<strong>de</strong>rflow es retentivo. El valor acumulado y los bits <strong>de</strong> control se<br />

restablecen cuando se habilita la instrucción RES correcta. Los bits CD siempre se<br />

establecen antes <strong>de</strong> introducir los modos <strong>de</strong> marcha REM o prueba REM.


Contador <strong>de</strong> alta velocidad (HSC)<br />

HSC<br />

HIGH SPEED COUNTER<br />

Counter C5:0<br />

Preset 120<br />

Accum 0<br />

Instrucción <strong>de</strong> salida<br />

(CU)<br />

(DN)<br />

Instrucciones básicas<br />

El contador <strong>de</strong> alta velocidad constituye una variación <strong>de</strong>l contador CTU. La<br />

instrucción HSC se habilita cuando la lógica <strong>de</strong> renglón es verda<strong>de</strong>ra y se inhabilita<br />

cuando la lógica <strong>de</strong> renglón es falsa.<br />

Para obtener información acerca <strong>de</strong> la instrucción <strong>de</strong>l contador <strong>de</strong> alta velocidad <strong>de</strong>l<br />

controlador <strong>MicroLogix</strong> 1000, vea el capítulo 7.<br />

Nota La instrucción HSC cuenta transiciones que ocurren en el terminal <strong>de</strong> entrada I:0/0.<br />

La instrucción HSC no cuenta las transiciones <strong>de</strong> renglón. Habilita o inhabilita el<br />

renglón HSC para habilitar o inhabilitar el conteo <strong>de</strong> transiciones que ocurren en la<br />

terminal <strong>de</strong> entrada I:0/0. Recomendamos colocar la instrucción HSC en un<br />

renglón incondicional. No coloque la instrucción XIC con la dirección I:0/0 en<br />

serie con la instrucción HSC ya que los conteos se per<strong>de</strong>rán.<br />

El HSC es una contador CTU especial para uso con los procesadores <strong>SLC</strong> fijos y<br />

<strong>SLC</strong> 5/01 <strong>de</strong> 24 VCC. Los bits <strong>de</strong> estado y valores acumulados <strong>de</strong>l HSC son no<br />

retentivos.<br />

Nota Esta instrucción proporciona el conteo <strong>de</strong> alta velocidad para los controladores <strong>de</strong><br />

E/S fijos con entradas <strong>de</strong> 24 VCC. Se permite una sola instrucción HSC por cada<br />

controlador. Para usar la instrucción, <strong>de</strong>be cortar el puente según se indica a<br />

continuación. Se recomienda un cable blindado para reducir el ruido a la entrada.<br />

Operación <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

Para la operación <strong>de</strong>l contador <strong>de</strong> alta velocidad, hay que realizar los pasos<br />

siguientes:<br />

1. Desconecte la alimentación eléctrica <strong>de</strong>l controlador fijo.<br />

2. Quite el envolvente <strong>de</strong>l <strong>SLC</strong> <strong>500</strong>.<br />

3. Localice y corte el cable <strong>de</strong>l puente J2. No lo quite completamente, pero<br />

asegúrese que los extremos <strong>de</strong>l cable <strong>de</strong>l puente cortado no hagan contacto<br />

entre sí.<br />

<br />

<br />

1–29


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

1–30<br />

El puente <strong>de</strong>l contador <strong>de</strong> alta velocidad se ubica <strong>de</strong>bajo <strong>de</strong>l<br />

conectador <strong>de</strong> la batería O BIEN a la <strong>de</strong>recha <strong>de</strong>l conector<br />

<strong>de</strong> la batería.<br />

J2<br />

4. Vuelva a poner la cubierta.<br />

Nota Ahora la entrada I:0/0 funciona en modo <strong>de</strong> alta velocidad. La dirección <strong>de</strong>l bit <strong>de</strong><br />

habilitación <strong>de</strong>l contador <strong>de</strong> alta velocidad es C5:0/CU. Cuando las condiciones <strong>de</strong><br />

renglón son verda<strong>de</strong>ras, se establece C5:0/CU y se cuentan las transiciones que<br />

ocurren en la entrada I:0/0.<br />

J2<br />

Para comenzar el conteo <strong>de</strong> alta velocidad, cargue un valor preseleccionado en<br />

C5:0.PRE y habilite el renglón <strong>de</strong> contador. Para contar un valor preseleccionado,<br />

realice uno <strong>de</strong> los pasos siguientes:<br />

• Cambie al modo <strong>de</strong> marcha REM o prueba REM <strong>de</strong> otro modo.<br />

• Encienda el procesador en modo <strong>de</strong> marcha REM.<br />

• Restablezca el HSC usando la instrucción RES.<br />

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

interrupción.<br />

Cada transición <strong>de</strong> entrada que ocurre en entrada I:0/0 causa que el HSC acumulado<br />

se incremente. Cuando el valor acumulado es igual que el valor preseleccionado, se<br />

establece el bit <strong>de</strong> efectuado (C5:0/DN), el valor acumulado se pone a cero y el<br />

valor preseleccionado (C5:0.PRE) se carga en el HSC como preparación para la<br />

próxima transición <strong>de</strong> alta velocidad en la entrada I:0/0.<br />

Su programa <strong>de</strong> escalera <strong>de</strong>be consultar el bit <strong>de</strong> efectuado (C5:0/DN) para<br />

<strong>de</strong>terminar el estado <strong>de</strong>l HSC. Una vez que el bit <strong>de</strong> efectuado haya sido <strong>de</strong>tectado<br />

como establecido, el programa <strong>de</strong> escalera <strong>de</strong>be poner a cero el bit C5:0/DN (usando<br />

la instrucción OTU <strong>de</strong> <strong>de</strong>senclavamiento) antes <strong>de</strong> que el HSC acumulado vuelva a<br />

alcanzar el valor preseleccionado; en caso contrario, el bit <strong>de</strong> overflow (C5:0/OV) se<br />

establecerá.


Instrucciones básicas<br />

El HSC es diferente que los contadores CTU y CTD. El CTU y CTD son<br />

contadores <strong>de</strong> software. El HSC es un contador <strong>de</strong> hardware y funciona<br />

asincrónicamente al escán <strong>de</strong>l programa <strong>de</strong> escalera. El valor acumulado HSC<br />

(C5:0.ACC) normalmente se actualiza cada vez que el renglón HSC es evaluado en<br />

el programa <strong>de</strong> escalera. Esto significa que el valor <strong>de</strong>l acumulador <strong>de</strong> hardware<br />

HSC se transfiere al acumulador <strong>de</strong> software HSC. Use solamente la instrucción<br />

OTE para transferir este valor. La instrucción HSC pone a cero inmediatamente el<br />

bit C5:0/UA a continuación <strong>de</strong> la actualización acumulada.<br />

Muchos conteos HSC pue<strong>de</strong>n ocurrir entre las evaluaciones HSC, los cuales<br />

provocarían la inexactitud <strong>de</strong>l bit C5:0.ACC cuando éste sea usado en un programa<br />

<strong>de</strong> escalera. Para permitir un valor acumulado HSC exacto, el bit <strong>de</strong> acumulado <strong>de</strong><br />

actualización (C5:0/UA) causa que C5:0.ACC sea actualizado inmediatamente al<br />

estado <strong>de</strong>l acumulador <strong>de</strong> harware cuando se establece.<br />

Use la instrucción RES para restablecer el contador <strong>de</strong> alta velocidad en dirección<br />

C5:0. La instrucción HSC pone a cero el bit <strong>de</strong> estado, el acumulador y carga el<br />

valor preseleccionado durante:<br />

• el encendido<br />

• entrada en el modo <strong>de</strong> marcha REM<br />

• un restablecimiento<br />

Elementos <strong>de</strong> datos <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

La dirección C5:0 es el elemento <strong>de</strong> 3 palabras <strong>de</strong>l contador HSC.<br />

Pal. 0<br />

Pal. 1<br />

Pal. 2<br />

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00<br />

CU CD DN OV UN UA No usado<br />

Valor preseleccionado<br />

Valor <strong>de</strong> acumulador<br />

CU = Bit <strong>de</strong> habilitación <strong>de</strong> conteo progresivo<br />

CD = Bit <strong>de</strong> habilitación <strong>de</strong> conteo regresivo<br />

DN = Bit <strong>de</strong> efectuado<br />

OV = Bit <strong>de</strong> overflow<br />

UN = Bit <strong>de</strong> un<strong>de</strong>rflow<br />

UA = Actualización <strong>de</strong> acumulador (HSC solamente)<br />

1–31


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo <strong>de</strong> aplicación<br />

1–32<br />

• La palabra 0 contiene los bits <strong>de</strong> estado siguientes <strong>de</strong> la instrucción HSC:<br />

– El bit 10 (UA) actualiza la palabra <strong>de</strong> acumulador <strong>de</strong>l HSC para reflejar el<br />

estado inmediato <strong>de</strong>l HSC cuando es verda<strong>de</strong>ro.<br />

– El bit 12 (OV) indica la ocurrencia <strong>de</strong> un overflow <strong>de</strong> HSC.<br />

– El bit 13 (DN) indica si el valor preseleccionado <strong>de</strong> HSC ha sido alcanzado.<br />

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

instrucción HSC.<br />

• La palabra 1 contiene el valor preseleccionado que se carga en el HSC cuando<br />

se ejecuta la instrucción RES, o cuando se establece el bit <strong>de</strong> efectuado o<br />

cuando se efectúa el encendido inicial.<br />

• La palabra 2 contiene el valor <strong>de</strong>l acumulador HSC. Esta palabra es actualizada<br />

cada vez que la instrucción HSC es evaluada y cuando el bit <strong>de</strong>l acumulador <strong>de</strong><br />

actualización es establecido usando una instrucción OTE. Este acumulador es<br />

<strong>de</strong> sólo lectura. Cualquier valor escrito en el acumulador resulta sobrescrito por<br />

el contador <strong>de</strong> alta velocidad durante la evaluación <strong>de</strong> instrucción,<br />

restablecimiento o introducción <strong>de</strong>l modo <strong>de</strong> marcha REM.<br />

En las figuras siguientes, cada uno <strong>de</strong> los renglones 1, 18 y 31 <strong>de</strong>l archivo <strong>de</strong><br />

programa principal consiste en una instrucción XIC direccionada al bit <strong>de</strong> efectuado<br />

HSC y una instrucción JSR. Estos renglones consultan el estado <strong>de</strong>l bit <strong>de</strong><br />

efectuado HSC. Cuando el bit <strong>de</strong> efectuado es establecido a cualquiera <strong>de</strong> estos<br />

puntos <strong>de</strong> encuesta, la ejecución <strong>de</strong>l programa se mueve al archivo <strong>de</strong> subrutina 3,<br />

ejecutando la lógica HSC. Después <strong>de</strong> la ejecución <strong>de</strong> la lógica HSC, el bit <strong>de</strong><br />

efectuado es puesto a cero por una instrucción <strong>de</strong> <strong>de</strong>senclavamiento y la ejecución<br />

<strong>de</strong> programa retorna al archivo <strong>de</strong> programa principal.


Ejemplo <strong>de</strong> aplicación – Archivo 2 (consulta <strong>de</strong>l bit DN en el programa principal)<br />

Rung 1<br />

Rung 2<br />

Rung 17<br />

C5:0<br />

] [<br />

DN<br />

C5:0<br />

Rung 18 ] [<br />

DN<br />

Rung 19<br />

Rung 30<br />

Rung 31<br />

Rung 32<br />

C5:0<br />

] [<br />

DN<br />

JSR<br />

JUMP TO SUBROUTINE 3<br />

] [ ] [ ] [ ( )<br />

] [ ] [ ] [ ( )<br />

JSR<br />

JUMP TO SUBROUTINE 3<br />

] [ ] [ ] [ ( )<br />

] [ ] [ ] [ ( )<br />

JSR<br />

JUMP TO SUBROUTINE 3<br />

] [ ] [ ] [ ( )<br />

Ejemplo <strong>de</strong> aplicación – Archivo 3 (ejecución <strong>de</strong> lógica HSC)<br />

Rung 0 ] [<br />

( )<br />

Rung 1<br />

Rung 20<br />

Rung 21<br />

] [ ] [ ] [ ( )<br />

RET<br />

RETURN<br />

C5:0<br />

(U)<br />

DN<br />

Instrucciones básicas<br />

Lógica <strong>de</strong> aplicación<br />

Desenclavamiento<br />

<strong>de</strong>l bit<br />

DN<br />

1–33


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Restablecimiento (RES)<br />

(RES)<br />

Instrucción <strong>de</strong> salida<br />

1–34<br />

Use una instrucción RES para restablecer un temporizador o contador. Cuando se<br />

habilita la instrucción RES, restablece la instrucción <strong>de</strong> retardo <strong>de</strong>l temporizador a la<br />

conexión (TON), temporizador retentivo (RTO), conteo progresivo (CTU) o conteo<br />

regresivo (CTD) con la misma dirección que la instrucción RES.<br />

Usando una instrucción RES para un: El procesador restablece el:<br />

Temporizador<br />

(No use una instrucción RES con TOF.)<br />

Contador<br />

Control<br />

<br />

valor ACC a 0<br />

bit DN<br />

bit TT<br />

bit EN<br />

valor ACC a 0<br />

bit OV<br />

bit UNt<br />

bit DN<br />

bit CU<br />

bit CD<br />

valor POS a 0<br />

bit EN<br />

bit EUt<br />

bit DN<br />

bit EM<br />

bit ER<br />

bit UL<br />

IN y FD van al último estado<br />

Nota Si usa esta instrucción para restablecer el acumulador HSC <strong>de</strong>l controlador<br />

<strong>MicroLogix</strong> 1000, vea la página 7-21.<br />

Cuando restablece un contador, si la instrucción RES está habilitada y el renglón <strong>de</strong><br />

contador está habilitado, se pone a cero el bit CU o CD.<br />

Si el valor preseleccionado <strong>de</strong>l contador es negativo, la instrucción RES establece el<br />

valor acumulado a cero. Esto, a su vez, causa que el bit <strong>de</strong> efectuado sea establecido<br />

por una instrucción <strong>de</strong> conteo regresivo o conteo progresivo.<br />

Ya que la instrucción RES restablece el valor acumulado y los bits <strong>de</strong><br />

efectuado, temporización y habilitados, no use la instrucción RES para<br />

restablecer una dirección <strong>de</strong> temporizador usada en una instrucción TOF. En<br />

caso contrario, pue<strong>de</strong> ocurrir la operación inesperada <strong>de</strong> la máquina o lesiones<br />

al personal.


Instrucciones básicas<br />

Instrucciones básicas <strong>de</strong>l ejemplo <strong>de</strong> aplicación <strong>de</strong> la<br />

perforadora <strong>de</strong> papel<br />

Cómo añadir archivo 2<br />

Esta sección proporciona renglones <strong>de</strong> escalera para mostrar el uso <strong>de</strong> las<br />

<strong>instrucciones</strong> básicas. Los renglones forman parte <strong>de</strong>l ejemplo <strong>de</strong> aplicación <strong>de</strong> la<br />

perforadora <strong>de</strong> papel <strong>de</strong>scrito en el apéndice H. Usted añadirá el programa principal<br />

en el archivo 2, a<strong>de</strong>más <strong>de</strong> añadir una subrutina al archivo 6.<br />

Los renglones ilustrados en la página siguiente son <strong>de</strong>finidos como la lógica <strong>de</strong><br />

“arranque” <strong>de</strong>l programa. Determinan las condiciones necesarias para arrancar la<br />

máquina monitorizando los botones pulsadores <strong>de</strong> arranque y paro. Cuando se<br />

presiona el botón pulsador <strong>de</strong> arranque, habilita al transportador a moverse e inicia<br />

la rotación <strong>de</strong> la broca. Cuando se presiona el botón pulsador <strong>de</strong> paro, inhabilita el<br />

movimiento <strong>de</strong>l transportador y <strong>de</strong>tiene el motor <strong>de</strong> la perforadora.<br />

La lógica <strong>de</strong> arranque también verifica la retracción completa <strong>de</strong> la perforadora (a la<br />

posición original) y el <strong>de</strong>sgaste excesivo <strong>de</strong> la broca (<strong>de</strong>terminado en otra parte <strong>de</strong>l<br />

programa) antes <strong>de</strong> permitir el movimiento <strong>de</strong>l transportador.<br />

Posición<br />

original<br />

I:1/5<br />

Perforadora activada/<strong>de</strong>sactivada O:3/1<br />

1–35


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

1–36<br />

Renglón 2:0<br />

Estos renglones iniciarán el movimiento <strong>de</strong>l transportador cuando se presione el<br />

botón pulsador. No obstante, hay otras condiciones que se <strong>de</strong>ben cumplir antes <strong>de</strong><br />

iniciar el transportador. Estas son: la broca <strong>de</strong>be estar en su posición<br />

completamente retraída (original) y la broca no <strong>de</strong>be sobrepasar su vida útil máxima.<br />

Estos renglones también <strong>de</strong>tendrán el transportador cuando se presione el botón<br />

pulsador o cuando la vida útil <strong>de</strong> la broca haya sido excedida.<br />

| Botón |Pos. BOTON Enclav. |<br />

| ARRANQUE |orig. LS <strong>de</strong>tención MARCHA |<br />

| máquina |<br />

| I:1.0 I:1.0 I:1.0 B3:0 |<br />

|–+––––] [––––––––] [–––––+––––]/[–––––––––––––––––––––––––––––––––––––( )–––––|<br />

| | 6 5 | 7 0 |<br />

| | Enclav. | |<br />

| | MARCHA | |<br />

| | máquina | |<br />

| | B3:0 | |<br />

| +––––] [––––––––––––––––+ |<br />

| 0 |<br />

Renglón 2:1<br />

| Enclav. Motor |<br />

| MARCHA perf. ACTIV. |<br />

| máquina |<br />

| B3:0 O:3.0 |<br />

|––––] [––––––––––––––––––––––––––––––––––––––––––––––––+––––––––––––( )–––––+–|<br />

| 0 | 1 | |<br />

| | Arranque/<strong>de</strong>tención| |<br />

| | transportador | |<br />

| | | |<br />

| | B3:0 O:3.0 | |<br />

| +––[OSR]–––––(L)–––––+ |<br />

| 1 0 |<br />

Renglón 2:2<br />

Detenga el transportador si existen condiciones que <strong>de</strong>senclaven el bit <strong>de</strong><br />

<strong>de</strong>senclavamiento <strong>de</strong> MARCHA <strong>de</strong> la máquina.<br />

| Enclav. | Conveyor |<br />

| MARCHA | Start/Stop |<br />

| máquina | |<br />

| B3:0 O:3.0 |<br />

|––––]/[–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|<br />

| 0 0 |


Cómo añadir el archivo 6<br />

Instrucciones básicas<br />

Esta subrutina controla el movimiento ascen<strong>de</strong>nte y <strong>de</strong>scen<strong>de</strong>nte <strong>de</strong> la broca para la<br />

perforadora.<br />

Posición<br />

original<br />

I:1/5<br />

Prof.<br />

perforación<br />

I:1/4<br />

Perf. act./<strong>de</strong>sact. O:3/1<br />

Retracción perf. O:3/2<br />

Avance perf. O:3/3<br />

1–37


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

1–38<br />

Renglón 6:0<br />

Esta sección <strong>de</strong> la lógica <strong>de</strong> escalera controla el movimiento ascen<strong>de</strong>nte/<strong>de</strong>scen<strong>de</strong>nte<br />

<strong>de</strong> la broca para la perforadora.<br />

Cuando el transportador posiciona el libro <strong>de</strong>bajo <strong>de</strong> la broca, se establece el bit<br />

<strong>de</strong> INICIO DE LA SECUENCIA DE PERFORACION. Este renglón usa dicho bit para iniciar<br />

la operación <strong>de</strong> perforación. Ya que el bit es establecido para la operación <strong>de</strong><br />

perforación completa, se requiere que el OSR pueda <strong>de</strong>sactivar la señal <strong>de</strong> avance<br />

para que la perforadora se retraiga.<br />

| Inicio |Subr perf.| Avance |<br />

| sec. | OSR | perforadora|<br />

| perfor. | |<br />

| B3:2 B3:3 O:3.0 |<br />

|––––] [–––––––[OSR]–––––––––––––––––––––––––––––––––––––––––––––––––––(L)–––––|<br />

| 0 0 3 |<br />

Renglón 6:1<br />

Cuando la broca haya perforado el libro, el cuerpo <strong>de</strong> la broca activará el final <strong>de</strong><br />

carrera <strong>de</strong> la PROFUNDIDAD DE PERFORACION. Al ocurrir esto, se <strong>de</strong>sactiva la señal <strong>de</strong><br />

AVANCE DE LA PERFORADORA y se activa la señal <strong>de</strong> RETRACCION DE LA PERFORADORA.<br />

| Prof. Avance |<br />

| perforadora LS perforadora |<br />

| I:1.0 O:3.0 |<br />

|–+––––] [––––––––––––––––+–––––––––––––––––––––––––––––––––––––+––––(U)–––––+–|<br />

| | 4 | | 3 | |<br />

| | Primer |Posición | | Retracc. | |<br />

| | paso |orig. LS | | perforadora|<br />

| | S:1 I:1.0 | | O:3.0 | |<br />

| +––––] [––––––––]/[–––––+ +––––(L)–––––+ |<br />

| 15 5 2 |<br />

Renglón 6:2<br />

Cuando la broca se retrae (<strong>de</strong>spués <strong>de</strong> efectuar una perforación), el cuerpo <strong>de</strong> la<br />

broca activará el final <strong>de</strong> carrera <strong>de</strong> POSICION ORIGINAL DE LA BROCA. Al ocurrir<br />

esto, se <strong>de</strong>sactiva la señal <strong>de</strong> RETRACCION DE LA BROCA, el bit <strong>de</strong> INICIO DE LA<br />

SECUENCIA DE PERFORACION se activa para indicar el fin <strong>de</strong>l proceso <strong>de</strong> perforación y<br />

el transportador vuelve a iniciarse.<br />

| Posición |Retracción Retracción |<br />

| orig. LS |perforadora perforadora |<br />

| I:1.0 O:3.0 O:3.0 |<br />

|––––] [––––––––] [––––––––––––––––––––––––––––––––––+–––––––––––––––(U)–––––+–|<br />

| 5 2 | 2 | |<br />

| | Inicio | |<br />

| | secuencia | |<br />

| | perforadora| |<br />

| | B3:2 | |<br />

| +–––––––––––––––(U)–––––+ |<br />

| | 0 | |<br />

| | Enclav. |Arranque/ | |<br />

| | MARCHA |<strong>de</strong>tención | |<br />

| | máquina |transport. | |<br />

| | B3:0 O:3.0 | |<br />

| +––––] [––––––––(L)–––––+ |<br />

| 0 0 |


2 Instrucciones <strong>de</strong> comparación<br />

Instrucciones <strong>de</strong> comparación<br />

Instrucciones <strong>de</strong> comparación<br />

Este capítulo contiene información general acerca <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> comparación<br />

y explica cómo funcionan en su programa <strong>de</strong> aplicación. Cada una <strong>de</strong> las<br />

<strong>instrucciones</strong> <strong>de</strong> comparación incluye información acerca <strong>de</strong>:<br />

• cómo <strong>de</strong>be aparecer el símbolo <strong>de</strong> instrucción<br />

• cómo usar la instrucción<br />

A<strong>de</strong>más, la última sección contiene un ejemplo <strong>de</strong> aplicación para una perforadora<br />

<strong>de</strong> papel que muestra el uso <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> comparación.<br />

Instrucción<br />

Mnemónico Nombre<br />

Propósito Página<br />

EQU Igual Probar si dos valores son iguales. 2–3<br />

NEQ No igual Probar si un valor no es igual que un segundo valor. 2–3<br />

LES Menor que Probar si un valor es menor que un segundo valor. 2–4<br />

LEQ Menor o<br />

igual que<br />

Probar si un valor es menor o igual que un segundo<br />

valor.<br />

GRT Mayor que Probar si un valor es mayor que otro. 2-4<br />

GEQ Mayor o igual que Probar si un valor es mayor o igual que un segundo<br />

valor.<br />

MEQ Comparación<br />

igualdad con<br />

máscara<br />

Probar porciones <strong>de</strong> dos valores para saber si son<br />

iguales. Compara datos <strong>de</strong> 16 bits <strong>de</strong> una dirección<br />

<strong>de</strong> fuente contra datos <strong>de</strong> 16 bit en una dirección <strong>de</strong><br />

referencia mediante una máscara.<br />

LIM Prueba <strong>de</strong> límite Probar si un valor se encuentra <strong>de</strong>ntro <strong>de</strong>l rango <strong>de</strong><br />

límite <strong>de</strong> otros dos valores.<br />

2–4<br />

2–5<br />

2–6<br />

2–7<br />

2–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Acerca <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> comparación<br />

2–2<br />

Las <strong>instrucciones</strong> <strong>de</strong> comparación se usan para probar parejas <strong>de</strong> valores para<br />

establecer condiciones <strong>de</strong> la continuidad lógica <strong>de</strong> un renglón. Como ejemplo,<br />

digamos que una instrucción LES se presenta con dos valores. Si el primer valor es<br />

menor que el segundo, la instrucción <strong>de</strong> comparación es verda<strong>de</strong>ra.<br />

Para apren<strong>de</strong>r más acerca <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> comparación, le recomendamos<br />

que lea la sección Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> comparación, a<br />

continuación.<br />

Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong><br />

comparación<br />

La información general siguiente se aplica a las <strong>instrucciones</strong> <strong>de</strong> comparación.<br />

Uso <strong>de</strong> direcciones <strong>de</strong> palabra in<strong>de</strong>xadas<br />

Al usar las <strong>instrucciones</strong> <strong>de</strong> comparación, tiene la opción <strong>de</strong> usar direcciones <strong>de</strong><br />

palabra in<strong>de</strong>xadas para parámetros <strong>de</strong> instrucción especificando direcciones <strong>de</strong><br />

palabra. El direccionamiento in<strong>de</strong>xado se trata en el apéndice F <strong>de</strong> este manual.<br />

Uso <strong>de</strong> direcciones <strong>de</strong> palabra indirectas<br />

Tiene la opción <strong>de</strong> usar direcciones indirectas a nivel <strong>de</strong> palabra y a nivel <strong>de</strong> bit para<br />

<strong>instrucciones</strong> especificando direcciones <strong>de</strong> palabra cuando usa los procesadores <strong>SLC</strong><br />

5/03 OS302 y <strong>SLC</strong> 5/04 OS401. Vea el apéndice F para obtener más información.


Igual (EQU)<br />

EQU<br />

EQUAL<br />

Source A<br />

Source B<br />

Instrucción <strong>de</strong> entrada<br />

No igual (NEQ)<br />

NEQ<br />

NOT EQUAL<br />

Source A<br />

Source B<br />

Instrucción <strong>de</strong> entrada<br />

<br />

<br />

Instrucciones <strong>de</strong> comparación<br />

Use la instrucción EQU para probar si dos valores son iguales. Si la fuente A y la<br />

fuente B son iguales, la instrucción es lógicamente verda<strong>de</strong>ra. Si estos valores no<br />

son iguales, la instrucción es lógicamente falsa.<br />

La fuente A <strong>de</strong>be ser una dirección. La fuente B pue<strong>de</strong> ser una constante <strong>de</strong><br />

programa o una dirección. Los enteros negativos se almacenan <strong>de</strong> forma<br />

complementaria <strong>de</strong> dos.<br />

<br />

<br />

Use la instrucción NEQ para probar si dos valores no son iguales. Si la fuente A y<br />

la fuente B no son iguales, la instrucción es lógicamente verda<strong>de</strong>ra. Si los dos<br />

valores son iguales, la instrucción es lógicamente falsa.<br />

La fuente A <strong>de</strong>be ser una dirección. La fuente B pue<strong>de</strong> ser un constante <strong>de</strong><br />

programa o una dirección. Los enteros negativos se almacenan <strong>de</strong> forma<br />

complementaria <strong>de</strong> dos.<br />

2–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Menor que (LES)<br />

LES<br />

LESS THAN<br />

Source A<br />

Source B<br />

Instrucción <strong>de</strong> entrada<br />

2–4<br />

<br />

Use la instrucción LES para probar si un valor (fuente A) es menor que otro (fuente<br />

B). Si la fuente A es menor que el valor en la fuente B, la instrucción es<br />

lógicamente verda<strong>de</strong>ra. Si el valor en la fuente A es mayor o igual que el valor en la<br />

fuente B, la instrucción es lógicamente falsa.<br />

La fuente A <strong>de</strong>be ser una dirección. La fuente B pue<strong>de</strong> ser una constante <strong>de</strong><br />

programa o una dirección. Los enteros negativos se almacenan <strong>de</strong> forma<br />

complementaria <strong>de</strong> dos.<br />

Menor o igual que (LEQ)<br />

LEQ<br />

LESS THAN OR EQUAL<br />

Source A<br />

Source B<br />

Instrucción <strong>de</strong> entrada<br />

<br />

<br />

Use la instrucción LEQ para probar si un valor (fuente A) es menor o igual que otro<br />

(fuente B). Si la fuente A es menor o igual que el valor en la fuente B, la<br />

instrucción es lógicamente verda<strong>de</strong>ra. Si el valor en la fuente A es mayor que el<br />

valor en la fuente B, la instrucción es lógicamente falsa.<br />

La fuente A <strong>de</strong>be ser una dirección. La fuente B pue<strong>de</strong> ser una constante <strong>de</strong><br />

programa o una dirección. Los enteros negativos se almacenan <strong>de</strong> forma<br />

complementaria <strong>de</strong> dos.


Mayor que (GRT)<br />

GRT<br />

GREATER THAN<br />

Source A<br />

Source B<br />

Instrucción <strong>de</strong> entrada<br />

Instrucciones <strong>de</strong> comparación<br />

Use la instrucción GRT para probar si un valor (fuente A) es mayor que otro (fuente<br />

B). Si la fuente A es mayor que el valor en la fuente B, la instrucción es<br />

lógicamente verda<strong>de</strong>ra. Si el valor en la fuente A es menor o igual que el valor en la<br />

fuente B, la instrucción es lógicamente falsa.<br />

La fuente A <strong>de</strong>be ser una dirección. La fuente B pue<strong>de</strong> ser un constante <strong>de</strong><br />

programa o una dirección. Los enteros negativos se almacenan <strong>de</strong> forma<br />

complementaria <strong>de</strong> dos.<br />

Mayor o igual que (GEQ)<br />

GEQ<br />

GRTR THAN OR EQUAL<br />

Source A<br />

Source B<br />

Instrucción <strong>de</strong> entrada<br />

<br />

<br />

<br />

Use la instrucción GEQ para probar si un valor (fuente A) es mayor o igual que otro<br />

(fuente B). Si la fuente A es mayor o igual que el valor en la fuente B, la<br />

instrucción es lógicamente verda<strong>de</strong>ra. Si el valor en la fuente A es menor que el<br />

valor en la fuente B, la instrucción es lógicamente falsa.<br />

La fuente A <strong>de</strong>be ser una dirección. La fuente B pue<strong>de</strong> ser un constante <strong>de</strong><br />

programa o una dirección. Los enteros negativos se almacenan <strong>de</strong> forma<br />

complementaria <strong>de</strong> dos.<br />

<br />

2–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Comparación con máscara<br />

para igual (MEQ)<br />

MEQ<br />

MASKED EQUAL<br />

Source<br />

Mask<br />

Compare<br />

Instrucción <strong>de</strong> entrada<br />

2–6<br />

<br />

Use la instrucción MEQ para comparar datos en una dirección <strong>de</strong> fuente contra<br />

datos en una dirección <strong>de</strong> comparación. El uso <strong>de</strong> esta instrucción permite que una<br />

palabra separada enmascare porciones <strong>de</strong> datos.<br />

Cómo introducir parámetros<br />

• Fuente es la dirección <strong>de</strong>l valor que <strong>de</strong>sea comparar.<br />

• Máscara es la dirección <strong>de</strong> la máscara mediante la cual la instrucción mueve<br />

datos. La máscara pue<strong>de</strong> ser un valor hexa<strong>de</strong>cimal.<br />

• Comparación es un valor <strong>de</strong> entero or la dirección <strong>de</strong> la referencia.<br />

Si los 16 bits <strong>de</strong> datos en la dirección <strong>de</strong> fuente son iguales a los 16 bits <strong>de</strong> datos en<br />

la dirección <strong>de</strong> comparación (menos los bits con máscara), la instrucción es<br />

verda<strong>de</strong>ra. La instrucción se hace falsa en el momento en que <strong>de</strong>tecta una<br />

<strong>de</strong>sigualdad. Los bits en la palabra <strong>de</strong> máscara enmascaran los datos al<br />

restablecerse; transmiten datos al establecerse.


Prueba <strong>de</strong> límite (LIM)<br />

LIM<br />

LIMIT TEST<br />

Low Lim<br />

Test<br />

High Lim<br />

Instrucción <strong>de</strong> entrada<br />

Cómo introducir parámetros<br />

Instrucciones <strong>de</strong> comparación<br />

Use la instrucción LIM para probar los valores <strong>de</strong>ntro o fuera <strong>de</strong> un rango<br />

especificado, según cómo usted haya establecido los límites.<br />

Los valores <strong>de</strong> límite bajo, prueba y límite alto pue<strong>de</strong>n ser direcciones <strong>de</strong> palabra o<br />

constantes restringidos a las combinaciones siguientes:<br />

• Si el parámetro <strong>de</strong> prueba es una constante <strong>de</strong> programa, los parámetros <strong>de</strong><br />

límite bajo y límite alto <strong>de</strong>ben ser direcciones <strong>de</strong> palabra.<br />

• Si el parámetro <strong>de</strong> prueba es una dirección <strong>de</strong> palabra, los parámetros <strong>de</strong> límite<br />

bajo y límite alto pue<strong>de</strong>n ser una constante <strong>de</strong> programa o una dirección <strong>de</strong><br />

palabra.<br />

Estado verda<strong>de</strong>ro/falso <strong>de</strong> la instrucción<br />

Si el límite bajo tiene un valor igual o menor que el límite alto, la instrucción es<br />

verda<strong>de</strong>ra cuando el valor <strong>de</strong> prueba se encuentra entre los límites o cuando es igual<br />

a cualquiera <strong>de</strong> los límites. Si el valor <strong>de</strong> prueba se encuentra fuera <strong>de</strong> los límites, la<br />

instrucción es falsa, según se indica a continuación.<br />

–32,768<br />

Ejemplo – límite bajo menor que el límite alto:<br />

Límite<br />

bajo<br />

Falso Verda<strong>de</strong>ro Falso<br />

Límite<br />

alto<br />

<br />

Límite bajo Límite alto<br />

La instrucción es verda<strong>de</strong>ra<br />

cuando el valor <strong>de</strong> prueba es<br />

+ 32,767<br />

La instrucción es falsa<br />

cuando el valor <strong>de</strong> prueba es<br />

5 8 5 a 8 –32,768 a 4 y 9 a 32,767<br />

<br />

2–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

2–8<br />

Si el límite bajo tiene un valor mayor que el límite alto, la instrucción es falsa<br />

cuando el valor <strong>de</strong> prueba se encuentra entre los límites. Si el valor <strong>de</strong> prueba es<br />

igual a cualquiera <strong>de</strong> los límites o se encuentra fuera <strong>de</strong> los límites, la instrucción es<br />

verda<strong>de</strong>ra, según se indica a continuación.<br />

–32,768<br />

Ejemplo – límite bajo mayor que el límite alto:<br />

Límite<br />

bajo<br />

Verda<strong>de</strong>ro Falso<br />

Verda<strong>de</strong>ro<br />

Límite<br />

alto<br />

Límite alto<br />

La instrucción es verda<strong>de</strong>ra<br />

cuando el valor <strong>de</strong> prueba es<br />

Límite bajo<br />

La instrucción es falsa<br />

cuando el valor <strong>de</strong> prueba es<br />

5 8 –32,768 a 5 y 8 a 32,767<br />

6 y 7<br />

+ 32,767


Instrucciones <strong>de</strong> comparación<br />

Ejemplo <strong>de</strong> aplicación <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> comparación<br />

en la perforadora <strong>de</strong> papel<br />

Esta sección proporciona renglones <strong>de</strong> escalera para <strong>de</strong>mostrar el uso <strong>de</strong><br />

<strong>instrucciones</strong> <strong>de</strong> comparación. Los renglones son parte <strong>de</strong>l ejemplo <strong>de</strong> aplicación <strong>de</strong><br />

la perforadora <strong>de</strong> papel <strong>de</strong>scrito en el apéndice H.<br />

Cómo iniciar una subrutina en archivo 7<br />

Esta sección <strong>de</strong> la escalera registra las pulgadas totales <strong>de</strong> papel que ha perforado la<br />

broca actual. A medida que vaya <strong>de</strong>sgastándose la broca actual, una luz se ilumina<br />

en el panel <strong>de</strong> operador (abajo) para advertirle al operador que <strong>de</strong>be cambiar la<br />

broca.<br />

Start I:1/6 Stop I:1/7<br />

Thumbwheel for<br />

Thickness in 1/4”<br />

I:1/11–I:1/14<br />

OPERATOR PANEL<br />

Change Tool Soon<br />

O:3/4<br />

Change Tool Now<br />

O:3/6<br />

Tool Change Reset 5 Hole<br />

(Keyswitch)<br />

I:1/8<br />

3 Hole<br />

I:1/9–I:1/10<br />

7 Hole<br />

2–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

2–10<br />

Renglón 7:0<br />

Este renglón examina el número <strong>de</strong> milésimas <strong>de</strong> 1/4 pulg. que se han acumulado<br />

durante la vida útil <strong>de</strong> la broca actual. Si la broca ha perforado entre<br />

100,000–101,999 incrementos <strong>de</strong> 1/4 pulg. <strong>de</strong> papel, la bombilla <strong>de</strong> “cambiar la broca”<br />

se ilumina constantemente. Cuando el valor es entre 102,000–103,999, la bombilla <strong>de</strong><br />

“cambiar la broca” parpa<strong>de</strong>a cada 1.28 segundos. Cuando el valor alcanza 105,000, la<br />

bombilla <strong>de</strong> “cambiar la broca” parpa<strong>de</strong>a y la bombilla <strong>de</strong> “cambiar la broca ahora” se<br />

ilumina.<br />

| Milésimas 100,000 |<br />

| <strong>de</strong> 1/4 pulg. incrementos |<br />

| <strong>de</strong> 1/4 pulg. |<br />

| han |<br />

| ocurrido |<br />

| +GEQ–––––––––––––––+ B3:1 |<br />

|–––––––+–+GRTR THAN OR EQUAL+–––––––––––––––––––––––––––––––––––––––( )–––––+–|<br />

| | |Source A N7:11| 0 | |<br />

| | | 0| | |<br />

| | |Source B 100| | |<br />

| | | | | |<br />

| | +––––––––––––––––––+ | |<br />

| | Milésimas 102,000 | |<br />

| | <strong>de</strong> 1/4 pulg. incrementos | |<br />

| | <strong>de</strong> 1/4 pulg | |<br />

| | han | |<br />

| | ocurrido | |<br />

| | +GEQ–––––––––––––––+ B3:1 | |<br />

| +–+GRTR THAN OR EQUAL+–––––––––––––––––––––––––––––––––––––––( )–––––+ |<br />

| | |Source A N7:11| 1 | |<br />

| | | 0| | |<br />

| | |Source B 102| | |<br />

| | | | | |<br />

| | +––––––––––––––––––+ | |<br />

| | Milésimas cambiar la | |<br />

| | <strong>de</strong> 1/4 pulg. broca | |<br />

| | AHORA | |<br />

| | +GEQ–––––––––––––––+ O:3.0 | |<br />

| +–+GRTR THAN OR EQUAL+–––––––––––––––––––––––––––––––––––––––( )–––––+ |<br />

| | |Source A N7:11| 6 | |<br />

| | | 0| | |<br />

| | |Source B 105| | |<br />

| | | | | |<br />

| | +––––––––––––––––––+ | |<br />

| | 100,000 |102,000 cambiar | |<br />

| | incrementos|incrementos la broca | |<br />

| | <strong>de</strong> 1/4 pulg|<strong>de</strong> 1/4 pulg pronto | |<br />

| | han |han | |<br />

| | ocurrido |ocurrido | |<br />

| | B3:1 B3:1 O:3.0 | |<br />

| +–+–––––––––––––––––––––––] [––––––––]/[––––––––––––––––+––––( )–––––+ |<br />

| | 0 1 | 4 |<br />

| | 100,000 |102,000 |1.28 | |<br />

| | incrementos|increm. |segundo | |<br />

| | <strong>de</strong> 1/4 pulg|<strong>de</strong> 1/4 plg|bit <strong>de</strong> | |<br />

| | han |han |reloj <strong>de</strong> | |<br />

| | ocurridod |ocurrido |mar. libre | |<br />

| | B3:1 B3:1 S:4 | |<br />

| +–––––––––––––––––––––––] [––––––––] [––––––––] [–––––+ |<br />

| 0 1 7 |


3 Instrucciones matemáticas<br />

Instrucciones matemáticas<br />

Instrucciones matemáticas<br />

Este capítulo contiene información general acerca <strong>de</strong> <strong>instrucciones</strong> matemáticas y<br />

explica cómo funcionan en su programa <strong>de</strong> lógica. Cada una <strong>de</strong> las <strong>instrucciones</strong><br />

matemáticas incluye información acerca <strong>de</strong>:<br />

• cómo aparece el símbolo <strong>de</strong> instrucción<br />

• cómo usar la instrucción<br />

A<strong>de</strong>más, la última sección contiene un ejemplo <strong>de</strong> aplicación para una perforadora<br />

<strong>de</strong> papel que muestra el uso <strong>de</strong> las <strong>instrucciones</strong> matemáticas.<br />

Instrucción<br />

Mnemónico Nombre<br />

Propósito Page<br />

ADD Añadir Aña<strong>de</strong> la fuente A a la fuente B y almacena el<br />

resultado en el <strong>de</strong>stino.<br />

SUB Restar Resta la fuente B <strong>de</strong> la fuente A y almacena el<br />

resultado en el <strong>de</strong>stino.<br />

MUL Multiplicar Multiplica la fuente A por la fuente B y almacena el<br />

resultado en el <strong>de</strong>stino.<br />

DIV Dividir Divi<strong>de</strong> la fuente A por la fuente B y almacena el<br />

resultado en el <strong>de</strong>stino y el registro matemático.<br />

DDV División doble Divi<strong>de</strong> el contenido <strong>de</strong>l registro matemático por la<br />

fuente y almacena el resultado en el <strong>de</strong>stino y el<br />

registro matemático.<br />

3–6<br />

3–7<br />

3–11<br />

3–12<br />

3–13<br />

CLR Borrar Pone todos los bits <strong>de</strong> una palabra a cero. 3–14<br />

SQR Raíz cuadrada Calcula la raíz cuadrada <strong>de</strong> la fuente y coloca el<br />

resultado <strong>de</strong> entero en el <strong>de</strong>stino.<br />

SCP Escalar con<br />

parámetros<br />

Produce un valor <strong>de</strong> salida escalado que tiene una<br />

relación lineal entre los valores <strong>de</strong> entrada y escalados.<br />

3–14<br />

3–15<br />

continúa en la página siguiente<br />

3–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

3–2<br />

Instrucción<br />

Mnemónico Nombre<br />

Propósito Página<br />

SCL Datos <strong>de</strong> escala Multiplica la fuente por una tasa especificada,<br />

aña<strong>de</strong> a un valor offset y almacena el resultado en<br />

el <strong>de</strong>stino.<br />

ABS Absoluto Calcula el valor absoluto <strong>de</strong> la fuente y coloca el<br />

resultado en el <strong>de</strong>stino.<br />

CPT Calcular Evalúa una expresión y almacena el resultado en el<br />

<strong>de</strong>stino.<br />

SWP Cambiar Cambia los bytes bajos y altos <strong>de</strong> un número especificado<br />

<strong>de</strong> palabras en un archivo <strong>de</strong> bit, entero,<br />

ASCII o ca<strong>de</strong>na.<br />

ASN Arco seno Acepta el arco seno <strong>de</strong> un número y almacena el<br />

resultado (en radianes) en el <strong>de</strong>stino.<br />

ACS Arco coseno Acepta el arco coseno <strong>de</strong> un número y almacena el<br />

resultado (en radianes) en el <strong>de</strong>stino.<br />

ATN Arco tangente Acepta el arco tangente <strong>de</strong> un número y almacena<br />

el resultado (en radianes) en el <strong>de</strong>stino.<br />

COS Coseno Acepta el coseno <strong>de</strong> un número y almacena el resultado<br />

en el <strong>de</strong>stino.<br />

LN Logaritmo natural Acepta el logoritmo natural <strong>de</strong>l valor en la fuente y<br />

lo almacena en el <strong>de</strong>stino.<br />

LOG Logaritmo <strong>de</strong> base<br />

10<br />

Acepta el logoritmo <strong>de</strong> la base 10 <strong>de</strong>l valor en la<br />

fuente y almacena el resultado en el <strong>de</strong>stino.<br />

SIN Seno Acepta el seno <strong>de</strong> un número y almacena el resultado<br />

en el <strong>de</strong>stino.<br />

TAN Tangente Acepta la tangente <strong>de</strong> un número y almacena el<br />

resultado en el <strong>de</strong>stino.<br />

XPY X a la potencia <strong>de</strong> Y Eleva un valor a la potencia y almacena el resultado<br />

en el <strong>de</strong>stino.<br />

3–18<br />

3–24<br />

3–25<br />

3-27<br />

3-28<br />

3–29<br />

3-29<br />

3-30<br />

3-30<br />

3–31<br />

3–31<br />

3–32<br />

3-33


Acerca <strong>de</strong> las <strong>instrucciones</strong> matemáticas<br />

Instrucciones matemáticas<br />

La mayor parte <strong>de</strong> las <strong>instrucciones</strong> toman dos valores <strong>de</strong> entrada, realizan la<br />

función matemática y colocan el resultado en un lugar <strong>de</strong> memoria asignado.<br />

Por ejemplo, las <strong>instrucciones</strong> ADD y SUB toman un par <strong>de</strong> valores <strong>de</strong> entrada, los<br />

aña<strong>de</strong>n o los restan y colocan el resultado en el <strong>de</strong>stino especificado. Si el resultado<br />

<strong>de</strong> la operación exce<strong>de</strong> el valor permitido, un bit <strong>de</strong> overflow o un<strong>de</strong>rflow se<br />

establece.<br />

Para apren<strong>de</strong>r más acerca <strong>de</strong> las <strong>instrucciones</strong> matemáticas, le recomendamos que<br />

lea la Descripción general <strong>de</strong> las <strong>instrucciones</strong> matemáticas que sigue.<br />

Descripción general <strong>de</strong> las <strong>instrucciones</strong> matemáticas<br />

La información general siguiente se aplica a las <strong>instrucciones</strong> matemáticas.<br />

Cómo introducir parámetros<br />

• La fuente es la(s) dirección(es) <strong>de</strong>l(los) valor(es) en que se realiza una<br />

operación matemática, lógica o <strong>de</strong> movimiento. Esto pue<strong>de</strong> ser direcciones <strong>de</strong><br />

palabra o constantes <strong>de</strong> programa. Una instrucción que tiene dos operandos <strong>de</strong><br />

fuente no aceptan constantes <strong>de</strong> programa en ambos operandos.<br />

• El <strong>de</strong>stino es la dirección <strong>de</strong>l resultado <strong>de</strong> la operación. Los enteros con signo<br />

se almacenan <strong>de</strong> forma complementaria <strong>de</strong> dos y se aplican a los parámetros <strong>de</strong><br />

fuente y <strong>de</strong>stino.<br />

Al usar un procesador <strong>SLC</strong> 5/03 OS301, OS302 ó un procesador <strong>SLC</strong> 5/04<br />

OS400, OS401, se pue<strong>de</strong>n usar los valores <strong>de</strong>l punto (coma) flotante y <strong>de</strong><br />

ca<strong>de</strong>na (especificados al nivel <strong>de</strong> palabra). Refiérase al apéndice E para obtener<br />

tipos adicionales <strong>de</strong> direccionamiento válido.<br />

Uso <strong>de</strong> las direcciones <strong>de</strong> palabra in<strong>de</strong>xadas<br />

Tiene la opción <strong>de</strong> usar direcciones <strong>de</strong> palabra in<strong>de</strong>xadas para parámetros <strong>de</strong><br />

instrucción especificando direcciones <strong>de</strong> palabra (excepto los procesadores fijos y<br />

<strong>SLC</strong> 5/01). El direccionamiento in<strong>de</strong>xado se trata en el apéndice F.<br />

3–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Uso <strong>de</strong> las direcciones <strong>de</strong> palabra indirectas<br />

3–4<br />

Tiene la opción <strong>de</strong> usar direcciones indirectas a nivel <strong>de</strong> palabra y a nivel <strong>de</strong> bit para<br />

<strong>instrucciones</strong> especificando direcciones <strong>de</strong> palabra cuando usa procesadores <strong>SLC</strong><br />

5/03 OS302 y <strong>SLC</strong> 5/04 OS401. Vea el apéndice C para obtener más información.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Los bits <strong>de</strong> estado aritmético se encuentran en la palabra 0, bits 0–3 en el archivo <strong>de</strong><br />

estado <strong>de</strong>l controlador. Después <strong>de</strong> la ejecución <strong>de</strong> una instrucción, los bits <strong>de</strong><br />

estado aritmético en el archivo <strong>de</strong> estado son actualizados:<br />

Con este bit: El controlador:<br />

S:0/0 Acarreo (C)<br />

S:0/1 Overflow (V)<br />

S:0/2 Cero (Z)<br />

S:0/3 Signo (S)<br />

Bit <strong>de</strong> interrupción por overflow, S:5/0<br />

se establece si el acarreo es generado; en caso contrario, se<br />

pone a cero.<br />

indica que el resultado real <strong>de</strong> una instrucción matemática no<br />

se pue<strong>de</strong> colocar en el <strong>de</strong>stino <strong>de</strong>signado.<br />

indica un valor 0 <strong>de</strong>spués <strong>de</strong> una instrucción matemática, <strong>de</strong><br />

movimiento o lógica.<br />

indica un valor negativo (menor que 0) <strong>de</strong>spués <strong>de</strong> una<br />

instrucción matemática, <strong>de</strong> movimiento o lógica.<br />

El bit <strong>de</strong> error menor (S:5/0) se establece a la <strong>de</strong>tección <strong>de</strong> un overflow matemático<br />

o división entre 0. Si este bit se establece a la ejecución <strong>de</strong> una instrucción END o<br />

una instrucción <strong>de</strong> fin temporal (TND) o una regeneración <strong>de</strong> E/S (REF), se<br />

establece el código 0020 <strong>de</strong> error mayor recuperable.<br />

En las aplicaciones don<strong>de</strong> ocurre un overflow matemático o una división entre 0,<br />

pue<strong>de</strong> evitar un fallo CPU usando la instrucción <strong>de</strong> <strong>de</strong>senclavamiento (OTU) con la<br />

dirección S:5/0 en su programa. El renglón se <strong>de</strong>be encontrar entre el punto <strong>de</strong><br />

overflow y la instrucción END, TND o REF.<br />

Cambios <strong>de</strong>l registro matemático S:13 y S:14<br />

La palabra <strong>de</strong> estado S:13 contiene la palabra <strong>de</strong> mínimo significado <strong>de</strong> los valores<br />

<strong>de</strong> 32 bits <strong>de</strong> las <strong>instrucciones</strong> MUL y DDV. Contiene el resto para las <strong>instrucciones</strong><br />

DIV y DDV. También contiene los cuatro primeros dígitos BCD para las<br />

<strong>instrucciones</strong> <strong>de</strong> conversión <strong>de</strong>s<strong>de</strong> BCD (FRD) y conversión a BCD (TOD).


Instrucciones matemáticas<br />

La palabra S:14 contiene la palabra <strong>de</strong> máximo significado para los valores <strong>de</strong> 32<br />

bits <strong>de</strong> las <strong>instrucciones</strong> MUL y DDV. Contiene el cociente no redon<strong>de</strong>ado para las<br />

<strong>instrucciones</strong> DIV y DDV. También contiene el dígito más significativo (dígito 5)<br />

para las <strong>instrucciones</strong> TOD y FRD.<br />

Uso <strong>de</strong>l archivo <strong>de</strong> datos <strong>de</strong> punto (coma) flotante (F8:)<br />

Este tipo <strong>de</strong> archivo es válido para los procesadores <strong>SLC</strong> 5/03 OS301, OS302 y <strong>SLC</strong><br />

5/04 OS400, OS401. Estos son elementos <strong>de</strong> 2 palabras y direccionables solamente<br />

al nivel <strong>de</strong> elemento.<br />

Asigne las direcciones <strong>de</strong> punto (coma) flotante <strong>de</strong> esta manera:<br />

Formato Explicación<br />

Ff:e f<br />

Ejemplos:<br />

F Archivo <strong>de</strong> punto (coma) flotante<br />

Número <strong>de</strong>l archivo. El número 8 es el archivo pre<strong>de</strong>terminado. Un número<br />

<strong>de</strong> archivo entre 9–255 se pue<strong>de</strong> usar si se requiere almacenamiento<br />

adicional.<br />

: Delimitador <strong>de</strong> elemento<br />

e<br />

Número <strong>de</strong><br />

elemento<br />

Tiene un rango <strong>de</strong> 0–255. Estos son elementos <strong>de</strong> 2<br />

palabras. Números <strong>de</strong> 32 bits no extendidos.<br />

F8:2 Elemento 2, archivo <strong>de</strong> punto (coma) flotante 8<br />

F10:36 Elemento 36, archivo <strong>de</strong> punto (coma) flotante 10 (el archivo 10 es<br />

<strong>de</strong>signado como un archivo <strong>de</strong> punto [coma] flotante por el usuario)<br />

3–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Añadir (ADD)<br />

ADD<br />

ADD<br />

Source A<br />

Source B<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

3–6<br />

<br />

Use la instrucción ADD para añadir un valor (fuente A) a otro valor (fuente B) y<br />

coloque el resultado en el <strong>de</strong>stino.<br />

Actualizaciones <strong>de</strong> bits <strong>de</strong> estado aritmético<br />

<br />

Con este bit: El procesador:<br />

se establece si el acarreo es generado; si no, se restablece (entero).<br />

Acarreo (C)<br />

Se pone a cero para el punto (coma) flotante.<br />

se establece si overflow es <strong>de</strong>tectado en el <strong>de</strong>stino; en caso contrario,<br />

se restablece. Durante overflow, el indicador <strong>de</strong> error menor también se<br />

establece. Para el punto (coma) flotante, el valor <strong>de</strong> overflow se coloca<br />

en el <strong>de</strong>stino. Para un entero, el valor –32,768 ó 32,767 se coloca en el<br />

Overflow (V)<br />

<strong>de</strong>stino. Excepción: si está usando un procesador <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03<br />

ó <strong>SLC</strong> 5/04 o un controlador <strong>MicroLogix</strong> 1000 y tiene S:2/14 (bit <strong>de</strong><br />

selección <strong>de</strong> overflow matemático) establecido, entonces el overflowe<br />

sin signo o y truncado permanece en el <strong>de</strong>stino.<br />

Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.<br />

Signo (S) se establece si el resultado negativo; en caso contrario, se restablece.


Restar (SUB)<br />

SUB<br />

SUBTRACT<br />

Source A<br />

Source B<br />

Dest<br />

Instnrucción <strong>de</strong> salida<br />

<br />

Instrucciones matemáticas<br />

Use la instrucción SUB para restar un valor (fuente B) <strong>de</strong>l otro (fuente A) y coloque<br />

el resultado en el <strong>de</strong>stino.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

<br />

Con este bit: El procesador:<br />

se establece si el acarreo es generado; en caso contrario, se restablece<br />

Acarreo (C)<br />

(entero). Se pone a cero para el punto (coma) flotante.<br />

se establece si es un<strong>de</strong>rflow; en caso contrario, se restablece. Durante<br />

un<strong>de</strong>rflow, el indicador <strong>de</strong> error menor también se establece. Para el<br />

punto (coma) flotante, el valor <strong>de</strong> overflow se coloca en el <strong>de</strong>stino. Para<br />

un entero, el valor –32,768 ó 32,767 se coloca en el <strong>de</strong>stino.<br />

Overflow (V)<br />

Excepción: si está usando un procesador <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 ó <strong>SLC</strong><br />

5/04 o un controlador <strong>MicroLogix</strong> 1000 y tiene S:2/14 (bit <strong>de</strong> selección<br />

<strong>de</strong> overflow matemático) establecido, entonces el overflower sin signo y<br />

truncado permanece en el <strong>de</strong>stino.<br />

Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.<br />

Sign (S) se establece si el resultado negativo; en caso contrario, se restablece.<br />

3–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Adición y sustracción <strong>de</strong> 32 bits<br />

3–8<br />

Tiene la opción <strong>de</strong> realizar adición y sustracción <strong>de</strong> entero con signo <strong>de</strong> 16 ó 32 bits.<br />

Esto es facilitado por el bit <strong>de</strong> archivo <strong>de</strong> estado S:2/14 (bit <strong>de</strong> selección <strong>de</strong> overflow<br />

matemático).<br />

Bit <strong>de</strong> selección <strong>de</strong> overflow matemático S:2/14<br />

<br />

<br />

Establezca este bit cuando <strong>de</strong>see usar la adición y sustracción <strong>de</strong> 32 bits. Cuando<br />

S:2/14 está establecido y el resultado <strong>de</strong> una instrucción ADD, SUB, MUL, DIV o<br />

NEG no se pue<strong>de</strong> representar en la dirección <strong>de</strong> <strong>de</strong>stino (<strong>de</strong>bido al un<strong>de</strong>rflow u<br />

overflow matemático):<br />

• El bit <strong>de</strong> overflow S:0/1 se establece.<br />

• El bit <strong>de</strong> interrupción por overflow S:5/0 se establece.<br />

• La dirección <strong>de</strong> <strong>de</strong>stino contiene los 16 bits menos significativos truncados y sin<br />

signo <strong>de</strong>l resultado.<br />

Nota Para las <strong>instrucciones</strong> MUL, DIV, <strong>de</strong> entero y todas las <strong>instrucciones</strong> <strong>de</strong> punto<br />

(coma) flotante con un <strong>de</strong>stino <strong>de</strong> entero, el cambio <strong>de</strong> estado se realiza<br />

inmediatamente una vez establecido S:2/14.<br />

Cuando S:2/14 se restablece (condición pre<strong>de</strong>terminada) y el resultado <strong>de</strong> una<br />

instrucción ADD, SUB, MUL, DIV o NEG no se pue<strong>de</strong> representar en la dirección<br />

<strong>de</strong> <strong>de</strong>stino (<strong>de</strong>bio al un<strong>de</strong>rflow u overflow matemático):<br />

• El bit <strong>de</strong> overflow S:0/1 se establece.<br />

• El bit <strong>de</strong> interrupción por overflow S:5/0 se establece.<br />

• La dirección <strong>de</strong> <strong>de</strong>stino contiene 32767 si el resultado es positivo o –32768 si el<br />

resultado es negativo.<br />

Nota A<strong>de</strong>más, los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 validan el estado <strong>de</strong> bit S:2/14<br />

solamente al final <strong>de</strong> un escán para <strong>instrucciones</strong> ADD, SUB y NEG.<br />

Anote que el estado <strong>de</strong> bit S:2/14 no afecta la instrucción DDV. Tampoco afecta el<br />

contenido <strong>de</strong>l registro matemático cuando usa las <strong>instrucciones</strong> MUL y DIV.<br />

Nota Los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 solamente interrogan este bit al pasar al<br />

modo <strong>de</strong> marcha y final <strong>de</strong> escán. Use la función <strong>de</strong> monitorización <strong>de</strong> datos para<br />

efectuar esta selección antes <strong>de</strong> introducir el modo <strong>de</strong> marcha.


Ejemplo <strong>de</strong> adición <strong>de</strong> 32 bits<br />

Instrucciones matemáticas<br />

El ejemplo siguiente muestra cómo se aña<strong>de</strong> un entero signado <strong>de</strong> 16 bits a un<br />

entero signado <strong>de</strong> 32 bits. Recuer<strong>de</strong> que S:2/14 <strong>de</strong>be estar establecido para la<br />

adición <strong>de</strong> 32 bits.<br />

Anote que el valor <strong>de</strong> los 16 bits más significativos (B3:3) <strong>de</strong>l número <strong>de</strong> 32 bits se<br />

incrementa en 1 si el bit <strong>de</strong> acarreo S:0/0 está estabelcido y se disminuye en 1 si el<br />

número añadido (B3:1) es negativo.<br />

Para evitar la ocurrencia <strong>de</strong> un error mayor al final <strong>de</strong>l escán, <strong>de</strong>be <strong>de</strong>senclavar el bit<br />

<strong>de</strong> interrupción por overflow S:5/0 según se muestra.<br />

3–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

3–10<br />

Operación <strong>de</strong> adición<br />

Añadir el valor <strong>de</strong> 16 bits B3:1 al valor <strong>de</strong> 32 bits B3:3 B3:2<br />

Binario Hex Decimal <br />

Ad<strong>de</strong>nd<br />

Ad<strong>de</strong>nd<br />

Sum<br />

<br />

B3<br />

] [<br />

0<br />

B3:3 B3:2<br />

B3:1<br />

B3:3 B3:2<br />

B3<br />

[OSR]<br />

1<br />

0000 0000 0000 0011 0001 1001 0100 0000<br />

0101 0101 1010 1000<br />

0000 0000 0000 0011 0110 1110 1110 1000<br />

S:0<br />

] [<br />

0<br />

B3<br />

] [<br />

31<br />

END<br />

ADD<br />

ADD<br />

Source A B3:1<br />

0101010110101000<br />

Source B B3:2<br />

0001100101000000<br />

Dest B3:2<br />

0001100101000000<br />

ADD<br />

ADD<br />

Source A 1<br />

Source B B3:3<br />

0000000000000011<br />

Dest B3:3<br />

0000000000000011<br />

SUB<br />

SUBTRACT<br />

Source A B3:3<br />

0000000000000011<br />

Source B 1<br />

Dest B3:3<br />

0000000000000011<br />

S:5<br />

(U)<br />

0<br />

0003 1940<br />

55A8<br />

0003 6EE8<br />

203,072<br />

21,928<br />

225,000<br />

El dispositivo <strong>de</strong> programación muestra valores <strong>de</strong>cimales <strong>de</strong> 16 bits solamente. El valor <strong>de</strong>cimal <strong>de</strong> un entero <strong>de</strong> 32 bits se<br />

<strong>de</strong>riva <strong>de</strong>l valor binario o hex mostrado. Por ejemplo, 0003 1940 hex es 16 4 x3 + 16 3 x1 + 16 2 x9 + 16 1 x4 + 16 0 x0 = 203,072.<br />

Cuando el renglón se hace<br />

verda<strong>de</strong>ro para un solo<br />

escán, B3:1 es añadido a<br />

B3:2. El resultado se<br />

coloca en B3:2.<br />

Si un acarreo es generado<br />

(S:0/0 establecido), 1 es<br />

añadido a B3:3.<br />

Si B3:1 es negativo<br />

(B3/31 establecido), 1 es<br />

restado <strong>de</strong> B3:3.<br />

El bit <strong>de</strong> TRAP <strong>de</strong> overflow<br />

S:5/0 se <strong>de</strong>senclava para<br />

evitar la ocurrencia <strong>de</strong> un<br />

error mayor al final <strong>de</strong>l<br />

escán.<br />

Nota <strong>de</strong> aplicación: Pue<strong>de</strong> usar el renglón <strong>de</strong> arriba con una instrucción DDV y un<br />

contador para calcular el valor promedio <strong>de</strong> B3:1.


Multiplicar (MUL)<br />

MUL<br />

MULTIPLY<br />

Source A<br />

Source B<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

<br />

Instrucciones matemáticas<br />

Use la instrucción MUL para multiplicar un valor (fuente A) por el otro (fuente B) y<br />

coloque el resultado en el <strong>de</strong>stino.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece.<br />

se establece si el overflow se <strong>de</strong>tecta en el <strong>de</strong>stino; en caso contrario,<br />

se restablece. Durante el overflow, el indicador <strong>de</strong> error menor también<br />

se establece. El valor –32,768 ó 32,767 se coloca en el <strong>de</strong>stino.<br />

Excepción: si usa un procesador <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 ó un<br />

Overflow (V)<br />

controlador <strong>MicroLogix</strong> 1000 y tiene S:2/14 (bit <strong>de</strong> selección <strong>de</strong> overflow<br />

matemático) establecido, el overflow sin signo y truncado permanece en<br />

el <strong>de</strong>stino. Para los <strong>de</strong>stinos <strong>de</strong> punto (coma) flotante, el resultado <strong>de</strong><br />

overflow permanece en el <strong>de</strong>stino.<br />

Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.<br />

se establece si el resultado es negativo; en caso contrario, se<br />

Signo (S)<br />

restablece.<br />

Cambios <strong>de</strong>l registro matemático, S:13 y S:14<br />

Entero – Contiene el resultado con signo <strong>de</strong> 32 bits <strong>de</strong> la operación <strong>de</strong><br />

multiplicación. Este resultado es válido durante el overflow.<br />

Punto (coma) flotante – El registro matemático no se cambia.<br />

<br />

3–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dividir (DIV)<br />

DIV<br />

DIVIDE<br />

Source A<br />

Source B<br />

Dest<br />

Instrucción <strong>de</strong> entrada<br />

3–12<br />

Use la instrucción DI:V para dividir un valor (fuente A) entre otro (fuente B). El<br />

cociente redon<strong>de</strong>ado se coloca a su vez en el <strong>de</strong>stino. Si el residuo es 0.5 ó mayor,<br />

el redon<strong>de</strong>ar toma lugar en el <strong>de</strong>stino. El cociente no redon<strong>de</strong>ado se almacena en la<br />

palabra más significativa <strong>de</strong>l registro matemático. El resto se coloca en la palabra<br />

menos significativa <strong>de</strong>l registro matemático.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece.<br />

Overflow (V)<br />

Cero (Z)<br />

Signo (S)<br />

Cambios <strong>de</strong>l registro matemático, S:13 y S:14<br />

Ejemplo<br />

<br />

<br />

se establece si la división entre cero u overflow se <strong>de</strong>tecta en el <strong>de</strong>stino;<br />

en caso contrario, se restablece. Durante el overflow, el indicador <strong>de</strong><br />

error menor también se establece. El valor 32,767 se coloca en el<br />

<strong>de</strong>stino. Excepción: si usa un procesador <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 ó <strong>SLC</strong><br />

5/04 ó un controlador <strong>MicroLogix</strong> 1000 y tiene S:2/14 (bit <strong>de</strong> selección<br />

<strong>de</strong> overflow matemático) establecido, el overflow sin signo y truncado<br />

permanece en el <strong>de</strong>stino. Para los <strong>de</strong>stinos <strong>de</strong> punto (coma) flotante, el<br />

resultado <strong>de</strong> overflow permanece en el <strong>de</strong>stino.<br />

se establece si el resultado es cero; si no, se restablece; no <strong>de</strong>finido si<br />

overflow está establecido.<br />

se establece si el resultado es negativo; si no, se restablece; no <strong>de</strong>finido<br />

si el overflow está establecido.<br />

Entero – El cociente no redon<strong>de</strong>ado se coloca en la palabra más significante y el<br />

residuo se coloca en la palabra menos significativa.<br />

Punto (coma) flotante – El registro matemático no se cambia.<br />

El residuo <strong>de</strong> 11/2 es 0.5, por lo tanto, el cociente se redon<strong>de</strong>a a 6 y se almacena en<br />

el <strong>de</strong>stino. El cociente no redon<strong>de</strong>ado, lo cual es 5, se almacena en S:14 y el<br />

residuo, lo cual es 1, se almacena en S:13.<br />

DIV<br />

DIVIDE<br />

Source A N7:0<br />

11<br />

Source B N7:1<br />

2<br />

Dest N7:2<br />

6<br />

dón<strong>de</strong>: N7:0 = 11<br />

N7:1 = 2<br />

N7:2 = 6<br />

resultado: S:14 = 5<br />

S:13 = 1


División doble (DDV)<br />

DDV<br />

DOUBLE DIVIDE<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

<br />

Instrucciones matemáticas<br />

El contenido <strong>de</strong> 32 bits <strong>de</strong>l registro matemático se divi<strong>de</strong> entre el valor <strong>de</strong> fuente <strong>de</strong><br />

16 bits y el cociente redon<strong>de</strong>ado se coloca en el <strong>de</strong>stino. Si el residuo es 0.5 ó<br />

mayor, se redon<strong>de</strong>a el <strong>de</strong>stino.<br />

Típicamente esta instrucción sigue una instrucción MUL que crea un resultado <strong>de</strong><br />

32 bits.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece.<br />

se establece si es división en cero o si el resultado es mayor <strong>de</strong> 32,767<br />

ó menor <strong>de</strong> –32,768; en caso contrario, se restablece. Durante el<br />

Overflow (V)<br />

overflow, también se establece el indicador <strong>de</strong> error menor. El valor<br />

32,767 se coloca en el <strong>de</strong>stino.<br />

Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.<br />

se establece si el resultado es negativo; en caso contrario, se<br />

Signo (S)<br />

restablece; no <strong>de</strong>finido si el overflow está establecido.<br />

Cambios <strong>de</strong>l registro matemático, S:13 y S:14<br />

<br />

Inicialmente contiene el divi<strong>de</strong>ndo <strong>de</strong> la operación DDV. A la ejecución <strong>de</strong><br />

instrucción, el cociente no redon<strong>de</strong>ado se coloca en la palabra más significativa <strong>de</strong>l<br />

registro matemático. El residuo se coloca en la palabra menos significativa <strong>de</strong>l<br />

registro matemático.<br />

3–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Borrar (CLR)<br />

CLR<br />

CLEAR<br />

Dest<br />

Instnrucción <strong>de</strong> salida<br />

3–14<br />

Use la instrucción CLR para poner a cero el valor <strong>de</strong> <strong>de</strong>stino <strong>de</strong> una palabra.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Raíz cuadrada (SQR)<br />

SQR<br />

SQUARE ROOT<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece<br />

Overflow (V) siempre se restablece<br />

Cero (Z) siempre se establece<br />

Signo (S) siempre se restablece<br />

Cuando esta instrucción es evaluada como verda<strong>de</strong>ra, la raíz cuadrada <strong>de</strong>l valor<br />

absoluto <strong>de</strong> la fuente es calculada y el resultado redon<strong>de</strong>ado se coloca en el <strong>de</strong>stino.<br />

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

En las aplicaciones don<strong>de</strong> el valor <strong>de</strong> fuente pue<strong>de</strong> ser negativo, use una instrucción<br />

<strong>de</strong> comparación para evaluar el valor <strong>de</strong> fuente para <strong>de</strong>terminar si el <strong>de</strong>stino pue<strong>de</strong><br />

ser inválido.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

<br />

<br />

Con este bit: El procesador:<br />

Acarreo (C)<br />

es reservado (entero). Para el punto<br />

(coma) flotante, siempre está puesto a<br />

cero.<br />

Overflow (V) siempre se restablece.<br />

Cero (Z)<br />

se establece cuando el valor <strong>de</strong> <strong>de</strong>stino<br />

es cero.<br />

Signo (S) siempre se restablece.


Cómo escalar con parámetros (SCP)<br />

SCP<br />

SCALE W/PARAMETERS<br />

Input<br />

Input Min.<br />

Input Max.<br />

Scaled Min.<br />

Scaled Max.<br />

Scaled Output<br />

Instrucciones <strong>de</strong> salida<br />

Instrucciones matemáticas<br />

Use la instrucción SCP para producir un valor <strong>de</strong> salida escalado que tiene una<br />

relación lineal entre los valores <strong>de</strong> entrada y escalados. Esta instrucción tiene<br />

capacidad para valores <strong>de</strong> entero y punto (coma) flotante.<br />

Use la fórmula siguiente para convertir los datos <strong>de</strong> entrada analógicos en unida<strong>de</strong>s<br />

<strong>de</strong> ingeniería:<br />

y = mx + b<br />

Don<strong>de</strong>:<br />

y = salida escalada<br />

m = pendiente (escala máx. – escala mín.) / (entrada máx. – entrada mín.)<br />

x = valor <strong>de</strong> entrada<br />

b = offset (intersección y) = escala mín. – (entrada min. × inclinación)<br />

Nota La entrada mínima, entrada máxima, escala mínima y escala máxima se usan para<br />

<strong>de</strong>terminar los valores <strong>de</strong> inclinación y offset. El valor <strong>de</strong> entrada pue<strong>de</strong> salir <strong>de</strong><br />

los límites <strong>de</strong> entrada especificados sin requerir la puesta en or<strong>de</strong>n. Por ejemplo, el<br />

valor <strong>de</strong> salida con escala no se encontrará necesariamente fijado entre los valores<br />

mínimos y máximos escalados.<br />

Cómo introducir parámetros<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• El valor <strong>de</strong> entrada pue<strong>de</strong> ser una dirección <strong>de</strong> palabra o una dirección <strong>de</strong><br />

elementos <strong>de</strong> datos <strong>de</strong> punto (coma) flotante.<br />

• Los valores mínimos y máximos <strong>de</strong> entrada <strong>de</strong>terminan el rango <strong>de</strong> datos que<br />

aparece en el parámetro <strong>de</strong> valor <strong>de</strong> entrada. El valor pue<strong>de</strong> ser una dirección<br />

<strong>de</strong> palabra, una constante <strong>de</strong> entero, elemento <strong>de</strong> datos <strong>de</strong> punto (coma) flotante<br />

o una constante <strong>de</strong> punto (coma) flotante.<br />

• Los valores mínimos y máximos escalados <strong>de</strong>terminan el rango <strong>de</strong> datos que<br />

aparece en el parámetro <strong>de</strong> salida con escala. El valor pue<strong>de</strong> ser una dirección<br />

<strong>de</strong> palabra, una constante <strong>de</strong> entero, elemento <strong>de</strong> datos <strong>de</strong> punto (coma) flotante<br />

o una constante <strong>de</strong> punto (coma) flotante.<br />

• El valor <strong>de</strong> salida escalado pue<strong>de</strong> ser una dirección <strong>de</strong> palabra o una dirección<br />

<strong>de</strong> elementos <strong>de</strong> punto (coma) flotante.<br />

<br />

<br />

3–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Ejemplos <strong>de</strong> aplicación<br />

Ejemplo 1<br />

3–16<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece.<br />

Overflow (V)<br />

se establece si el overflow es generado o si una entrada sin capacidad<br />

se <strong>de</strong>tecta; si no, se restablece.<br />

Cero (Z) se establece cuando el valor <strong>de</strong> <strong>de</strong>stino es cero; si no, se restablece.<br />

Signo (S)<br />

se establece cuando el valor <strong>de</strong> <strong>de</strong>stino es negativo; si no, se<br />

restablece.<br />

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

encuentra en la ranura 1 <strong>de</strong>l chasis. Un transductor <strong>de</strong> presión está conectado a la<br />

entrada 0 y <strong>de</strong>seamos leer el valor en unida<strong>de</strong>s <strong>de</strong> ingeniería. El transductor <strong>de</strong><br />

presión mi<strong>de</strong> presiones <strong>de</strong> 0–1000 lbs/pul 2 y proporciona una señal <strong>de</strong> 0–10 V al<br />

módulo analógico. Para una señal <strong>de</strong> 0–10 V, el módulo analógico proporciona un<br />

rango entre 0–32,767. El renglón <strong>de</strong> programa siguiente colocará un número entre<br />

0–1000 en N7:20 basado en la señal <strong>de</strong> entrada proveniente <strong>de</strong>l transductor <strong>de</strong><br />

presión en el módulo analógico.<br />

Renglón 2:0<br />

| +SCP––––––––––––––––––––+ |<br />

|––––––––––––––––––––––––––––––––––––––––––––––––––––+SCALE W/PARAMETERS +–|<br />

| |Input I:1.0| |<br />

| | 0| |<br />

| |Input Min. 0| |<br />

| | | |<br />

| |Input Max. 32767| |<br />

| | | |<br />

| |Scaled Min. 0| |<br />

| | | |<br />

| |Scaled Max. 1000| |<br />

| | | |<br />

| |Scaled Output N7:20| |<br />

| | 0| |<br />

| +–––––––––––––––––––––––+ |


Ejemplo 2<br />

Instrucciones matemáticas<br />

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

se encuentra en ranura 1 <strong>de</strong>l chasis. Deseamos controlar la válvula proporcional<br />

conectada a la salida 0. La válvula requiere una señal <strong>de</strong> 4–20 mA para controlar el<br />

tamaño <strong>de</strong> su abertura (0–100%). (Suponga que hay presente lógica adicional en el<br />

programa que calcula el tamaño <strong>de</strong> abertura <strong>de</strong> la válvula en porcentaje y coloca un<br />

número entre 0–100 en N7:21.) El módulo analógico proporciona una señal <strong>de</strong><br />

salida <strong>de</strong> 4–20 mA para un número entre 6242–31,208. El renglón <strong>de</strong> programa<br />

siguiente conducirá una salida analógica para proporcionar una señal <strong>de</strong> 4–20 mA a<br />

la válvula proporcional (N7:21) basado en un número entre 0–100.<br />

Renglón 2:1<br />

| +SCP––––––––––––––––––––+ |<br />

|––––––––––––––––––––––––––––––––––––––––––––––––––––+SCALE W/PARAMETERS +–|<br />

| |Input N7:21| |<br />

| | 0| |<br />

| |Input Min. 0| |<br />

| | | |<br />

| |Input Max. 100| |<br />

| | | |<br />

| |Scaled Min. 6242| |<br />

| | | |<br />

| |Scaled Max. 31208| |<br />

| | | |<br />

| |Scaled Output O:1.0| |<br />

| | 0| |<br />

| +–––––––––––––––––––––––+ |<br />

3–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Escala <strong>de</strong> datos (SCL)<br />

SCL<br />

SCALE<br />

Source<br />

Rate [/10000]<br />

Offset<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Ejemplo<br />

3–18<br />

Cuando esta instrucción es verda<strong>de</strong>ra, el valor en la dirección <strong>de</strong> fuente se multiplica<br />

por el valor <strong>de</strong>l régimen. El resultado redon<strong>de</strong>ado se aña<strong>de</strong> al valor <strong>de</strong> offset y se<br />

coloca en el <strong>de</strong>stino.<br />

SCL<br />

SCALE<br />

Source N7:0<br />

100<br />

Rate [/10000] 2<strong>500</strong>0<br />

Offset 127<br />

Dest N7:1<br />

377<br />

La fuente 100 es multiplicada por<br />

2<strong>500</strong>0 y dividida entre 10000 y<br />

sumada a 127. El resultado 377<br />

se coloca en el <strong>de</strong>stino.<br />

Nota Cuando ocurre un un<strong>de</strong>rflow u overflow en el archivo <strong>de</strong> <strong>de</strong>stino, el bit <strong>de</strong> error<br />

menor S:5/0 <strong>de</strong>be estar restablecido por el programa. Esto <strong>de</strong>be ocurrir antes <strong>de</strong>l<br />

final <strong>de</strong>l escán actual para evitar que el código <strong>de</strong> error mayor 0020 sea instruido.<br />

Esta instrucción pue<strong>de</strong> provocar un overflow antes <strong>de</strong> la adición <strong>de</strong>l offset.<br />

Cómo introducir parámetros<br />

<br />

Anote que a veces el término régimen significa pendiente. La función <strong>de</strong> régimen se<br />

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

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

• La fuente es una dirección <strong>de</strong> palabra.<br />

• El régimen (o pendiente) es el valor positivo o negativo que usted introduce<br />

dividido entre 10,000. Pue<strong>de</strong> ser una constante <strong>de</strong> programa o una dirección <strong>de</strong><br />

palabra.<br />

• El offset pue<strong>de</strong> ser una constante <strong>de</strong> programa o una dirección <strong>de</strong> palabra.


Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Acarreo (C) es reservado.<br />

Instrucciones matemáticas<br />

se establece si un overflow se <strong>de</strong>tecta; en caso contrario, se restablece.<br />

Durante un overflow, el bit <strong>de</strong> error menor S:5/0 también se establece y<br />

Overflow (V)<br />

el valor –32,768 ó 32,767 se coloca en el <strong>de</strong>stino. La presencia <strong>de</strong> un<br />

overflow se verifica antes y <strong>de</strong>spués <strong>de</strong> la aplicación <strong>de</strong>l valor <strong>de</strong><br />

offset. <br />

Cero (Z) se establece cuando el valor <strong>de</strong> <strong>de</strong>stino es cero.<br />

se establece si el valor <strong>de</strong> <strong>de</strong>stino es negativo; en caso contrario, se<br />

Signo (S)<br />

restablece.<br />

Si el resultado <strong>de</strong> la fuente multiplicado por el régimen, dividido entre 10000 es mayor que 32767, la instrucción SCL<br />

provoca un overflow y causa un error 0020 (bit <strong>de</strong> error menor) y coloca 32767 en el <strong>de</strong>stino. Esto ocurre<br />

in<strong>de</strong>pendientemente <strong>de</strong>l offset actual.<br />

Ejemplo <strong>de</strong> aplicación 1 – Conversión <strong>de</strong> una señal <strong>de</strong> entrada analógica <strong>de</strong> 4 mA–20 mA<br />

en una variable <strong>de</strong> proceso PID<br />

16,383<br />

(Escala máx.)<br />

Valor con escala<br />

0<br />

(Escala mín.)<br />

3,277<br />

(Entrada mín.)<br />

Valor <strong>de</strong> entrada<br />

16,384<br />

(Entrada máx.)<br />

3–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Cómo calcular la relación lineal<br />

3–20<br />

Use las ecuaciones siguientes para expresar las relaciones lineales entre el valor <strong>de</strong><br />

entrada y el valor con escala resultante:<br />

Valor con escala = (valor <strong>de</strong> entrada x régimen) + offset<br />

Régimen = (escala máx. – escala mín.) / (entrada máx. – entrada mín.)<br />

(16,383 − 0) / (16,384 – 3277) = 1.249 (ó 12,490/10000)<br />

Offset = escala mín. – (entrada mín. x régimen)<br />

0 – (3277 × 1.249) = –4093<br />

Ejemplo <strong>de</strong> aplicación 2 – Cómo escalar una entrada analógica para controlar una salida<br />

analógica<br />

32,764 10V<br />

(Escala máx.)<br />

Valor con escala<br />

0 0V<br />

(Escala mín.)<br />

3,277 4 mA 16,384 20 mA<br />

(Entrada mín.) (Entrada máx.)<br />

Valor <strong>de</strong> entrada


Cómo calcular la relación lineal<br />

Use las ecuaciones siguientes para calcular las unida<strong>de</strong>s con escala:<br />

Valor con escala = (valor <strong>de</strong> entrada x régimen) + offset<br />

Régimen = (escala máx. – escala mín.) / (entrada máx. – entrada mín.)<br />

(32,764 – 0) / (16,384 – 3277) = 2.4997 (ó 24,997/10000)<br />

Offset = escala mín. – (entrada mín. x régimen)<br />

0 − (3277 × 2.4997) = – 8192<br />

Instrucciones matemáticas<br />

Los valores <strong>de</strong> offset y régimen anteriores son correctos para la instrucción SCL.<br />

No obstante, si la entrada exce<strong>de</strong> 13,107, la instrucción provoca un overflow. Por<br />

ejemplo:<br />

17mA = 13,926 × 2.4997 = 34,810 (overflow real))<br />

34,810 – 8192 = 26,618<br />

Observe que ocurrió un overflow aunque el valor final era correcto. Esto ocurrió<br />

porque se generó una condición <strong>de</strong> overflow durante el cálculo <strong>de</strong> régimen.<br />

Para evitar un overflow, recomendamos <strong>de</strong>splazar la relación lineal a lo largo <strong>de</strong>l eje<br />

<strong>de</strong>l valor <strong>de</strong> entrada y reducir los valores.<br />

El diagrama siguiente muestra la relación lineal <strong>de</strong>splazada. El valor <strong>de</strong> entrada<br />

mínima <strong>de</strong> 3,277 se resta <strong>de</strong>l valor <strong>de</strong> entrada máximo <strong>de</strong> 16,384, lo que resulta en el<br />

valor <strong>de</strong> 13,107.<br />

3–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

3–22<br />

32,764 10V<br />

(Escala máx.)<br />

Valor con escala<br />

0 0V<br />

(Escala mín.)<br />

Cómo calcular la relación lineal <strong>de</strong>splazada<br />

0 4 mA 13,107 20 mA<br />

(Entrada mín. <strong>de</strong>splazada) (Entrada máx. <strong>de</strong>splazada)<br />

Valor <strong>de</strong> entrada<br />

Use las ecuaciones siguientes para calcular las unida<strong>de</strong>s escaladas:<br />

Valor con escala = (valor <strong>de</strong> entrada x régimen) + offset<br />

Régimen = (escala máx. – escala mín.) / (entrada máx. – entrada mín.)<br />

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

Offset = escala mín. – (entrada mín. x régimen)<br />

0 – (0 × 2.4997) = 0


Instrucciones matemáticas<br />

En este ejemplo, la instrucción SCL se introduce en el programa <strong>de</strong> lógica <strong>de</strong><br />

escalera tal como sigue:<br />

Aplicar el <strong>de</strong>splazamiento<br />

SUB<br />

SUBTRACT<br />

Source A I:1.0<br />

Source B 3277<br />

Dest N7:0<br />

Valor analógico con escala <strong>de</strong>splazado<br />

SCL<br />

SCALE<br />

Source N7:0<br />

Rate [/10000] 24997<br />

Offset 0<br />

Dest O:2.0<br />

Entrada analógica<br />

Salida analógica<br />

3–23


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Absoluto (ABS)<br />

ABS<br />

ABSOLUTE VALUE<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Cómo introducir los parámetros<br />

3–24<br />

Use la instrucción ABS para calcular el valor absoluto <strong>de</strong> la fuente y colocar el<br />

resultado en el <strong>de</strong>stino. Esta instrucción tiene capacidad para los valores <strong>de</strong> entero y<br />

punto (coma) flotante. Use esta instrucción con procesadores <strong>SLC</strong> 5/03 OS302 y<br />

<strong>SLC</strong> 5/04 OS401.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• La fuente pue<strong>de</strong> ser una dirección <strong>de</strong> palabra, una constante <strong>de</strong> entero,<br />

elemento <strong>de</strong> datos <strong>de</strong> punto (coma) flotante o una constante <strong>de</strong> punto (coma)<br />

flotante.<br />

• El <strong>de</strong>stino sólo pue<strong>de</strong> ser una dirección <strong>de</strong> palabra o un elemento <strong>de</strong> datos <strong>de</strong><br />

punto (coma) flotante.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece.<br />

Overflow (V)<br />

<br />

<br />

siempre se restablece con un valor <strong>de</strong> punto (coma) flotante; se<br />

establece si la entrada es –32,768 (valor <strong>de</strong> entero).<br />

Cero (Z)<br />

se establece cuando el valor <strong>de</strong> <strong>de</strong>stino es cero; en caso contrario, se<br />

restablece.<br />

Signo (S) siempre se restablece.


Calcular (CPT)<br />

CPT<br />

COMPUTE<br />

Dest<br />

Expression<br />

Instnrucción <strong>de</strong> salida<br />

Instrucciones matemáticas<br />

La instrucción CPT efectúa operaciones <strong>de</strong> copiar, aritméticas, lógicas y conversión.<br />

Usted <strong>de</strong>fine la operación en la expresión y el resultado se escribe en el <strong>de</strong>stino. El<br />

CPT usa funciones para operar en uno o más valores en la expresion para efectuar<br />

operaciones tales como:<br />

• convertir <strong>de</strong> un formato <strong>de</strong> número a otro<br />

• manejar los números<br />

• efectuar funciones trigonométricas<br />

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

Las <strong>instrucciones</strong> que se pue<strong>de</strong>n usar en la expresión incluyen:<br />

+, –, *, | (DIV), SQR, – (NEG), NOT, XOR, OR, AND, TOD, FRD, LN,<br />

TAN, ABS, DEG, RAD, SIN, COS, ATN, ASN, ACS, LOG y ** (XPY).<br />

Nota El tiempo <strong>de</strong> ejecución <strong>de</strong> una instrucción CPT es mayor que el <strong>de</strong> una sola<br />

operación aritmética y usa más palabras <strong>de</strong> instrucción.<br />

Cómo introducir parámetros<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• El <strong>de</strong>stino pue<strong>de</strong> ser una dirección <strong>de</strong> palabra o la dirección <strong>de</strong> un elemento <strong>de</strong><br />

datos <strong>de</strong> punto (coma) flotante.<br />

• La expresión es cero o más líneas, con hasta 28 caracters por línea, hasta 255<br />

caracteres.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Acarreo (C) se establece según el resultado <strong>de</strong> la última instrucción en la expresión.<br />

Overflow (V)<br />

<br />

<br />

se establece cuando un overflow ocurre durante la evaluación <strong>de</strong> la<br />

expresión.<br />

Cero (Z) se establece según el resultado <strong>de</strong> la última instrucción en la expresión.<br />

Signo (S) se establece según el resultado <strong>de</strong> la última instrucción en la expresión.<br />

Los bits anteriores son puestos a cero al inicio <strong>de</strong> la instrucción CPT. Vea S:34/2<br />

para información acerca <strong>de</strong>l manejo especial <strong>de</strong> los bits <strong>de</strong> estado aritmético al usar<br />

un punto (coma) flotante.<br />

3–25


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo <strong>de</strong> aplicación<br />

3–26<br />

Este ejemplo <strong>de</strong> aplicación usa el teorema <strong>de</strong> Pitágoras para calcular la longitud <strong>de</strong><br />

la hipotenusa <strong>de</strong> un triángulo cuando se conocen los dos catetos. Use la ecuación<br />

siguiente:<br />

c2 = a2 + b2 don<strong>de</strong> c = (a2 + b2) <br />

(N7:1) 2 + (N7:2) 2<br />

N10:0 =<br />

El renglón 2:0 usa <strong>instrucciones</strong> matemáticas estándar para implementar el teorema <strong>de</strong><br />

Pitágoras. El renglón 2:1 usa la instrucción CPT para obtener el mismo resultado.<br />

Renglón 2:0<br />

| +XPY–––––––––––––––+ |<br />

|–––––––––––––––––––––––––––––––––––––––––––––––––––––+–+X TO POWER OF Y +–+–|<br />

| | |Source A N7:1| | |<br />

| | | 3| | |<br />

| | |Source B 2| | |<br />

| | | | | |<br />

| | |Dest N7:3| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | +XPY–––––––––––––––+ | |<br />

| +–+X TO POWER OF Y +–+ |<br />

| | |Source A N7:2| | |<br />

| | | 4| | |<br />

| | |Source B 2| | |<br />

| | | | | |<br />

| | |Dest N7:4| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | +ADD–––––––––––––––+ | |<br />

| +–+ADD +–+ |<br />

| | |Source A N7:3| | |<br />

| | | 0| | |<br />

| | |Source B N7:4| | |<br />

| | | 0| | |<br />

| | |Dest N7:5| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | +SQR–––––––––––––––+ | |<br />

| +–+SQUARE ROOT +–+ |<br />

| |Source N7:5| |<br />

| | 0| |<br />

| |Dest N7:0| |<br />

| | 0| |<br />

| +––––––––––––––––––+ |<br />

Renglón 2:1<br />

| +CPT––––––––––––––––––––––––+ |<br />

|––––––––––––––––––––––––––––––––––––––––––––––––+COMPUTE +–|<br />

| |Dest N10:0| |<br />

| | 0| |<br />

| |Expression | |<br />

| |SQR ((N7:1 ** 2) + (N7:2 **| |<br />

| |2)) | |<br />

| +–––––––––––––––––––––––––––+ |<br />

Renglón2:2<br />

| |<br />

|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|<br />

| |


Intercambio (SWP)<br />

SWP<br />

SWAP<br />

Source<br />

Length<br />

Instrucción <strong>de</strong> salida<br />

Cómo introducir parámetros<br />

Instrucciones matemáticas<br />

Use esta instrucción para intercambiar los bytes bajos y altos <strong>de</strong> un número <strong>de</strong><br />

palabras especificado en un archivo <strong>de</strong> bit, entero, ASCII o ca<strong>de</strong>na. Use esta<br />

instrucción con los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• La fuente sólo pue<strong>de</strong> ser una dirección <strong>de</strong> palabra in<strong>de</strong>xada.<br />

• La longitud es una referencia al número <strong>de</strong> palabras que van a intercambiarse,<br />

pese al tipo <strong>de</strong> archivo. La dirección se limita a constantes <strong>de</strong> entero. Para los<br />

archivos <strong>de</strong> tipo bit, entero y ASCII, el rango <strong>de</strong> longitud es <strong>de</strong> 1 a 128. Para el<br />

archivo <strong>de</strong> tipo ca<strong>de</strong>na, el rango <strong>de</strong> longitud es <strong>de</strong> 1 a 41. Anote que esta<br />

instrucción se restringe a un solo elemento <strong>de</strong> ca<strong>de</strong>na y no pue<strong>de</strong> cruzar un<br />

límite <strong>de</strong> elemento <strong>de</strong> ca<strong>de</strong>na.<br />

El ejemplo siguiente muestra cómo funciona la instrucción SWP..<br />

<br />

<br />

SWP<br />

SWAP<br />

Source #ST10:1.1<br />

Length 13<br />

Antes:<br />

ST10:1 = abc<strong>de</strong>fghijklmnopqrstuvwxyz<br />

Después:<br />

ST10:1 = badcfehgjilknmporqtsvuxwzy<br />

3–27


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Arco seno (ASN)<br />

ASN<br />

ARC SINE<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

3–28<br />

Use la instrucción ASN para tomar el arco seno <strong>de</strong> un número (fuente en radianes) y<br />

almacenar el resultado (en radianes) en el <strong>de</strong>stino. La fuente <strong>de</strong>be ser mayor o igual<br />

que –1 y menor o igual que 1. El valor resultante en el <strong>de</strong>stino siempre es mayor o<br />

igual que –π/2 y menor o igual que π/2 don<strong>de</strong> π = 3.141592. Use esta instrucción<br />

con los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece.<br />

<br />

<br />

Overflow (V)<br />

se establece si un overflow es generado o una entrada sin capacidad se<br />

<strong>de</strong>tecta; si no, se restablece.<br />

Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.<br />

Signo (S)<br />

se establece si el resultado es negativo; en caso contrario, se<br />

restablece.


Arco coseno (ACS)<br />

ACS<br />

ARC COSINE<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Instrucciones matemáticas<br />

Use la instrucción ACS para tomar el arco seno <strong>de</strong> un número (fuente en radianes) y<br />

almacenar el resultado (en radianes) en el <strong>de</strong>stino. La fuente <strong>de</strong>be ser mayor o igual<br />

que –1 y menor o igual que 1. El valor resultante en el <strong>de</strong>stino siempre es mayor o<br />

igual que 0 y menor o igual que π , don<strong>de</strong> π = 3.141592. Use esta instrucción con<br />

los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Arco tangente (ATN)<br />

ATN<br />

ARC TANGENT<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece.<br />

Overflow (V)<br />

se establece si un overflow es generado o una entrada sin capacidad se<br />

<strong>de</strong>tecta; en caso contrario, se restablece.<br />

Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.<br />

Signo (S) siempre se restablece.<br />

Use la para tomar el arco tangente <strong>de</strong> un número (fuente) y almacenar el resultado<br />

(en radianes) en el <strong>de</strong>stino. El valor resultante en el <strong>de</strong>stino siempre es mayor o<br />

igual que –π /2 y menor o igual que π/2, don<strong>de</strong> π = 3.141592. Use esta instrucción<br />

con los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece.<br />

<br />

<br />

<br />

<br />

Overflow (V)<br />

se establece si un overflow es generado o una entrada sin capacidad se<br />

<strong>de</strong>tecta; en caso contrario, se restablece.<br />

Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.<br />

Signo (S)<br />

se establece si el resultado es negativo; en caso contrario, se<br />

restablece.<br />

3–29


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Coseno (COS)<br />

COS<br />

COSINE<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

3–30<br />

Use la instrucción COS para tomar el coseno <strong>de</strong> un número (fuente en radianes) y<br />

almacenar el resultado (en radianes) en el <strong>de</strong>stino. La fuente <strong>de</strong>be ser mayor o igual<br />

que –205887.4 y menor o igual que 205887.4. La óptima exactitud se obtiene<br />

cuando la fuentes es mayor que –2 π y menor que 2 π, don<strong>de</strong> π = 3.141592. El<br />

valor resultante en el <strong>de</strong>stino siempre es mayor o igual que –1 y menor o igual que<br />

1. Use esta instrucción con los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Logaritmo natural (LN)<br />

LN<br />

NATURAL LOG<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Acarreo (C) siempre se restablece.<br />

Overflow (V)<br />

se establece si un overflow es generado o una entrada sin capacidad se<br />

<strong>de</strong>tecta; en caso contrario, se restablece.<br />

Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.<br />

Signo (S) siempre se restablece.<br />

Use la instrucción LN para tomar el logaritmo natural <strong>de</strong>l valor en la fuente y<br />

almacenar el resultado en el <strong>de</strong>stino. La fuente <strong>de</strong>be ser mayor que cero. El valor<br />

resultante en el <strong>de</strong>stino siempre es mayor que o igual que –87.33654 y menor o<br />

igual que 88.72284. Use esta instrucción con los procesadores <strong>SLC</strong> 5/03 OS302 y<br />

<strong>SLC</strong> 5/04 OS401.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece.<br />

<br />

<br />

<br />

<br />

Overflow (V)<br />

se establece si un overflow es generado o una entrada sin capacidad se<br />

<strong>de</strong>tecta; en caso contrario, se restablece.<br />

Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.<br />

Signo (S) siempre se restablece.


Logaritmo a la base 10 (LOG)<br />

LOG<br />

LOG BASE 10<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Instrucciones matemáticas<br />

Use la instrucción LOG para tomar el logaritmo <strong>de</strong> base 10 <strong>de</strong>l valor en la fuente y<br />

almacenar el resultado en el <strong>de</strong>stino. La fuente <strong>de</strong>be ser mayor que cero. El valor<br />

resultante en el <strong>de</strong>stino siempre es mayor o igual que –37.92978 y menor o igual<br />

que 38.53184. Use esta instrucción con los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong><br />

5/04 OS401.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Seno (SIN)<br />

SIN<br />

SINE<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece.<br />

Overflow (V)<br />

se establece si un overflow es generado o una entrada sin capacidad se<br />

<strong>de</strong>tecta; en caso contrario, se restablece.<br />

Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.<br />

Signo (S) siempre se restablece.<br />

Use la instrucción SIN para tomar el seno <strong>de</strong> un número (fuente en radianes) y<br />

almacenar el resultado en el <strong>de</strong>stino. La fuente <strong>de</strong>be ser mayor o igual que<br />

–205887.4 y menor o igual que 205887.4. La óptima exactitud se obtiene cuando la<br />

fuente es mayor que –2 π y menor que 2 π, don<strong>de</strong> π = 3.141592. El valor resultante<br />

en el <strong>de</strong>stino siempre es mayor que o igual que –1 y menor o igual que 1. Use esta<br />

instrucción con los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401..<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

<br />

<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece.<br />

Overflow (V)<br />

se establece si un overflow es generado o una entrada sin capacidad se<br />

<strong>de</strong>tecta; en caso contrario, se restablece.<br />

Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.<br />

Signo (S) siempre se restablece.<br />

<br />

<br />

3–31


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Tangente (TAN)<br />

TAN<br />

TANGENT<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

3–32<br />

Use la instrucción TAN para tomar la tangente <strong>de</strong> un número (fuente en radianes) y<br />

almacenar el resultado en el <strong>de</strong>stino. El valor <strong>de</strong> la fuente <strong>de</strong>be ser mayor o igual<br />

que –102943.7 y menor o igual que 102943.7. La óptima exactitud se obtiene<br />

cuando la fuente es mayor que –2 π y menor que 2 π, don<strong>de</strong> π = 3.141592. El valor<br />

resultante en el <strong>de</strong>stino es un número real o infinito. Use esta instrucción con los<br />

procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401..<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece.<br />

<br />

<br />

Overflow (V)<br />

se establece si un overflow es generado o una entrada sin capacidad se<br />

<strong>de</strong>tecta; en caso contrario, se restablece.<br />

Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.<br />

Signo (S) siempre se restablece.


X a la potencia <strong>de</strong> Y (XPY)<br />

XPY<br />

X TO POWER OF Y<br />

Source A<br />

Source B<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Instrucciones matemáticas<br />

Use la instrucción XPY para elevar un valor (fuente A) a una potencia (fuente B) y<br />

almacenar el resultado en el <strong>de</strong>stino. Si el valor en la fuente A es negativo, la<br />

exponente (fuente B) <strong>de</strong>be ser un número entero. Si no es un número entero, el bit<br />

<strong>de</strong> overflow se establece y el valor absoluto <strong>de</strong> la base se usa en el cálculo. Use esta<br />

instrucción con los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401.<br />

La instrucción XPY usa el algoritmo siguiente:<br />

XPY = 2 ** (Y * log2 (X))<br />

Si cualquiera <strong>de</strong> las operaciones intermedias en este algoritmo provoca un overflow,<br />

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

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece.<br />

Overflow (V)<br />

se establece si un overflow es generado o una entrada sin capacidad se<br />

<strong>de</strong>tecta; en caso contrario, se restablece.<br />

Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece.<br />

Signo (S) siempre se restablece.<br />

<br />

<br />

3–33


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucciones matemáticas en el ejemplo <strong>de</strong> aplicación<br />

<strong>de</strong> la perforadora <strong>de</strong> papel<br />

3–34<br />

Esta sección proporciona renglones <strong>de</strong> escalera para <strong>de</strong>mostrar el uso <strong>de</strong><br />

<strong>instrucciones</strong> matemáticas. Los renglones son parte <strong>de</strong>l ejemplo <strong>de</strong> aplicación <strong>de</strong> la<br />

perforadora <strong>de</strong> papel <strong>de</strong>scrito en el apéndice H. Usted va a añadir a la subrutina en<br />

archivo 7 que se comenzó en el capítulo 2.


Cómo añadir el archivo 7<br />

Instrucciones matemáticas<br />

Renglón 7:1<br />

Este renglón restablece el número <strong>de</strong> incrementos <strong>de</strong> 1/4 pulg. y las milésimas <strong>de</strong> 1/4<br />

pulg. cuando se activa el interruptor <strong>de</strong> llave <strong>de</strong> “restablecimiento <strong>de</strong> cambio <strong>de</strong> la<br />

broca”. Esto <strong>de</strong>be ocurrir a continuación <strong>de</strong> cada cambio <strong>de</strong> la broca.<br />

| interruptor Milésimas |<br />

| <strong>de</strong> llave <strong>de</strong> 1/4 pulg. |<br />

| <strong>de</strong> restablecimiento |<br />

| <strong>de</strong> cambio <strong>de</strong> broca |<br />

| I:1.0 +CLR–––––––––––––––+ |<br />

|––––] [––––––––––––––––––––––––––––––––––––––––––––––+–+CLEAR +–+–|<br />

| 8 | |Dest N7:11| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | incrementos | |<br />

| | <strong>de</strong> 1/4 pulg. | |<br />

| | | |<br />

| | +CLR–––––––––––––––+ | |<br />

| +–+CLEAR +–+ |<br />

| |Dest N7:10| |<br />

| | 0| |<br />

| +––––––––––––––––––+ |<br />

Renglón 7:6<br />

Mantenga un total actualizado <strong>de</strong> cuántas pulgadas <strong>de</strong> papel han sido perforadas con<br />

la broca actual. Cada vez que se perfora un orificio, añada el espesor (en 1/4<br />

pulg.) al total actualizado (registrado en 1/4 pulg.) El OSR es necesario porque el<br />

ADD se ejecuta cada vez que el renglón es verda<strong>de</strong>ro y el cuerpo <strong>de</strong> la perforadora<br />

activaría el interruptor <strong>de</strong> límite <strong>de</strong> PROFUNDIDAD DE BROCA durante más <strong>de</strong> un escán<br />

<strong>de</strong> programa. El entero N7:12 es el valor convertido por entero <strong>de</strong>l interruptor<br />

preselector rotatorio en las entradas I:3/11 – I:3/14.<br />

| Prof. |Desgaste <strong>de</strong> herramienta Incrementos |<br />

| <strong>de</strong> broca | OSR 1 <strong>de</strong> 1/4 pulg. |<br />

| LS |<br />

| I:1.0 B3:1 +ADD–––––––––––––––+ |<br />

|––––] [–––––––[OSR]––––––––––––––––––––––––––––––––––––––+ADD +–|<br />

| 4 8 |Source A N7:12| |<br />

| | 1| |<br />

| |Source B N7:10| |<br />

| | 0| |<br />

| |Dest N7:10| |<br />

| | 0| |<br />

| +––––––––––––––––––+ |<br />

3–35


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

3–36<br />

Renglón 7:7<br />

Cuando el número <strong>de</strong> incrementos <strong>de</strong> 1/4 pulg. sobrepasa 1000, <strong>de</strong>termine cuántos<br />

incrementos han sobrepasado 1000 y almacene N7:20, añada 1 al total <strong>de</strong> 1000<br />

incrementos <strong>de</strong> 1/4 pulg. y reinicialice el acumulador <strong>de</strong> incrementos <strong>de</strong> 1/4 pulg. a<br />

la cantidad <strong>de</strong> incrementos que habían sobrepasado 1000.<br />

| Incrementos |<br />

| <strong>de</strong> 1/4 pulg. |<br />

| |<br />

| +GEQ–––––––––––––––+ +SUB–––––––––––––––+ |<br />

|–+GRTR THAN OR EQUAL+––––––––––––––––––––––––––––––––+–+SUBTRACT +–+–|<br />

| |Source A N7:10| | |Source A N7:10| | |<br />

| | 0| | | 0| | |<br />

| |Source B 1000| | |Source B 1000| | |<br />

| | | | | | | |<br />

| +––––––––––––––––––+ | |Dest N7:20| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | Milésimas | |<br />

| | <strong>de</strong> 1/4 pulg. | |<br />

| | +ADD–––––––––––––––+ | |<br />

| +–+ADD +–+ |<br />

| | |Source A 1| | |<br />

| | | | | |<br />

| | |Source B N7:11| | |<br />

| | | 0| | |<br />

| | |Dest N7:11| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | | |<br />

| | | |<br />

| | | |<br />

| | Incrementos | |<br />

| | <strong>de</strong> 1/4 pulg. | |<br />

| | +MOV–––––––––––––––– | |<br />

| +–+MOVE +–+ |<br />

| |Source N7:20| |<br />

| | 0| |<br />

| |Dest N7:10| |<br />

| | 0| |<br />

| +––––––––––––––––––+ |<br />

|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|


Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

4 Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

Este capítulo contiene información general acerca <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> manejo <strong>de</strong><br />

datos y explica cómo funcionan en su programa <strong>de</strong> aplicación. Cada una <strong>de</strong> las<br />

<strong>instrucciones</strong> incluye información acerca <strong>de</strong>:<br />

• cómo aparece el símbolo <strong>de</strong> instrucción<br />

• cómo usar la instrucción<br />

A<strong>de</strong>más, la última sección contiene un ejemplo <strong>de</strong> aplicación para una perforadora<br />

<strong>de</strong> papel que muestra el uso <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> manejo <strong>de</strong> datos.<br />

Instrucción<br />

Mnemónico Nombre<br />

Propósito Página<br />

TOD Convertir a BCD Convierte el valor <strong>de</strong> fuente <strong>de</strong> entero en el formato<br />

BCD y lo almacena en el <strong>de</strong>stino.<br />

FRD Convertir <strong>de</strong>s<strong>de</strong><br />

BCD<br />

DEG Convertir <strong>de</strong><br />

radianes a grados<br />

RAD Convertir <strong>de</strong><br />

grados a radianes<br />

DCD Descodificar 4 a 1<br />

<strong>de</strong> 16<br />

ENC Codificar 1 <strong>de</strong> 16 a<br />

4<br />

COP y FLL Copiar el archivo y<br />

llenar el archivo<br />

Convierte el valor <strong>de</strong> fuente BCD en un entero y lo<br />

almacena en el <strong>de</strong>stino.<br />

Convierte radianes (fuente) en grados y almacena<br />

el resultado en el <strong>de</strong>stino.<br />

Convierte grados (fuente) en radianes y almacena<br />

el resultado en el <strong>de</strong>stino.<br />

Descodifica un valor <strong>de</strong> 4 bits (0 a 15) activando el<br />

bit correspondiente en el <strong>de</strong>stino <strong>de</strong> 16 bits.<br />

Codifica una fuente <strong>de</strong> 16 bits a un valor <strong>de</strong> 4 bits.<br />

Busca la fuente <strong>de</strong>s<strong>de</strong> el bit mínimo al bit máximo y<br />

busca el primer bit establecido. La posición <strong>de</strong> bit<br />

correspondiente se escribe en el <strong>de</strong>stino como<br />

entero.<br />

La instrucción COP copia datos <strong>de</strong>l archivo <strong>de</strong><br />

fuente al archivo <strong>de</strong> <strong>de</strong>stino. La instrucción FLL<br />

carga un valor <strong>de</strong> fuente en cada posición al archivo<br />

<strong>de</strong> <strong>de</strong>stino.<br />

4–3<br />

4–6<br />

4–10<br />

4–11<br />

4–12<br />

4–13<br />

4-15<br />

continúa en la página siguiente<br />

4–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

4–2<br />

Instrucción<br />

Mnemónico Nombre<br />

Propósito Página<br />

MOV Mover Mueve el valor <strong>de</strong> fuente al <strong>de</strong>stino. 4–20<br />

MVM Mover con<br />

máscara<br />

Mueve los datos <strong>de</strong> un lugar <strong>de</strong> fuente a una<br />

porción seleccionada <strong>de</strong>l <strong>de</strong>stino.<br />

4–21<br />

AND Y Realiza una operación Y por bit. 4–23<br />

OR O Realiza una operación O inclusiva por bit. 4–24<br />

XOR O exclusivo Realiza una operación <strong>de</strong> O exclusivo por bit. 4–25<br />

NOT No Realiza una operación NO. 4–26<br />

NEG Negar Cambia el signo <strong>de</strong> la fuente y lo almacena en el<br />

<strong>de</strong>stino.<br />

FFL y FFU Carga FIFO y<br />

<strong>de</strong>scarga FIFO<br />

LFL y LFU Carga LIFO y<br />

<strong>de</strong>scarga LIFO<br />

La instrucción FFL carga una palabra en una pila<br />

FIFO en transiciones <strong>de</strong> falso a verda<strong>de</strong>ro sucesivas.<br />

El FFU <strong>de</strong>scarga una palabra <strong>de</strong> la pila en<br />

transi- ciones <strong>de</strong> falso a verda<strong>de</strong>ro sucesivas. La<br />

primera palabra cargada es la primera <strong>de</strong> ser<br />

<strong>de</strong>scargada.<br />

La instrucción LFL carga una palabra en una pila<br />

LIFO en transiciones <strong>de</strong> falso a verda<strong>de</strong>ro sucesivas.<br />

El LFU <strong>de</strong>scarga una palabra <strong>de</strong> la pila en<br />

transiciones <strong>de</strong> falso a verda<strong>de</strong>ro sucesivas. La<br />

última palabra cargada es la primera <strong>de</strong> ser <strong>de</strong>scargada.<br />

Acerca <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> manejo <strong>de</strong> datos<br />

Use estas <strong>instrucciones</strong> para convertir información, manejar datos en el controlador<br />

y realizar operaciones <strong>de</strong> lógica.<br />

En este capítulo se encuentra una <strong>de</strong>scripción general antes <strong>de</strong> los grupos <strong>de</strong><br />

<strong>instrucciones</strong>. Antes <strong>de</strong> apren<strong>de</strong>r las <strong>instrucciones</strong> en cada uno <strong>de</strong> estos grupos, le<br />

recomendamos que lea la <strong>de</strong>scripción general. Este capítulo contiene las<br />

<strong>de</strong>scripciones generales siguientes:<br />

• Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> mover y lógicas<br />

• Descripción general <strong>de</strong> las <strong>instrucciones</strong> FIFO y LIFO<br />

4–27<br />

4–30<br />

4–32


Convertir en BCD (TOD)<br />

TOD<br />

TO BCD<br />

Source<br />

Dest S:13<br />

00000000<br />

Instrucción <strong>de</strong> salida<br />

Procesadores fijos y <strong>SLC</strong> 5/01<br />

TOD<br />

TO BCD<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Procesadores <strong>SLC</strong> 5/02,<br />

<strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 y controladores<br />

<strong>MicroLogix</strong> 1000<br />

<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

Use esta instrucción para convertir enteros <strong>de</strong> 16 bits en valores BCD.<br />

Con los procesadores fijos y <strong>SLC</strong> 5/01, el <strong>de</strong>stino sólo pue<strong>de</strong> ser el registro<br />

matemático. Con los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 y controladores<br />

<strong>MicroLogix</strong> 1000, el parámetro <strong>de</strong> <strong>de</strong>stino pue<strong>de</strong> ser una dirección <strong>de</strong> palabra en<br />

cualquier archivo o pue<strong>de</strong> ser el registro matemático, S:13 y S:14.<br />

Si el valor <strong>de</strong> entero que introduce es negativo, el valor absoluto <strong>de</strong>l número se usa<br />

para la conversión.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece.<br />

Overflow (V)<br />

se establece si el resultado BCD es mayor <strong>de</strong> 9999. El overflow resulta<br />

en un error menor.<br />

Cero (Z) se establece si el valor <strong>de</strong> <strong>de</strong>stino es cero.<br />

Signo (S)<br />

se establece si la palabra <strong>de</strong> fuente es negativa; en caso contrario, se<br />

restablece.<br />

Cambios <strong>de</strong>l registro matemático, S:13 y S:14<br />

<br />

Contiene el resultado BCD <strong>de</strong> 5 dígitos <strong>de</strong> la conversión. Este resultado es válido<br />

en el overflow.<br />

4–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo 1<br />

Ejemplo 2<br />

4–4<br />

<br />

El valor <strong>de</strong> entero 9760 almacenado en N7:3 se convierte en BCD y la equivalente<br />

<strong>de</strong> BCD se almacena en N10:0. El máximo valor BCD posible es 9999.<br />

TOD<br />

TO BCD<br />

Source N7:3<br />

9760<br />

Dest N10:0<br />

9760<br />

9 7 6 0<br />

9 7 6 0<br />

<br />

<br />

<br />

El valor <strong>de</strong> <strong>de</strong>stino se muestra en el<br />

formato BCD<br />

N7:3 Decimal 0010 0110 0010 0000<br />

N10:0 BCD <strong>de</strong> 4 dígitos 1001 0111 0110 0000<br />

El valor <strong>de</strong> entero 32760 almacenado en N7:3 se convierte en BCD. El valor BCD<br />

<strong>de</strong> 5 dígitos se almacena en el registro matemático. Los 4 dígitos inferiores <strong>de</strong>l<br />

valor BCD se mueven a la palabra <strong>de</strong> salida O:2 y el dígito restante se mueve a<br />

través <strong>de</strong> una máscara a la palabra <strong>de</strong> salida O:3.<br />

Cuando usa el registro matemático como el parámetro <strong>de</strong> <strong>de</strong>stino en la instrucción<br />

TOD, el máximo valor BCD posible es 32767. Sin embargo, para los valores BCD<br />

mayores <strong>de</strong> 9999, el bit <strong>de</strong> overflow se establece lo que también resulta en el<br />

establecimiento <strong>de</strong>l bit <strong>de</strong> error menor S:5/0. Su programa <strong>de</strong> escalera pue<strong>de</strong><br />

<strong>de</strong>senclavar S:5/0 antes <strong>de</strong>l final <strong>de</strong>l escán para evitar el error mayor 0020, según se<br />

hizo en este ejemplo.


Bit <strong>de</strong><br />

overflow<br />

15<br />

] [<br />

S:0<br />

] [<br />

1<br />

3 2 7 6 0<br />

0 0 0 3 2 7 6 0<br />

0 15<br />

0<br />

S:14 S:13<br />

N7:3 Decimal<br />

TOD<br />

TO BCD<br />

Source N7:3<br />

32760<br />

Dest S:13<br />

00032760<br />

S:5<br />

(U)<br />

0<br />

MOV<br />

MOVE<br />

Source S:13<br />

10080<br />

Dest O:2.0<br />

10080<br />

MVM<br />

MASKED MOVE<br />

Source S:14<br />

3<br />

Mask 000F<br />

Dest O:3.0<br />

3<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

BCD <strong>de</strong> 5 dígitos S:13 y S:14<br />

Este ejemplo producirá el valor absoluto (0–32767)<br />

contenido en N7:3 como 5 dígitos BCD en las ranuras <strong>de</strong><br />

salida 2 y 3.<br />

S:13 y S:14 se<br />

muestran en el formato<br />

BCD.<br />

Bit <strong>de</strong> error<br />

menor<br />

0010 0111 0110 0000<br />

0000 0000 0000 0011<br />

4–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Convertir <strong>de</strong> BCD (FRD)<br />

FRD<br />

FROM BCD<br />

Source S:13<br />

00000000<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Procesadores fijos y<br />

<strong>SLC</strong> 5/01<br />

FRD<br />

FROM BCD<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03<br />

y <strong>SLC</strong> 5/04 y controladores Micro-<br />

Logix 1000<br />

4–6<br />

<br />

Use esta instrucción para convertir los valores BCD en valores enteros. Con los<br />

procesadores fijos y <strong>SLC</strong> 5/01, la fuente sólo pue<strong>de</strong> ser el registro matemático. Con<br />

los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 y controladores <strong>MicroLogix</strong><br />

1000, el parámetro <strong>de</strong> fuente pue<strong>de</strong> ser una dirección <strong>de</strong> palabra en cualquier<br />

archivo <strong>de</strong> datos o pue<strong>de</strong> ser el registro matemático, S:13.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece.<br />

se establece si un valor que no sea BCD se contiene en la fuente o si el<br />

Overflow (V)<br />

valor que va a convertir es mayor <strong>de</strong> 32,767; en caso contrario, se<br />

restablece. El overflow resulta en un error menor.<br />

Cero (Z) se establece si el valor <strong>de</strong> <strong>de</strong>stino es cero.<br />

Signo (S) siempre se restablece.<br />

Nota Recomendamos que siempre proporcione filtro <strong>de</strong> lógica <strong>de</strong> escalera para todos los<br />

dispositivos <strong>de</strong> entrada BCD antes <strong>de</strong> realizar la instrucción FRD. La mínima<br />

diferencia en el retardo <strong>de</strong>l filtro <strong>de</strong> entrada <strong>de</strong> punto a punto pue<strong>de</strong> provocar un<br />

overflow <strong>de</strong> la instrucción FRD <strong>de</strong>bido a la conversión <strong>de</strong> un dígito que no sea<br />

BCD.


S:1<br />

]/[<br />

15<br />

EQU<br />

EQUAL<br />

Source A N7:1<br />

0<br />

Source B I:0.0<br />

0<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

FRD<br />

FROM BCD<br />

Source I:0.0<br />

0<br />

Dest N7:2<br />

0<br />

MOV<br />

MOVE<br />

Source I:0.0<br />

0<br />

Dest N7:1<br />

0<br />

En el ejemplo <strong>de</strong> arriba, los dos renglones causan que el procesador verifique que el<br />

valor en I:0 siga siendo el mismo durante dos escanes consecutivos antes <strong>de</strong> ejecutar<br />

el FRD. Esto evita que el FRD convierta un valor que no sea BCD durante un<br />

cambio <strong>de</strong>l valor <strong>de</strong> entrada.<br />

Nota Para convertir números mayores <strong>de</strong> 9999 BCD, la fuente <strong>de</strong>be ser el registro<br />

matemático (S:13). Debe restablecer el bit <strong>de</strong> error menor (S:5.0) para evitar un<br />

error.<br />

Cambios <strong>de</strong>l registro matemático, S:13 y S:14<br />

Ejemplo 1<br />

Se usan como la fuente para convertir todo el rango <strong>de</strong> números <strong>de</strong> un registro.<br />

<br />

<br />

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

máximo valor <strong>de</strong> fuente es 9999, BCD.<br />

9 7 6 0<br />

<br />

FRD<br />

FROM BCD<br />

Source N7:3<br />

9760<br />

Dest N10:0<br />

9760<br />

El valor <strong>de</strong> fuente se muestra<br />

en el formato BCD.<br />

9 7 6 0 N7:3 BCD <strong>de</strong> 4 dígitos 1001 0111 0110 0000<br />

N10:0 Decimal 0010 0110 0010 0000<br />

4–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo 2<br />

4–8<br />

<br />

<br />

<br />

<br />

<br />

<br />

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

El máximo valor <strong>de</strong> fuente es 32767, BCD.<br />

FRD<br />

FROM BCD<br />

Source S:13<br />

00032760<br />

Dest N7:0<br />

32760<br />

0000 0000 0000 0011 0010 0111 0110 0000<br />

15<br />

S:14<br />

0 15<br />

S:13<br />

0 BCD <strong>de</strong> 5 dígitos<br />

0 0 0 3 2 7 6 0<br />

3 2 7 6 0<br />

S:13 y S:14 se muestran en<br />

el formato BCD.<br />

N7:0 Decimal 0111 1111 1111 1000<br />

Usted <strong>de</strong>be convertir los valores BCD en enteros antes <strong>de</strong> manejarlos en su<br />

programa <strong>de</strong> escalera. Si no convierte los valores, el procesador los maneja como<br />

enteros y su valor se pier<strong>de</strong>.<br />

Nota Si el registro matemático (S:13 y S:14) se usa como la fuente para la instrucción<br />

FRD y el valor BCD no exce<strong>de</strong> 4 dígitos, asegúrese <strong>de</strong> borrar la palabra S:14 antes<br />

<strong>de</strong> ejecutar la instrucción FRD. Si S:14 no se borra y un valor se contiene en esta<br />

palabra proce<strong>de</strong>nte <strong>de</strong> otra instrucción matemática ubicada en otra parte <strong>de</strong>l<br />

programa, se colocará un valor <strong>de</strong>cimal incorrecto en la palabra <strong>de</strong> <strong>de</strong>stino.


Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

A continuación se muestra cómo borrar S:14 antes <strong>de</strong> ejecutar la instrucción FRD:<br />

I:1<br />

] [<br />

0<br />

MOV<br />

MOVE<br />

Source N7:2<br />

4660<br />

Dest S:13<br />

4660<br />

CLR<br />

CLEAR<br />

Dest S:14<br />

0<br />

FRD<br />

FROM BCD<br />

Source S:13<br />

00001234<br />

Dest N7:0<br />

1234<br />

0001 0010 0011 0100<br />

S:13 y S:14 se<br />

muestran en el formato<br />

BCD.<br />

0000 0100 1101 0010<br />

Cuando la condición <strong>de</strong> entrada se establece (1), un valor BCD (transferido <strong>de</strong> un<br />

interruptor preselector rotatorio <strong>de</strong> 4 dígitos, por ejemplo) se mueve <strong>de</strong> la palabra<br />

N7:2 al registro matemático. La palabra <strong>de</strong> estado S:14 se borra para asegurar que<br />

los datos no <strong>de</strong>seados no estén presentes cuando se ejecute la instrucción FRD.<br />

4–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Radianes en grados (DEG)<br />

DEG<br />

Radians to Degrees<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

4–10<br />

Use esta instrucción para convertir los radianes (fuente) en grados y almacenar el<br />

resultado en el <strong>de</strong>stino. La fórmula siguiente se aplica:<br />

Fuente 180/Π<br />

don<strong>de</strong> Π = 3.141592<br />

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

Cómo introducir parámetros<br />

• La fuente es el entero y/o los valores <strong>de</strong> punto (coma) flotante.<br />

• El <strong>de</strong>stino es la dirección <strong>de</strong> la palabra don<strong>de</strong> se almacenan los datos.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece<br />

Overflow (V)<br />

se establece si un overflow es generado o si una entrada sin capacidad<br />

se <strong>de</strong>tecta; en caso contrario, se restablece<br />

Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece<br />

Signo (S)<br />

se establece si el resultado es negativo; en caso contrario, se<br />

restablece


Grados en radianes (RAD)<br />

RAD<br />

Degress to Radians<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

Use esta instrucción para convertir los grados (fuente) en radianes y almacenar el<br />

resultado en el <strong>de</strong>stino. La fórmula siguiente se aplica:<br />

Fuente Π/180<br />

don<strong>de</strong> Π = 3.141592<br />

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

Cómo introducir los parámetros<br />

• La fuente es el entero y/o los valores <strong>de</strong> punto (coma) flotante.<br />

• El <strong>de</strong>stino es la dirección <strong>de</strong> la palabra don<strong>de</strong> se almacenan los datos.<br />

Actaulizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El procesador:<br />

Acarreo (C) siempre se restablece<br />

Overflow (V)<br />

se establece si un overflow es generado o si una entrada sin capacidad<br />

se <strong>de</strong>tecta; en caso contrario, se restablece<br />

Cero (Z) se establece si el resultado es cero; en caso contrario, se restablece<br />

Signo (S)<br />

se establece si el resultado es negativo; en caso contrario, se<br />

restablece<br />

<br />

<br />

4–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Descodificar 4 a 1 <strong>de</strong> 16 (DCD)<br />

DCD<br />

DECODE 4 to 1 of 16<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

4–12<br />

Una vez ejecutada, esta instrucción establece un bit <strong>de</strong> la palabra <strong>de</strong> <strong>de</strong>stino. El bit<br />

que se activa <strong>de</strong>pen<strong>de</strong> <strong>de</strong>l valor <strong>de</strong> los cuatro primeros bits <strong>de</strong> la palabra <strong>de</strong> fuente.<br />

Vea la tabla siguiente.<br />

Use esta instrucción para multiplexar los datos en aplicaciones tales como<br />

interruptores preselectores rotatorios, teclados y conmutación <strong>de</strong> banco.<br />

Fuente Destino<br />

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

x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1<br />

x 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0<br />

x 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0<br />

x 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0<br />

x 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0<br />

x 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0<br />

x 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0<br />

x 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0<br />

x 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0<br />

x 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0<br />

x 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0<br />

x 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0<br />

x 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0<br />

x 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0<br />

x 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0<br />

x 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0<br />

Cómo introducir parámetros<br />

• La fuente es la dirección que contiene la información <strong>de</strong> <strong>de</strong>scodificación <strong>de</strong> bit.<br />

Sólo los cuatro primeros bits (0–3) se usan en la instrucción DCD. Los bits<br />

restantes se pue<strong>de</strong>n usar para otras necesida<strong>de</strong>s <strong>de</strong> aplicaciones específicas.<br />

Cambie el valor <strong>de</strong> los cuatro primeros bits <strong>de</strong> esta palabra para seleccionar un<br />

bit <strong>de</strong> la palabra <strong>de</strong> <strong>de</strong>stino.<br />

• El <strong>de</strong>stino es la dirección <strong>de</strong> la palabra don<strong>de</strong> se almacenan los datos.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Permanecen sin cambios.


Codificar 1 <strong>de</strong> 16 a 4 (ENC)<br />

ENC<br />

ENCODE 1 of 16 to 4<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

Cuando el renglón es verda<strong>de</strong>ro, esta instrucción <strong>de</strong> salida busca la fuente <strong>de</strong>s<strong>de</strong> el<br />

bit mínimo hasta el bit máximo y busca el primer bit establecido. La posición <strong>de</strong> bit<br />

correspondiente es escribe al <strong>de</strong>stino como entero según se muestra en la tabla<br />

siguiente:<br />

Fuente Destino<br />

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

Cómo introducir parámetros<br />

<br />

x x x x x x x x x x x x x x x 1 x 0 0 0 0<br />

x x x x x x x x x x x x x x 1 0 x 0 0 0 1<br />

x x x x x x x x x x x x x 1 0 0 x 0 0 1 0<br />

x x x x x x x x x x x x 1 0 0 0 x 0 0 1 1<br />

x x x x x x x x x x x 1 0 0 0 0 x 0 1 0 0<br />

x x x x x x x x x x 1 0 0 0 0 0 x 0 1 0 1<br />

x x x x x x x x x 1 0 0 0 0 0 0 x 0 1 1 0<br />

x x x x x x x x 1 0 0 0 0 0 0 0 x 0 1 1 1<br />

x x x x x x x 1 0 0 0 0 0 0 0 0 x 1 0 0 0<br />

x x x x x x 1 0 0 0 0 0 0 0 0 0 x 1 0 0 1<br />

x x x x x 1 0 0 0 0 0 0 0 0 0 0 x 1 0 1 0<br />

x x x x 1 0 0 0 0 0 0 0 0 0 0 0 x 1 0 1 1<br />

x x x 1 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 0 0<br />

x x 1 0 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 0 1<br />

x 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 1 0<br />

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 1 1<br />

• La fuente es la dirección <strong>de</strong> la palabra que va a codificar (enco<strong>de</strong>). Sólo un bit<br />

<strong>de</strong> esta palabra se <strong>de</strong>be activar a la vez. Si hay más <strong>de</strong> un bit establecido en la<br />

fuente, los bits <strong>de</strong> <strong>de</strong>stino estarán establecidos en el bit menos significante<br />

establecido. Si se usa una fuente <strong>de</strong> cero, todos los bits <strong>de</strong> <strong>de</strong>stino estarán<br />

restablecidos y el bit <strong>de</strong> cero se establecerá.<br />

• El <strong>de</strong>stino es la dirección que contiene la información <strong>de</strong> codificación (enco<strong>de</strong>)<br />

<strong>de</strong> bit. Los bits 4–15 <strong>de</strong>l <strong>de</strong>stino están restablecidos por la instrucción ENC.<br />

4–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

4–14<br />

Los bits <strong>de</strong> estado aritmético se encuentran en la palabra 0, bits 0–3 en el archivo <strong>de</strong><br />

estado <strong>de</strong>l controlador. Después <strong>de</strong> la ejecución <strong>de</strong> una instrucción, los bits <strong>de</strong><br />

estado aritmético en el archivo <strong>de</strong> estado se actualizan:<br />

Con este bit: El controlador:<br />

S:0/0 Acarreo (C) siempre se restablece.<br />

S:0/1 Overflow (V)<br />

se establece si más <strong>de</strong> un bit se establece; en caso contrario,<br />

se restablece. El bit <strong>de</strong> overflow matemáitico (S:5/0) no se<br />

establece.<br />

S:0/2 Cero (Z) se establece si el valor <strong>de</strong> <strong>de</strong>stino es cero.<br />

S:0/3 Signo (S) siempre se restablece.


Instrucciones para copiar el archivo (COP)<br />

y llenar el archivo (FLL)<br />

COP<br />

COPY FILE<br />

Source<br />

Dest<br />

Length<br />

FLL<br />

FILL FILE<br />

Source<br />

Dest<br />

Length<br />

Instrucciones <strong>de</strong> salida<br />

Uso <strong>de</strong> COP<br />

Cómo introducir parámetros<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

El archivo <strong>de</strong> tipo <strong>de</strong>stino <strong>de</strong>termina el número <strong>de</strong> palabras que una instrucción<br />

transfiere. Por ejemplo, si el archivo <strong>de</strong> tipo <strong>de</strong>stino es un contador y el archivo <strong>de</strong><br />

tipo fuente es un entero, se transfieren tres palabras <strong>de</strong> entero por cada elemento en<br />

el archivo <strong>de</strong> tipo contador.<br />

Después <strong>de</strong> la ejecución <strong>de</strong> una instrucción COP o FLL, el registro <strong>de</strong> índice S:24 se<br />

pone a cero.<br />

Esta instrucción copia bloques <strong>de</strong> datos <strong>de</strong> un lugar a otro. No usa bits <strong>de</strong> estado. Si<br />

usted necesita un bit <strong>de</strong> habilitación, programe una instrucción <strong>de</strong> salida (OTE) en<br />

paralelo usando un bit interno como la dirección <strong>de</strong> salida. La ilustración siguiente<br />

muestra cómo se manejan los datos <strong>de</strong> instrucción <strong>de</strong> archivo.<br />

Fuente Destino<br />

Archivo a archivo<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

<br />

• La fuente es la dirección <strong>de</strong>l archivo que <strong>de</strong>sea copiar. Debe usar el indicador<br />

<strong>de</strong> archivo (#) en la dirección. Cuando se usa un procesador <strong>SLC</strong> 5/03 OS301,<br />

OS302 ó <strong>SLC</strong> 5/04 OS401, se soportan los valores <strong>de</strong> punto (coma) flotante y<br />

ca<strong>de</strong>na.<br />

• El <strong>de</strong>stino es la dirección inicial don<strong>de</strong> la instrucción almacena la copia. Debe<br />

usar el indicador <strong>de</strong> archivo (#) en la dirección. Cuando usa un procesador <strong>SLC</strong><br />

5/03 OS301, OS302 ó <strong>SLC</strong> 5/04 OS401, se soportan los valores <strong>de</strong> punto<br />

(coma) flotante y ca<strong>de</strong>na.<br />

<br />

<br />

4–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

4–16<br />

• La longitud es el número <strong>de</strong> elementos en el archivo que <strong>de</strong>sea copiar.<br />

– Para los procesadores <strong>SLC</strong>, si el archivo <strong>de</strong> tipo <strong>de</strong>stino es 3 palabras<br />

por elemento (temporizador o contador), pue<strong>de</strong> especificar una longitud<br />

máxima <strong>de</strong> 42. Si el archivo <strong>de</strong> tipo <strong>de</strong>stino es 1 palabra por elemento,<br />

pue<strong>de</strong> especificar una longitud máxima <strong>de</strong> 128 palabras.<br />

– Vea la tabla siguiente respecto a los controladores <strong>MicroLogix</strong> 1000:<br />

Si el archivo <strong>de</strong> tipo<br />

<strong>de</strong>stino es un/una:<br />

Salida 1<br />

Entrada 2<br />

Estado 33<br />

Bit 32<br />

Temporizador 40<br />

Contador 32<br />

Control 16<br />

Entero 105<br />

entonces pue<strong>de</strong> especificar una<br />

longitud máxima <strong>de</strong>:<br />

Nota Las longitu<strong>de</strong>s máximas se aplican cuando la fuente es <strong>de</strong>l mismo tipo <strong>de</strong><br />

archivo.<br />

Todos los elementos son copiados <strong>de</strong>l archivo <strong>de</strong> fuente al archivo <strong>de</strong> <strong>de</strong>stino cada<br />

vez que se ejecuta la instrucción. Los elementos se copian en or<strong>de</strong>n ascendiente.<br />

Si su archivo <strong>de</strong> tipo <strong>de</strong>stino es un archivo <strong>de</strong> temporizador, contador o control,<br />

asegúrese que las palabras <strong>de</strong> fuente correspondientes a las palabras <strong>de</strong> estado <strong>de</strong> su<br />

archivo <strong>de</strong> <strong>de</strong>stino contengan ceros.<br />

Asegúrese <strong>de</strong> especificar con precisión la dirección inicial y la longitud <strong>de</strong>l bloque<br />

<strong>de</strong> datos que está copiando. La instrucción no sobrescribirá un límite <strong>de</strong> archivo<br />

(por ejemplo, entre archivos N16 y N17) en el <strong>de</strong>stino. Ocurre un error si se intenta<br />

una sobrescritura <strong>de</strong>l límite <strong>de</strong> archivo.<br />

Pue<strong>de</strong> realizar <strong>de</strong>splazamientos <strong>de</strong> archivo especificando una dirección <strong>de</strong> elemento<br />

<strong>de</strong> fuente que tiene uno o más elementos que la dirección <strong>de</strong> elemento <strong>de</strong> <strong>de</strong>stino<br />

<strong>de</strong>ntro <strong>de</strong>l mismo archivo. Esto <strong>de</strong>splaza los datos a direcciones <strong>de</strong> elemento<br />

inferiores.


Uso <strong>de</strong> FLL<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

Esta instrucción carga elementos <strong>de</strong> un archivo con una constante <strong>de</strong> programa o<br />

valor <strong>de</strong> una dirección <strong>de</strong> elemento.<br />

La instrucción llena las palabras <strong>de</strong> un archivo con un valor <strong>de</strong> fuente. No usa bits<br />

<strong>de</strong> estado. Si usted necesita un bit <strong>de</strong> habilitación, programe una salida en paralelo<br />

que usa una dirección <strong>de</strong> almacenamiento. La ilustración siguiente muestra cómo se<br />

manejan los datos <strong>de</strong> instrucción <strong>de</strong> archivo.<br />

Fuente<br />

Cómo introducir parámetros<br />

Palabra a archivo<br />

Destino<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• La fuente es la constante <strong>de</strong> programa o la dirección <strong>de</strong> elemento. El indicador<br />

<strong>de</strong> archivo (#) no se requiere para una dirección <strong>de</strong> elemento. Cuando usa un<br />

procesador <strong>SLC</strong> 5/03 OS301, OS302 ó <strong>SLC</strong> 5/04 OS401, se soportan los<br />

valores <strong>de</strong> punto (coma) flotante y ca<strong>de</strong>na.<br />

• El <strong>de</strong>stino es la dirección inicial <strong>de</strong> <strong>de</strong>stino <strong>de</strong>l archivo que <strong>de</strong>sea llenar. Debe<br />

usar el indicador <strong>de</strong> archivo (#) en la dirección. Cuando usa un procesador <strong>SLC</strong><br />

5/03 OS301, OS302 ó <strong>SLC</strong> 5/04 OS401, se soportan los valores <strong>de</strong> punto<br />

(coma) flotante y ca<strong>de</strong>na.<br />

4–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

4–18<br />

• La longitud es el número <strong>de</strong> elementos en el archivo que <strong>de</strong>sea copiar.<br />

– Para los procesadores <strong>SLC</strong>, si el archivo <strong>de</strong> tipo <strong>de</strong>stino es <strong>de</strong> 3 palabras<br />

por elemento (temporizador o contador), pue<strong>de</strong> especificar una longitud<br />

máxima <strong>de</strong> 42. Si el archivo <strong>de</strong> tipo <strong>de</strong>stino es <strong>de</strong> 1 palabra por<br />

elemento, pue<strong>de</strong> especificar una longitud máxima <strong>de</strong> 128 palabras.<br />

– Vea la tabla siguiente respecto a los controladores <strong>MicroLogix</strong> 1000:<br />

Si el archivo <strong>de</strong> tipo<br />

<strong>de</strong>stino es un/una:<br />

Salida 1<br />

Entrada 2<br />

Estado 33<br />

Bit 32<br />

Temporizador 40<br />

Contador 32<br />

Control 16<br />

Entero 105<br />

entonces pue<strong>de</strong> especificar na<br />

longitud máxima <strong>de</strong>:<br />

Todos los elementos se llenan <strong>de</strong>l mismo valor <strong>de</strong> fuente (típicamente una<br />

constante) en el archivo <strong>de</strong> <strong>de</strong>stino especificado durante cada escán en que el<br />

renglón es verda<strong>de</strong>ro. Los elementos se llenan en or<strong>de</strong>n ascen<strong>de</strong>nte.<br />

La instrucción no sobrescribirá un límite <strong>de</strong> archivo (por ejemplo, entre archivos<br />

N16 y N17) en el <strong>de</strong>stino. Ocurre un error si se intenta sobrescribir un límite <strong>de</strong><br />

archivo.


Descripción general <strong>de</strong> las<br />

<strong>instrucciones</strong> <strong>de</strong> mover y lógicas<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

La información general siguiente se aplica a las <strong>instrucciones</strong> <strong>de</strong> mover y lógicas.<br />

Cómo introducir parámetros<br />

• La fuente es la dirección <strong>de</strong>l valor en que la operación <strong>de</strong> mover o lógica se<br />

<strong>de</strong>be efectuar. La fuente pue<strong>de</strong> ser una dirección <strong>de</strong> palabra o una constante <strong>de</strong><br />

programa, a menos que se <strong>de</strong>scriba lo contrario. Si la instrucción tiene dos<br />

operandos <strong>de</strong> fuente, no acepta constantes <strong>de</strong> programa en ambos operandos.<br />

Cuando usa un procesador <strong>SLC</strong> 5/03 OS301, OS302 ó <strong>SLC</strong> 5/04 OS400,<br />

OS401, se soportan los valores <strong>de</strong> punto (coma) flotante y ca<strong>de</strong>na.<br />

• El <strong>de</strong>stino es la dirección <strong>de</strong> resultado <strong>de</strong> una operación <strong>de</strong> mover o logica.<br />

Debe ser una dirección <strong>de</strong> palabra.<br />

Uso <strong>de</strong> direcciones <strong>de</strong> palabra in<strong>de</strong>xadas<br />

Tiene la opción <strong>de</strong> usar direcciones <strong>de</strong> palabra in<strong>de</strong>xadas como parámetros <strong>de</strong><br />

instrucción especificando las direcciones <strong>de</strong> palabra. El direccionamiento in<strong>de</strong>xado<br />

se trata en el apéndice C.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Si los bits <strong>de</strong> estado aritmético se encuentran en la palabra 0, bits 0–3 en el archivo<br />

<strong>de</strong> estado <strong>de</strong>l controlador. Después <strong>de</strong> la ejecución <strong>de</strong> una instrucción, se actualizan<br />

los bits <strong>de</strong> estado aritmético en el archivo <strong>de</strong> estado.<br />

Uso <strong>de</strong> direcciones <strong>de</strong> palabra indirectas<br />

Tiene la opción <strong>de</strong> usar direcciones indirectas a nivel <strong>de</strong> palabra y a nivel <strong>de</strong> bit para<br />

<strong>instrucciones</strong> especificando las direcciones <strong>de</strong> palabra cuando usa un procesador<br />

<strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401. Vea el apéndice C para obtener más<br />

información,<br />

Cambios <strong>de</strong>l registro matemático, S:13 y S:14<br />

Las <strong>instrucciones</strong> <strong>de</strong> mover y lógicas no afectan el registro matemático.<br />

4–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Mover (MOV)<br />

MOV<br />

MOVE<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Cómo introducir parámetros<br />

4–20<br />

<br />

Esta instrucción <strong>de</strong> salida mueve el valor <strong>de</strong> fuente al lugar <strong>de</strong> <strong>de</strong>stino. Siempre que<br />

el renglón permanezca verda<strong>de</strong>ro, la instrucción mueve los datos durante cada<br />

escán.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• La fuente es la dirección o constante <strong>de</strong> los datos que <strong>de</strong>sea mover.<br />

• El <strong>de</strong>stino es la dirección a la cual la instrucción mueve los datos.<br />

Nota <strong>de</strong> aplicación: Si <strong>de</strong>sea mover una palabra <strong>de</strong> datos sin afectar los<br />

indicadores matemáticos, use una instrucción <strong>de</strong> copiar (COP) con una longitud <strong>de</strong> 1<br />

palabra en vez <strong>de</strong> la instrucción MOV.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El controlador:<br />

S:0/0 Acarreo (C) siempre se restablece.<br />

S:0/1 Overflow (V) siempre se restablece.<br />

S:0/2 Cero (Z)<br />

S:0/3 Signo (S)<br />

<br />

<br />

se establece si el resultado es cero; en caso contrario, se<br />

restablece.<br />

se establece si el resultado es negativo (el bit más significante<br />

establecido); en caso contrario, se restablece.


Mover con máscara (MVM)<br />

MVM<br />

MASKED MOVE<br />

Source<br />

Mask<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Cómo introducir parámetros<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

La instrucción MVM es una instrucción <strong>de</strong> palabra que mueve datos <strong>de</strong> un lugar <strong>de</strong><br />

fuente a un <strong>de</strong>stino y permite que porciones <strong>de</strong> los datos <strong>de</strong> <strong>de</strong>stino estén<br />

enmascarados por una palabra separada. Siempre que el renglón permanenzca<br />

verda<strong>de</strong>ro, la instrucción mueve los datos durante cada escán.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• La fuente es la dirección <strong>de</strong> los datos que <strong>de</strong>sea mover.<br />

• La máscara es la dirección <strong>de</strong> la máscara por la cual la instrucción mueve los<br />

datos; la máscara pue<strong>de</strong> ser un valor hexa<strong>de</strong>cimal (constante).<br />

• El <strong>de</strong>stino es la dirección a la cual la instrucción mueve los datos.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El controlador:<br />

S:0/0 Acarreo (C) siempre se restablece.<br />

S:0/1 Overflow (V) siempre se restablece.<br />

S:0/2 Cero (Z)<br />

S:0/3 Signo (S)<br />

<br />

<br />

<br />

se establece si el resultado es cero; en caso contrario, se<br />

restablece.<br />

se establece si el resultado es negativo; en caso contrarior, se<br />

restablece.<br />

4–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Operación<br />

4–22<br />

Cuando un renglón que contiene esta instrucción es verda<strong>de</strong>ro, los datos en la<br />

dirección <strong>de</strong> fuente pasan por la máscara a la dirección <strong>de</strong> <strong>de</strong>stino. Vea la<br />

ilustración siguiente:<br />

MVM<br />

MASKED MOVE<br />

Source B3:0<br />

Mask F0F0<br />

Dest B3:2<br />

B3:2 antes <strong>de</strong> mover<br />

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1<br />

fuente B3:0<br />

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1<br />

Máscara F0F0<br />

1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0<br />

B3:2 <strong>de</strong>spués <strong>de</strong> mover<br />

0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1<br />

Enmascare los datos restableciendo los bits en la máscara; transfiera los datos<br />

estableciendo los bits en la máscara a uno. Los bits <strong>de</strong> la máscara pue<strong>de</strong>n ser fijos<br />

por un valor constante o los pue<strong>de</strong> variar asignándoles una dirección directa a la<br />

máscara. Los bits en el <strong>de</strong>stino que correspon<strong>de</strong>n a ceros en la máscara no se<br />

modifican.


Y (AND)<br />

AND<br />

BITWISE AND<br />

Source A<br />

Source B<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

El valor en la fuente A recibe la instrucción AND bit por bit con el valor en la<br />

fuente B y luego se almacena en el <strong>de</strong>stino.<br />

Tabla <strong>de</strong> verdad<br />

Destino = A y B<br />

A B Destino<br />

0 0 0<br />

1 0 0<br />

0 1 0<br />

1 1 1<br />

Las fuentes A y B pue<strong>de</strong>n ser una dirección <strong>de</strong> palabra o una constante; sin<br />

embargo, ambas fuentes no pue<strong>de</strong>n ser una constante. El <strong>de</strong>stino <strong>de</strong>be ser una<br />

dirección <strong>de</strong> palabra.<br />

Nota <strong>de</strong> aplicación: Cuando introduce constantes, pue<strong>de</strong> usar el operador <strong>de</strong>l signo<br />

“&” para cambiar la raíz <strong>de</strong> la introducción. Por ejemplo, en lugar <strong>de</strong> introducir –1<br />

como una constante, podría introducir &B1111111111111111 ó &HFFFF.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

<br />

Con este bit: El controlador:<br />

S:0/0 Acarreo (C) siempre se restablece.<br />

S:0/1 Overflow (V) siempre se restablece.<br />

S:0/2 Cero (Z)<br />

S:0/3 Signo (S)<br />

<br />

se establece si el resultado es cero; en caso contrarior, se<br />

restablece.<br />

se establece si el bit más significativo está establecido; en<br />

caso contrarior, se restablece.<br />

4–23


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

O (OR)<br />

OR<br />

BITWISE INCLUS OR<br />

Source A<br />

Source B<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

4–24<br />

<br />

<br />

El valor en la fuente A recibe la instrucción O bit por bit con el valor en la fuente B<br />

y luego se almacena en el <strong>de</strong>stino.<br />

Tabla <strong>de</strong> verdad<br />

Destino = A o B<br />

A B Destino<br />

0 0 0<br />

1 0 1<br />

0 1 1<br />

1 1 1<br />

Las fuentes A y B pue<strong>de</strong>n ser una dirección <strong>de</strong> palabra o una constante; sin<br />

embargo, ambas fuentes no pue<strong>de</strong>n ser una constante. El <strong>de</strong>stino <strong>de</strong>be ser una<br />

dirección <strong>de</strong> palabra.<br />

Nota <strong>de</strong> aplicación: Cuando introduce constantes, pue<strong>de</strong> usar el operador <strong>de</strong>l signo<br />

“&” para cambiar la raíz <strong>de</strong> la introducción. Por ejemplo, en lugar <strong>de</strong> introducir –1<br />

como una constante, podría introducir &B1111111111111111 ó &HFFFF.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

<br />

Con este bit: El controlador:<br />

S:0/0 Acarreo (C) siempre se restablece.<br />

S:0/1 Overflow (V) siempre se restablece.<br />

S:0/2 Cero (Z)<br />

S:0/3 Signo (S)<br />

se establece si el resultado es cero; en caso contrario, se<br />

restablece.<br />

se establece si el resultado es negativo (el bits más<br />

significativo está establecido); en caso contrarior, se<br />

restablece.


O exclusivo (XOR)<br />

XOR<br />

BITWISE EXCLUS OR<br />

Source A<br />

Source B<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

El valor en la fuente A recibe la instrucción <strong>de</strong> O exclusivo bit por bit con el valor<br />

en la fuente B y luego se almacena en el <strong>de</strong>stino.<br />

Tabla <strong>de</strong> verdad<br />

Destino = A X o B<br />

A B Destino<br />

0 0 0<br />

1 0 1<br />

0 1 1<br />

1 1 0<br />

Las fuentes A y B pue<strong>de</strong>n ser una dirección <strong>de</strong> palabra o una constante; sin<br />

embargo, ambas fuentes no pue<strong>de</strong>n ser una constante. El <strong>de</strong>stino <strong>de</strong>be ser una<br />

dirección <strong>de</strong> palabra.<br />

Nota <strong>de</strong> aplicación: Cuando introduce constantes, pue<strong>de</strong> usar el operador <strong>de</strong>l signo<br />

“&” para cambiar la raíz <strong>de</strong> la introducción. Por ejemplo, en lugar <strong>de</strong> introducir –1<br />

como una constante, podría introducir &B1111111111111111 ó &HFFFF.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

Con este bit: El controlador:<br />

S:0/0 Acarreo (C) siempre se restablece.<br />

S:0/1 Overflow (V) siempre se restablece.<br />

S:0/2 Cero (Z)<br />

S:0/3 Signo (S)<br />

<br />

<br />

<br />

se establece si el resultado es cero; en caso contrarior, se<br />

restablece.<br />

se establece si el resultado es negativo (el bits más<br />

significativo está establecido); en caso contrarior, se<br />

restablece.<br />

4–25


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

No (NOT)<br />

NOT<br />

NOT<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

4–26<br />

<br />

El valor <strong>de</strong> fuente recibe la instrucción NOT bit por bit y luego se almacena en el<br />

<strong>de</strong>stino (complemento <strong>de</strong> uno).<br />

Tabla <strong>de</strong> verdad<br />

Destino = NOT A<br />

A Destino<br />

0 1<br />

1 0<br />

La fuente y el <strong>de</strong>stino <strong>de</strong>ben ser direcciones <strong>de</strong> palabra.<br />

Nota <strong>de</strong> aplicación: Cuando introduce constantes, pue<strong>de</strong> usar el operador <strong>de</strong>l signo<br />

“&” para cambiar la raíz <strong>de</strong> la introducción. Por ejemplo, en lugar <strong>de</strong> introducir –1<br />

como una constante, podría introducir &B1111111111111111 ó &HFFFF.<br />

Actualizaciones <strong>de</strong> los bits <strong>de</strong> estado aritmético<br />

<br />

Con este bit: El controlador:<br />

S:0/0 Acarreo (C) siempre se restablece.<br />

S:0/1 Overflow (V) siempre se restablece.<br />

S:0/2 Cero (Z)<br />

S:0/3 Signo (S)<br />

<br />

se establece si el resultado es cero; en caso contrarior, se<br />

restablece.<br />

se establece si el resultado es negativo (el bits más<br />

significativo está establecido); en caso contrarior, se<br />

restablece.


Negar (NEG)<br />

NEG<br />

NEGATE<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

Use la instrucción NEG para cambiar el signo <strong>de</strong> la fuente y luego colóquelo en el<br />

<strong>de</strong>stino. El <strong>de</strong>stino contiene el complemento <strong>de</strong> dos <strong>de</strong> la fuente. Por ejemplo, si la<br />

fuente es 5, el <strong>de</strong>stino sería –5.<br />

La fuente y el <strong>de</strong>stino <strong>de</strong>ben ser direcciones <strong>de</strong> palabra.<br />

Actualizaciones <strong>de</strong> bits <strong>de</strong> estado aritmético<br />

Con este bit: El controlador:<br />

S:0/0 Acarreo (C)<br />

S:0/1 Overflow (V)<br />

S:0/2 Cero (Z)<br />

S:0/3 Signo (S)<br />

<br />

<br />

se pone a cero si es 0 u overflow; en caso contrarior, se<br />

restablece.<br />

se establece si es un overflow, en caso contrario, se<br />

restablece. El overflow sólo ocurre si –32,768 es la fuente.<br />

Durante el overflow, el indicador <strong>de</strong> error menor también se<br />

establece. El valor 32,767 se coloca en el <strong>de</strong>stino. Si S:2/14<br />

está establecido, el overflow no signado y truncado<br />

permanece en el <strong>de</strong>stino.<br />

Para los <strong>de</strong>stinos <strong>de</strong> punto (coma) flotante, el resultado <strong>de</strong><br />

overflow permanece en el <strong>de</strong>stino.<br />

se establece si el resultado es cero; en caso contrarior, se<br />

restablece.<br />

se establece si el resultado es negativo; en caso contrarior, se<br />

restablece.<br />

4–27


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Descripción general <strong>de</strong> las <strong>instrucciones</strong> FIFO y LIFO<br />

Cómo introducir parámetros<br />

4–28<br />

Las <strong>instrucciones</strong> FIFO cargan palabras en un archivo y las <strong>de</strong>scargan en el mismo<br />

or<strong>de</strong>n en que fueron cargadas. La primera palabra que llega es la primera palabra<br />

que sale.<br />

Las <strong>instrucciones</strong> LIFO cargan palabras en un archivo y las <strong>de</strong>scargan en el or<strong>de</strong>n<br />

inverso en que fueron cargadas. La última palabra que llega es la primera palabra<br />

que sale.<br />

Introduzca los parámetros siguienes al programar estas <strong>instrucciones</strong>:<br />

• La fuente es una dirección <strong>de</strong> palabra o constante (–32,768 a 32,767) que se<br />

convierte en el próximo valor en la pila.<br />

• El <strong>de</strong>stino es una dirección <strong>de</strong> palabra que almacena el valor que sale <strong>de</strong> la pila.<br />

Esta instrucción Descarga el valor a partir <strong>de</strong> la:<br />

FFU <strong>de</strong> FIFO Primera palabra<br />

LFU <strong>de</strong> LIFO La última palabra introducida<br />

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

in<strong>de</strong>xada en el archivo <strong>de</strong> bit, entrada, salida o entero. Use la misma dirección<br />

FIFO para las <strong>instrucciones</strong> FFL y FFU asociadas; use la misma dirección LIFO<br />

para las <strong>instrucciones</strong> LFL y LFU asociadas.<br />

• La longitud especifica el máximo número <strong>de</strong> palabras en la pila. Para los<br />

procesadores <strong>SLC</strong> se trata <strong>de</strong> 128 palabras y 105 palabras para los controladores<br />

<strong>MicroLogix</strong> 1000.<br />

• La posición es el próximo lugar disponible don<strong>de</strong> la instrucción carga datos en<br />

la pila. Este valor cambia <strong>de</strong>spués <strong>de</strong> cada operación <strong>de</strong> carga o <strong>de</strong>scarga.<br />

Direccione el valor <strong>de</strong> posición mnemónicamente (POS).<br />

• El control es una dirección <strong>de</strong> archivo <strong>de</strong> control. Los bits <strong>de</strong> estado, la<br />

longitud <strong>de</strong> pila y el valor <strong>de</strong> posición se almacenan en este elemento. No use la<br />

dirección <strong>de</strong> archivo <strong>de</strong> control para otras <strong>instrucciones</strong>.


Efectos en el registro <strong>de</strong> índice S:24<br />

Los bits <strong>de</strong> estado <strong>de</strong> la estructura <strong>de</strong> control son direccionados<br />

mnemónicamente. Estos incluyen:<br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

– Bit <strong>de</strong> vacío EM (bit 12) lo establece el procesador para indicar que la<br />

pila está vacía.<br />

– Bit <strong>de</strong> efectuado DN (bit 13) lo establece el procesador para indicar que<br />

la pila está llena. Esto inhibe la carga en la pila.<br />

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

<strong>de</strong> falso a verda<strong>de</strong>ro <strong>de</strong>l renglón FFU/LFU y se restablece en una transición<br />

<strong>de</strong> verda<strong>de</strong>ro a falso.<br />

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

<strong>de</strong> falso a verda<strong>de</strong>ro <strong>de</strong>l renglón FFL/LFL y se restablece en una transición<br />

<strong>de</strong> verda<strong>de</strong>ro a falso.<br />

El valor presente en S:24 se sobrescribe con el valor <strong>de</strong> posición cuando ocurre una<br />

transición <strong>de</strong> falso a verda<strong>de</strong>ro <strong>de</strong>l renglón FFL/FFU o LFL/LFU. Para el FFL/LFL,<br />

el valor <strong>de</strong> posición <strong>de</strong>terminar a la introduccción <strong>de</strong> la instrucción se coloca en<br />

S:24. Para el FFU/LFU, el valor <strong>de</strong> posición <strong>de</strong>terminado a la salida <strong>de</strong> la<br />

instrucción se coloca en S:24.<br />

Cuando el bit DN se establece, una transición <strong>de</strong> falso a verda<strong>de</strong>ro <strong>de</strong>l renglón<br />

FFL/LFL no cambia el valor <strong>de</strong> posición ni el valor <strong>de</strong>l registro <strong>de</strong> índice. Cuando<br />

el bit EM se establece, la transición <strong>de</strong> falso a verda<strong>de</strong>ro <strong>de</strong>l renglón FFU/LFU no<br />

cambia el valor <strong>de</strong> posición ni el valor <strong>de</strong>l registro <strong>de</strong> índice.<br />

4–29


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Carga FIFO (FFL)<br />

Descarga FIFO (FFU)<br />

FFL<br />

FIFO LOAD<br />

Source<br />

FIFO<br />

Control<br />

Length<br />

Position<br />

FFU<br />

FIFO UNLOAD<br />

FIFO<br />

Dest<br />

Control<br />

Length<br />

Position<br />

Instrucciones <strong>de</strong> salida<br />

4–30<br />

(EN)<br />

(DN)<br />

(EM)<br />

(EU)<br />

(DN)<br />

(EM)<br />

FFL<br />

FIFO LOAD<br />

Source N7:10<br />

FIFO #N7:12<br />

Control R6:0<br />

Length 34<br />

Position 9<br />

FFU<br />

FIFO UNLOAD<br />

FIFO #N7:12<br />

Dest N7:11<br />

Control R6:0<br />

Length 34<br />

Position 9<br />

Instrucciones FFL–FFU<br />

Las <strong>instrucciones</strong> FFL y FFU se usan conjuntamente. La instrucción FFL carga<br />

palabras en un archivo creado por el usuario que se llama una pila FIFO. La<br />

instrucción FFU <strong>de</strong>scarga palabras <strong>de</strong> la pila FIFO en el mismo or<strong>de</strong>n en que fueron<br />

cargadas.<br />

Parámetros <strong>de</strong> instrucción han sido programados en las <strong>instrucciones</strong> FFL–FFU<br />

ilustradas abajo.<br />

(EN)<br />

(DN)<br />

(EM)<br />

(EU)<br />

(DN)<br />

(EM)<br />

<br />

<br />

Destino<br />

N7:11<br />

La instrucción FFU <strong>de</strong>scarga<br />

datos <strong>de</strong> pila #N7:12 en<br />

posición 0, N7:12.<br />

Fuente<br />

N7:10<br />

<br />

La instrucción FFL carga datos<br />

en pila #N7:12 en la próxima<br />

posición disponible, la cual es 9<br />

en este caso.<br />

N7:12<br />

N7:13<br />

N7:14<br />

N7:45<br />

Posición<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

33<br />

Carga y <strong>de</strong>scarga <strong>de</strong> pila #N7:12<br />

34 palabras han sido<br />

asignadas para la pila<br />

FIFO a partir <strong>de</strong> N7:12<br />

hasta N7:45.<br />

Operación <strong>de</strong> la instrucción FFL: Cuando las condiciones <strong>de</strong> renglón cambian <strong>de</strong><br />

falso a verda<strong>de</strong>ro, el bit <strong>de</strong> habilitación FFL (EN) se establece. Esto carga el<br />

contenido <strong>de</strong> la fuente, N7:10, en el elemento <strong>de</strong> pila indicado por el número <strong>de</strong><br />

posición 9. Luego el valor <strong>de</strong> posición se incrementa.<br />

La instrucción FFL carga un elemento a cada transición <strong>de</strong> falso a verda<strong>de</strong>ro <strong>de</strong>l<br />

renglón hasta que la pila se llene (34 elementos). Luego el procesador establece el<br />

bit <strong>de</strong> efectuado (DN) inhibiendo así la continuación <strong>de</strong> la carga.


Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

Operación <strong>de</strong> la instrucción FFU: Cuando las condiciones <strong>de</strong> renglón cambian <strong>de</strong><br />

falsas a verda<strong>de</strong>ras, el bit <strong>de</strong> habilitación FFU (EU) se establece. Esto <strong>de</strong>scarga el<br />

contenido <strong>de</strong>l elemento a la posición <strong>de</strong> pila 0 en el <strong>de</strong>stino, N7:11. Todos los datos<br />

en la pila se <strong>de</strong>splazan un elemento hacia la posición 0 y el elemento numerado más<br />

alto se pone a cero.<br />

La instrucción FFU <strong>de</strong>scarga un elemento en cada transición <strong>de</strong> falso a verda<strong>de</strong>ro<br />

<strong>de</strong>l renglón hasta que la pila se vacía. Luego el procesador establece el bit vacío<br />

(EM).<br />

4–31


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Carga LIFO (LFL)<br />

Descarga LIFO (LFU)<br />

LFL<br />

LIFO LOAD<br />

Source<br />

LIFO<br />

Control<br />

Length<br />

Position<br />

LFU<br />

LIFO UNLOAD<br />

LIFO<br />

Dest<br />

Control<br />

Length<br />

Position<br />

Instrucciones <strong>de</strong> salida<br />

4–32<br />

(EN)<br />

(DN)<br />

(EM)<br />

(EU)<br />

(DN)<br />

(EM)<br />

LFL<br />

LIFO LOAD<br />

Source N7:10<br />

LIFO #N7:12<br />

Control R6:0<br />

Length 34<br />

Position 9<br />

LFU<br />

LIFO UNLOAD<br />

LIFO #N7:12<br />

Dest N7:11<br />

Control R6:0<br />

Length 34<br />

Position 9<br />

Instrucciones LFL–LFU<br />

Las <strong>instrucciones</strong> LFL y LFU se usan conjuntamente. La instrucción LFL carga<br />

palabras en un archivo creado por el usuario que se llama una pila LIFO. La<br />

instrucción LFU <strong>de</strong>scarga palabras <strong>de</strong> la pila LIFO en el mismo or<strong>de</strong>n en que fueron<br />

cargadas.<br />

Los parámetros <strong>de</strong> instrucción han sido programados en las <strong>instrucciones</strong> LFL–LFU<br />

ilustradas abajo.<br />

(EN)<br />

(DN)<br />

(EM)<br />

(EU)<br />

(DN)<br />

(EM)<br />

<br />

La instrucción LFU <strong>de</strong>scarga<br />

datos <strong>de</strong> pila #N7:12 en<br />

posición 0, N7:12.<br />

N7:11<br />

Destino<br />

La instrucción LFL carga datos en<br />

pila #N7:12 en la próxima<br />

posición disponible, la cual es 9<br />

en este caso.<br />

N7:10<br />

Fuente<br />

<br />

<br />

N7:12<br />

N7:13<br />

N7:14<br />

N7:45<br />

33<br />

Carga y <strong>de</strong>scarga <strong>de</strong> pila #N7:12<br />

Posición<br />

0<br />

1<br />

34 palabras se asignan<br />

para la pila LIFO a partir<br />

2 <strong>de</strong> N7:12 hasta N7:45.<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

Operación <strong>de</strong> la instrucción LFL: Cuando las condiciones <strong>de</strong> renglón cambian <strong>de</strong><br />

falso a verda<strong>de</strong>ro, el bit <strong>de</strong> habilitación LFL (EN) se establece. Esto carga el<br />

contenido <strong>de</strong> la fuente, N7:10, en el elemento <strong>de</strong> pila indicado por el número <strong>de</strong><br />

posición 9. Luego el valor <strong>de</strong> posición se incrementa.<br />

La instrucción LFL carga un elemento a cada transición <strong>de</strong> falso a verda<strong>de</strong>ro <strong>de</strong>l<br />

renglón hasta que la pila se llene (34 elementos). Luego el procesador establece el<br />

bit <strong>de</strong> efectuado (DN) inhibiendo así la continuación <strong>de</strong> la carga.


Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

Operación <strong>de</strong> la instrucción LFU: Cuando las condiciones <strong>de</strong> renglón cambian <strong>de</strong><br />

falso a verda<strong>de</strong>ro, el bit <strong>de</strong> habilitación LFU (EU) se establece. Esto <strong>de</strong>scarga el<br />

contenido <strong>de</strong>l elemento a la posición <strong>de</strong> pila 0 en el <strong>de</strong>stino, N7:11. Todos los datos<br />

en la pila se <strong>de</strong>splazan un elemento hacia la posición 0 y el elemento numerado más<br />

alto se pone a cero.<br />

La instrucción LFU <strong>de</strong>scarga un elemento a cada transición <strong>de</strong> falso a verda<strong>de</strong>ro <strong>de</strong>l<br />

renglón hasta que la pila esté vacía. Luego el procesador establece el bit vacío<br />

(EM).<br />

4–33


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucciones <strong>de</strong> manejo <strong>de</strong> datos en el ejemplo <strong>de</strong><br />

aplicación <strong>de</strong> la perforadora <strong>de</strong> papel<br />

Añadir el archivo 7<br />

4–34<br />

Esta sección proporciona renglones <strong>de</strong> escalera para <strong>de</strong>mostrar el uso <strong>de</strong> las<br />

<strong>instrucciones</strong> <strong>de</strong> manejo <strong>de</strong> datos. Los renglones son parte <strong>de</strong>l ejemplo <strong>de</strong><br />

aplicación <strong>de</strong> la perforadora <strong>de</strong> papel <strong>de</strong>scrito en el apéndice H. Usted los añadirá a<br />

la subrutina en el archivo 7 que se inició en el capítulo 2.<br />

Renglón 7:3<br />

Este renglón mueve el valor <strong>de</strong>l interruptor preselector rotatorio BCD <strong>de</strong> un solo<br />

dígito en un registro <strong>de</strong> entero interno. Esto se realiza para alinear correctamente<br />

las cuatro señales <strong>de</strong> entrada BCD antes <strong>de</strong> ejecutar la instrucción <strong>de</strong> BCD a entero<br />

(FRD). El interruptor preselector rotatorio se usa para permitirle al operador<br />

introducir el espesor <strong>de</strong>l papel que va a perforar. El espesor se introduce en<br />

incrementos <strong>de</strong> 1/4 pulg. Esto proporciona un rango <strong>de</strong> 1/4 pulg. a 2.25 pulg.<br />

| BCD bit 0 |FRD bit 0 |<br />

| I:1.0 N7:14 |<br />

|––––––––––––––––––––––––––––––––––––––––––––––––––––+––––] [––––––––( )–––––+–|<br />

| | 11 0 | |<br />

| | BCD bit 1 |FRD bit 1 | |<br />

| | I:1.0 N7:14 | |<br />

| +––––] [––––––––( )–––––+ |<br />

| | 12 1 | |<br />

| | BCD bit 2 |FRD bit 2 | |<br />

| | I:1.0 N7:14 | |<br />

| +––––] [––––––––( )–––––+ |<br />

| | 13 2 | |<br />

| | BCD bit 3 |FRD bit 3 | |<br />

| | I:1.0 N7:14 | |<br />

| +––––] [––––––––( )–––––+ |<br />

| 14 3 |


Instrucciones <strong>de</strong> manejo <strong>de</strong> datos<br />

Renglón 7:4<br />

Este renglón convierte el valor <strong>de</strong>l interruptor preselector rotatorio BCD <strong>de</strong> BCD en<br />

entero. Esto se realiza porque el procesador opera en valores <strong>de</strong> entero. Este<br />

renglón también neutraliza el rebote <strong>de</strong>l interruptor preselector rotatorio para<br />

asegurar que la conversión ocurra sólo en valores BCD válidos. Anote que los valores<br />

BCD no válidos pue<strong>de</strong>n ocurrir cuando el operador está cambiando el interruptor<br />

preselector rotatorio BCD. Eso es <strong>de</strong>bido a las diferencias <strong>de</strong> retardo <strong>de</strong> propagación<br />

<strong>de</strong>l filtro <strong>de</strong> entrada entre los 4 circuitos <strong>de</strong> entrada que proporcionan el valor <strong>de</strong><br />

entrada BCD.<br />

| primer valor <strong>de</strong><br />

| bit <strong>de</strong> entrada BCD valor BCD<br />

| transf. <strong>de</strong>l escán neutralizado<br />

| anterior<br />

| S:1 +EQU–––––––––––––––+ +FRD–––––––––––––––+ |<br />

|–+––––]/[–––––+EQUAL +–+–––––––––––+FROM BCD +–+––––+––––|<br />

| | 15 |Source A N7:13| | |Source N7:14| | | |<br />

| | | 0| | | 0000| | | |<br />

| | |Source B N7:14| | | 0000| | | |<br />

| | | 0| | |Dest N7:12| | | |<br />

| | +––––––––––––––––––+ | | 1| | | |<br />

| | | Math +––––––––––––––––––+ | | |<br />

| | | Math Math | | |<br />

| | | Overflow Error | | |<br />

| | | Bit Bit | | |<br />

| | | S:0 S:5 | | |<br />

| | +––––] [––––––––––––––(U)––––––––+ | |<br />

| | 1 0 | |<br />

| | valor <strong>de</strong> | |<br />

| | entrada BCD | |<br />

| | <strong>de</strong> este | |<br />

| | escán | |<br />

| | +MOV–––––––––––––––+ | |<br />

| +––––––––––––––––––––––––––––––––––––––––––––––––––+MOVE +–+ |<br />

| |Source N7:14| |<br />

| | 0| |<br />

| |Dest N7:13| |<br />

| | 0| |<br />

| +––––––––––––––––––+ |<br />

Renglón 7:5<br />

Este renglón asegura que el operador no pueda seleccionar un espesor <strong>de</strong> papel<br />

<strong>de</strong> 0. Si eso se permitiera, el cálculo <strong>de</strong> la vida útil <strong>de</strong> la broca podría<br />

anularse lo que resultaría en orificios <strong>de</strong> calidad insatisfactoria causados<br />

por una broca sin filo. Por lo tanto, el espesor <strong>de</strong> papel mínimo que será usado<br />

para calcular el <strong>de</strong>sgaste <strong>de</strong> la broca es <strong>de</strong> 1/4 pulg.<br />

| valor valor |<br />

| BCD BCD |<br />

| neutralizado neutralizado |<br />

| +EQU–––––––––––––––+ +MOV–––––––––––––––+ |<br />

|–+EQUAL +––––––––––––––––––––––––––––––––––––+MOVE +–|<br />

| |Source A N7:12| |Source 1| |<br />

| | 1| | | |<br />

| |Source B 0| |Dest N7:12| |<br />

| | | | 1| |<br />

| +––––––––––––––––––+ +––––––––––––––––––+ |<br />

4–35


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

4–36


Instrucciones <strong>de</strong> flujo <strong>de</strong> programa<br />

5 Instrucciones <strong>de</strong> flujo <strong>de</strong> programa<br />

Este capítulo contiene información general acerca <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> flujo <strong>de</strong><br />

programa y explica cómo funcionan en su programa <strong>de</strong> aplicación. Cada una <strong>de</strong> las<br />

<strong>instrucciones</strong> incluye información acerca <strong>de</strong>:<br />

• cómo aparece el símbolo <strong>de</strong> instrucción<br />

• cómo usar la instrucción<br />

A<strong>de</strong>más, la última sección contiene un ejemplo <strong>de</strong> aplicación para una perforadora<br />

<strong>de</strong> papel que muestra el uso <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> control <strong>de</strong> flujo <strong>de</strong> programa.<br />

Instrucciones <strong>de</strong> control <strong>de</strong> flujo <strong>de</strong> programa<br />

Instrucción<br />

Mnemónico Nombre<br />

JMP y LBL Saltar a etiqueta y<br />

etiqueta<br />

JSR, SBR,<br />

y RET<br />

Saltar a subrutina,<br />

subrutina, y<br />

retornar <strong>de</strong> la<br />

subrutina<br />

MCR Restablecimiento<br />

<strong>de</strong>l control maestro<br />

Propósito Página<br />

Saltar hacia a<strong>de</strong>lante o hacia atrás a la instrucción<br />

<strong>de</strong> etiqueta especificada.<br />

5-3<br />

Saltar a una subrutina <strong>de</strong>signada y retornar. 5-5<br />

Desactivar todas las salidas no retentivas en una<br />

sección <strong>de</strong> un programa <strong>de</strong> escalera.<br />

TND Fin temporal Marcar un fin temporal que <strong>de</strong>tiene la ejecución <strong>de</strong>l<br />

programa.<br />

SUS Suspen<strong>de</strong>r I<strong>de</strong>ntifica condiciones específicas para la<br />

<strong>de</strong>puración <strong>de</strong>l programa y la localización y<br />

corrección <strong>de</strong> fallos <strong>de</strong>l sistema.<br />

IIM Entrada inmediata<br />

con máscara<br />

IOM Salida inmediata<br />

con máscara<br />

5–8<br />

5–10<br />

5–11<br />

Programar una entrada inmediata con máscara. 5–12<br />

Programar una salida inmediata con máscara. 5–13<br />

REF Regenerar 5–14<br />

5–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Acerca <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

5–2<br />

Use estas <strong>instrucciones</strong> para controlar la secuencia en que se ejecuta su programa.<br />

Las <strong>instrucciones</strong> <strong>de</strong> control le permiten cambiar el or<strong>de</strong>n en que el procesador<br />

realiza un escán <strong>de</strong> un programa <strong>de</strong> escalera. Estas instrucciónes típicamente se<br />

usan para minimizar el tiempo <strong>de</strong> escán, crear un programa más eficiente y para<br />

localizar y corregir fallos <strong>de</strong> un programa <strong>de</strong> escalera.


Salto (JMP) y etiqueta (LBL)<br />

(JMP)<br />

]LBL[<br />

Instrucciones <strong>de</strong> flujo <strong>de</strong> programa<br />

Use estas <strong>instrucciones</strong> conjuntamente para saltar porciones <strong>de</strong>l programa <strong>de</strong><br />

escalera.<br />

Si el renglón que contiene la<br />

instrucción <strong>de</strong> salto es:<br />

El programa:<br />

Verda<strong>de</strong>ro Salta <strong>de</strong>l renglón que contiene la instrucción JMP al renglón<br />

que contiene la instrucción LBL <strong>de</strong>signada y sigue ejecutando.<br />

Pue<strong>de</strong> saltar hacia a<strong>de</strong>lante o hacia atrás.<br />

Falso No ejecuta la instrucción JMP.<br />

El saltar hacia a<strong>de</strong>lante a una etiqueta ahorra el tiempo <strong>de</strong> escán <strong>de</strong>l programa<br />

eliminando un segmento <strong>de</strong> programa hasta que sea necesario. El saltar hacia atrás<br />

le permite al controlador ejecutar segmentos <strong>de</strong> programa repetidamente.<br />

Nota Tenga cuidado <strong>de</strong> no saltar hacia atrás excesivamente. El temporizador <strong>de</strong> control<br />

(watchdog) podría sobrepasar el límite <strong>de</strong> tiempo y causar un fallo <strong>de</strong>l controlador.<br />

Use un contador, temporizador o el registro <strong>de</strong> “escán <strong>de</strong> programa” (registro <strong>de</strong><br />

estado <strong>de</strong> sistema, palabra S:3, bits 0–7) para limitar el tiempo que se pasa<br />

realizando lazos <strong>de</strong>ntro <strong>de</strong> las <strong>instrucciones</strong> JMP/LBL.<br />

Cómo introducir parámetros<br />

Uso <strong>de</strong> JMP<br />

<br />

Introduzca un número <strong>de</strong> etiqueta <strong>de</strong>cimal <strong>de</strong> 0 a 999. Pue<strong>de</strong> colocar hasta:<br />

• 256 etiquetas en cada archivo <strong>de</strong> subrutina para los procesadores <strong>SLC</strong><br />

• 1,000 etiquetas para los controladores <strong>MicroLogix</strong> 1000 en cada archivo <strong>de</strong><br />

subrutina.<br />

La instrucción JMP causa que el controlador salte renglones. Pue<strong>de</strong> saltar a la<br />

misma etiqueta <strong>de</strong>s<strong>de</strong> una o más <strong>instrucciones</strong> JMP.<br />

<br />

<br />

5–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Uso <strong>de</strong> LBL<br />

5–4<br />

Esta instrucción <strong>de</strong> entrada es el blanco <strong>de</strong> las <strong>instrucciones</strong> JMP que tienen el<br />

mismo número <strong>de</strong> etiqueta. Debe programar esta instrucción como la primera<br />

instrucción <strong>de</strong> un renglón. Esta instrucción no tiene bits <strong>de</strong> control.<br />

Pue<strong>de</strong> programar saltos múltiples a la misma etiqueta asignando el mismo número<br />

<strong>de</strong> etiqueta a <strong>instrucciones</strong> JMP múltiples. Sin embargo, los números <strong>de</strong> etiqueta<br />

<strong>de</strong>ben ser únicos.<br />

Nota No salte (JMP) en una zona MCR. Las <strong>instrucciones</strong> programadas <strong>de</strong>ntro <strong>de</strong> la<br />

zona MCR a partir <strong>de</strong> la instrucción LBL hasta la instrucción ’END MCR’ siempre<br />

serán evaluadas como si la zona MCR fuera verda<strong>de</strong>ra, sin importar el estado<br />

verda<strong>de</strong>ro <strong>de</strong> la instrucción “Start MCR”.


Saltar a subrutina (JSR), subrutina (SBR),<br />

y retornar (RET)<br />

JSR<br />

JUMP TO SUBROUTINE<br />

SBR file number<br />

.<br />

SBR<br />

SUBROUTINE<br />

RET<br />

RETURN<br />

Instrucciones <strong>de</strong> flujo <strong>de</strong> programa<br />

Las <strong>instrucciones</strong> JSR, SBR y RET se usan para indicar al controlador que ejecute<br />

un archivo <strong>de</strong> subrutina separado <strong>de</strong>ntro <strong>de</strong>l programa <strong>de</strong> escalera y retornar a la<br />

instrucción siguiente a la instrucción JSR.<br />

Nota Si usa la instrucción SBR, ésta <strong>de</strong>be ser la primera instrucción en el primer renglón<br />

en el archivo <strong>de</strong> programa que contiene la subrutina.<br />

Use una subrutina para almacenar secciones repetidas <strong>de</strong> lógica <strong>de</strong> programa que se<br />

<strong>de</strong>be ejecutar <strong>de</strong>s<strong>de</strong> varios puntos <strong>de</strong>ntro <strong>de</strong> su programa <strong>de</strong> aplicación. Una<br />

subrutina ahorra memoria porque se programa sólo una vez.<br />

Actualice E/S críticas <strong>de</strong>ntro <strong>de</strong> subrutinas usando las <strong>instrucciones</strong> <strong>de</strong> entrada y/o<br />

salida inmediata (IIM, IOM), especialmente si la aplicación requiere subrutinas<br />

anidadas o largas. En caso contrarior, el controlador no actualizará la E/S hasta que<br />

llegue al final <strong>de</strong>l programa principal (<strong>de</strong>spués <strong>de</strong> ejecutar todas las subrutinas).<br />

Las salidas controladas <strong>de</strong>ntro <strong>de</strong> una subrutina permanecen en su último<br />

estado hasta que la subrutina se vuelva a ejecutar.<br />

Cómo anidar archivos <strong>de</strong> subrutina<br />

El anidar subrutinas le permite dirigir el flujo <strong>de</strong> programa <strong>de</strong>s<strong>de</strong> el programa<br />

principal hasta una subrutina y luego a otra subrutina. Las reglas siguientes se<br />

aplican al anidar subrutinas:<br />

Pue<strong>de</strong> anidar hasta ocho niveles <strong>de</strong> subrutinas. Si usa una subrutina STI, una<br />

subrutina <strong>de</strong> interrupción HSC o una rutina <strong>de</strong> fallo <strong>de</strong>l usuario, pue<strong>de</strong> anidar<br />

subrutinas hasta tres niveles <strong>de</strong>s<strong>de</strong> cada subrutina.<br />

• Con los procesadores fijos y <strong>SLC</strong> 5/01, pue<strong>de</strong> anidar subrutinas hasta cuatro<br />

niveles.<br />

5–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

5–6<br />

Programa<br />

principal<br />

Uso <strong>de</strong> JSR<br />

6<br />

JSR<br />

• Con los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03, <strong>SLC</strong> 5/04 y controladores<br />

<strong>MicroLogix</strong> 1000, pue<strong>de</strong> anidar subrutinas hasta ocho niveles. Si usa una<br />

subrutina STI, subrutina <strong>de</strong> interrupción provocada por evento <strong>de</strong> E/S, una<br />

rutina <strong>de</strong> fallo <strong>de</strong>l usuario o una subrutina <strong>de</strong> interrupción HSC, pue<strong>de</strong> anidar<br />

subrutinas hasta tres niveles <strong>de</strong>s<strong>de</strong> cada subrutina.<br />

La ilustración siguiente muestra cómo se pue<strong>de</strong>n anidar las subrutinas.<br />

Nivel 1<br />

Archivo <strong>de</strong> subrutina 6<br />

SBR<br />

7<br />

JSR<br />

RET<br />

Nivel 2<br />

Archivo <strong>de</strong> subrutina 7<br />

SBR SBR<br />

8<br />

JSR<br />

Ejemplo <strong>de</strong> cómo anidar subrutinas hasta el nivel 3<br />

Nivel 3<br />

Archivo <strong>de</strong> subrutina 8<br />

RET RET<br />

Ocurrirá un error si se llaman más niveles <strong>de</strong> subrutinas que los permitidos<br />

(overflow <strong>de</strong> pila <strong>de</strong> subrutina) o si se ejecutan más retornos que niveles <strong>de</strong> llamada<br />

existentes (un<strong>de</strong>rflow <strong>de</strong> pila <strong>de</strong> subrutina).<br />

Cuando la instrucción JSR se ejecuta, el controlador salta a la instrucción <strong>de</strong><br />

subrutina (SBR) al inicio <strong>de</strong>l archivo <strong>de</strong> subrutina <strong>de</strong>stino y reanuda la ejecución<br />

<strong>de</strong>s<strong>de</strong> aquel punto. No pue<strong>de</strong> saltar en una parte <strong>de</strong> una subrutina con excepción <strong>de</strong><br />

la primera instrucción en ese archivo.<br />

Debe programar cada subrutina en su propio archivo <strong>de</strong> programa asignando un<br />

número <strong>de</strong> archivo único:<br />

• 3–255 para los procesadores <strong>SLC</strong><br />

• 4–15 para los controladores <strong>MicroLogix</strong> 1000<br />

Fijo y específico <strong>de</strong>l <strong>SLC</strong> 5/01 – La instrucción JSR no se <strong>de</strong>be programar en<br />

bifurcaciones <strong>de</strong> salida anidadas. Un error <strong>de</strong> compilador se ocurrirá si se encuentra<br />

un renglón que contenga salidas múltiples con lógica condicional y una instrucción<br />

JSR.


Uso <strong>de</strong> SBR<br />

Uso <strong>de</strong> RET<br />

Instrucciones <strong>de</strong> flujo <strong>de</strong> programa<br />

La subrutina <strong>de</strong> <strong>de</strong>stino se i<strong>de</strong>ntifica por el número <strong>de</strong> archivo que usted introdujo<br />

en la instrucción JSR. Esta instrucción sirve como etiqueta o i<strong>de</strong>ntificador <strong>de</strong> un<br />

archivo <strong>de</strong> programa <strong>de</strong>signado como un archivo <strong>de</strong> subrutina normal.<br />

Esta instrucción no tiene bits <strong>de</strong> control. Siempre se evalúa como verda<strong>de</strong>ra. La<br />

instrucción se <strong>de</strong>be programar como la primera instrucción en el primer renglón <strong>de</strong><br />

una subrutina. El uso <strong>de</strong> esta instrucción es opcional; sin embargo, recomendamos<br />

su uso para obtener mayor claridad.<br />

Esta instrucción <strong>de</strong> salida indica el fin <strong>de</strong> ejecución <strong>de</strong> subrutina o el fin <strong>de</strong>l archivo<br />

<strong>de</strong> subrutina. Causa que el controlador reanu<strong>de</strong> la ejecución en la instrucción<br />

siguiente a la instrucción JSR. Si se involucra una secuencia <strong>de</strong> subrutinas anidadas,<br />

la instrucción causa que el procesador retorne la ejecución <strong>de</strong> programa a la<br />

subrutina anterior.<br />

El renglón que contiene la instrucción RET pue<strong>de</strong> ser condicional si este renglón<br />

prece<strong>de</strong> el final <strong>de</strong> la subrutina. De esta manera el controlador elimina el resto <strong>de</strong><br />

una subrutina sólo si su condición <strong>de</strong> renglón es verda<strong>de</strong>ra.<br />

Sin instrucción RET, la instrucción END (siempre presente en la subrutina) retorna<br />

automáticamente la ejecución <strong>de</strong> programa a la instrucción siguiente a la instrucción<br />

JSR en el archivo <strong>de</strong> escalera que llama.<br />

Nota La instrucción RET termina la ejecución <strong>de</strong> la subrutina DII (procesadores <strong>SLC</strong><br />

5/03 y <strong>SLC</strong> 5/04), la subrutina STI, la subrutina <strong>de</strong> interrupción provocada por<br />

evento <strong>de</strong> E/S y el indicador <strong>de</strong> error <strong>de</strong>l usuario cuando se usa un procesador <strong>SLC</strong><br />

5/02, <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04.<br />

5–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Restablecimiento <strong>de</strong> control maestro (MCR)<br />

(MCR)<br />

5–8<br />

<br />

Use las <strong>instrucciones</strong> MCR conjuntamente para crear zonas <strong>de</strong> programa que<br />

<strong>de</strong>sactivan todas las salidas no retentivas en la zona. Los renglones <strong>de</strong>ntro <strong>de</strong> la<br />

zona MCR todavía son escaneados, pero el tiempo <strong>de</strong> escán se reduce <strong>de</strong>bido al<br />

estado falso <strong>de</strong> las salidas no retentivas.<br />

Si el renglón MCR que inicia la<br />

zona es:<br />

El controlador:<br />

Verda<strong>de</strong>ro Ejecuta los renglones en la zona MCR según la condición <strong>de</strong><br />

entrada <strong>de</strong> cada renglón (como si la zona no existiera)<br />

Falso Restablece todas las <strong>instrucciones</strong> <strong>de</strong> salida no retentiva en la<br />

zona MCR pese a las condiciones <strong>de</strong> entrada <strong>de</strong> cada<br />

renglón.<br />

Las zonas MCR le permiten habilitar o inhabilitar segmentos <strong>de</strong> su programa; por<br />

ejemplo, las aplicaciones <strong>de</strong> receta.<br />

Cuando programe las <strong>instrucciones</strong> MCR, observe lo siguiente:<br />

• Debe terminar la zona con una instrucción MCR no condicional.<br />

• No pue<strong>de</strong> anidar una zona MCR <strong>de</strong>ntro <strong>de</strong> otra.<br />

• No salte a una zona MCR. Si la zona es falsa, el saltar a ella activa la zona.<br />

• Siempre coloque la instrucción MCR como la última instrucción en un renglón.<br />

Nota La instrucción MCR no substituye un relé cableado <strong>de</strong> control maestro que<br />

proporciona la capacidad <strong>de</strong> <strong>de</strong>tención <strong>de</strong> emergencia. Todavía <strong>de</strong>be instalar un<br />

relé cableado <strong>de</strong> control maestro para proporcionar la interrupción <strong>de</strong> alimentación<br />

eléctrica <strong>de</strong> E/S en casos <strong>de</strong> emergencia.<br />

Si inicia <strong>instrucciones</strong> tales como temporizadores o contadores en una zona<br />

MCR, la operación <strong>de</strong> instrucción se <strong>de</strong>tiene cuando la zona se inhabilita.<br />

Vuelva a programar operaciones críticas fuera <strong>de</strong> la zona si fuese necesario.


Operación <strong>de</strong>l procesador <strong>SLC</strong><br />

Instrucciones <strong>de</strong> flujo <strong>de</strong> programa<br />

No salte (JMP) a una zona MCR. Las <strong>instrucciones</strong> programadas <strong>de</strong>ntro <strong>de</strong> la zona<br />

MCR, que comienzan con una instrucción LBL y terminan con la instrucción ’END<br />

MCR’, siempre serán evaluadas como si la zona MCR fuera verda<strong>de</strong>ra, sin importar<br />

el estado verda<strong>de</strong>ro <strong>de</strong> la instrucción “Start MCR”. Si la zona es falsa, el saltar a<br />

ella activa la zona <strong>de</strong>s<strong>de</strong> la LBL hasta el final <strong>de</strong> la zona.<br />

Si inicia <strong>instrucciones</strong> tales como temporizadores o contadores en una zona<br />

MCR, la operación <strong>de</strong> instrucción se <strong>de</strong>tiene cuando la zona se inhabilita.<br />

Vuelva a programar operaciones críticas fuera <strong>de</strong> la zona si fuese necesario.<br />

El temporizador TOF se activará (cuando se coloque) <strong>de</strong>ntro <strong>de</strong> una zona<br />

MCR falsa.<br />

La instrucción MCR no sustituye el relé cableado <strong>de</strong> control maestro.<br />

Recomendamos que el sistema <strong>de</strong> controlador programable incluya un relé <strong>de</strong><br />

cableado <strong>de</strong> control maestro e interruptores <strong>de</strong> parada <strong>de</strong> emergencia para<br />

proporcionar la interrupción <strong>de</strong> alimentación eléctrica <strong>de</strong> E/S. Los<br />

interruptores <strong>de</strong> parada <strong>de</strong> emergencia se pue<strong>de</strong>n monitorizar pero no <strong>de</strong>ben<br />

ser controlados por el programa <strong>de</strong> escalera. Cablee estos dispositivos según lo<br />

<strong>de</strong>scrito en el manual <strong>de</strong> instalación.<br />

Específico <strong>de</strong> <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – Cuando está en línea y existe en su<br />

programa una instrucción MCR <strong>de</strong>sigual, la instrucción END sirve como la<br />

segunda instrucción MCR no condicional y todos los renglones siguientes a la<br />

primera instrucción MCR se ejecutan por medio <strong>de</strong>l estado <strong>de</strong> instrucción<br />

MCR actual.<br />

Pue<strong>de</strong> guardar el programa cuando está en línea si existen <strong>instrucciones</strong> MCR<br />

<strong>de</strong>satendidas. Sin embargo, si está fuera <strong>de</strong> línea y existen <strong>instrucciones</strong> MCR<br />

<strong>de</strong>satendidas, ocurrirá un error.<br />

5–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Fin temporal (TND)<br />

(TND)<br />

Cuando el renglón <strong>de</strong> esta instrucción es verda<strong>de</strong>ro, previene que el procesador<br />

realice un escán <strong>de</strong>l resto <strong>de</strong>l archivo <strong>de</strong> programa, actualiza la E/S y reanuda el<br />

Instrucción <strong>de</strong> salida<br />

escaneado a partir <strong>de</strong>l renglón 0 <strong>de</strong>l programa principal (archivo 2). Si la<br />

instrucción <strong>de</strong> este renglón es falsa, el procesador sigue realizando el escán hasta la<br />

próxima instrucción TND o el comando END. Use esta instrucción para <strong>de</strong>purar<br />

progresivamente un programa o eliminar condicionalmente el resto <strong>de</strong> su archivo <strong>de</strong><br />

programa o subrutinas existentes.<br />

Nota Si usa esta instrucción <strong>de</strong>ntro <strong>de</strong> una subrutina anidada, se termina la ejecución <strong>de</strong><br />

todas las subrutinas anidadas.<br />

Controladores <strong>MicroLogix</strong> 1000<br />

No ejecute esta instrucción <strong>de</strong>s<strong>de</strong> la rutina <strong>de</strong> fallo <strong>de</strong> error <strong>de</strong>l usuario (archivo 3),<br />

rutina <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad (archivo 4) ni la rutina <strong>de</strong><br />

interrupción temporizada seleccionable (archivo 5) ya que ocurrirá un error.<br />

5–10


Suspen<strong>de</strong>r (SUS)<br />

SUS<br />

SUSPEND<br />

Suspend ID<br />

Instrucción <strong>de</strong> salida<br />

Cómo introducir parámetros<br />

<br />

<br />

<br />

Instrucciones <strong>de</strong> flujo <strong>de</strong> programa<br />

Cuando esta instrucción se ejecuta, causa que el procesador entre en el modo <strong>de</strong><br />

Suspend/Idle y almacena la i<strong>de</strong>ntificación <strong>de</strong> suspen<strong>de</strong>r en palabra 7 (S:7) <strong>de</strong>l<br />

archivo <strong>de</strong> estado. Todas las salidas se <strong>de</strong>sactivan.Suspen<strong>de</strong>r (SUS)<br />

Use esta instrucción para capturar e i<strong>de</strong>ntificar condiciones específicas para la<br />

<strong>de</strong>puración <strong>de</strong> programas y la localización y corrección <strong>de</strong> fallos <strong>de</strong> sistemas.<br />

Introduzca un número <strong>de</strong> i<strong>de</strong>ntificación <strong>de</strong> suspen<strong>de</strong>r <strong>de</strong> –32,768 a +32,767 al<br />

programar la instrucción.<br />

Cuando la instrucción SUS se ejecuta, la i<strong>de</strong>ntificación programada así como la<br />

i<strong>de</strong>ntificación <strong>de</strong>l archivo <strong>de</strong> programa <strong>de</strong>s<strong>de</strong> el cual se ejecuta la instrucción SUS se<br />

colocan en el archivo <strong>de</strong> estado <strong>de</strong>l sistema.<br />

5–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Entrada inmediata con máscara (IIM)<br />

IIM<br />

IMMEDIATE INPUT w MASK<br />

Slot<br />

Mask<br />

Instrucción <strong>de</strong> entrada<br />

Procesadores fijos y <strong>SLC</strong> 5/01 y<br />

controladores <strong>MicroLogix</strong> 1000<br />

IIM<br />

IMMEDIATE INPUT w MASK<br />

Slot<br />

Mask<br />

Length<br />

Instrucción <strong>de</strong> entrada<br />

Procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04<br />

Cómo introducir parámetros<br />

Ejemplo<br />

5–12<br />

Esta instrucción le permite actualizar datos antes <strong>de</strong>l escán <strong>de</strong> entrada normal.<br />

Cuando la instrucción IIM se habilita, el escán <strong>de</strong> programa se interrumpe. Los<br />

datos <strong>de</strong> una ranura <strong>de</strong> E/S especificada se transfieren a través <strong>de</strong> una máscara al<br />

archivo <strong>de</strong> datos <strong>de</strong> entrada poniendo así los datos a la disposición <strong>de</strong> <strong>instrucciones</strong><br />

siguientes a la instrucción IIM en el programa <strong>de</strong> escalera.<br />

Para la máscara, 1 en la posición <strong>de</strong> un bit <strong>de</strong> entrada transfiere datos <strong>de</strong>s<strong>de</strong> la fuente<br />

hasta el <strong>de</strong>stino. 0 inhibe que los datos se transfieran <strong>de</strong>s<strong>de</strong> la fuente hasta el<br />

<strong>de</strong>stino.<br />

Ranura – Especifique el número <strong>de</strong> ranura <strong>de</strong> entrada y el número <strong>de</strong> palabra<br />

perteneciente a la ranura. No es necesario especificar la palabra 0 <strong>de</strong> una ranura.<br />

Los procesadores fijos y <strong>SLC</strong> 5/01 pue<strong>de</strong>n tener hasta 8 palabras asociadas con la<br />

ranura. Los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 pue<strong>de</strong>n tener hasta 32<br />

palabras asociadas con la ranura (0–31).<br />

Para todos los controladores <strong>MicroLogix</strong> 1000 especifique I1:0.0. Para los<br />

controladores <strong>de</strong> E/S 16, I1:0/0–9 son válidos e I1:0/10–15 se consi<strong>de</strong>ran como<br />

entradas no usadas. (No existen físicamente.) Para los controladores <strong>de</strong> E/S 32,<br />

I1:0/0–15 e I1:1/0–3 son válidos. Especifique I1:1 si <strong>de</strong>sea actualizar<br />

inmediatamente los cuatro últimos bits <strong>de</strong> entrada.<br />

I:2 Entradas <strong>de</strong> ranura 2, palabra 0<br />

I:2.1 Entradas <strong>de</strong> ranura 2, palabra 1<br />

I:1 Entradas <strong>de</strong> ranura 1, palabra 0<br />

<br />

Máscara – Especifique una constante hexa<strong>de</strong>cimal o dirección <strong>de</strong> registro.<br />

Longitud – Para los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04, este parámetro se usa para<br />

transferir más <strong>de</strong> una palabra por ranura.


Salida inmediata con máscara (IOM)<br />

IOM<br />

IMMEDIATE OUTPUT w MASK<br />

Slot<br />

Mask<br />

Instrucción <strong>de</strong> salida<br />

Procesadores fijos y <strong>SLC</strong> 5/01 y<br />

controladores <strong>MicroLogix</strong> 1000<br />

IOM<br />

IMMEDIATE OUTPUT w MASK<br />

Slot<br />

Mask<br />

Length<br />

Instrucción <strong>de</strong> salida<br />

Procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04<br />

Cómo introducir parámetros<br />

Ejemplo<br />

Instrucciones <strong>de</strong> flujo <strong>de</strong> programa<br />

Esta instrucción le permite actualizar las entradas antes <strong>de</strong>l escán <strong>de</strong> salida normal.<br />

Cuando la instrucción IOM se habilita, el escán <strong>de</strong> programa se interrumpe para<br />

transferir datos a una ranura <strong>de</strong> E/S especificada a través <strong>de</strong> una máscara. Luego el<br />

escán <strong>de</strong> programa se reanuda.<br />

Para la máscara, un 1 en la posición <strong>de</strong> bit <strong>de</strong> salida transfiere datos <strong>de</strong>s<strong>de</strong> la fuente<br />

hasta el <strong>de</strong>stino. 0 inhibe que los datos se transfieran <strong>de</strong>s<strong>de</strong> la fuente hasta el<br />

<strong>de</strong>stino.<br />

Ranura – Especifique el número <strong>de</strong> ranura y el número <strong>de</strong> palabra perteneciente a<br />

la ranura. No es necesario especificar la palabra 0 <strong>de</strong> una ranura. Los procesadores<br />

fijos y <strong>SLC</strong> 5/01 pue<strong>de</strong>n tener hasta 8 palabras asociadas con la ranura. Los<br />

procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 pue<strong>de</strong>n tener hasta 32 palabras<br />

asociadas con la ranura (0–31).<br />

Para todos los controladores <strong>MicroLogix</strong> 1000, especifique O0:0.0. Para los<br />

controladores <strong>de</strong> E/S 16, O0:0/0–5 son válidos y O0:0/6–15 se consi<strong>de</strong>ran como<br />

salidas no usadas. (No existen físicamente.) Para los controladores <strong>de</strong> E/S 32,<br />

O0:0/1–11 son válidos y O0:0/12–15 se consi<strong>de</strong>ran como salidas no usadas.<br />

O:2 Salidas <strong>de</strong> ranura 2, palabra 0<br />

O:1 Salidas <strong>de</strong> ranura 1, palabra 0<br />

O:2.1 Salidas <strong>de</strong> ranura 2, palabra 1<br />

<br />

Máscara – Especifique una constante hexa<strong>de</strong>cimal o dirección <strong>de</strong> registro.<br />

Longitud – Para los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 este parámetro se usa para<br />

transferir más <strong>de</strong> una palabra por ranura.<br />

<br />

<br />

5–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Regenerar I/S (REF)<br />

Uso <strong>de</strong> un procesador <strong>SLC</strong> 5/02<br />

(REF)<br />

Instrucción <strong>de</strong> salida<br />

5–14<br />

La instrucción REF no tiene parámetros <strong>de</strong> programación. Cuando se evalúa como<br />

verda<strong>de</strong>ro, el escán <strong>de</strong> programa se interrumpe para ejecutar el escán <strong>de</strong> E/S y<br />

porporcionar servicio a porciones <strong>de</strong> comunicación <strong>de</strong>l ciclo <strong>de</strong> operación (escritura<br />

<strong>de</strong> salidas, servicios <strong>de</strong> comunicación, lectura <strong>de</strong> entradas). Luego el escán se<br />

reanuda en la instrucción siguiente a la instrucción REF.<br />

No se le permite colocar una instrucción REF en una subrutina DII, subrutina STI,<br />

subrutina <strong>de</strong> E/S o subrutina <strong>de</strong> fallo <strong>de</strong>l usuario.<br />

Los temporizadores <strong>de</strong> control (watchdog) y <strong>de</strong> escán son restablecidos al<br />

ejecutar la instrucción REF. Debe asegurarse que la instrucción REF no se<br />

coloque <strong>de</strong>ntro <strong>de</strong> un lazo <strong>de</strong> programa sin fin.<br />

No coloque una instrucción REF <strong>de</strong>ntro <strong>de</strong> un lazo <strong>de</strong> programa a menos que<br />

el programa se analice <strong>de</strong>tenidamente.<br />

Uso <strong>de</strong> procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04<br />

REF<br />

I/O REFRESH<br />

Channel 0<br />

Channel 1<br />

Instrucción <strong>de</strong> salida<br />

La operación <strong>de</strong> la instrucción REF en el procesador <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 es la<br />

misma que para el procesador <strong>SLC</strong> 5/02. Sin embargo, al usar un procesador <strong>SLC</strong><br />

5/03 ó <strong>SLC</strong> 5/04 también pue<strong>de</strong> seleccionar un canal <strong>de</strong> comunicación específico<br />

para el cual <strong>de</strong>sea servicio.<br />

• Procesador <strong>SLC</strong> 5/03<br />

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

– el canal 1 es DH-485<br />

• El procesador <strong>SLC</strong> 5/04<br />

– el canal 0 es DH-485, full duplex DF1 ó ASCII<br />

– el canal 1 es DH+


Instrucciones <strong>de</strong> flujo <strong>de</strong> programa<br />

Instrucciones <strong>de</strong> control <strong>de</strong> flujo <strong>de</strong> programa en el<br />

ejemplo <strong>de</strong> aplicación <strong>de</strong> la perforadora <strong>de</strong> papel<br />

Cómo añadir el archivo 2<br />

Esta sección proporciona renglones <strong>de</strong> escalera para <strong>de</strong>mostrar el uso <strong>de</strong> las<br />

<strong>instrucciones</strong> <strong>de</strong> control <strong>de</strong> flujo <strong>de</strong> programa. Los renglones son parte <strong>de</strong>l ejemplo<br />

<strong>de</strong> aplicación <strong>de</strong> la perforadora <strong>de</strong> papel <strong>de</strong>scrito en el apéndice H. Va a añadir al<br />

programa principal en el archivo 2. Los nuevos renglones son necesarios para<br />

llamar las otras subrutinas que contienen la lógica necesaria para hacer funcionar la<br />

máquina.<br />

Renglón 2:3<br />

Este renglón llama la subrutina <strong>de</strong> secuencia <strong>de</strong> la perforadora. Esta subrutina<br />

maneja la operación <strong>de</strong> una secuencia <strong>de</strong> perforación y vuelve a arrancar el<br />

transportador cuando se termina la secuencia <strong>de</strong> perforación.<br />

| +JSR–––––––––––––––+ |<br />

|–––––––––––––––––––––––––––––––––––––––––––––––––––––––––+JUMP TO SUBROUTINE+–|<br />

| |SBR file number 6| |<br />

| +––––––––––––––––––+ |<br />

Renglón 2:4<br />

Este renglón llama la subrutina que registra la cantidad <strong>de</strong> <strong>de</strong>sgaste <strong>de</strong> la broca<br />

actual.<br />

| +JSR–––––––––––––––+ |<br />

|–––––––––––––––––––––––––––––––––––––––––––––––––––––––––+JUMP TO SUBROUTINE+–|<br />

| |SBR file number 7| |<br />

| +––––––––––––––––––+ |<br />

Renglón 2:5<br />

Existe una lógica <strong>de</strong> inicialización en la subrutina DII (archivo 4) que se <strong>de</strong>be<br />

ejecutar antes <strong>de</strong> la primera interrupción DII. Así este renglón permite que el<br />

DII esté inicializado saltando a la subrutina DII cuando el procesador entre<br />

en el modo RUN.<br />

| Primera |<br />

| transferencia |<br />

| S:1 +JSR–––––––––––––––+ |<br />

|––––] [––––––––––––––––––––––––––––––––––––––––––––––––––+JUMP TO SUBROUTINE+–|<br />

| 15 |SBR file number 4| |<br />

| +––––––––––––––––––+ |<br />

5–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

5–16


6 Instrucciones específicas <strong>de</strong><br />

aplicación<br />

Instrucciones específicas <strong>de</strong> aplicación<br />

Este capítulo contiene información general acerca <strong>de</strong> las <strong>instrucciones</strong> específicas <strong>de</strong><br />

aplicación y explica cómo funcionan en su programa <strong>de</strong> aplicación. Cada una <strong>de</strong> las<br />

<strong>instrucciones</strong> incluye información acerca <strong>de</strong>:<br />

• cómo aparece el símbolo <strong>de</strong> instrucción<br />

• cómo usar la instrucción<br />

A<strong>de</strong>más, la última sección contiene un ejemplo <strong>de</strong> aplicación para una perforadora<br />

<strong>de</strong> papel que muestra el uso <strong>de</strong> las <strong>instrucciones</strong> específicas <strong>de</strong> aplicación.<br />

Instrucciones específicas <strong>de</strong> aplicación<br />

Instrucción<br />

Mnemónico Nombre<br />

BSL y BSR Desplazamiento <strong>de</strong><br />

bit izquierdo y<br />

<strong>de</strong>splazamiento <strong>de</strong><br />

bit <strong>de</strong>recho<br />

SQO y<br />

SQC<br />

Salida <strong>de</strong><br />

secuenciador y<br />

comparación <strong>de</strong><br />

secuenciador<br />

SQL Carga <strong>de</strong> secuenciador<br />

Propósito Página<br />

Cargan un bit <strong>de</strong> datos en un fichero <strong>de</strong> bit,<br />

<strong>de</strong>splaza la configuración <strong>de</strong> datos por el fichero y<br />

<strong>de</strong>scarga el último bit <strong>de</strong> datos en el fichero. El BSL<br />

<strong>de</strong>splaza datos a la izquierda y el BSR <strong>de</strong>splaza<br />

datos a la <strong>de</strong>recha.<br />

Controlan operaciones <strong>de</strong> máquina secuenciales<br />

transfiriendo datos <strong>de</strong> 16 bits a través <strong>de</strong> una<br />

máscara a direcciones <strong>de</strong> imagen.<br />

Captura condiciones indicadas pasando manualmente<br />

la máquina por sus secuencias <strong>de</strong> operación.<br />

6–5<br />

6–9<br />

6–14<br />

6–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Acerca <strong>de</strong> las <strong>instrucciones</strong> específicas <strong>de</strong> aplicación<br />

6–2<br />

Estas <strong>instrucciones</strong> simplifican el programa <strong>de</strong> escalera permitiéndole a usted usar<br />

una sola instrucción o un par <strong>de</strong> <strong>instrucciones</strong> para efectuar operaciones complejas<br />

comunes.<br />

En este capítulo se encuentra una <strong>de</strong>scripción general antes <strong>de</strong> cada grupo <strong>de</strong><br />

<strong>instrucciones</strong>. Antes <strong>de</strong> apren<strong>de</strong>r acerca <strong>de</strong> las <strong>instrucciones</strong> en cada uno <strong>de</strong> estos<br />

grupos, le recomendamos que lea la <strong>de</strong>scripción general. Este capítulo contiene las<br />

<strong>de</strong>scripciones generales siguientes:<br />

• Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> <strong>de</strong>splazamiento <strong>de</strong> bit<br />

• Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong>l secuenciador


Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong><br />

<strong>de</strong>splazamiento <strong>de</strong> bit<br />

Cómo introducir los parámetros<br />

Instrucciones específicas <strong>de</strong> aplicación<br />

La información general siguiente se aplica a las <strong>instrucciones</strong> <strong>de</strong> <strong>de</strong>splazamiento <strong>de</strong><br />

bit.<br />

Introduzca los parámetros siguientes al programar estas <strong>instrucciones</strong>:<br />

• El archivo es la dirección <strong>de</strong>l fichero <strong>de</strong> bit que <strong>de</strong>sea manejar. Debe usar el<br />

indicador <strong>de</strong> archivo (#) en la dirección <strong>de</strong> fichero <strong>de</strong> bit.<br />

• El control es el elemento <strong>de</strong> control que almacena el byte <strong>de</strong> estado <strong>de</strong> la<br />

instrucción, el tamaño <strong>de</strong>l fichero (en número <strong>de</strong> bits). Anote que la dirección<br />

<strong>de</strong> control no se <strong>de</strong>be usar para otras <strong>instrucciones</strong>.<br />

El elemento <strong>de</strong> control se muestra abajo.<br />

Pal. 0<br />

Pal. 1<br />

Pal. 2<br />

15 13 11 10 00<br />

EN DN ER UL No usada<br />

Tamaño <strong>de</strong>l fichero <strong>de</strong> bit (número <strong>de</strong> bits)<br />

Reservada<br />

Los bits <strong>de</strong> estado <strong>de</strong>l elemento <strong>de</strong> control se pue<strong>de</strong>n direccionar<br />

mnemónicamente. Entre éstos se incluyen:<br />

– El bit <strong>de</strong> <strong>de</strong>scarga UL (bit 10) almacena el estado <strong>de</strong>l bit salido <strong>de</strong>l<br />

fichero cada vez que la instrucción se habilita.<br />

– El bit <strong>de</strong> error ER (bit 11), cuando se establece, indica que la instrucción<br />

ha <strong>de</strong>tectado un error tal como la introducción <strong>de</strong> un número negativo para<br />

la longitud o posición. Evite usar el bit <strong>de</strong> salida cuando este bit esté<br />

establecido.<br />

– El bit <strong>de</strong> efectuado DN (bit 13), cuando se establece, indica que el<br />

fichero <strong>de</strong> bit se ha <strong>de</strong>splazado una posición.<br />

– El bit <strong>de</strong> habilitación EN (bit 15) está establecido en una transición <strong>de</strong><br />

falso a verda<strong>de</strong>ro <strong>de</strong>l renglón e indica que la instrucción está habilitada.<br />

6–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

6–4<br />

Cuando el registro se <strong>de</strong>splaza y las condiciones <strong>de</strong> entrada se hacen falsas, los<br />

bits <strong>de</strong> habilitación, efectuado y error se restablecen.<br />

• El bit <strong>de</strong> dirección es la dirección <strong>de</strong>l bit <strong>de</strong> fuente que la instrucción inserta en<br />

la primera (más baja) posición <strong>de</strong> bit (BSL) o en la última (más alta) posición <strong>de</strong><br />

bit (BSR).<br />

• La longitud (tamaño <strong>de</strong>l arreglo <strong>de</strong> bit) es el número <strong>de</strong> bits en el fichero <strong>de</strong> bit,<br />

hasta 2048 bits. Un valor <strong>de</strong> longitud <strong>de</strong> 0 causa que el bit <strong>de</strong> entrada se<br />

transfiera al bit UL.<br />

– Para los procesadores <strong>SLC</strong> la longitud es 2048<br />

– Para los controladores <strong>MicroLogix</strong> 1000 la longitud es 1680<br />

Un valor <strong>de</strong> longitud que indica más allá <strong>de</strong>l fin <strong>de</strong>l archivo programado causa<br />

la ocurrencia <strong>de</strong> un error mayor <strong>de</strong> tiempo <strong>de</strong> ejecución. Si modifica un valor <strong>de</strong><br />

longitud con su programa <strong>de</strong> escalera, asegúrese que el valor modificado sea<br />

válido.<br />

La instrucción invalida todos los bits más allá <strong>de</strong>l último bit en el fichero (según se<br />

<strong>de</strong>fine por la longitud) hasta el próximo límite <strong>de</strong> palabra.<br />

Nota Si una dirección <strong>de</strong> elemento STring se usa para el parámetro <strong>de</strong>l archivo, la<br />

longitud máxima en un procesador <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 es 672 bits. A<strong>de</strong>más, los<br />

límites <strong>de</strong>l elemento STring no se pue<strong>de</strong>n cruzar.<br />

Efectos en el registro <strong>de</strong> índice S:24<br />

La operación <strong>de</strong> <strong>de</strong>splazamiento pone a cero el registro <strong>de</strong> índice S:24.


Desplazamiento <strong>de</strong> bit izquierdo (BSL)<br />

Desplazamiento <strong>de</strong> bit <strong>de</strong>recho (BSR)<br />

BSL<br />

BIT SHIFT LEFT<br />

File #B3:1<br />

Control R6:14<br />

Bit AddressI:22/12<br />

Length 58<br />

BSR<br />

BIT SHIFT RIGHT<br />

File #B3:2<br />

Control R6:15<br />

Bit AddressI:23/06<br />

Length 38<br />

Instrucciones <strong>de</strong> salida<br />

Uso <strong>de</strong> BSL<br />

(EN)<br />

(DN)<br />

(EN)<br />

(DN)<br />

Instrucciones específicas <strong>de</strong> aplicación<br />

<br />

BSL y BSR son <strong>instrucciones</strong> <strong>de</strong> salida que cargan bit por bit los datos en un fichero<br />

<strong>de</strong> bit. Los datos son <strong>de</strong>splazados a través <strong>de</strong>l fichero y luego son <strong>de</strong>scargados bit<br />

por bit.<br />

Cuando el renglón va <strong>de</strong> falso a verda<strong>de</strong>ro, el procesador establece el bit <strong>de</strong><br />

habilitación (EN bit 15) y el bloque <strong>de</strong> datos se <strong>de</strong>splaza a la izquierda (a un número<br />

<strong>de</strong> bit superior) por una posición <strong>de</strong> bit. El bit especificado en la dirección <strong>de</strong> bit se<br />

<strong>de</strong>splaza a la primera posición <strong>de</strong> bit. El último bit se <strong>de</strong>splaza fuera <strong>de</strong>l fichero y se<br />

almacena en el bit <strong>de</strong> <strong>de</strong>scarga (UL bit 10). El <strong>de</strong>splazamiento se realiza<br />

inmediatamente.<br />

Para la operación <strong>de</strong> ajuste automático <strong>de</strong> línea, establezca la posición <strong>de</strong> la<br />

dirección <strong>de</strong> bit en el último bit <strong>de</strong>l fichero o en el bit UL, según sea aplicable.<br />

<br />

<br />

6–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Uso <strong>de</strong> BSR<br />

6–6<br />

La ilustración siguiente muestra cómo funciona la instrucción <strong>de</strong> <strong>de</strong>splazamiento <strong>de</strong><br />

bit izquierdo.<br />

BSL<br />

BIT SHIFT LEFT<br />

File #B3:1<br />

Control R6:14<br />

Bit Address I:22/12<br />

Length 58<br />

(EN)<br />

(DN)<br />

Bit <strong>de</strong> fuente<br />

I:22/12<br />

El bloque <strong>de</strong> datos se <strong>de</strong>splaza bit<br />

por bit <strong>de</strong>s<strong>de</strong> bit 16 hasta bit 73.<br />

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16<br />

47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32<br />

63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48<br />

NO VALIDO 73 72 71 70 69 68 67 66 65 64<br />

Bit <strong>de</strong> <strong>de</strong>scarga<br />

(R6:14/10)<br />

Fichero <strong>de</strong> bit 58<br />

#B3:1<br />

Si <strong>de</strong>sea <strong>de</strong>splazar más <strong>de</strong> un bit por escán, <strong>de</strong>be crear un lazo en la aplicación<br />

usando las <strong>instrucciones</strong> JMP, LBL y CTU.<br />

Cuando el renglón va <strong>de</strong> falso a verda<strong>de</strong>ro, el procesador establece el bit <strong>de</strong><br />

habilitación (EN bit 15) y el bloque <strong>de</strong> datos se <strong>de</strong>splaza a la <strong>de</strong>recha (a un número<br />

<strong>de</strong> bit superior) por una posición <strong>de</strong> bit. El bit especificado en la dirección <strong>de</strong> bit se<br />

<strong>de</strong>splaza a la última posición <strong>de</strong> bit. El primer bit se <strong>de</strong>splaza fuera <strong>de</strong>l fichero y se<br />

almacena en el bit <strong>de</strong> <strong>de</strong>scarga (UL bit 10) en el byte <strong>de</strong> estado <strong>de</strong>l elemento <strong>de</strong><br />

control. El <strong>de</strong>splazamiento se completa inmediatamente.<br />

Para la operación <strong>de</strong> ajuste automático <strong>de</strong> línea, establezca la posición <strong>de</strong> la<br />

dirección <strong>de</strong> bit en el primer bit <strong>de</strong>l fichero o en el bit UL, según sea aplicable.


Instrucciones específicas <strong>de</strong> aplicación<br />

La ilustración siguiente muestra cómo funciona la instrucción <strong>de</strong> <strong>de</strong>splazamiento <strong>de</strong><br />

bit <strong>de</strong>recho.<br />

47 46 45 44<br />

63 62 61 60<br />

BSR<br />

BIT SHIFT RIGHT<br />

File #B3:2<br />

Control R6:15<br />

Bit Address I:23/06<br />

Length 38<br />

43 42 41 40<br />

59 58 57 56<br />

INVALID<br />

Bit <strong>de</strong> fuente<br />

I:23/06<br />

39 38 37<br />

36<br />

55 54 53 52<br />

69 68<br />

(EN)<br />

(DN)<br />

35 34 33<br />

32<br />

51 50 49 48<br />

67 66 65 64<br />

Bit <strong>de</strong> <strong>de</strong>scarga<br />

(R6:15/10)<br />

El bloque <strong>de</strong> datos se <strong>de</strong>splaza bit<br />

por bit <strong>de</strong>s<strong>de</strong> bit 69 hasta bit 32.<br />

Fichero <strong>de</strong> bit 38<br />

#B3:2<br />

Si <strong>de</strong>sea <strong>de</strong>splazar más <strong>de</strong> un bit por escán, <strong>de</strong>be crear un lazo en la aplicación<br />

usando las <strong>instrucciones</strong> JMP, LBL y CTU.<br />

6–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong><br />

secuenciador<br />

6–8<br />

La información general siguiente se aplica a las <strong>instrucciones</strong> <strong>de</strong> secuenciador.<br />

Efectos en el registro <strong>de</strong> índice S:24<br />

El valor presente en el registro <strong>de</strong> índice S:24 se sobrescribe cuando la instrucción<br />

<strong>de</strong> secuenciador es verda<strong>de</strong>ra. El valor <strong>de</strong>l registro <strong>de</strong> índice será igual al valor <strong>de</strong><br />

posición <strong>de</strong> la instrucción.<br />

Aplicaciones que requieren más <strong>de</strong> 16 bits<br />

Cuando la aplicación requiere más <strong>de</strong> 16 bits, use <strong>instrucciones</strong> <strong>de</strong> secuenciador<br />

múltiple en paralelo.<br />

Nota Refiérase al apéndice H para ejemplos <strong>de</strong> aplicación que usan las <strong>instrucciones</strong> <strong>de</strong><br />

secuenciador.<br />

Nota Si se usa una dirección <strong>de</strong> elemento STring para el parámetro <strong>de</strong> archivo, la<br />

longitud máxima en un procesador <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 es 41 palabras.<br />

A<strong>de</strong>más,no se pue<strong>de</strong>n cruzar los límites <strong>de</strong>l elemento STring.


Salida <strong>de</strong> secuenciador (SQO)<br />

Comparación <strong>de</strong> secuenciador (SQC)<br />

SQO<br />

SEQUENCER OUTPUT<br />

File #B10:1<br />

Mask 0F0F<br />

Dest O:14<br />

Control R6:20<br />

Length 4<br />

Position 2<br />

SQC<br />

SEQUENCER COMPARE<br />

File #B10:11<br />

Mask FFF0<br />

Source I:03<br />

Control R6:21<br />

Length 4<br />

Position 2<br />

Instrucciones <strong>de</strong> salida<br />

(EN)<br />

(DN)<br />

(EN)<br />

(DN)<br />

(FD)<br />

Cómo introducir parámetros<br />

Instrucciones específicas <strong>de</strong> aplicación<br />

Estas intstrucciones transfieren datos <strong>de</strong> 16 bits a direcciones <strong>de</strong> palabra para el<br />

control <strong>de</strong> operaciones secuenciales <strong>de</strong> la máquina.<br />

Introduzca los parámetros siguientes al programar estas <strong>instrucciones</strong>:<br />

• El archivo es la dirección <strong>de</strong>l archivo <strong>de</strong> secuenciador. Debe usar el indicador<br />

<strong>de</strong> archivo (#) para esta dirección.<br />

Los datos <strong>de</strong>l archivo <strong>de</strong> secuenciador se usan <strong>de</strong> la manera siguiente:<br />

Instrucción El archivo <strong>de</strong> secuenciador almacena:<br />

SQO Datos para controlar salidas<br />

SQC<br />

<br />

Datos <strong>de</strong> referencia para monitorizar<br />

entradas<br />

• La máscara (SQO, SQC) es un código hexa<strong>de</strong>cimal o la dirección <strong>de</strong> la palabra<br />

o archivo <strong>de</strong> máscara a través <strong>de</strong> la cual la instrucción mueve datos. Establezca<br />

los bits <strong>de</strong> máscara para transferir datos y restablezca los bits <strong>de</strong> máscara para<br />

enmascarar datos. Use una palabra o archivo <strong>de</strong> máscara si <strong>de</strong>sea cambiar la<br />

máscara según los requisitos <strong>de</strong> aplicación.<br />

Si la máscara es un archivo, su longitud será igual a la longitud <strong>de</strong>l archivo <strong>de</strong><br />

secuenciador. Los dos archivos registran automáticamente.<br />

• La fuente es la dirección <strong>de</strong> la palabra o archivo <strong>de</strong> entrada para un SQC <strong>de</strong> la<br />

cual la instrucción obtiene datos para comparación con su archivo <strong>de</strong><br />

secuenciador.<br />

• El <strong>de</strong>stino es la dirección <strong>de</strong> la palabra o archivo <strong>de</strong> salida para un SQC a la<br />

cual la instrucción mueve datos <strong>de</strong> su archivo <strong>de</strong> secuenciador.<br />

<br />

<br />

6–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Nota Pue<strong>de</strong> direccionar la máscara, fuente o <strong>de</strong>stino <strong>de</strong> una instrucción <strong>de</strong> secuenciador<br />

como palabra o archivo. Si la direcciona como archivo (usando # <strong>de</strong> indicador <strong>de</strong><br />

archivo), la instrucción pasa automáticamente por el archivo <strong>de</strong> fuente, máscara o<br />

<strong>de</strong>stino.<br />

• El control (SQO, SQC) es la estructura <strong>de</strong> control que almacena el byte <strong>de</strong><br />

estado <strong>de</strong> la instrucción, la longitud <strong>de</strong>l archivo <strong>de</strong> secuenciador y la posición<br />

instantánea en el archivo. No <strong>de</strong>be usar la dirección <strong>de</strong> control para otras<br />

<strong>instrucciones</strong>.<br />

6–10<br />

Pal. 0<br />

Pal. 1<br />

Pal. 2<br />

15 13 11 08 00<br />

EN DN ER FD<br />

Longitud <strong>de</strong>l archivo <strong>de</strong> secuenciador<br />

Posición<br />

Los bits <strong>de</strong> estado <strong>de</strong> la estructura <strong>de</strong> control incluyen:<br />

– El bit <strong>de</strong> encontrado FD (bit 08) – SQC solamente. Cuando el estado <strong>de</strong><br />

todos los bits sin máscara en la dirección <strong>de</strong> fuente correspon<strong>de</strong>n a los <strong>de</strong> la<br />

palabra <strong>de</strong> referencia, el bit FD está establecido. Este bit se evalúa cada<br />

vez que la instrucción SQC es evaluada mientras el renglón sea verda<strong>de</strong>ro.<br />

– El bit <strong>de</strong> error ER (bit 11) se establece cuando el procesador <strong>de</strong>tecta un<br />

valor <strong>de</strong> posición negativo, o un valor <strong>de</strong> longitud negativo o <strong>de</strong> cero. Esto<br />

resulta en un error mayor si no se borra antes <strong>de</strong> la ejecución <strong>de</strong> la<br />

instrucción END o TND.<br />

– El bit <strong>de</strong> efectuado Bit DN (bit 13) lo establece la instrucción SQO o<br />

SQC <strong>de</strong>spués <strong>de</strong> operar en la última palabra en el archivo <strong>de</strong> secuenciador.<br />

Se restablece en la próxima transición <strong>de</strong> renglón <strong>de</strong> falso a verda<strong>de</strong>ro<br />

<strong>de</strong>spués <strong>de</strong> que el renglón se haga falso.<br />

– El bit <strong>de</strong> habilitación EN (bit 15) lo establece una transición <strong>de</strong> renglón<br />

<strong>de</strong> falso a verda<strong>de</strong>ro e indica que la instrucción SQO o SQC se ha<br />

habilitado.<br />

• La longitud es el número <strong>de</strong> pasos <strong>de</strong>l archivo <strong>de</strong> secuenciador a partir <strong>de</strong> la<br />

posición 1. El número máximo que pue<strong>de</strong> introducir es 255 palabras (104<br />

palabras cuando usa los controladores <strong>MicroLogix</strong> 1000). La posición 0 es la<br />

posición <strong>de</strong> arranque. La instrucción se restablece (se ajusta automáticamente)<br />

a la posición 1 durante cada ciclo completado.<br />

La dirección asignada para un archivo <strong>de</strong> secuenciador es paso cero. Las<br />

<strong>instrucciones</strong> <strong>de</strong> secuenciador usan la longitud + 1 palabra <strong>de</strong> archivos <strong>de</strong> la<br />

tabla <strong>de</strong> datos para cada archivo indicado en la instrucción. Esto se aplica a la<br />

fuente, máscara y/o <strong>de</strong>stino si se direccionan como archivos.<br />

Un valor <strong>de</strong> longitud que indica más allá <strong>de</strong>l fin <strong>de</strong>l archivo programado causa<br />

la coinci<strong>de</strong>ncia <strong>de</strong> un error mayor <strong>de</strong> tiempo <strong>de</strong> ejecución. Si modifica un valor<br />

<strong>de</strong> longitud con su programa <strong>de</strong> escalera, asegúrese que el valor modificado sea<br />

válido.


Uso <strong>de</strong> SQO<br />

Instrucciones específicas <strong>de</strong> aplicación<br />

• La posición es la ubicación o paso <strong>de</strong> palabra en el archivo <strong>de</strong> secuenciador al<br />

cual/<strong>de</strong>s<strong>de</strong> el cual la instrucción mueve datos.<br />

Un valor <strong>de</strong> longitud que indica más allá <strong>de</strong>l final <strong>de</strong>l archivo programado<br />

provoca un error mayor <strong>de</strong> tiempo <strong>de</strong> ejecución. Si modifica un valor <strong>de</strong><br />

longitud con su programa <strong>de</strong> escalera, asegúrese que el valor modificado sea<br />

válido.<br />

Nota <strong>de</strong> aplicación: Pue<strong>de</strong> usar la instrucción <strong>de</strong> restablecimiento (RES) para<br />

restablecer un secuenciador. Todos los bits <strong>de</strong> control (excepto FD) se pondrán a<br />

cero. La posición también se pondrá a cero. Programe la dirección <strong>de</strong> su registro <strong>de</strong><br />

control en el RES (por ej., R6:0).<br />

Esta instrucción <strong>de</strong> salida pasa por el archivo <strong>de</strong> secuenciador cuyos bits han sido<br />

enviados para controlar varios dispositivos <strong>de</strong> salida.<br />

Cuando el renglón va <strong>de</strong> falso a verda<strong>de</strong>ro, la instrucción se incrementa hasta el<br />

próximo paso (palabra) en el archivo <strong>de</strong> secuenciador. Los datos almacenados en<br />

éste se transfieren a través <strong>de</strong> una máscara a la dirección <strong>de</strong> <strong>de</strong>stino especificada en<br />

la instrucción. Los datos actuales se escriben en la palabra <strong>de</strong> <strong>de</strong>stino<br />

correspondiente durante cada escán en que el renglón permanece verda<strong>de</strong>ro.<br />

El bit <strong>de</strong> efectuado se establece cuando la última palabra <strong>de</strong>l archivo <strong>de</strong><br />

secuenciador se transfiere. En la próxima transición <strong>de</strong> renglón <strong>de</strong> falso a<br />

verda<strong>de</strong>ro, la instrucción restablece la posición al paso uno.<br />

Si la posición es igual a cero al momento <strong>de</strong> arranque, cuando usted conmuta el<br />

procesador <strong>de</strong>l modo <strong>de</strong> programa al modo <strong>de</strong> marcha, la operación <strong>de</strong> la instrucción<br />

<strong>de</strong>pen<strong>de</strong>rá <strong>de</strong> si el renglón es verda<strong>de</strong>ro o falso en el primer escán.<br />

• Si es verda<strong>de</strong>ro, la instrucción transfiere el valor al paso cero.<br />

• Si es falso, la instrucción espera la primera transición <strong>de</strong> renglón <strong>de</strong> falso a<br />

verda<strong>de</strong>ro y transfiere el valor al paso uno.<br />

Los bits enmascaran datos cuando se restablecen y transfieren datos cuando se<br />

establecen. La instrucción no cambia el valor en la palabra <strong>de</strong> <strong>de</strong>stino a menos que<br />

usted establezca los bits <strong>de</strong> máscara. La máscara pue<strong>de</strong> ser fija o variable. Será<br />

variable si introduce una dirección <strong>de</strong> elemento o una dirección <strong>de</strong> archivo para<br />

cambiar la máscara con cada paso.<br />

6–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Uso <strong>de</strong> SQC<br />

6–12<br />

La ilustración siguiente indica cómo funciona la instrucción SQO.<br />

Palabra<br />

B10:1<br />

2<br />

3<br />

4<br />

5<br />

SQO<br />

SEQUENCER OUTPUT<br />

File #B10:1<br />

Mask 0F0F<br />

Dest O:14.0<br />

Control R6:20<br />

Length 4<br />

Position 2<br />

Destino O:14.0<br />

15 8 7 0<br />

0000 0101 0000 1010<br />

Valor <strong>de</strong> máscara 0F0F<br />

15 8 7 0<br />

0000 1111 0000 1111<br />

Archivo <strong>de</strong> salida <strong>de</strong> secuenciador #B10:1<br />

0000 0000 0000 0000<br />

Paso<br />

0<br />

1010 0010 1111 0101 1<br />

1111 0101 0100 1010 2<br />

0101 0101 0101 0101 3<br />

0000 1111 0000 1111 4<br />

(EN)<br />

(DN)<br />

Paso actual<br />

Salidas externas<br />

asociadas con O:14<br />

00<br />

01<br />

02<br />

03<br />

04<br />

05<br />

06<br />

07<br />

08<br />

09<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

Activ.<br />

Activ.<br />

Activ.<br />

Activ.<br />

Cuando el estado <strong>de</strong> todos los bits sin máscara en la palabra <strong>de</strong> fuente correspon<strong>de</strong>n<br />

a los <strong>de</strong> la palabra <strong>de</strong> referencia, la instrucción establece el bit <strong>de</strong> encontrado (FD)<br />

en la palabra <strong>de</strong> control. En caso contrarior, el bit <strong>de</strong> encontrado (FD) se pone a<br />

cero.<br />

Los bits enmascaran datos cuando se restablecen y transfieren datos cuando se<br />

establecen.<br />

La máscara pue<strong>de</strong> ser fija o variable. Si introduce un código hexa<strong>de</strong>cimal, la<br />

máscara es fija. Si introduce una dirección <strong>de</strong> elemento o una dirección <strong>de</strong> archivo<br />

para cambiar la máscara con cada paso, la máscara es variable.<br />

Cuando el renglón va <strong>de</strong> falso a verda<strong>de</strong>ro, la instrucción se incrementa al próximo<br />

paso (palabra) en el archivo <strong>de</strong> secuenciador. Los datos almacenados en éste se<br />

transfieren a través <strong>de</strong> una máscara y se comparan contra los datos <strong>de</strong> fuente para<br />

<strong>de</strong>terminar igualdad. Si los datos <strong>de</strong> fuente son iguales a los datos <strong>de</strong> referencia, el bit<br />

FD se establece en el contador <strong>de</strong> control <strong>de</strong> SQC. Los datos actuales se comparan<br />

contra la fuente durante cada escán en que el renglón es evaluado como verda<strong>de</strong>ro.


Instrucciones específicas <strong>de</strong> aplicación<br />

Las aplicaciones <strong>de</strong> la instrucción SQC incluyen diagnósticos <strong>de</strong> máquina. La<br />

ilustración siguiente explica cómo funciona la instrucción SQC.<br />

Palabra<br />

B10:11<br />

12<br />

13<br />

14<br />

15<br />

SQC<br />

SEQUENCER COMPARE<br />

File #B10:11<br />

Mask FFF0<br />

Source I:3.0<br />

Control R6:21<br />

Length 4<br />

Position 2<br />

Palabra <strong>de</strong> entrada I:3.0<br />

0010 0100 1001 1101<br />

Valor <strong>de</strong> máscara FFF0<br />

1111 1111 1111 0000<br />

Archivo <strong>de</strong> ref. <strong>de</strong> secuenciador #B10:11<br />

0010 0100 1001 1010<br />

(EN)<br />

(DN)<br />

(FD)<br />

Paso<br />

0<br />

1<br />

2<br />

3<br />

4<br />

El bit FD SQC se establece cuando la instrucción <strong>de</strong>tecta<br />

que una palabra <strong>de</strong> entrada correspon<strong>de</strong> (máscara <strong>de</strong><br />

paso) a su palabra <strong>de</strong> referencia.<br />

El bit FD R6:21/FD está establecido en este ejemplo ya que<br />

la palabra <strong>de</strong> entrada correspon<strong>de</strong> al valor <strong>de</strong> referencia <strong>de</strong><br />

secuenciador que usa el valor <strong>de</strong> máscara.<br />

6–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Carga <strong>de</strong> secuenciador (SQL)<br />

SQL<br />

SEQUENCER LOAD<br />

File<br />

Source<br />

Control<br />

Length<br />

Position<br />

Instrucción <strong>de</strong> salida<br />

Cómo introducir parámetros<br />

6–14<br />

(EN)<br />

(DN)<br />

<br />

La instrucción SQL almacena datos <strong>de</strong> 16 bits en un archivo <strong>de</strong> carga <strong>de</strong><br />

secuenciador a cada paso <strong>de</strong> la operación <strong>de</strong>l secuenciador. La fuente <strong>de</strong> estos datos<br />

pue<strong>de</strong> ser una dirección <strong>de</strong> palabra <strong>de</strong> E/S o <strong>de</strong> almacenamiento, una dirección <strong>de</strong><br />

archivo o una constante.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• El archivo es la dirección <strong>de</strong>l archivo <strong>de</strong> secuenciador. Debe usar el indicador<br />

<strong>de</strong> archivo (#) para esta dirección.<br />

• La fuente pue<strong>de</strong> ser una dirección <strong>de</strong> palabra, dirección <strong>de</strong> archivo o una<br />

constante (–32768 a 32767).<br />

Si la fuente es una dirección <strong>de</strong> archivo, la longitud <strong>de</strong> archivo es igual a la<br />

longitud <strong>de</strong>l archivo <strong>de</strong> carga <strong>de</strong> secuenciador. Los dos archivos pasarán<br />

automáticamente según el valor <strong>de</strong> posición.<br />

• La longitud es el número <strong>de</strong> pasos <strong>de</strong>l archivo <strong>de</strong> carga <strong>de</strong> secuenciador (y<br />

también <strong>de</strong> la fuente si la fuente es una dirección <strong>de</strong> archivo), a partir <strong>de</strong> la<br />

posición 1. El número máximo que pue<strong>de</strong> introducir es 255 palabras (104<br />

palabras cuando usa los controladores <strong>MicroLogix</strong> 1000). La posición 0 es la<br />

posición <strong>de</strong> arranque. La instrucción se restablece (se ajusta automáticamente)<br />

a la posición 1 durante cada ciclo completado.<br />

La dirección <strong>de</strong> posición asignada para un archivo <strong>de</strong> secuenciador es el paso<br />

cero. Las <strong>instrucciones</strong> <strong>de</strong> secuenciador usan la longitud más una palabra <strong>de</strong><br />

datos para cada archivo con referencia en la instrucción. Esto se aplica a la<br />

fuente si se direcciona como archivo.<br />

Un valor <strong>de</strong> longitud que indica más allá <strong>de</strong>l fin <strong>de</strong>l archivo programado<br />

provoca un error mayor <strong>de</strong> tiempo <strong>de</strong> ejecución. Si modifica un valor <strong>de</strong><br />

longitud con su programa <strong>de</strong> escalera, asegúrese que el valor modificado sea<br />

válido.<br />

• La posición es la ubicación o paso <strong>de</strong> palabra en el archivo <strong>de</strong> secuenciador a la<br />

cual se mueven los datos.<br />

Un valor <strong>de</strong> longitud que indica más allá <strong>de</strong>l fin <strong>de</strong>l archivo programado<br />

provoca un error mayor <strong>de</strong> tiempo <strong>de</strong> ejecución. Si modifica un valor <strong>de</strong><br />

longitud con su programa <strong>de</strong> escalera, asegúrese que el valor modificado sea<br />

válido.


Instrucciones específicas <strong>de</strong> aplicación<br />

• El control es una dirección <strong>de</strong> archivo <strong>de</strong> control. Los bits <strong>de</strong> estado, valor <strong>de</strong><br />

longitud y valor <strong>de</strong> posición se almacenan en este elemento. No use la<br />

dirección <strong>de</strong> archivo <strong>de</strong> control para otras <strong>instrucciones</strong>.<br />

El elemento <strong>de</strong> control se muestra abajo:<br />

Pal. 0<br />

Pal. 1<br />

Pal. 2<br />

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00<br />

EN DN ER<br />

Longitud<br />

Posición<br />

Los bits <strong>de</strong> estado <strong>de</strong> la estructura <strong>de</strong> control incluyen:<br />

– El bit <strong>de</strong> error ER (bit 11) se establece cuando el procesador <strong>de</strong>tecta un<br />

valor <strong>de</strong> posición negativo, o un valor <strong>de</strong> longitud negativo o <strong>de</strong> cero.<br />

Para los procesadores <strong>SLC</strong>, esto resulta en un error mayor si no se pone a<br />

cero antes <strong>de</strong> la ejecución <strong>de</strong> la instrucción END o TND.<br />

Para los controladores <strong>MicroLogix</strong> 1000, cuando el bit ER se establece<br />

también se establece el bit <strong>de</strong> error (S5:2). Ambos bits se <strong>de</strong>ben poner a<br />

cero.<br />

– El bit <strong>de</strong> efectuado DN (bit 13) se establece <strong>de</strong>spués <strong>de</strong> que la instrucción<br />

haya operado en la última palabra en el archivo <strong>de</strong> carga <strong>de</strong> secuenciador.<br />

Se restablece en la próxima transición <strong>de</strong> renglón <strong>de</strong> falso a verda<strong>de</strong>ro<br />

<strong>de</strong>spués <strong>de</strong> que el renglón se haga falso.<br />

– El bit <strong>de</strong> habilitación EN (bit 15) se establece en una transición <strong>de</strong> falso<br />

a verda<strong>de</strong>ro <strong>de</strong>l renglón SQL y se restablece en una transición <strong>de</strong> verda<strong>de</strong>ro<br />

a falso.<br />

6–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Operación<br />

6–16<br />

Los parámetros <strong>de</strong> instrucción han sido programados en la instrucción SQL ilustrada<br />

abajo. La palabra <strong>de</strong> entrada I:1.0 es la fuente. Los datos en esta palabra son<br />

cargados en el archivo <strong>de</strong> entero #N7:30 por la instrucción <strong>de</strong> carga <strong>de</strong> secuenciador.<br />

SQL<br />

SEQUENCER LOAD<br />

File #N7:30<br />

Source I:1.0<br />

Control R6:4<br />

Length 4<br />

Position 2<br />

Palabra<br />

N7:30<br />

31<br />

32<br />

33<br />

34<br />

(EN)<br />

(DN)<br />

Fuente I:1.0<br />

15 8 7 0<br />

0000 0101 0000 1010<br />

Archivo <strong>de</strong> carga <strong>de</strong> secuenciador #N7:30<br />

0000 0000 0000 0000<br />

Paso<br />

0<br />

1010 0010 1111 0101 1<br />

0000 0101 0000 1010 2<br />

0000 0000 0000 0000 3<br />

0000 0000 0000 0000 4<br />

Paso actual<br />

Entradas externas<br />

asociadas con I:1.0<br />

00<br />

01<br />

02<br />

03<br />

04<br />

05<br />

06<br />

07<br />

08<br />

09<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

Activ.<br />

Activ.<br />

Activ.<br />

Activ.<br />

Cuando las condiciones <strong>de</strong> renglón cambian <strong>de</strong> falso a verda<strong>de</strong>ro, el bit <strong>de</strong><br />

habilitación SQL (EN) se establece. El elemento <strong>de</strong> control R6:4 se incrementa a la<br />

próxima posición en el archivo <strong>de</strong> secuenciador y carga el contenido <strong>de</strong> la fuente<br />

I:1.0 en esta ubicación. La instrucción SQL sigue cargando los datos actuales en<br />

esta ubicación durante cada escán en que el renglón permanece verda<strong>de</strong>ro. Cuando<br />

el renglón se vuelve falso, el bit <strong>de</strong> habilitación (EN) se pone a cero.<br />

La instrucción carga los datos en un nuevo elemento <strong>de</strong> archivo a cada transición <strong>de</strong><br />

falso a verda<strong>de</strong>ro <strong>de</strong>l renglón. Cuando se completa el paso 4, el bit <strong>de</strong> efectuado<br />

(DN) se establece. La operación avanza a la posición 1 en la próxima transición <strong>de</strong><br />

falso a verda<strong>de</strong>ro <strong>de</strong>l renglón <strong>de</strong>spués <strong>de</strong> la posición 4.<br />

Si la fuente fuera una dirección <strong>de</strong> archivo tal como #N7:40, los archivos #N7:40 y<br />

#N7:30 tendrían una longitud <strong>de</strong> 5 (0–4) y rastrearían conjuntamente por los pasos<br />

según el valor <strong>de</strong> posición.


Instrucciones específicas <strong>de</strong> aplicación<br />

Instrucciones específicas <strong>de</strong> aplicación en el ejemplo <strong>de</strong><br />

aplicación <strong>de</strong> la perforadora <strong>de</strong> papel<br />

Orificios<br />

perforados<br />

Esta sección proporciona renglones <strong>de</strong> escalera para <strong>de</strong>monstrar el uso <strong>de</strong> las<br />

<strong>instrucciones</strong> específicas <strong>de</strong> aplicación. Los renglones son parte <strong>de</strong>l ejemplo <strong>de</strong><br />

aplicación <strong>de</strong> la perforadora <strong>de</strong> papel <strong>de</strong>scrito en el apéndice H. Usted iniciará una<br />

rubrutina en el archivo 4.<br />

Esta porción <strong>de</strong> la subrutina indica al transportador dón<strong>de</strong> <strong>de</strong>tenerse para permitir la<br />

perforación <strong>de</strong> un orificio. Las <strong>instrucciones</strong> <strong>de</strong> secuenciador se usan para<br />

almacenar las posiciones <strong>de</strong> parada <strong>de</strong>l transportador y cargar la “próxima” posición<br />

<strong>de</strong> parada en la palabra preseleccionada DII. (La interrupción <strong>de</strong> entrada discreta,<br />

DII, se usa para contar impulsos prece<strong>de</strong>ntes <strong>de</strong>l codificador [enco<strong>de</strong>r] que está<br />

conectado al transportador.) Las posiciones <strong>de</strong> parada se usan para almacenar y<br />

acce<strong>de</strong>r cada una <strong>de</strong> las tres configuraciones <strong>de</strong> orificios.<br />

Start I:1/6 Stop I:1/7<br />

Thumbwheel for<br />

Thickness in 1/4”<br />

I:1/11–I:1/14<br />

OPERATOR PANEL<br />

Change Drill Soon<br />

O:3/4<br />

Change Drill Now<br />

O:3/6<br />

Drill Change Reset 5 Hole<br />

(Keyswitch)<br />

I:1/8<br />

3 Hole<br />

Perforadora<br />

I:1/9–I:1/10<br />

7 Hole<br />

Interruptor<br />

selector <strong>de</strong><br />

perforación<br />

6–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

6–18<br />

Renglón 4:0<br />

Este renglón restablece los secuenciadores <strong>de</strong> conteo <strong>de</strong> orificios cada vez que el<br />

procesador entra en el modo RUN. Esto asegura que el primer valor preseleccionado se<br />

cargue en la DII preseleccionada a cada entrada en el modo <strong>de</strong> marcha.<br />

| Primer secuenciador |<br />

| paso <strong>de</strong> 3 orificios |<br />

| preseleccionado|<br />

| +INT––––––––––––––––––––+ S:1 R6:4 |<br />

|–+INTERRUPT SUBROUTINE +––––] [––––––––––––––––––––––––––––––+–––(RES)––––+–|<br />

| +–––––––––––––––––––––––+ 15 | | |<br />

| | secuenc. | |<br />

| | <strong>de</strong> 5 orif. | |<br />

| | preselecc. | |<br />

| | R6:5 | |<br />

| +–––(RES)––––+ |<br />

| | | |<br />

| | secuenc. | |<br />

| | <strong>de</strong> 7 orif. | |<br />

| | preselecc. | |<br />

| | R6:6 | |<br />

| +–––(RES)––––+ |<br />

| |<br />

Renglón 4:2<br />

Este renglón registra el número <strong>de</strong> orificio que se perfora y carga la próxima DII<br />

correcta preseleccionada basada en el conteo <strong>de</strong> orificios. Este renglón solamente<br />

está activo cuando el “interruptor selector <strong>de</strong> orificio” está en la posición <strong>de</strong> “3<br />

orificios”. El secuenciador usa el paso 0 como un paso nulo al restablecerse. Usa el<br />

último paso como “continuar infinitivamente” en espera <strong>de</strong>l “fin <strong>de</strong> manual”. El mover<br />

0 a S:49 le indica a la DII que dispare una interrupción cuando el bor<strong>de</strong> trasero <strong>de</strong>l<br />

libro actual se <strong>de</strong>tecta.<br />

| bit 0 |bit 1 secuenciador |<br />

| <strong>de</strong>l interr. |<strong>de</strong>l interr. <strong>de</strong> 3 orificios |<br />

| selector |selector preseleccionado |<br />

| <strong>de</strong> orificio |<strong>de</strong> orificio |<br />

| I:1.0 I:1.0 +SQO–––––––––––––––+ |<br />

|––––]/[––––––––] [–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–|<br />

| 9 10 | |File #N10:0+–(DN) | |<br />

| | |Mask FFFF| | |<br />

| | |Dest S:50| | |<br />

| | |Control R6:4| | |<br />

| | |Length 4| | |<br />

| | |Position 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | | |


Instrucciones específicas <strong>de</strong> aplicación<br />

| | | |<br />

| | forzar que el | |<br />

| | secuenciador | |<br />

| | incremente en | |<br />

| | el próximo escán | |<br />

| | R6:4 | |<br />

| +–––––––––––––––––––––––––(U)––––––––––––––––––––+ |<br />

| | EN | |<br />

Renglón 4:3<br />

Este renglón es idéntico al renglón anterior con la excepción <strong>de</strong> que sólo está<br />

activado cuando el “interruptor selector <strong>de</strong> orificio” está en la posición <strong>de</strong> “5<br />

orificios”.<br />

| bit 0 |bit 1 secuenciador |<br />

| <strong>de</strong>l interr. |<strong>de</strong>l interr. <strong>de</strong> 5 orificios |<br />

| selector <strong>de</strong> |selector <strong>de</strong> preseleccionado |<br />

| orificio |orificio |<br />

| I:1.0 I:1.0 +SQO–––––––––––––––+ |<br />

|––––] [––––––––]/[–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–|<br />

| 9 10 | |File #N10:5+–(DN) | |<br />

| | |Mask FFFF| | |<br />

| | |Dest S:50| | |<br />

| | |Control R6:5| | |<br />

| | |Length 6| | |<br />

| | |Position 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | | |<br />

| | forzar que el | |<br />

| | secuenciador | |<br />

| | incremente en | |<br />

| | el próximo escán | |<br />

| | R6:5 | |<br />

| +–––––––––––––––––––––––––(U)––––––––––––––––––––+ |<br />

| | EN | |<br />

6–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

6–20<br />

Renglón 4:4<br />

Este renglón is idéntico a los 2 renglones anteriores con la excepción <strong>de</strong> que sólo<br />

está activado cuando el “interruptor selector <strong>de</strong> orificio” está en la posición <strong>de</strong> “7<br />

orificios”.<br />

| bit 0 |bit 1 secuenciador |<br />

| <strong>de</strong>l interr. |<strong>de</strong>l interr. <strong>de</strong> 7 orificios |<br />

| selector <strong>de</strong> |selector <strong>de</strong> preseleccionado |<br />

| orificio |orificio |<br />

| I:1.0 I:1.0 +SQO–––––––––––––––+ |<br />

|––––] [––––––––] [–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–|<br />

| 9 10 | |File #N10:12+–(DN) | |<br />

| | |Mask FFFF| | |<br />

| | |Dest S:50| | |<br />

| | |Control R6:6| | |<br />

| | |Length 8| | |<br />

| | |Position 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | forzar que el | |<br />

| | secuenciador | |<br />

| | incremente en | |<br />

| | el próximo escán | |<br />

| | R6:6 | |<br />

| +–––––––––––––––––––––––––(U)––––––––––––––––––––+ |<br />

| | EN | |


Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

7 Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l<br />

contador <strong>de</strong> alta velocidad<br />

Este capítulo contiene información general acerca <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong>l contador<br />

<strong>de</strong> alta velocidad y explica cómo funcionan en su programa <strong>de</strong> aplicación. Cada una<br />

<strong>de</strong> las <strong>instrucciones</strong> incluye información acerca <strong>de</strong>:<br />

• cómo aparece el símbolo <strong>de</strong> instrucción<br />

• cómo usar la instrucción<br />

A<strong>de</strong>más, la última sección contiene un ejemplo <strong>de</strong> aplicación para una perforadora<br />

<strong>de</strong> papel que muestra el uso <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad.<br />

Instrucciones <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

Mnemónico Nombre Propósito Página<br />

HSC<br />

HSL<br />

RES<br />

RAC<br />

HSE<br />

HSD<br />

OTE<br />

Contador <strong>de</strong> alta<br />

velocidad<br />

Carga <strong>de</strong>l contador <strong>de</strong><br />

alta velocidad<br />

Restablecimiento <strong>de</strong>l<br />

contador <strong>de</strong> alta<br />

velocidad<br />

Acumulador <strong>de</strong><br />

restablecimiento <strong>de</strong>l<br />

contador <strong>de</strong> alta<br />

velocidad<br />

Habilit. <strong>de</strong> interrupción<br />

<strong>de</strong>l contador <strong>de</strong> alta<br />

velocidad<br />

Inhabilit. <strong>de</strong> interrupción<br />

<strong>de</strong>l contador <strong>de</strong> alta<br />

velocidad<br />

Actualiz. <strong>de</strong>l acumulador<br />

<strong>de</strong> imagen <strong>de</strong>l contador<br />

<strong>de</strong> alta velocidad<br />

Aplica la configuración al hardware <strong>de</strong>l<br />

contador <strong>de</strong> alta velocidad, actualiza el<br />

acumulador <strong>de</strong> imagen, habilita el conteo<br />

cuando el HSC es verda<strong>de</strong>ro e inhabilita el<br />

conteo cuando el renglón <strong>de</strong> HSC es falso.<br />

Configura los valores preseleccionados bajos<br />

y altos, las configuraciones <strong>de</strong> salida y<br />

configuraciones <strong>de</strong> bit con máscara.<br />

Escribe un cero al acumulador <strong>de</strong> hardware y<br />

al acumulador <strong>de</strong> imagen.<br />

Escribe el valor especificado al acumulador<br />

<strong>de</strong> hardware y al acumulador <strong>de</strong> imagen.<br />

Habilita o inhabilita la ejecución <strong>de</strong> la<br />

subrutina <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta<br />

velocidad cuando se alcanza un valor<br />

preseleccionado alto, valor preseleccionado<br />

bajo, overflow o un<strong>de</strong>rflow.<br />

Le proporciona acceso <strong>de</strong> tiempo real al valor<br />

<strong>de</strong> acumulador <strong>de</strong>l hardware actualizando el<br />

acumulador <strong>de</strong> imagen.<br />

7-6<br />

7-18<br />

7-21<br />

7-22<br />

7–23<br />

7-24<br />

7–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Acerca <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta<br />

velocidad<br />

7–2<br />

Las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad usadas en su programa <strong>de</strong> escalera<br />

configuran, controlan y monitorizan el contador <strong>de</strong> hardware <strong>de</strong>l controlador. El<br />

acumulador <strong>de</strong> hardware <strong>de</strong>l contador incrementa o <strong>de</strong>crementa en respuesta a<br />

señales <strong>de</strong> entrada externas. Cuando el contador <strong>de</strong> alta velocidad está habilitado, el<br />

contador <strong>de</strong> tabla <strong>de</strong> datos C5:0 es usado por el programa <strong>de</strong> escalera para<br />

monitorizar el acumulador y estado <strong>de</strong>l contador <strong>de</strong> alta velocidad. El contador <strong>de</strong><br />

alta velocidad opera in<strong>de</strong>pendientemente <strong>de</strong>l escán <strong>de</strong> controlador.<br />

Cuando use el contador <strong>de</strong> alta velocidad, asegúrese <strong>de</strong> ajustar <strong>de</strong>bidamente los<br />

filtros <strong>de</strong> entrada.<br />

Antes <strong>de</strong> apren<strong>de</strong>r estas <strong>instrucciones</strong>, lea la <strong>de</strong>scripción general que sigue en la<br />

próxima página.


Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

Descripción general <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong>l contador<br />

<strong>de</strong> alta velocidad<br />

Use las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad para <strong>de</strong>tectar y almacenar<br />

impulsos estrechos (rápidos) y para iniciar otras operaciones <strong>de</strong> control basadas en<br />

los valores preseleccionados. Estas operaciones <strong>de</strong> control incluyen la ejecución<br />

automática e inmediata <strong>de</strong> la rutina <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

(archivo 4) y la actualización inmediata <strong>de</strong> salidas basada en una configuración <strong>de</strong><br />

fuente y máscara que usted ha establecido.<br />

Elementos <strong>de</strong>l archivo <strong>de</strong> datos <strong>de</strong>l contador<br />

Uso <strong>de</strong> bits <strong>de</strong> estado<br />

Las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad hacen referencia al contador C5:0. La<br />

instrucción HSC se fija a C5:0. Se compone <strong>de</strong> tres palabras. La palabra 0 es la<br />

palabra <strong>de</strong> estado que contiene 15 bits <strong>de</strong> estado. La palabra 1 es el valor preseleccionado.<br />

La palabra 2 es el valor acumulador. Una vez asignado a la instrucción HSC,<br />

C5:0 no está disponible como dirección para otras <strong>instrucciones</strong> <strong>de</strong> contador.<br />

Pal. 0<br />

Pal. 1<br />

Pal. 2<br />

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00<br />

CU CD DN OV UN UA HP LP IV IN IH IL PE LS IE<br />

Valor preseleccionado<br />

Valor <strong>de</strong> acumulador<br />

Palabra<br />

<strong>de</strong> estado<br />

CU = Bit <strong>de</strong> habilitación <strong>de</strong> conteo progresivo<br />

CD = Bit <strong>de</strong> habilitación <strong>de</strong> conteo regresivo<br />

DN = Bit <strong>de</strong> alto valor preseleccionado alcanzado<br />

OV = Bit <strong>de</strong> overflow ocurrido<br />

UN = Bit <strong>de</strong> un<strong>de</strong>rflow ocurrido<br />

UA = Bit <strong>de</strong> actualización <strong>de</strong> acumulador <strong>de</strong> contador <strong>de</strong> alta velocidad<br />

HP = Bit <strong>de</strong> alto valor preseleccionado ≥ <strong>de</strong> acumulador <br />

LP = Bit <strong>de</strong> bajo valor preseleccionado ≤ <strong>de</strong> acumulador<br />

IV = Bit <strong>de</strong> overflow ha causado interrupción <strong>de</strong> contador <strong>de</strong> alta velocidad <br />

IN = Bit <strong>de</strong> un<strong>de</strong>rflow ha causado interrupción <strong>de</strong> contador <strong>de</strong> velocidad <br />

IH = Bit <strong>de</strong> alto valor preseleccionado ha causado interrupción <br />

IL = Bit <strong>de</strong> bajo valor preseleccionado ha causado interrupción <br />

PE = Bit <strong>de</strong> interrupción pendiente <strong>de</strong> contador <strong>de</strong> alta velocidad <br />

LS = Bit <strong>de</strong> interrupción perdida <strong>de</strong> contador <strong>de</strong> alta velocidad <br />

IE = Bit <strong>de</strong> habilitación <strong>de</strong> interrupción <strong>de</strong> contador <strong>de</strong> alta velocidad <br />

Para acce<strong>de</strong>r estos bits, coloque el cursor en la instrucción y presione [F8], monitor <strong>de</strong> datos.<br />

Los valores preseleccionados y acumulados <strong>de</strong>l contador se almacenan como<br />

enteros signados.<br />

Los bits <strong>de</strong> estado <strong>de</strong>l contador <strong>de</strong> alta velocidad son retentivos. Cuando el contador<br />

<strong>de</strong> velocidad se configura por primera vez, los bits 3–7, 14 y 15 se restablecen y el<br />

bit 1 (IE) se establece.<br />

7–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

7–4<br />

• El bit <strong>de</strong> habilitación <strong>de</strong>l contador progresivo CU (bit 15) se usa con todos<br />

los tipos <strong>de</strong> contadores <strong>de</strong> alta velocidad. Si la instrucción HSC es verda<strong>de</strong>ra, el<br />

bit CU se pone a uno. Si la instrucción HSC es falsa, el bit CU se pone a cero.<br />

No escriba a este bit.<br />

• El bit <strong>de</strong> habilitación <strong>de</strong>l contador regresivo CD (bit 14) se usa con los<br />

contadores bidireccionales (modos 3–8). Si la instrucción HSC es verda<strong>de</strong>ra, el<br />

bit CD se pone a uno. Si la instrucción HSC es falsa, el bit CD se pone a cero.<br />

No escriba a este bit.<br />

• Bit <strong>de</strong> valor alto preseleccionado alcanzado DN (bit 13) Para los contadores<br />

progresivos (modos 1 y 2), este bit es un bit <strong>de</strong> enclavamiento disparado por<br />

flanco. Este bit se establece cuando el valor alto preseleccionado se alcanza.<br />

Pue<strong>de</strong> restablecer este bit con una instrucción OTU o ejecutando una<br />

instrucción RAC o RES.<br />

El bit DN es un bit reservado para todas las otras opciones <strong>de</strong>l contador (modos<br />

3–8).<br />

• Bit <strong>de</strong> overflow ocurrido OV (bit 12) Para los contadores progresivos (modos<br />

1 y 2), este bit está establecido por el controlador cuando el valor alto<br />

preseleccionado se alcanza si el bit DN se ha establecido.<br />

Para los contadores bidireccionales (modos 3–8), el bit OV está establecido por<br />

el controlador <strong>de</strong>spués <strong>de</strong> la transición <strong>de</strong>l acumulador <strong>de</strong> hardware <strong>de</strong> 32,767 a<br />

–32,768. Pue<strong>de</strong> restablecer este bit con una instrucción OTU o ejecutando una<br />

instrucción RAC o RES para los contadores progresivos y bidireccionales.<br />

• El bit <strong>de</strong> un<strong>de</strong>rflow ocurrido UN (bit 11) es un bit reservado para los<br />

contadores progresivos (modos 1 y 2). No escriba a este bit.<br />

Nota Para los contadores bidireccionales (modos 3–8), el bit UN está establecido por<br />

el controlador cuando el acumulador <strong>de</strong> hardware hace una transición <strong>de</strong><br />

–32,768 a +32,767. Pue<strong>de</strong> restablecer este bit con una instrucción o ejecutando<br />

una instrucción RAC o RES.<br />

• El bit <strong>de</strong> actualización <strong>de</strong>l acumulador <strong>de</strong>l contador <strong>de</strong> alta velocidad UA<br />

(bit 10) se usa con una instrucción OTE para actualizar el valor <strong>de</strong>l acumulador<br />

<strong>de</strong> imagen <strong>de</strong> instrucción con el valor <strong>de</strong>l acumulador <strong>de</strong> hardware. (La<br />

instrucción HSC también realiza esta operación cada vez que el renglón con la<br />

instrucción HSC es evaluado como verda<strong>de</strong>ro.)<br />

• El bit <strong>de</strong> acumulador valor alto preseleccionado HP (bit 9) es un bit<br />

reservado para todos los contadores progresivos (modos 1 y 2). No escriba a<br />

este bit. (Excepción – pue<strong>de</strong> establecer o restablecer este bit durante la<br />

configuración inicial <strong>de</strong> la instrucción HSC. Vea la página 7–6 para obtener<br />

más información.)<br />

Para los contadores bidireccionales (modos 3–8), si el acumulador <strong>de</strong> hardware<br />

se hacer mayor o igual que el valor alto preseleccionado, el bit HP se restablece.<br />

Si el acumulador <strong>de</strong> hardware se hace menor que el valor alto preseleccionado,<br />

el bit HP será restablecido por el controlador.


Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

• El bit <strong>de</strong> acumulador ≤ valor bajo preseleccionado LP (bit 8) es un bit<br />

reservado para todos los contadores progresivos. No escriba a este bit.<br />

(Excepción – pue<strong>de</strong> establecer o restablecer este bit durante la configuración<br />

inicial <strong>de</strong> la instrucción HSC. Vea la página 7–6 para obtener más información.<br />

Para los contadores bidireccionales, si el acumulador <strong>de</strong> hardware se hace<br />

menor o igual que el valor bajo preseleccionado, el bit LP será establecido por el<br />

controlador. Si el acumulador <strong>de</strong> hardware se hace mayor que el valor bajo<br />

preseleccionado, el bit LP será restablecido por el controlador.<br />

• El bit <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad causada por overlow<br />

IV (bit 7) se establece para i<strong>de</strong>ntificar un overflow como la causa <strong>de</strong> una rutina<br />

<strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad. Los bits IN, IH e IL serán<br />

restablecidos por el controlador cuando el bit IV se establezca. Examine este bit<br />

al inicio <strong>de</strong> la rutina <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad (archivo 4)<br />

para <strong>de</strong>terminar el porqué <strong>de</strong> la interrupción ocurrida.<br />

• El bit <strong>de</strong> interrupción <strong>de</strong>l usuario causada por un<strong>de</strong>rflow IN (bit 6) se<br />

establece para i<strong>de</strong>ntificar un un<strong>de</strong>rflow como la causa <strong>de</strong> una ejecución <strong>de</strong> la<br />

rutina <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad. Los bits IV, IH e IL serán<br />

restablecidos por el controlador cuando el bit IN se establezca. Examine este bit<br />

al inicio <strong>de</strong> la rutina <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad (archivo 4)<br />

para <strong>de</strong>terminar el porqué <strong>de</strong> la interrupción ocurrida.<br />

• El bit <strong>de</strong> interrupción <strong>de</strong>l usuario causada por el valor alto preseleccionado<br />

alcanzado IH (bit 5) se establece para i<strong>de</strong>ntificar un valor alto<br />

preseleccionado alcanzado como la causa <strong>de</strong> ejecución <strong>de</strong> la rutina <strong>de</strong><br />

interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad. Los bits IV, IN e IL serán<br />

restablecidos por el controlador cuando el bit IH se establezca. Examine este bit<br />

al inicio <strong>de</strong> la rutina <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad (archivo 4)<br />

para <strong>de</strong>terminar el porqué <strong>de</strong> la interrupción ocurrida.<br />

• El bit <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad causada por valor<br />

bajo preseleccionado alcanzado IL (bit 4) se establece para i<strong>de</strong>ntificar un<br />

valor bajo preseleccionado alcanzado como la causa <strong>de</strong> ejecución <strong>de</strong> la rutina <strong>de</strong><br />

interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad. Los bits IV, IN e IH serán<br />

restablecidos por el controlador cuando el bit IL se establezca. Examine este bit<br />

al inicio <strong>de</strong> la rutina <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad (archivo 4)<br />

para <strong>de</strong>terminar el porqué <strong>de</strong> la interrupción ocurrida.<br />

• Bit <strong>de</strong> interrupción pendiente <strong>de</strong>l contador <strong>de</strong> alta velocidad PE (bit 3) es<br />

establece para indicar que una interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

espera la ejecución. Este bit es puesto a cero por el controlador cuando la rutina<br />

<strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad comienza a ejecutar. Este se<br />

restablece si una instrucción RAC o RES se ejecuta. No escriba a este bit.<br />

• El bit <strong>de</strong> interrupción perdida <strong>de</strong>l contador <strong>de</strong> alta velocidad LS (bit 2) se<br />

establece si una interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad ocurre mientras que<br />

el bit PE esté establecido. Pue<strong>de</strong> restablecer este bit con una instrucción OTU o<br />

ejecutando una instrucción RAC o RES.<br />

• El bit <strong>de</strong> habilitación <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad IE<br />

(bit 1) se establece cuando la interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad se<br />

habilita para marchar cuando ocurre una condición <strong>de</strong> interrupción <strong>de</strong>l contador<br />

<strong>de</strong> alta velocidad. Se restablece cuando la interrupción se inhabilita. Este bit<br />

también se establece cuando el contador <strong>de</strong> alta velocidad se configura por<br />

primera vez. No escriba a este bit.<br />

7–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Contador <strong>de</strong> alta velocidad (HSC)<br />

HSC<br />

HIGH SPEED COUNTER<br />

Type<br />

Counter C5:0<br />

High Preset 0<br />

Accum 0<br />

Cómo introducir parámetros<br />

7–6<br />

(CD)<br />

(CU)<br />

(DN)<br />

Use esta instrucción para configurar el contador <strong>de</strong> alta velocidad. Solamente una<br />

instrucción HSC se pue<strong>de</strong> usar en un programa. El contador <strong>de</strong> alta velocidad no<br />

opera hasta que la primera ejecución verda<strong>de</strong>ra <strong>de</strong> la instrucción HSC. Cuando el<br />

renglón HSC es falso, el contador <strong>de</strong> alta velocidad está inhabilitado para contar,<br />

pero todas las otras características HSC funcionan.<br />

La dirección <strong>de</strong> contador <strong>de</strong> la instrucción se fija a C5:0.<br />

Después <strong>de</strong> la configuración <strong>de</strong>l HSC, el acumulador <strong>de</strong> imagen (C5:0.ACC) se<br />

actualiza con el valor <strong>de</strong>l acumulador <strong>de</strong> hardware actual cada vez que la instrucción<br />

HSC se evalúa como verda<strong>de</strong>ra o falsa.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• El tipo indica el contador seleccionado. Refiérase a la página 7–7 para hacer su<br />

selección <strong>de</strong>l contador <strong>de</strong> alta velocidad. Cada tipo está disponible con<br />

funciones <strong>de</strong> restablecimiento y retención.<br />

• El valor alto preseleccionado es el valor acumulado que dispara una acción<br />

especificada por el usuario tal como la actualización <strong>de</strong> salidas o la generación<br />

<strong>de</strong> una interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad.<br />

• El acumulador es el número <strong>de</strong> conteos acumulados.<br />

La terminología siguiente se usa en la tabla siguiente para indicar el estado <strong>de</strong>l<br />

conteo:<br />

• Progresivo↑ – aumenta en 1 cuando la entrada se activa (margen).<br />

• Regresivo↑ – disminuye en 1 cuando la entrada se activa (margen).<br />

• Restablecimiento↑ – pone el acumulador a cero cuando la entrada se activa<br />

(margen).<br />

• Retención – inhabilita que el contador <strong>de</strong> alta velocidad cuente durante la<br />

activación <strong>de</strong> la entrada (nivel).<br />

• Conteo – aumenta o disminuye en 1 cuando la entrada se activa (margen).<br />

• Dirección – permite conteos progresivos cuando la entrada está <strong>de</strong>sactivada y<br />

conteos regresivos cuando la entrada está activada (nivel).<br />

• A – impulso <strong>de</strong> entrada en un codificador (enco<strong>de</strong>r) (cuadratura) incremental<br />

(margen/nivel).<br />

• B – impulso <strong>de</strong> entrada en un codificador (enco<strong>de</strong>r) (cuadratura) incremental<br />

(margen/nivel).<br />

• Z – restablecimiento <strong>de</strong>l impulso en un codificador (enco<strong>de</strong>r) (cuadratura)<br />

incemental (margen/nivel).<br />

• ↑ – la señal está activa en la margen ascen<strong>de</strong>nte solamente (<strong>de</strong>sactivado a<br />

activado)


Tipo <strong>de</strong> contador <strong>de</strong> alta<br />

velocidad y tecla <strong>de</strong><br />

función<br />

Progresivo<br />

Progresivo<br />

(con restablecimiento y<br />

retención)<br />

Impulso y dirección<br />

Impulso y dirección<br />

(con restablecimiento y<br />

retención externos)<br />

Progresivo y regresivo<br />

Progresivo y regresivo<br />

(con restablecimiento y<br />

retención externos)<br />

Codificador (enco<strong>de</strong>r)<br />

Codificador (enco<strong>de</strong>r)<br />

(con restablecimiento y<br />

retención externos)<br />

Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

La tabla siguiente lista la tecla <strong>de</strong> función que <strong>de</strong>be presionar para seleccionar el<br />

tipo <strong>de</strong> contador <strong>de</strong> alta velocidad <strong>de</strong>seado.<br />

Funcionalidad <strong>de</strong>l contador<br />

Terminal <strong>de</strong> entrada usada<br />

<strong>de</strong> alta velocidad I/0 I/1 I/2 I/3<br />

La operación <strong>de</strong>l contador progresivo usa<br />

una entrada unipolar.<br />

La operación <strong>de</strong>l contador progresivo usa<br />

una sola entrada con entradas <strong>de</strong><br />

restablecimiento y retención externos<br />

La operación bidireccional usa entradas<br />

<strong>de</strong> impulso y dirección.<br />

La operación bidireccional usa entradas<br />

<strong>de</strong> impulso y dirección con entradas <strong>de</strong><br />

restablecimiento y retención externos.<br />

La operación bidireccional usa entradas<br />

<strong>de</strong> dirección progresiva y regresiva.<br />

La operación bidireccional usa entradas<br />

<strong>de</strong> impulso progresivo y regresivo con<br />

entrada <strong>de</strong> restablecimiento y retención<br />

externos.<br />

La operación bidireccional usa entradas<br />

<strong>de</strong> codificador (enco<strong>de</strong>r) <strong>de</strong> cuadratura.<br />

La operación bidireccional usa entradas<br />

<strong>de</strong> codificador (enco<strong>de</strong>r) <strong>de</strong> cuadratura<br />

con restablecimiento y retención externos.<br />

Progresivo↑ No usado No usado No usado<br />

Progresivo↑ No usado<br />

Restablecimiento↑<br />

Retención<br />

Conteo↑ Dirección No usado No usado<br />

Conteo↑ Dirección<br />

Restablecimiento↑<br />

Retención<br />

Progresivo↑ Regresivo↑ No usado No usado<br />

Progresivo↑ Regresivo↑<br />

Restablecimiento↑<br />

Retención<br />

A B No usado No usado<br />

A B Z Retención<br />

Una diferencia entre los contadores progresivos y los contadores bidireccionales es<br />

que los valores <strong>de</strong> acumulador y preseleccionados <strong>de</strong> los contadores bidireccionales<br />

no son cambiados por el contador <strong>de</strong> alta velocidad cuando los valores preseleccionados<br />

se alcanzan. Las <strong>instrucciones</strong> RAC y HSL se <strong>de</strong>ben usar para esta<br />

función. Los contadores progresivos ponen a cero el acumulador y vuelven a cargar<br />

los valores altos preseleccionados cuando el valor preseleccionado se alcanza.<br />

7–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Uso <strong>de</strong>l contador progresivo y el contador regresivo con restablecimiento<br />

y retención<br />

Operación<br />

7–8<br />

Los contadores progresivos se usan cuando el parámetro que se mi<strong>de</strong> es<br />

unidireccional, tal como el material que se alimenta en una máquina o un tacómetro<br />

que registra el número <strong>de</strong> impulsos realizados durante un plazo <strong>de</strong>terminado.<br />

Ambos tipos <strong>de</strong> contadores progresivos operan <strong>de</strong> la misma manera, excepto que el<br />

contador progresivo con restablecimiento y retención usa entradas externas 2 y 3.<br />

Para el contador progresivo, cada cambio <strong>de</strong>l estado <strong>de</strong>sactivado a activado <strong>de</strong> la<br />

entrada I:0/0 aña<strong>de</strong> 1 al acumulador hasta que se alcance el valor alto<br />

pre<strong>de</strong>terminado. Luego el acumulador se pone automáticamente a cero. El<br />

contador progresivo opera en el rango <strong>de</strong> 0 a +32,767 inclusivamente y se pue<strong>de</strong><br />

poner a cero usando la instrucción <strong>de</strong> restablecimiento (RES).<br />

Cuando la instrucción HSC se ejecuta como verda<strong>de</strong>ra por primera vez:<br />

• El acumulador C5:0.ACC se carga en el acumulador <strong>de</strong> hardware.<br />

• El valor alto preseleccionado C5:0.PRE se carga en el valor alto<br />

preseleccionado <strong>de</strong> hardware.<br />

Si usted mueve los datos al valor alto pre<strong>de</strong>terminado sin usar la instrucción HSL<br />

(con MOV) <strong>de</strong>spués <strong>de</strong> la configuración <strong>de</strong>l contador <strong>de</strong> alta velocidad, los datos se<br />

cargan en la imagen <strong>de</strong> instrucción pero no se cargan en el hardware. El valor alto<br />

preseleccionado modificado no se carga en el hardware hasta que el valor alto<br />

preseleccionado <strong>de</strong> hardware existente se alcance o hasta que una instrucción RAC o<br />

RES se ejecute.<br />

El valor alto preseleccionado cargado en el hardware <strong>de</strong>be ser entre 1 y 32,767<br />

inclusivamente o un error <strong>de</strong> INVALID PRESETs LOADED TO HIGH SPEED<br />

COUNTER (37H) ocurre. Todo valor entre –32,768 y +32,767, ambos valores<br />

inclusive, se pue<strong>de</strong> cargar en el acumulador <strong>de</strong> hardware.<br />

La condición siguiente Ocurre cuando<br />

Un valor alto preseleccionado<br />

se ha alcanzado<br />

el acumulador <strong>de</strong> hardware hace la transición <strong>de</strong>l valor alto preseleccionado<br />

<strong>de</strong> hardware –1 al valor alto preseleccionado <strong>de</strong> hardware, o<br />

el acumulador <strong>de</strong> hardware se carga con un valor mayor o igual<br />

que el valor alto preseleccionado <strong>de</strong> hardware, o<br />

el valor alto preseleccionado <strong>de</strong> hardware se carga con un valor<br />

que es menor o igual que el acumulador <strong>de</strong> hardware.


Contador progresivo<br />

Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

Cuando se alcanza un valor alto preseleccionado, los conteos se pier<strong>de</strong>n.<br />

• Los acumuladores <strong>de</strong> hardware e instrucción se restablecen.<br />

• El valor alto preseleccionado <strong>de</strong> instrucción se carga en el valor alto<br />

preseleccionado <strong>de</strong> hardware.<br />

• El bit DN se establece.<br />

• El archivo <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad (archivo <strong>de</strong> programa<br />

4) se ejecuta si la interrupción se habilita. El bit IH se establece y los bits IL,<br />

IV e IN se establecen.<br />

Si el bit DN ya está establecido cuando se alcanza un valor alto preseleccionado, el<br />

bit OV está establecido.<br />

Las tablas siguientes resumen los estados <strong>de</strong> entrada necesarios para que la acción<br />

<strong>de</strong>l contador <strong>de</strong> alta velocidad se lleve a cabo:<br />

Conteo <strong>de</strong><br />

entrada<br />

(E/S)<br />

Desactivado<br />

a activado<br />

Dirección<br />

<strong>de</strong> entrada<br />

(I/1)<br />

Estado <strong>de</strong> entrada<br />

Restablecimiento<br />

<strong>de</strong><br />

entrada (I/2)<br />

Retención<br />

<strong>de</strong> entrada<br />

(I/3)<br />

Renglón<br />

HSC<br />

NA NA NA Verda<strong>de</strong>ro<br />

NA NA NA NA Falso<br />

NA (no aplicable)<br />

Acción <strong>de</strong>l<br />

contador <strong>de</strong> alta<br />

velocidad<br />

Conteo<br />

progresivo<br />

Retención <strong>de</strong><br />

conteo<br />

7–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Contador progresivo con restablecimiento y retención<br />

7–10<br />

Conteo <strong>de</strong><br />

entrada<br />

(E/S)<br />

Desactivado<br />

a activado<br />

Dirección<br />

<strong>de</strong> entrada<br />

(I/1)<br />

NA<br />

NA NA<br />

NA NA<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

NA<br />

Estado <strong>de</strong> entrada<br />

Restablecimiento<br />

<strong>de</strong><br />

entrada (I/2)<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Retención<br />

<strong>de</strong> entrada<br />

(I/3)<br />

Renglón<br />

HSC<br />

Off Verda<strong>de</strong>ro<br />

On NA<br />

NA Falso<br />

NA NA<br />

NA NA A activado NA NA<br />

NA (No aplicable)<br />

Uso <strong>de</strong>l contador bidireccional y el contador bidireccional con<br />

restablecimiento y retención<br />

Acción <strong>de</strong>l<br />

contador <strong>de</strong> alta<br />

velocidad<br />

Conteo<br />

progresivo<br />

Retención <strong>de</strong><br />

conteo<br />

Retención <strong>de</strong><br />

conteo<br />

Retención <strong>de</strong><br />

conteo<br />

Restablecimiento<br />

a 0<br />

Los contadores bidireccionales se usan cuando el parámetro que se mi<strong>de</strong> pue<strong>de</strong><br />

incrementar o disminuir. Por ejemplo, un paquete que entra y sale <strong>de</strong> una tolva <strong>de</strong><br />

almacenamiento se cuenta para regular el flujo a través <strong>de</strong>l área.<br />

Los contadores bidireccionales operan <strong>de</strong> la misma manera, excepto la operación <strong>de</strong><br />

entradas 1 y 0. Para los tipos <strong>de</strong> impulso y dirección, la entrada 0 proporciona el<br />

impulso y la entrada 1 proporciona la dirección. Para los tipos progresivos y<br />

regresivos, la entrada 0 proporciona el conteo progresivo y la entrada 1 proporciona<br />

el conteo regresivo. Ambos tipos están disponibles con y sin restablecimiento y<br />

retención. Refiérase a la página 7–7 para obtener más información acerca <strong>de</strong> los<br />

tipos <strong>de</strong> contador bidireccional.<br />

Para los contadores bidireccionales, se usan los valores altos y bajos<br />

preseleccionados. El valor bajo preseleccionado <strong>de</strong>be ser menor que el valor alto<br />

preseleccionado o <strong>de</strong> lo contrario ocurrirá un error INVALID PRESETs LOADED<br />

TO HIGH SPEED COUNTER (37H).<br />

Los contadores bidireccionales operan en el rango <strong>de</strong> –32,768 a +32,767 inclusive y<br />

se pue<strong>de</strong>n poner a cero usando la instrucción <strong>de</strong> restablecimiento (RES).


Operación<br />

Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

Cuando la instrucción HSC se ejecuta como verda<strong>de</strong>ra por primera vez, el:<br />

• Valor bajo preseleccionado <strong>de</strong> hardware se establece a –32,768.<br />

• Acumulador <strong>de</strong> instrucción se carga en el acumulador <strong>de</strong> hardware.<br />

• Valor alto preseleccionado <strong>de</strong> instrucción se carga en el valor alto<br />

preseleccionado <strong>de</strong> hardware.<br />

Después <strong>de</strong> la primera ejecución verda<strong>de</strong>ra <strong>de</strong> instrucción HSC, los datos se pue<strong>de</strong>n<br />

transferir únicamente al acumulador <strong>de</strong> hardware vía una instrucción RES o RAC, o<br />

a los valores alto y bajo preseleccionados <strong>de</strong> hardware vía la instrucción HSL.<br />

Todo valor <strong>de</strong> acumulador <strong>de</strong> instrucción entre –32,768 y +32,767 inclusive se<br />

pue<strong>de</strong> cargar en el hardware. El valor alto preseleccionado <strong>de</strong>be ser mayor que el<br />

valor bajo preseleccionado o un error INVALID PRESETs LOADED TO HIGH<br />

SPEED COUNTER (37H) ocurre.<br />

La condición siguiente Ocurre cuando<br />

Un valor alto preseleccionado<br />

se ha alcanzado<br />

Cuando un valor alto preseleccionado se alcanza, el:<br />

el acumulador <strong>de</strong> hardware hace la transición <strong>de</strong>l valor alto preseleccionado<br />

<strong>de</strong> hardware –1 al valor alto preseleccionado <strong>de</strong> hardware, o<br />

el acumulador <strong>de</strong> hardware se carga con un valor mayor o igual<br />

que el valor alto preseleccionado <strong>de</strong> hardware, o<br />

el valor alto preseleccionado <strong>de</strong> hardware se carga con un valor<br />

que es menor o igual que el acumulador <strong>de</strong> hardware.<br />

• Bit HP se establece.<br />

• Un archivo <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad (archivo <strong>de</strong> programa<br />

4) se ejecuta si la interrupción se ejecuta. El bit IH se establece y los bits IL, IV<br />

e IN se restablecen.<br />

En contra <strong>de</strong> los contadores progresivos, el valor <strong>de</strong> acumulador no se restablece y<br />

el valor alto preseleccionado no se carga <strong>de</strong>s<strong>de</strong> la imagen hacia el registro <strong>de</strong>l valor<br />

alto preseleccionado <strong>de</strong> hardware.<br />

La condición siguiente Ocurre cuando<br />

Un valor bajo<br />

preseleccionado se ha<br />

alcanzado<br />

el acumulador <strong>de</strong> hardware hace la transición <strong>de</strong>l valor bajo preseleccionado<br />

<strong>de</strong> hardware +1 al valor bajo preseleccionado <strong>de</strong> hardware, o<br />

el acumulador <strong>de</strong> hardware se carga con un valor menor o igual<br />

que el valor alto preseleccionado <strong>de</strong> hardware, o<br />

el valor bajo preseleccionado <strong>de</strong> hardware se carga con un valor<br />

que es mayor o igual que el acumulador <strong>de</strong> hardware.<br />

7–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

7–12<br />

Cuando el valor bajo preseleccionado se alcanza, el:<br />

• Bit LP se establece.<br />

• Archivo <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad (archivo <strong>de</strong> programa 4)<br />

se ejecuta si la interrupción se habilita. El bit IL se establece y los bits IH, IV e<br />

IN se restablecen.<br />

Un overflow ocurre cuando el acumulador <strong>de</strong> hardware hace una transición <strong>de</strong><br />

+32,767 a –32,768. Cuando un overflow ocurre, el:<br />

• Bit OV se establece.<br />

• Archivo <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad (archivo <strong>de</strong> programa 4)<br />

se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e<br />

IN se restablecen.<br />

Un un<strong>de</strong>rflow ocurre cuando el acumulador <strong>de</strong> hardware hace una transición <strong>de</strong><br />

–32,768 a +32,767. Cuando un un<strong>de</strong>rflow ocurre, el:<br />

• Bit UN se establece.<br />

• Archivo <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad (archivo <strong>de</strong> programa 4)<br />

se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e<br />

IN se restablecen.<br />

Las tablas siguientes resumen los estados <strong>de</strong> entrada necesarios para que la acción<br />

<strong>de</strong>l contador <strong>de</strong> alta velocidad correspondiente se lleve a cabo:<br />

Contador bidireccional (impulso/dirección)<br />

Conteo <strong>de</strong><br />

entrada<br />

(E/S)<br />

Desactivado<br />

a activado<br />

Desactivado<br />

a activado<br />

Dirección<br />

<strong>de</strong> entrada<br />

(I/1)<br />

Estado <strong>de</strong> entrada<br />

Restablecimiento<br />

<strong>de</strong><br />

entrada (I/2)<br />

Retención<br />

<strong>de</strong> entrada<br />

(I/3)<br />

Renglón<br />

HSC<br />

Desactivado NA NA Verda<strong>de</strong>ro<br />

Acción <strong>de</strong>l<br />

contador <strong>de</strong> alta<br />

velocidad<br />

Conteo<br />

progresvio<br />

Activado NA NA Verda<strong>de</strong>ro Conteo regresivo<br />

NA NA NA NA Falso<br />

NA (no aplicable)<br />

Retención <strong>de</strong><br />

conteo


Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

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

Conteo <strong>de</strong><br />

entrada<br />

(E/S)<br />

Desactivado<br />

a activado<br />

Desactivado<br />

a activado<br />

NA NA<br />

NA NA<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Dirección<br />

<strong>de</strong> entrada<br />

(I/1)<br />

Desactivado<br />

Activado<br />

NA<br />

Estado <strong>de</strong> entrada<br />

Restablecimiento<br />

<strong>de</strong><br />

entrada (I/2)<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Retención<br />

<strong>de</strong> entrada<br />

(I/3)<br />

Renglón<br />

HSC<br />

Desactivado Verda<strong>de</strong>ro<br />

Acción <strong>de</strong>l<br />

contador <strong>de</strong> alta<br />

velocidad<br />

Conteo<br />

progresivo<br />

Desactivado Verda<strong>de</strong>ro Conteo regresivo<br />

NA Falso<br />

Activado NA<br />

NA NA<br />

NA NA A activado NA NA<br />

NA (no aplicable)<br />

Contador bidireccional (conteo progresivo/regresivo)<br />

Conteo<br />

progresivo<br />

<strong>de</strong> entrada<br />

(E/S)<br />

Desactivado<br />

a activado<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Estado <strong>de</strong> entrada<br />

Conteo<br />

regresivo<br />

<strong>de</strong> entrada<br />

(I/1)<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Desactivado<br />

a activado<br />

Renglón<br />

HSC<br />

Verda<strong>de</strong>ro<br />

NA NA Falso<br />

NA (no aplicable)<br />

Acción <strong>de</strong>l<br />

contador <strong>de</strong> alta<br />

velocidad<br />

Conteo<br />

progresivo<br />

Verda<strong>de</strong>ro Conteo regresivo<br />

Retención <strong>de</strong><br />

conteo<br />

Retención <strong>de</strong><br />

conteo<br />

Retención <strong>de</strong><br />

conteo<br />

Retención <strong>de</strong><br />

conteo<br />

Restablecimiento<br />

a 0<br />

7–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

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

7–14<br />

Conteo <strong>de</strong><br />

entrada<br />

(E/S)<br />

Desactivado<br />

a activado<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

NA NA<br />

NA NA<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Dirección<br />

<strong>de</strong> entrada<br />

(I/1)<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Desactivado<br />

a activado<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Estado <strong>de</strong> entrada<br />

Restablecimiento<br />

<strong>de</strong><br />

entrada (I/2)<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Desactivado,<br />

activado o a<br />

<strong>de</strong>sactivado<br />

Retención<br />

<strong>de</strong> entrada<br />

(I/3)<br />

Renglón<br />

HSC<br />

Desactivado Verda<strong>de</strong>ro<br />

Acción <strong>de</strong>l<br />

contador <strong>de</strong> alta<br />

velocidad<br />

Conteo<br />

progresivo<br />

Desactivado Verda<strong>de</strong>ro Conteo regresivo<br />

NA Falso<br />

Activado NA<br />

NA NA<br />

NA NA A activado NA NA<br />

NA (no aplicable)<br />

Retención <strong>de</strong><br />

conteo<br />

Retención <strong>de</strong><br />

conteo<br />

Retención <strong>de</strong><br />

conteo<br />

Restablecimiento<br />

a 0<br />

Cuando los impulsos <strong>de</strong> entrada progresivos y regresivos ocurren simultáneamente,<br />

el contador <strong>de</strong> alta velocidad cuenta progresivamente y luego regresivamente.<br />

Uso <strong>de</strong>l contador bidireccional con restablecimiento y retención con<br />

codificador (enco<strong>de</strong>r) <strong>de</strong> cuadratura<br />

El codificador (enco<strong>de</strong>r) <strong>de</strong> cuadratura se usa para <strong>de</strong>terminar la dirección <strong>de</strong><br />

rotación y la posición <strong>de</strong> rotación; por ejemplo, para un torno. El contador<br />

bidireccional cuenta la rotación <strong>de</strong>l codificador (enco<strong>de</strong>r) <strong>de</strong> cuadratura.<br />

Los contadores bidireccionales operan <strong>de</strong>ntro <strong>de</strong>l rango <strong>de</strong> –32,768 a +32,767<br />

inclusive y se pue<strong>de</strong>n poner a cero usando la instrucción <strong>de</strong> restablecimiento (RES).<br />

La figura siguiente muestra un condificador (enco<strong>de</strong>r) <strong>de</strong> cuadratura conectado a<br />

entradas 0, 1 y 2. La dirección <strong>de</strong> conteo es <strong>de</strong>terminada por el ángulo <strong>de</strong> fase entre<br />

A y B. Si A prece<strong>de</strong> B, el contador incrementa. Si B prece<strong>de</strong> A, el contador se<br />

reduce.<br />

El contador se pue<strong>de</strong> restablecer usando la entrada Z. Las salidas Z <strong>de</strong> los<br />

codificadores (enco<strong>de</strong>rs) típicamente porporcionan un impulso por revolución.


Operación<br />

A<br />

B<br />

Conteo<br />

B<br />

Codificador (enco<strong>de</strong>r)<br />

<strong>de</strong> cuadratura<br />

Z<br />

(Entrada <strong>de</strong> restablecimiento)<br />

A<br />

Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

Entrada 0<br />

Entrada 1<br />

Entrada 2<br />

Rotación hacia a<strong>de</strong>lante Rotación hacia atrás<br />

1 2 3 2 1<br />

Para los contadores bidireccionales, se usan los valores altos y bajos<br />

preseleccionados. El valor bajo preseleccionado <strong>de</strong>be ser menor que el valor alto<br />

preseleccionado o <strong>de</strong> lo contrario ocurrirá un error INVALID PRESETs LOADED TO<br />

HIGH SPEED COUNTER (37H).<br />

Cuando la instrucción HSC se ejecuta como verda<strong>de</strong>ra por primera vez, el. . .<br />

• Valor bajo preseleccionado <strong>de</strong> hardware se establece a –32,768.<br />

• Acumulador <strong>de</strong> instrucción se carga en el acumulador <strong>de</strong> hardware.<br />

• Valor alto preseleccionado <strong>de</strong> instrucción se carga en el valor alto<br />

preseleccionado <strong>de</strong> hardware.<br />

Todo valor <strong>de</strong> acumulador <strong>de</strong> instrucción entre –32,768 y +32,767 inclusive se<br />

pue<strong>de</strong> cargar en el hardware.<br />

Después <strong>de</strong> la primera ejecución verda<strong>de</strong>ra <strong>de</strong> la instrucción HSC, los datos sólo se<br />

pue<strong>de</strong>n transferir al acumulador <strong>de</strong> hardware vía una instrucción RES o RAC, o a<br />

los valores alto y bajo preseleccionado <strong>de</strong> hardware vía la instrucción HSL.<br />

7–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

7–16<br />

La condición siguiente Ocurre cuando<br />

Un valor alto preseleccionado<br />

se ha alcanzado<br />

Cuando se alcanza un valor alto preseleccionado, el. . .<br />

el acumulador <strong>de</strong> hardware hace la transición <strong>de</strong>l valor alto preseleccionado<br />

<strong>de</strong> hardware –1 al valor alto preseleccionado <strong>de</strong> hardware, o<br />

el acumulador <strong>de</strong> hardware se carga con un valor mayor o igual<br />

que el valor alto preseleccionado <strong>de</strong> hardware, o<br />

el valor alto preseleccionado <strong>de</strong> hardware se carga con un valor<br />

que es menor o igual que el acumulador <strong>de</strong> hardware.<br />

• Bit HP se establece.<br />

• Archivo <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad (archivo <strong>de</strong> programa 4)<br />

se ejecuta si la interrupción se ejecuta. El bit IH se establece y los bits IL, IV e<br />

IN se restablecen.<br />

A diferencia <strong>de</strong> los contadores progresivos, el valor <strong>de</strong> acumulador no se restablece<br />

y el valor alto preseleccionado no se carga <strong>de</strong>s<strong>de</strong> la imagen hacia el registro <strong>de</strong>l<br />

valor alto preseleccionado <strong>de</strong> hardware.<br />

La condición siguiente Ocurre cuando<br />

Un valor bajo<br />

preseleccionado se ha<br />

alcanzado<br />

Cuando el valor bajo preseleccionado se alcanza, el:<br />

el acumulador <strong>de</strong> hardware hace la transición <strong>de</strong>l valor bajo preseleccionado<br />

<strong>de</strong> hardware +1 al valor bajo preseleccionado <strong>de</strong> hardware, o<br />

el acumulador <strong>de</strong> hardware se carga con un valor menor o igual<br />

que el valor alto preseleccionado <strong>de</strong> hardware, o<br />

el valor bajo preseleccionado <strong>de</strong> hardware se carga con un valor<br />

que es mayor o igual que el acumulador <strong>de</strong> hardware.<br />

• Bit LP se establece.<br />

• El archivo <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad (archivo <strong>de</strong> programa<br />

4) se ejecuta si la interrupción se habilita. El bit IL se establece y los bits IH,<br />

IV e IN se restablecen.<br />

Un overflow ocurre cuando el acumulador <strong>de</strong> hardware hace una transición <strong>de</strong><br />

+32,767 a –32,768. Cuando un overflow ocurre, el. . .<br />

• Bit OV se establece.<br />

• Archivo <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad (archivo <strong>de</strong> programa 4)<br />

se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e<br />

IN se restablecen.


Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

Un un<strong>de</strong>rflow ocurre cuando el acumulador <strong>de</strong> hardware hace una transición <strong>de</strong><br />

–32,768 a +32,767. Cuando un un<strong>de</strong>rflow ocurre, el. . .<br />

• Bit UN se establece.<br />

• Archivo <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad (archivo <strong>de</strong> programa 4)<br />

se ejecuta si la interrupción se habilita. El bit IV se establece y los bits IH, IL e<br />

IN se restablecen.<br />

Las tablas siguientes resumen los estados <strong>de</strong> entrada necesarios para que la acción<br />

<strong>de</strong>l contador <strong>de</strong> alta velocidad correspondiente se lleve a cabo:<br />

Contador bidireccional (codificador [enco<strong>de</strong>r])<br />

Entrada A<br />

(E/S)<br />

Estado <strong>de</strong> entrada Acción <strong>de</strong>l<br />

Entrada B<br />

(I/1)<br />

Renglón<br />

HSC<br />

contador <strong>de</strong> alta<br />

velocidad<br />

A <strong>de</strong>sactivado Desactivado Verda<strong>de</strong>ro Conteo progres.<br />

A <strong>de</strong>sactivado Desactivado Verda<strong>de</strong>ro Conteo regresivo<br />

NA Activado NA Reten. <strong>de</strong> conteo<br />

NA NA Falso Reten. <strong>de</strong> conteo<br />

NA (no aplicable)<br />

Contador bidireccional con restablecimiento y retención (codificador [enco<strong>de</strong>r])<br />

Conteo <strong>de</strong><br />

entrada<br />

(E/S)<br />

Dirección<br />

<strong>de</strong> entrada<br />

(I/1)<br />

Estado <strong>de</strong> entrada<br />

Restablecimiento<br />

<strong>de</strong><br />

entrada (I/2)<br />

Retención<br />

<strong>de</strong> entrada<br />

(I/3)<br />

Renglón<br />

HSC<br />

Acción <strong>de</strong>l<br />

contador <strong>de</strong> alta<br />

velocidad<br />

A <strong>de</strong>sactivado Desactivado Desactivado Desactivado Verda<strong>de</strong>ro Conteo progres.<br />

A <strong>de</strong>sactivado Desactivado Desactivado Desactivado Verda<strong>de</strong>ro Conteo regresivo<br />

Desactivado<br />

o activado<br />

NA Desactivado NA NA<br />

Retención <strong>de</strong><br />

conteo<br />

NA Activado Desactivado NA NA Reten. <strong>de</strong> conteo<br />

NA NA Desactivado NA Falso Reten. <strong>de</strong> conteo<br />

NA NA Desactivado Activado NA Reten. <strong>de</strong> conteo<br />

Desactivado Desactivado Activado NA NA Restablec. a 0<br />

NA (no aplicable)<br />

El restablecimiento opcional <strong>de</strong>l contador <strong>de</strong> alta velocidad <strong>de</strong> hardware es la coinci<strong>de</strong>ncia lógica <strong>de</strong> A x B x Z.<br />

7–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Carga <strong>de</strong>l contador <strong>de</strong> alta velocidad (HSL)<br />

HSL<br />

HSC LOAD<br />

Counter C5:0<br />

Source<br />

Length 5<br />

Cómo introducir parámetros<br />

Operación<br />

7–18<br />

(CU)<br />

(DN)<br />

Esta instrucción le permite establecer los valores bajo y alto preseleccionados, las<br />

fuentes baja y alta <strong>de</strong> salida y la máscara <strong>de</strong> salida. Cuando un valor alto o bajo<br />

preseleccionado se alcanza, usted pue<strong>de</strong> actualizar inmediatamente las salidas<br />

seleccionadas.<br />

Si usa la instrucción HSL con el contador progresivo, el valor alto preseleccionado<br />

<strong>de</strong>be ser ≥ 1 y ≤ +32,767 o <strong>de</strong> lo contrarior ocurrirá un error INVALID PRESETs<br />

LOADED TO HIGH SPEED COUNTER (37H). Para los contadores bidireccionales,<br />

el valor alto preseleccionado <strong>de</strong>be ser mayor que el valor bajo preseleccionado o <strong>de</strong><br />

lo contrarior ocurrirá un error INVALID PRESETs LOADED TO HIGH SPEED<br />

COUNTER (37H).<br />

El contador indincado por esta instrucción tiene la misma dirección que el contador<br />

<strong>de</strong> instrucción HSC y se fija a C5:0.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• La fuente es una dirección que i<strong>de</strong>ntifica la primera <strong>de</strong> cinco palabras <strong>de</strong> datos<br />

usadas por el HSL. La fuente pue<strong>de</strong> ser un elemento <strong>de</strong> archivo <strong>de</strong> entero o<br />

binario.<br />

• La longitud es el número <strong>de</strong> elementos que comienzan <strong>de</strong> la fuente. Este<br />

número siempre es 5.<br />

La instrucción HSL le permite configurar el contador <strong>de</strong> alta velocidad para que<br />

actualice instantánea y automáticamente las salidas externas cuando un valor alto o<br />

bajo preseleccionado se alcanza. Las salidas físicas se actualizan automáticamente<br />

en menos <strong>de</strong> 30 µs. (El tiempo <strong>de</strong> encendido físico <strong>de</strong> las salidas no se incluye en<br />

este total.) Luego la imagen <strong>de</strong> salida se actualiza automáticamente a la próxima<br />

encuesta para interrupciones <strong>de</strong>l usuario o instrucción IOM, cualquiera que ocurra<br />

primero.<br />

Con esta instrucción, pue<strong>de</strong> cambiar el valor alto preseleccionado para los<br />

contadores progresivos o los valores alto y bajo preseleccionados para los<br />

contadores bidireccionales durante la operación. Tambien pue<strong>de</strong> modificar la<br />

confinguración <strong>de</strong> máscara <strong>de</strong> salida durante la operación.<br />

La dirección <strong>de</strong> fuente es un elemento <strong>de</strong> archivo <strong>de</strong> entero o binario. Por ejemplo,<br />

si N7:5 se selecciona como la dirección <strong>de</strong> fuente, los parámetros adicionales para la<br />

ejecución <strong>de</strong> esta instrucción aparecerían tal como se muestra en la tabla siguiente.


Ubicación<br />

<strong>de</strong> la<br />

imagen <strong>de</strong><br />

parámetro<br />

N7:5<br />

N7:6<br />

N7:7<br />

Contador<br />

progresivo<br />

solamente<br />

Máscara <strong>de</strong><br />

salida<br />

Fuente <strong>de</strong><br />

salida<br />

Valor alto<br />

preseleccionado<br />

N7:8 Reservado<br />

N7:9 Reservado<br />

Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

Contadores<br />

bidireccionales<br />

Máscara <strong>de</strong><br />

salida<br />

Fuente alta <strong>de</strong><br />

salida<br />

Valor alto<br />

preseleccionado<br />

Fuente baja <strong>de</strong><br />

salida<br />

Valor bajo<br />

preseleccionado<br />

Descripción<br />

I<strong>de</strong>ntifica qué grupo <strong>de</strong> bits en el archivo <strong>de</strong><br />

salida (palabra 0) es controlado.<br />

000F=bits 3–0<br />

00F0=bits 7–4<br />

0003=bits 0 y 1<br />

00FF= bits 7–0<br />

(Conteo progresivo.) El estado <strong>de</strong> bits en esta<br />

palabra se escribe a través <strong>de</strong> la máscara en<br />

las salidas reales.<br />

(Conteo progresivo.) Cuando el acumulador<br />

alcanza este valor, la fuente <strong>de</strong> salida se<br />

escribe a través <strong>de</strong> la máscara <strong>de</strong> salida a las<br />

salidas reales, y un escán se realiza <strong>de</strong> la<br />

subrutina HSC (archivo 4).<br />

(Conteo regresivo.) El estado <strong>de</strong> bits en esta<br />

palabra se escribe a través <strong>de</strong> la máscara a las<br />

salidas reales.<br />

(Conteo progresivo.) Cuando el acumulador<br />

alcanza este valor, la fuente <strong>de</strong> salida se<br />

escribe a través <strong>de</strong> la máscara <strong>de</strong> salida a las<br />

salidas reales y un escán se realiza <strong>de</strong> la<br />

subrutina HSC (archivo 4).<br />

Los bits en la máscara <strong>de</strong> salida correspon<strong>de</strong>n directamente a las salidas físicas. Si<br />

un bit se establece a 1, la salida correspondiente pue<strong>de</strong> cambiarse por el contador <strong>de</strong><br />

alta velocidad. Si un bit se establece a 0, la salida correspondiente no pue<strong>de</strong> ser<br />

cambiada por el contador <strong>de</strong> alta velocidad.<br />

Los bits en las fuentes alta y baja también correspon<strong>de</strong>n directamente a las salidas<br />

físicas. La fuente alta se aplica cuando el valor alto preseleccionado se alcanza. La<br />

fuente baja se aplica cuando el valor bajo preseleccionado se alcanza. Los estados<br />

<strong>de</strong> salida final se <strong>de</strong>terminan aplicando la fuente <strong>de</strong> salida sobre la máscara y<br />

actualizando solamente las salidas sin máscara (las que tienen un número 1 en la<br />

configuración <strong>de</strong>l bit <strong>de</strong> máscara).<br />

Siempre pue<strong>de</strong> cambiar el estado <strong>de</strong> las salidas por medio <strong>de</strong>l programa <strong>de</strong>l usuario o<br />

el dispositivo <strong>de</strong> programación sin importar la máscara <strong>de</strong> salida. El contador <strong>de</strong> alta<br />

velocidad sólo modifica salidas y bits <strong>de</strong> imagen <strong>de</strong> salida seleccionados según las<br />

configuraciones <strong>de</strong> fuente y bit <strong>de</strong> máscara cuando los valores preseleccionados se<br />

alcanzan. El último dispositivo que cambia la imagen <strong>de</strong> salida (por ej., el programa<br />

<strong>de</strong>l usuario o contador <strong>de</strong> alta velocidad) <strong>de</strong>termina la configuración <strong>de</strong> salida real.<br />

Los forzados anulan el control <strong>de</strong> salida <strong>de</strong>s<strong>de</strong> el contador <strong>de</strong> alta velocidad o<br />

<strong>de</strong>s<strong>de</strong> la imagen <strong>de</strong> salida. Los forzados se pue<strong>de</strong>n aplicar a las entradas <strong>de</strong>l<br />

contador <strong>de</strong> alta velocidad. Las entradas forzadas son reconocidas por el<br />

contador <strong>de</strong> alta velocidad (por ej., una entrada <strong>de</strong> conteo forzada a<br />

<strong>de</strong>sactivado y activado incrementa el acumulador <strong>de</strong> alta velocidad).<br />

7–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

7–20<br />

El hardware <strong>de</strong>l contador <strong>de</strong> velocidad se actualiza inmediatemente cuando la<br />

instrucción HSL se ejecuta sin importar el tipo <strong>de</strong> contador <strong>de</strong> alta velocidad<br />

(contador progresivo o contador bidireccional). Para los contadores progresivos, no<br />

se hace caso <strong>de</strong> los dos últimos registros ya que el valor bajo preseleccionado no se<br />

aplica.<br />

Si un fallo ocurre a causa <strong>de</strong> la instrucción HSL, los parámetros HSL no se cargan<br />

en el hardware <strong>de</strong>l contador <strong>de</strong> alta velocidad. Pue<strong>de</strong> usar más <strong>de</strong> una instrucción<br />

HSL en su programa. Las <strong>instrucciones</strong> HSL pue<strong>de</strong>n tener ubicaciones <strong>de</strong> imagen<br />

diferentes para los parámetros adicionales.<br />

No cambie un valor preseleccionado y una fuente/máscara <strong>de</strong> salida con la<br />

misma instrucción HSL cuando el acumulador se acerca al valor<br />

preseleccionado anterior.<br />

Si el contador <strong>de</strong> alta velocidad se habilita y la instrucción HSL se evalúa como<br />

verda<strong>de</strong>ra, los parámetros <strong>de</strong>l contador <strong>de</strong> alta velocidad en la instrucción<br />

HSL se aplican inmediatemente sin <strong>de</strong>tener la operación <strong>de</strong>l contador <strong>de</strong> alta<br />

velocidad. Si la misma instrucción HSL se usa para cambiar la<br />

máscara/fuente y valor preseleccionado controlados por el contador <strong>de</strong> alta<br />

velocidad, la máscara/fuente se cambia primero y el valor preseleccionado se<br />

cambia segundo. (El valor preseleccionado se cambia <strong>de</strong>ntro <strong>de</strong> 40 µs <strong>de</strong>spués<br />

<strong>de</strong> la máscara/fuente.) Si el valor preseleccionado original se alcanza <strong>de</strong>spués<br />

<strong>de</strong> que la nueva máscara/fuente se aplique pero antes <strong>de</strong> que el valor<br />

preseleccionado nuevo se aplique, las salidas nuevas se aplicarán<br />

inmediatamente.


Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

Restablecimiento <strong>de</strong>l contador <strong>de</strong> alta velocidad (RES)<br />

C5:0<br />

RES)<br />

)<br />

Operación<br />

La instrucción RES le permite escribir un cero en el acumulador <strong>de</strong> hardware y en el<br />

acumulador <strong>de</strong> imagen.<br />

El contador indicado por esta instrucción tiene la misma dirección que el contador<br />

<strong>de</strong> instrucción HSC y se introduce como C0.<br />

La ejecución <strong>de</strong> esta instrucción inmediatamente:<br />

• elimina las interrupciones pendientes <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

• restablece los acumuladores <strong>de</strong> hardware e instrucción<br />

• restablece los bits <strong>de</strong> estado PE, LS, OV, UN y DN<br />

• carga el valor alto preseleccionado <strong>de</strong> instrucción y el valor alto<br />

preseleccionado <strong>de</strong> hardware (si el contador <strong>de</strong> alta velocidad se ha configurado<br />

como un contador progresivo)<br />

• restablece los bits <strong>de</strong> estado IL, IT, IN o IV<br />

Pue<strong>de</strong> tener más <strong>de</strong> una instrucción RES en su programa.<br />

7–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Acumulador <strong>de</strong> restablecimiento <strong>de</strong>l contador <strong>de</strong> alta<br />

velocidad (RAC)<br />

RAC<br />

RESET TO ACCUM VALUE<br />

Counter C5:0<br />

Source<br />

Cómo introducir parámetros<br />

Operación<br />

7–22<br />

Esta instrucción le permite escribir un valor específico al acumulador <strong>de</strong> hardware y<br />

al acumulador <strong>de</strong> imagen.<br />

El contador indicado por esta instrucción tiene la misma dirección que el contador<br />

<strong>de</strong> instrucción HSC y se fija a C5:0.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• La fuente representa el valor que se carga en el acumulador. La fuente pue<strong>de</strong><br />

ser una constante o una dirección.<br />

La ejecución <strong>de</strong>l RAC:<br />

• elimina las interrupciones pendientes <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

• restablece los bits <strong>de</strong> estado PE, LS, OV UN y DN<br />

• carga un valor <strong>de</strong> acumulador nuevo en la imagen <strong>de</strong> hardware e instrucción<br />

• carga el valor alto preseleccionado <strong>de</strong> instrucción en el valor alto<br />

preseleccionado <strong>de</strong> hardware (si el contador <strong>de</strong> alta velocidad se ha configurado<br />

como un contador progresivo)<br />

• restablece los bits <strong>de</strong> estado IL, IT, IN o IV<br />

La fuente pue<strong>de</strong> ser una constante o cualquier elemento entero en los archivos 0–7.<br />

Los acumuladores <strong>de</strong> hardware e instrucción se actualizan con el valor <strong>de</strong><br />

acumulador nuevo inmediatamente al momento <strong>de</strong> ejecución <strong>de</strong> la instrucción.<br />

Pue<strong>de</strong> tener más <strong>de</strong> una instrucción RZC por programa indicando la misma fuente o<br />

fuentes diferentes.


Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

Habilitación (HSE) e inhabilitación (HSD) <strong>de</strong> interrupción<br />

<strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

HSE<br />

HSC INTERRUPT ENABLE<br />

COUNTER C5:0<br />

HSD<br />

HSC INTERRUPT DISABLE<br />

COUNTER C5:0<br />

Uso <strong>de</strong> HSE<br />

Operación<br />

Estas <strong>instrucciones</strong> habilitan o inhabilitan la interrupción <strong>de</strong>l contador <strong>de</strong> alta<br />

velocidad cuando se alcanza un valor alto preseleccionado, un valor bajo<br />

preseleccionado, un overflow o un un<strong>de</strong>rflow. Use el HSD y HSE conjuntamente<br />

para proporcionar ejecución precisa a su aplicación.<br />

El contador indicado por estas <strong>instrucciones</strong> tiene la misma dirección que el<br />

contador <strong>de</strong> instrucción y se fija a C5:0.<br />

Cuando la interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad se habilita, la subrutina <strong>de</strong>l<br />

usuario (archivo <strong>de</strong> programa 4) se ejecuta cuando:<br />

• Se alcanza un valor alto o bajo preseleccionado.<br />

• Ocurre un overflow o un<strong>de</strong>rflow.<br />

Cuando, en el modo <strong>de</strong> un solo escán <strong>de</strong> prueba y en una condición <strong>de</strong> operación<br />

pasiva, la interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad se retarda hasta que el próximo<br />

disparo <strong>de</strong> escán se reciba <strong>de</strong>l dispositivo <strong>de</strong> programación. El acumulador <strong>de</strong>l<br />

contador <strong>de</strong> alta velocidad cuenta durante el reposo.<br />

El estado pre<strong>de</strong>terminado <strong>de</strong> la interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad se<br />

habilita (el bit IE se establece a 1).<br />

Si la rutina <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad se ejecuta y otra<br />

interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad ocurre, la segunda interrupción <strong>de</strong>l<br />

contador <strong>de</strong> alta velocidad se guarda pero se consi<strong>de</strong>ra como pendiente. (El bit PE<br />

se establece.) La segunda interrupción se ejecuta inmediatamente <strong>de</strong>spués que la<br />

primera finalice su ejecución. Si una interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

ocurre mientras una interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad está pendiente, se<br />

per<strong>de</strong>rá la interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad más reciente y se establecerá<br />

el bit LS.<br />

7–23


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Uso <strong>de</strong> HSD<br />

Operación<br />

7–24<br />

La instrucción HSD inhabilita la interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

evitando así que la subrutina <strong>de</strong> interrupción se ejecute.<br />

Si el HSE se ejecuta <strong>de</strong>spués <strong>de</strong>l establecimiento <strong>de</strong>l bit pendiente, la interrupción se<br />

ejecuta inmediatamente.<br />

Esta instrucción HSD no cancela una interrupcion, sino que resulta en el<br />

establecimiento <strong>de</strong>l bit pendiente (C5:0/3) cuando:<br />

• Se alcanza un valor alto o bajo preseleccionado.<br />

• Ocurre un overflow o un<strong>de</strong>rflow.<br />

Actualización <strong>de</strong>l acumulador <strong>de</strong> imagen <strong>de</strong>l contador<br />

<strong>de</strong> alta velocidad (OTE)<br />

( )<br />

C5:0<br />

UA<br />

Operación<br />

Cuando se direcciona una instrucción <strong>de</strong>l bit OTE para el contador <strong>de</strong> alta velocidad<br />

(C5:0), causa que el bit UA se establezca. Cuando este bit se establece, el valor en<br />

el acumulador <strong>de</strong> hardware se escribe al valor en el acumulador <strong>de</strong> imagen<br />

(C5:0.ACC). Esto le proporciona acceso real al valor <strong>de</strong>l acumulador <strong>de</strong> hardware.<br />

Esto es adicional a la transferencia automática <strong>de</strong>s<strong>de</strong> el acumulador <strong>de</strong> hardware<br />

hacia el acumulador <strong>de</strong> imagen que ocurre cada vez que la instrucción HSC se<br />

evalúa.<br />

Esta instrucción transfiere el acumulador <strong>de</strong> hardware al acumulador <strong>de</strong> instrucción.<br />

Cuando la instrucción OTE/UA se ejecuta como verda<strong>de</strong>ra, el acumulador <strong>de</strong><br />

hardware se carga en el acumulador <strong>de</strong> imagen <strong>de</strong> instrucción (C5:0.ACC).


Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

Lo que ocurre con el HSC cuando pasa al modo <strong>de</strong><br />

marcha REM<br />

Una vez inicializada, la instrucción HSC retiene su estado anterior cuando pasa por<br />

un cambio <strong>de</strong> modo o la <strong>de</strong>sconexión y reconexión <strong>de</strong> la alimentación eléctrica.<br />

Esto significa que se retienen el acumulador HSC (C5:0.ACC) y los valores altos<br />

preseleccionados. Las salidas bajo el control directo <strong>de</strong>l HSC también retienen su<br />

estado anterior. Los bits <strong>de</strong>l valor bajo preseleccionado alcanzado y <strong>de</strong>l valor bajo<br />

preseleccionado alcanzado (Co/LP y C0/HP) también se retienen. Son examinados<br />

por la instrucción HSC durante la primera evaluación verda<strong>de</strong>ra <strong>de</strong>l contador <strong>de</strong> alta<br />

velocidad en el modo <strong>de</strong> marcha REM para diferenciar entre un modo <strong>de</strong> marcha<br />

REM y una modificación externa o inicial <strong>de</strong>l acumulador (C5:0.ACC).<br />

A la primera ejecución verda<strong>de</strong>ra <strong>de</strong> la instrucción HSC <strong>de</strong>spués <strong>de</strong>l paso a marcha,<br />

el valor bajo preseleccionado se inicializa a –32,768 y la máscara <strong>de</strong> salida y las<br />

configuraciones <strong>de</strong> salida baja se incializan a cero. Use la instrucción HSL durante<br />

el primer paso para restaurar cualesquier valores necesarios para su aplicación.<br />

Pue<strong>de</strong> modificar el comportamiento <strong>de</strong>l contador <strong>de</strong> alta velocidad a la introducción<br />

<strong>de</strong>l modo <strong>de</strong> marcha REM ajustando los parámetros HSC antes <strong>de</strong> la primera<br />

ejecución verda<strong>de</strong>ra <strong>de</strong> la instrucción HSC. El siguiente ejemplo <strong>de</strong> renglones <strong>de</strong><br />

escalera <strong>de</strong>muestra las varias maneras <strong>de</strong> ajustar los parámetros HSC.<br />

7–25


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo 1<br />

7–26<br />

Para introducir el modo <strong>de</strong> marcha REM y hacer que las salidas HSC, ACC y<br />

subrutina <strong>de</strong> interrupción reanu<strong>de</strong>n su estado anterior, aplique lo siguiente:<br />

(Renglón 2:0)<br />

No requiere acción. (Recuér<strong>de</strong>se <strong>de</strong> que todas las <strong>instrucciones</strong><br />

OUT se ponen a cero cuando se introduce el modo <strong>de</strong> marcha REM.<br />

Use las <strong>instrucciones</strong> SET/RST en lugar <strong>de</strong> las <strong>instrucciones</strong><br />

OUT en la lógica condicional que requier retención.)<br />

| S:1 +HSL–––––––––––––––+ |<br />

|––][–––––––––––––––––––––––––––––––––––+HSC LOAD +–|<br />

| 15 |Counter C5:0| |<br />

| |Source N7:0| |<br />

| |Length 5| |<br />

| +––––––––––––––––––+ |<br />

Renglón 2:1<br />

| +HSC––––––––––––––––––––+ |<br />

|–––––––––––––––––––––––––––––+HIGH SPEED COUNTER +–(CU)–|<br />

| |Type Enco<strong>de</strong>r(Res,Hld) +–(CD) |<br />

| |Counter C5:0+–(DN) |<br />

| |High Preset 1000| |<br />

| |Accum 0| |<br />

| +–––––––––––––––––––––––+ |


Ejemplo 2<br />

Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

Para introducir el modo <strong>de</strong> marcha REM y retener el valor HSC ACC mientras que<br />

hace que las salidas HSC y la subrutina <strong>de</strong> interrupción se reanu<strong>de</strong>n, aplique lo<br />

siguiente:<br />

Renglón 2:0<br />

Desenclave los bits C5:0/HP y C5:0/LP durante el primer escán ANTES <strong>de</strong><br />

la ejecución <strong>de</strong> la instrucción HSC por primera vez.<br />

| S:1 +HSL–––––––––––––––+ |<br />

|––][––––––––––––––––––––––––––––––––––––––––––+HSC LOAD +– |<br />

| 15 |Counter C5:0| |<br />

| |Source N7:0| |<br />

| |Length 5| |<br />

| +––––––––––––––––––+ |<br />

Renglón 2:1<br />

| S:1 C5:0 |<br />

|––][–––––––––––––––––––––––––––––––––––––––––––––––––––––+–(U)––+|––|<br />

| 15 | HP | |<br />

| | C5:0 | |<br />

| +––(U)––+ |<br />

| LP |<br />

Renglón 2:2<br />

| +HSC––––––––––––––––––––+ |<br />

|–––––––––––––––––––––––––––––––––––––+HIGH SPEED COUNTER +–(CU)–|<br />

| |Type Enco<strong>de</strong>r (Res,Hld)+–(CD) |<br />

| |Counter C5:0+–(DN) |<br />

| |High Preset 1000| |<br />

| |Accum 0| |<br />

| +–––––––––––––––––––––––+ |<br />

7–27


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo 3<br />

7–28<br />

Para introducir el modo <strong>de</strong> marcha REM y hacer que el HSC ACC y la subrutina <strong>de</strong><br />

interrupción reanu<strong>de</strong>n su estado anterior a la vez que se inicializan externamente las<br />

salidas HSC, aplique lo siguiente:<br />

Renglón 2:0<br />

Desenclave o enclave los bits <strong>de</strong> salida bajo el control HSC durante el<br />

primer escán <strong>de</strong>spués <strong>de</strong> la ejecución por primera vez <strong>de</strong> la instrucción<br />

HSC. (Nota: usted podría colocar este renglón antes <strong>de</strong> la instrucción<br />

HSC; sin embargo, no se recomienda.)<br />

| S:1 +HSL–––––––––––––––+ |<br />

|––][–––––––––––––––––––––––––––––––––––––––––––+HSC LOAD +–|<br />

| 15 |Counter C5:0| |<br />

| |Source N7:0| |<br />

| |Length 5| |<br />

| +––––––––––––––––––+ |<br />

Renglón 2:1<br />

| +HSC––––––––––––––––––––+ |<br />

|–––––––––––––––––––––––––––––––––––––+HIGH SPEED COUNTER +–(CU)–|<br />

| |Type Enco<strong>de</strong>r (Res,Hld)+–(CD) |<br />

| |Counter C5:0+–(DN) |<br />

| |High Preset 1000| |<br />

| |Accum 0| |<br />

| +–––––––––––––––––––––––+ |<br />

Renglón 2:2<br />

Este renglón se programa con el conocimiento <strong>de</strong> una máscara HSL <strong>de</strong><br />

0007 (se usan salidas 0–2) e inicializa las salidas HSC a cada<br />

introducción <strong>de</strong>l modo <strong>de</strong> marcha REM. Las salidas O/0 y O/1 están<br />

<strong>de</strong>sactivadas mientras que la salida O/2 está activada.<br />

| S:1 O:0 |<br />

|––][––––––––––––––––––––––––––––––––––––––––––––––––––––+––(U)––+|––|<br />

| 15 | 0 | |<br />

| | O:0 | |<br />

| +––(U)–––+ |<br />

| | 1 | |<br />

| | O:0 | |<br />

| +––(L)–––+ |<br />

| 2 |


Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

Instrucciones <strong>de</strong>l contador <strong>de</strong> alta velocidad en el<br />

ejemplo <strong>de</strong> aplicación <strong>de</strong> la perforadora <strong>de</strong> papel<br />

Orificios<br />

perforados<br />

Los renglones <strong>de</strong> escalera en esta sección <strong>de</strong>muestran el uso <strong>de</strong> la instrucción HSC<br />

en el ejemplo <strong>de</strong> aplicación <strong>de</strong> la perforadora <strong>de</strong> papel iniciado en el capítulo 4.<br />

Refiérase al apéndice G para obtener el ejemplo <strong>de</strong> aplicación entero <strong>de</strong> la<br />

perforadora <strong>de</strong> papel.<br />

Posición<br />

original<br />

I:1/5<br />

Profundidad<br />

perforadora<br />

I:1/4<br />

Codificador (enco<strong>de</strong>r) y drive<br />

A-B <strong>de</strong> cuadratura<br />

I:1/0 I:1/1<br />

Perforadora activada/<strong>de</strong>sactivada O:3/1<br />

Retracción <strong>de</strong> perforadora O:3/2<br />

Avance <strong>de</strong> perforadora O:3/3<br />

Restablecimiento <strong>de</strong>l sensor fotoeléctrico I:1/2<br />

Retención <strong>de</strong> contador I:1/3<br />

Reflector<br />

fotoeléctrico<br />

Habilitación <strong>de</strong> transportador cableada en serie al drive O:3/5<br />

Arranque/<strong>de</strong>tención <strong>de</strong> drive <strong>de</strong>l transportador cableado en serie al drive O:3/0<br />

El archivo <strong>de</strong> programa principal (archivo 2) inicializa la instrucción HSC,<br />

monitoriza los botones <strong>de</strong> arranque y parada <strong>de</strong> la máquina y llama otras subrutinas<br />

necesarias para hacer funcionar la máquina. Refiérase a los comentarios que<br />

prece<strong>de</strong>n cada renglón para obtener información adicional.<br />

20226<br />

7–29


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

7–30<br />

Renglón 2:0<br />

Inicializa el contador <strong>de</strong> alta velocidad cada vez que el modo <strong>de</strong> marcha<br />

REM se introduce. El área <strong>de</strong> datos <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

correspon<strong>de</strong> con la dirección <strong>de</strong> arranque (dirección <strong>de</strong> fuente) <strong>de</strong> la<br />

instrucción HSL. La instrucción HSC se inhabilita durante cada entrada<br />

en el modo <strong>de</strong> marcha REM hasta la primera vez que se ejecute como<br />

verda<strong>de</strong>ra. (El valor alto preseleccionado fue “enclavijado” a la<br />

inicialización para evitar que una interrupción <strong>de</strong> valor alto<br />

preseleccionado ocurra durante el proceso <strong>de</strong> inicialización.)<br />

| Primer Máscara <strong>de</strong> salida |<br />

| paso (use sólo el bit 0 |<br />

| por ej. O:0/0) |<br />

| S:1 +MOV–––––––––––––––+ |<br />

|––––] [–––––––––––––––––––––––––––––––––––––+–+MOVE +–+–|<br />

| 15 | |Source 1| | |<br />

| | | | | |<br />

| | |Dest N7:5| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | Conf. <strong>de</strong> salida alta| |<br />

| | (<strong>de</strong>sactiva O:0/0) | |<br />

| | | |<br />

| | +MOV–––––––––––––––+ | |<br />

| +–+MOVE +–+ |<br />

| | |Source 0| | |<br />

| | | | | |<br />

| | |Dest N7:6| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | Valor alto preselec.| |<br />

| |(cuenta al próx. orif)| |<br />

| | |<br />

| | +MOV–––––––––––––––+ | |<br />

| +–+MOVE +–+ |<br />

| | |Source 32767| | |<br />

| | | | | |<br />

| | |Dest N7:7| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | Conf. <strong>de</strong> salida baja| |<br />

| | (activa O:0/0 | |<br />

| | a cada restab.) | |<br />

| | |<br />

| | +MOV–––––––––––––––+ | |<br />

| +–+MOVE +–+ |<br />

| | |Source 1| | |<br />

| | | | | |<br />

| | |Dest N7:8| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | Valor bajo preselec.| |<br />

| | (causa valor bajo | |<br />

| | preselec. inicial | |<br />

| | a cada restab.) | |<br />

| | |<br />

| | +MOV–––––––––––––––+ | |<br />

| +–+MOVE +–+ |<br />

| | |Source 0| | |<br />

| | | | | |<br />

| | |Dest N7:9| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | | |


Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

| | | |<br />

| | Contador alta veloc.| |<br />

| | | |<br />

| | +HSL–––––––––––––––+ | |<br />

| + –+HSC LOAD +–+ |<br />

| |Counter C5:0| |<br />

| |Source N7:5| |<br />

| |Length 5| |<br />

| +––––––––––––––––––+ |<br />

Los renglones 2.0 y 2.2 se requieren para escribir varios parámetros al área <strong>de</strong> archivo<br />

<strong>de</strong> datos <strong>de</strong>l contador <strong>de</strong> alta velocidad. Estos dos renglones están acondicionados<br />

por el bit <strong>de</strong> primer paso durante un escán cuando el controlador va <strong>de</strong>l programa<br />

REM al modo <strong>de</strong> marcha REM.<br />

Renglón 2:1<br />

Esta instrucción HSC no se coloca en la subrutina <strong>de</strong> interrupción <strong>de</strong>l<br />

contador <strong>de</strong> alta velocidad. Si esta instrucción se colocara en la<br />

subrutina <strong>de</strong> interrupción, el contador <strong>de</strong> alta velocidad nunca se<br />

activaría ni se inicializaría (porque una interrupción <strong>de</strong>be ocurrir<br />

primero para realizar un escán <strong>de</strong> la subrutina <strong>de</strong> interrupción <strong>de</strong>l<br />

contador <strong>de</strong> alta velocidad.<br />

| Contador <strong>de</strong> alta velocidad|<br />

| +HSC––––––––––––––––––––+ |<br />

|––––––––––––––––––––––––––––––––––––––+HIGH SPEED COUNTER +–(CU)–|<br />

| |Type Enco<strong>de</strong>r (Res,Hld)+–(CD) |<br />

| |Counter C5:0+–(DN) |<br />

| |High Preset 1250| |<br />

| |Accum 1| |<br />

| +–––––––––––––––––––––––+ |<br />

Renglón 2:2<br />

Fuerza que ocurra una interrupción <strong>de</strong>l valor bajo preseleccionado <strong>de</strong>l<br />

contador <strong>de</strong> alta velocidad a cada entrada al modo <strong>de</strong> marcha REM. Una<br />

interrupción sólo pue<strong>de</strong> ocurrir en la transición <strong>de</strong>l acumulador <strong>de</strong>l<br />

contador <strong>de</strong> alta velocidad a un valor preseleccionado (restablecimiento<br />

<strong>de</strong>l acumulador a 1, y luego a 0). Esto se hace para permitir que los<br />

secuenciadores <strong>de</strong> la subrutina <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta<br />

velocidad se inicialicen. El or<strong>de</strong>n <strong>de</strong> la inicialización <strong>de</strong>l contador <strong>de</strong><br />

alta velocidad es: (1) carga <strong>de</strong> parámetros <strong>de</strong>l contador <strong>de</strong> alta<br />

velocidad (2) ejecución <strong>de</strong> la instrucción HSL (3) ejecución <strong>de</strong> la<br />

instrucción HSC verda<strong>de</strong>ra (4) (opcional) forzar que ocurra una<br />

interrupción <strong>de</strong>l contador <strong>de</strong> alta velocidad..<br />

| Primer Contador <strong>de</strong> alta velocidad|<br />

| paso |<br />

| S:1 +RAC––––––––––––––––––+ |<br />

|––––] [––––––––––––––––––––––––––––––––––+–+RESET TO ACCUM VALUE +–+–|<br />

| 15 | |Counter C5:0| | |<br />

| | |Source 1| | |<br />

| | | | | |<br />

| | +–––––––––––––––––––––+ | |<br />

| | Contador <strong>de</strong> | |<br />

| | alta velocidad | |<br />

| | C5:0 | |<br />

| +–––(RES)–––––––––––––––––+ |<br />

7–31


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

7–32<br />

El contador <strong>de</strong> alta velocidad se usa para controlar la posición <strong>de</strong>l transportador. El<br />

contador <strong>de</strong> alta velocidad cuenta los impulsos proporcionados por el codificador<br />

(enco<strong>de</strong>r) <strong>de</strong>l transportador vía las entradas I:0/0 e I:0.1 <strong>de</strong> hardware. Las entradas<br />

I:0/2 (restablecimiento) e I:0/3 (retención) <strong>de</strong> hardware están conectadas a un<br />

interruptor fotoeléctrico para asegurar que la instrucción HSC cuente únicamente los<br />

impulsos <strong>de</strong> codificador (enco<strong>de</strong>r) cuando haya un manual enfrente <strong>de</strong> la<br />

perforadora y que el contador <strong>de</strong> alta velocidad se restablezca a la punta <strong>de</strong> cada<br />

manual.<br />

El contador <strong>de</strong> alta velocidad pone a cero el bit <strong>de</strong> salida <strong>de</strong> propulsión <strong>de</strong>l<br />

transportador cada vez que se alcanza un valor alto preseleccionado. Como<br />

resultado, la unidad propulsora <strong>de</strong>celera y <strong>de</strong>tiene el motor <strong>de</strong>l transportador. El<br />

contador <strong>de</strong> alta velocidad borra la entrada en microsegundos asegurando así<br />

exactitud y repetibilidad.<br />

El contador <strong>de</strong> alta velocidad establece el bit <strong>de</strong> salida <strong>de</strong> la unidad propulsora <strong>de</strong>l<br />

transportador (O:0/0) cada vez que un valor bajo preseleccionado se alcanza. Como<br />

resultado, la unidad propulsora acelera y mantiene el motor <strong>de</strong>l transportador.<br />

Cuando el manual ha recorrido la distancia especificada establecida por el valor alto<br />

preseleccionado <strong>de</strong>l contador <strong>de</strong> alta velocidad, la subrutina <strong>de</strong> interrupción <strong>de</strong>l<br />

contador <strong>de</strong> alta velocidad indica al programa principal que realice la secuencia <strong>de</strong><br />

perforación. Para obtener más información respecto a la subrutina <strong>de</strong> interrupción<br />

usada en este programa, refiérase al ejemplo <strong>de</strong> aplicación en el capítulo 9.<br />

Este ejemplo usa el codificador (enco<strong>de</strong>r) <strong>de</strong> cuadratura con la instrucción <strong>de</strong><br />

restablecimiento y retención. El acumulador <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

incrementa y <strong>de</strong>crementa según la relación <strong>de</strong> cuadratura <strong>de</strong> las entradas A y B<br />

(I:0/0 e I:01) <strong>de</strong>l codificador (enco<strong>de</strong>r). El acumulador se pone a cero cuando el<br />

restablecimiento está activado o cuando la instrucción RES se ejecuta. Todos los<br />

valores preseleccionados se introducen como un offset relativo a la punta <strong>de</strong> un<br />

manual. Los valores preseleccionados para las configuraciones <strong>de</strong> orificio se<br />

almacenan en las <strong>instrucciones</strong> SQO. (Refiérase al capítulo 6 para obtener la<br />

instrucción SQO.) La entrada <strong>de</strong> restablecimiento externo (I:0/2) <strong>de</strong>l contador <strong>de</strong><br />

alta velocidad y la entrada <strong>de</strong> retención externa (I:0/3) están cableadas en paralelo<br />

para evitar que el contador <strong>de</strong> alta velocidad cuente mientras el restablecimiento esté<br />

activo.<br />

Se pue<strong>de</strong>n ajustar los retardos <strong>de</strong>l filtro <strong>de</strong> entrada para las entradas A y B (I:0/0 e<br />

I:0/1) <strong>de</strong>l contador <strong>de</strong> alta velocidad así como las entradas <strong>de</strong> restablecimiento y<br />

retención (I:0/2 e I:0/3) <strong>de</strong>l contador <strong>de</strong> alta velocidad.


Cómo usar las <strong>instrucciones</strong> <strong>de</strong>l contador <strong>de</strong> alta velocidad<br />

Renglón 4:5<br />

Ocurrió una interrupción <strong>de</strong>bido al valor bajo preseleccionado<br />

alcanzado.<br />

| C5:0 +RET–––––––––––––––+–|<br />

|––––][––––––––––––––––––––––––––––––––––––––––––+RETURN + |<br />

| IL +––––––––––––––––––+ |<br />

Renglón 4:6<br />

Indica al programa principal (archivo 2) que inicialice la secuencia <strong>de</strong><br />

perforación. El contador <strong>de</strong> alta velocidad ya ha <strong>de</strong>tenido el<br />

transportador en la posición correcta usando sus datos <strong>de</strong> configuración<br />

<strong>de</strong> salida <strong>de</strong>l valor alto preseleccionado (borrar O:0/0). Esto ocurrió<br />

microsegundos <strong>de</strong>spués <strong>de</strong> alcanzar el valor alto preseleccionado (justo<br />

antes <strong>de</strong> introducir esta subrutina <strong>de</strong> interrupción <strong>de</strong>l contador <strong>de</strong> alta<br />

velocidad). La subrutina <strong>de</strong> secuencia <strong>de</strong> perforación restablece el bit<br />

<strong>de</strong> inicio <strong>de</strong> secuencia <strong>de</strong> perforación y establece el bit <strong>de</strong> la unidad<br />

propulsora <strong>de</strong>l transportador (O:0/0) una vez finalizada la secuencia <strong>de</strong><br />

perforación.<br />

| interrupción ocurrió | Inicio <strong>de</strong> secuencia <strong>de</strong> perforación |<br />

| <strong>de</strong>bido al valor alto | |<br />

| preseleccionado alcanzado | |<br />

| C5:0 B3 |<br />

|––––] [––––––––––––––––––––––––––––––––––––––––––––––––––––––(L)–––––|<br />

| IH 32 |<br />

Renglón 4:7<br />

| |<br />

|–––––––––––––––––––––––––––––––+END+–––––––––––––––––––––––––––––––––|<br />

| |<br />

7–33


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

7–34


Instrucciones <strong>de</strong> comunicación<br />

8 Instrucciones <strong>de</strong> comunicación<br />

Instrucciones <strong>de</strong> comunicación<br />

Este capítulo contiene información general acerca <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong><br />

comunicación. Cada una <strong>de</strong> las <strong>instrucciones</strong> incluye información acerca <strong>de</strong>:<br />

• cómo aparece el símbolo <strong>de</strong> instrucción<br />

• cómo usar la instrucción<br />

• un ejemplo <strong>de</strong> aplicación y diagramas <strong>de</strong> temporización<br />

A<strong>de</strong>más, la operación <strong>de</strong> la palabra <strong>de</strong> estado global (S:99) se proporciona.<br />

Instrucción<br />

Mnemónico Nombre<br />

MSG Lectura/escritura<br />

<strong>de</strong> mensaje<br />

SVC Comunicaciones<br />

<strong>de</strong> servicio<br />

Propósito Página<br />

Esta instrucción transfiere datos <strong>de</strong>s<strong>de</strong> un nodo<br />

hacia otro en la red <strong>de</strong> comunicación. Cuando la<br />

instrucción se habilita, la transferencia <strong>de</strong> mensaje<br />

está pendiente. La transferencia real <strong>de</strong> datos se<br />

realiza durante el escán.<br />

Cuando las condiciones que prece<strong>de</strong>n la instrucción<br />

SVC en el renglón son verda<strong>de</strong>ras, la instrucción<br />

SVC interrumpe el escán <strong>de</strong> programa para ejecutar<br />

la porción <strong>de</strong> comunicación <strong>de</strong> servicio <strong>de</strong>l ciclo <strong>de</strong><br />

operación.<br />

8–3<br />

8–60<br />

8–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Acerca <strong>de</strong> las <strong>instrucciones</strong> <strong>de</strong> comunicación<br />

8–2<br />

Use la instrucción <strong>de</strong> mensaje para enviar y recibir datos <strong>de</strong> otros procesadores y<br />

dispositivos. Use la instrucción SVC para mejorar el rendimiento <strong>de</strong> comunicación<br />

<strong>de</strong> su procesador.<br />

En este capítulo se encuentra una <strong>de</strong>scripción general antes <strong>de</strong> cada tipo <strong>de</strong><br />

instrucción:<br />

• Instrucción <strong>de</strong> mensaje para el procesador <strong>SLC</strong> 5/02<br />

• Instrucción <strong>de</strong> mensaje para los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04<br />

• Instrucción <strong>de</strong> comunicación <strong>de</strong> servicio para el procesador <strong>SLC</strong> 5/02<br />

• Instrucción <strong>de</strong> comunicación <strong>de</strong> servicio para los procesadores <strong>SLC</strong> 5/03<br />

y <strong>SLC</strong> 5/04


Descripción general <strong>de</strong><br />

la instrucción <strong>de</strong> mensaje<br />

MSG<br />

READ/WRITE MESSAGE<br />

Read/write<br />

Target Device<br />

Control Block<br />

Control Block Length 7<br />

Instrucción <strong>de</strong> salida<br />

Operación<br />

(EN)<br />

(DN)<br />

(ER)<br />

Instrucciones <strong>de</strong> comunicación<br />

Esta es una instrucción <strong>de</strong> salida que le permite transferir datos <strong>de</strong>s<strong>de</strong> un nodo hacia<br />

otro por la red DH-485. El procesador <strong>SLC</strong> 5/02 pue<strong>de</strong> dar servicio a una<br />

instrucción <strong>de</strong> mensaje en cualquier momento, aunque el procesador pue<strong>de</strong> retener<br />

varios mensajes “habilitados y en espera”. Los mensajes en espera reciben servicio<br />

uno a la vez en or<strong>de</strong>n secuencial (primero que llega, primero que sale)<br />

La instrucción se pue<strong>de</strong> programar como mensaje <strong>de</strong> escritura o lectura. El<br />

dispositivo receptor pue<strong>de</strong> ser otro procesador <strong>SLC</strong> <strong>500</strong> en la red, o un dispositivo<br />

que no sea <strong>SLC</strong> <strong>500</strong>, usando el archivo común <strong>de</strong> interface (archivo 9 485CIF en los<br />

procesadores <strong>SLC</strong> <strong>500</strong>). El protocolo 485CIF también se usa para los mensajes <strong>de</strong><br />

tipo PLC-2.<br />

Los datos asociados con una instrucción <strong>de</strong> escritura <strong>de</strong> mensaje no se envían<br />

cuando usted habilita la instrucción. En cambio, se envían al final <strong>de</strong>l escán o<br />

cuando una instrucción <strong>de</strong> comunicación <strong>de</strong> servicio (SVC) o regeneración (REF) se<br />

habilita en su programa <strong>de</strong> escalera. En algunos casos esto significa que <strong>de</strong>be<br />

guardar en un búfer los datos en su aplicación.<br />

Cuando selecciona el <strong>SLC</strong>-<strong>500</strong> como el dispositivo receptor, la comunicación se<br />

pue<strong>de</strong> realizar entre:<br />

• un procesador <strong>SLC</strong> 5/02 y cualquier otro procesador <strong>de</strong> la familia <strong>SLC</strong> <strong>500</strong><br />

• un procesador <strong>SLC</strong> 5/03 y cualquier otro procesador <strong>de</strong> la familia <strong>SLC</strong> <strong>500</strong><br />

• un procesador <strong>SLC</strong> 5/04 y cualquier otro procesador <strong>de</strong> la familia <strong>SLC</strong> <strong>500</strong><br />

<br />

8–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Bits <strong>de</strong>l archivo <strong>de</strong> estado relacionados<br />

8–4<br />

Hay tres bits <strong>de</strong>l archivo <strong>de</strong> estado que están relacionados con la instrucción MSG:<br />

• Bit <strong>de</strong> comando entrante pendiente (S:2/5) – Este bit se establece cuando el<br />

procesador <strong>de</strong>termina que otro nodo en la red ha solicitado información o le ha<br />

proporcionado un comando. Este bit se pue<strong>de</strong> establecer en cualquier momento.<br />

Este bit se pone a cero cuando el procesador atien<strong>de</strong> la solicitud (o comando).<br />

Use este bit como condición <strong>de</strong> una instrucción SVC para mejorar la capacidad<br />

<strong>de</strong> comunicación <strong>de</strong> su procesador.<br />

• Bit <strong>de</strong> respuesta <strong>de</strong> mensaje pendiente (S:2/6) – Este bit se establece cuando<br />

otro nodo en la red ha proporcionado la información que solicitó en la<br />

instrucción MSG <strong>de</strong> su procesador. Este bit se pone a cero cuando el<br />

procesador almacena la información y actualiza su instrucción MSG.<br />

Use este bit como condición <strong>de</strong> una instrucción SVC para mejorar la capacidad<br />

<strong>de</strong> comunicación <strong>de</strong> su procesador.<br />

• Bit <strong>de</strong> comando <strong>de</strong> mensaje saliente pendiente (S:2/7) – Este bit se establece<br />

cuando uno o más mensajes en su programa se habilitan y esperan, pero no hay<br />

un mensaje que se esté transmitiendo en este momento. Tan pronto comienza la<br />

transmisión <strong>de</strong> un mensaje, el bit se pone a cero. Después <strong>de</strong> la transmisión, el<br />

bit se vuelve a establecer si hay más mensajes en espera, o permanece en cero si<br />

no hay más mensajes en espera.<br />

Use este bit como condición <strong>de</strong> una instrucción SVC para mejorar la capacidad<br />

<strong>de</strong> comunicación <strong>de</strong> su procesador.<br />

Es posible que <strong>de</strong>see usar el bit S:2/15, selección <strong>de</strong> servicio <strong>de</strong> comunicaciones.<br />

Refiérase al apéndice B en este manual para obtener más información.


Opciones <strong>de</strong> configuración disponibles<br />

Cómo introducir parámetros<br />

Instrucciones <strong>de</strong> comunicación<br />

Las siguientes opciones <strong>de</strong> configuración están disponibles con el procesador<br />

<strong>SLC</strong> 5/02:<br />

• Lectura/escritura <strong>de</strong> dispositivos semejantes en una red local a otro procesador<br />

<strong>SLC</strong> <strong>500</strong><br />

• Lectura/escritura <strong>de</strong> dispositivos semejantes en una red local a un 485CIF<br />

(emulación PLC2)<br />

Refiérase al apéndice D para obtener parámetros válidos al programar la instrucción<br />

<strong>de</strong> mensaje.<br />

Después <strong>de</strong> colocar la instrucción MSG en un renglón, especifique si el mensaje es<br />

<strong>de</strong> lectura o escritura. Luego especifique el dispositivo receptor y el bloque <strong>de</strong><br />

control para la instrucción MSG.<br />

• Lectura/escritura – La lectura indica que el procesador local (el procesador en<br />

que se encuentra la instrucción) está recibiendo datos; la escritura indica que el<br />

procesador está enviando datos.<br />

• El dispositivo receptor i<strong>de</strong>ntifica el tipo <strong>de</strong> dispositivo que recibirá los datos.<br />

Las opciones válidas son:<br />

– <strong>500</strong>CPU, si el dispositivo recpetor es otro procesador <strong>SLC</strong><br />

– 485CIF, si el dispositivo receptor es un procesador que no sea <strong>SLC</strong><br />

(emulador PLC2)<br />

• El bloque <strong>de</strong> control es una dirección <strong>de</strong> archivo <strong>de</strong> entero que usted<br />

selecciona. Es un archivo <strong>de</strong> 7 elementos que contiene los bits <strong>de</strong> estado, la<br />

dirección <strong>de</strong>l archivo receptor y otros datos asociados con la instrucción <strong>de</strong><br />

mensaje.<br />

• La longitud <strong>de</strong>l bloque <strong>de</strong> control se fija a siete elementos. Este campo no se<br />

pue<strong>de</strong> modificar.<br />

Nota La longitud <strong>de</strong>l bloque <strong>de</strong> control MSG incrementa <strong>de</strong> 7 a 14 palabras al<br />

cambiarse <strong>de</strong> un programa <strong>de</strong> procesador <strong>SLC</strong> 5/02 a un programa <strong>de</strong><br />

procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04. Asegúrese que haya un mínimo <strong>de</strong> 7<br />

palabras no usadas siguientes cada bloque <strong>de</strong> control MSG en su programa.<br />

8–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Uso <strong>de</strong> los bits <strong>de</strong> estado<br />

8–6<br />

Read/Write: READ ignore if timed out: 0 TO<br />

Target Device: <strong>500</strong>CPU to be retried: 0 NR<br />

Control Block: N7:0 awaiting execution: 0 EW<br />

Local Destination File Address: ***<br />

Target No<strong>de</strong>: 0 error: 0 ER<br />

Target File Address: *** message done: 0 DN<br />

Message Length in elements *** message transmitting: 0 ST<br />

message enabled: 0 EN<br />

ERROR CODE: 0<br />

Error Co<strong>de</strong> Desc:<br />

control bit address: N7:0/8<br />

La columna <strong>de</strong>recha en la ilustración <strong>de</strong> arriba indica los diversos bits <strong>de</strong> estado<br />

asociados con la instrucción MSG <strong>de</strong>l <strong>SLC</strong> 5/02.<br />

• Bit <strong>de</strong> tiempo sobrepasado TO (bit 08) Pue<strong>de</strong> establecer este bit en su<br />

aplicación para eliminar una instrucción <strong>de</strong> mensaje activo <strong>de</strong>l control <strong>de</strong>l<br />

procesador. La aplicación <strong>de</strong>be proporcionar su propio valor <strong>de</strong> límite <strong>de</strong><br />

tiempo sobrepasado. Un ejemplo aparecen la página 8–15.<br />

• El bit no respuesta NR (bit 09) se establece si el procesador receptor no<br />

respon<strong>de</strong> a la primera solicitud <strong>de</strong> mensaje. El bit NR se restablece cuando el<br />

bit ER, DN o ST se establece.<br />

• El bit habilitado y en espera EW (bit 10) se establece <strong>de</strong>spués <strong>de</strong> que el bit<br />

<strong>de</strong> habilitación se ha establecido y el mensaje está en espera <strong>de</strong> ser enviado.<br />

• El bit <strong>de</strong> error ER (bit 12) se establece cuando la transmisión <strong>de</strong> mensaje está<br />

con fallo. El bit ER se restablece la próxima vez que el renglón asociado va <strong>de</strong><br />

falso a verda<strong>de</strong>ro.<br />

• El bit <strong>de</strong> efectuado DN (bit 13) se establece cuando el mensaje se ha<br />

transmitido exitosamente. El bit DN se restablece la próxima vez que el renglón<br />

asociado va <strong>de</strong> falso a verda<strong>de</strong>ro.<br />

• El bit <strong>de</strong> arranque ST (bit 14) se establece cuando el procesador acusa recibo<br />

<strong>de</strong>s<strong>de</strong> el dispositivo receptor. El bit ST se restablece cuando el bit DN, ER o<br />

TO se establece.<br />

• El bit <strong>de</strong> habilitación EN (bit 15) se establece cuando las condiciones <strong>de</strong>l<br />

renglón se hacen verda<strong>de</strong>ras y la instrucción se ejecuta. Permanece establecido<br />

hasta que la transmisión <strong>de</strong> mensaje se finaliza y el renglón se hace falso.


Instrucciones <strong>de</strong> comunicación<br />

Diagrama <strong>de</strong> temporización para una instrucción MSG<br />

exitosa <strong>de</strong>l <strong>SLC</strong> 5/02<br />

La sección siguiente <strong>de</strong>scribe el diagrama <strong>de</strong> temporización para una instrucción<br />

MSG <strong>de</strong>l <strong>SLC</strong> 5/02.<br />

EN<br />

EW<br />

ST<br />

El renglón se<br />

hace verda<strong>de</strong>ro.<br />

1<br />

0<br />

1<br />

0<br />

1<br />

0<br />

1<br />

DN<br />

0<br />

1<br />

ER 0<br />

1<br />

NR 0<br />

1<br />

TO 0<br />

<br />

El nodo receptor<br />

recibe el paquete.<br />

El nodo receptor procesa el<br />

paquete exitosamente y retorna<br />

los datos (lectura) o escribe<br />

los datos (éxito). <br />

1. Cuando el renglón MSG se hace verda<strong>de</strong>ro y el MSG es escaneado, el bit EN se<br />

establece y permanece establecido hasta que el bit DN, ER o TO se establezca.<br />

El bit EW está establecido, lo que indica que la instrucción MSG ha sido<br />

colocada en la cola MSG. (El procesador <strong>SLC</strong> 5/02 siempre tiene espacio en la<br />

cola MSG.) La cola trabaja en base al concepto primero en llegar–primero en<br />

salir y así permite al procesador recordar el or<strong>de</strong>n en que las <strong>instrucciones</strong> MSG<br />

se habilitaron. Anote que el programa no tiene acceso a la cola MSG <strong>de</strong>l <strong>SLC</strong><br />

5/02.<br />

2. En el siguiente final <strong>de</strong> escán o instrucción <strong>de</strong> comunicación <strong>de</strong> servicio (SVC),<br />

el procesador <strong>SLC</strong> 5/02 <strong>de</strong>termina si <strong>de</strong>be examinar la cola MSG en busca <strong>de</strong><br />

una tarea. El procesador toma una <strong>de</strong>cisión según el estado <strong>de</strong> bit S:2/15, las<br />

solicitu<strong>de</strong>s <strong>de</strong> comunicación DH-485 <strong>de</strong> otros nodos y si hay otra instrucción<br />

MSG anterior en ejecución. Si el procesador 5/02 <strong>de</strong>termina que no <strong>de</strong>be<br />

acce<strong>de</strong>r a la cola, los bits EN y EW permanecen establecidos hasta el próximo<br />

final <strong>de</strong> escán o SVC.<br />

8–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

8–8<br />

Si el procesador <strong>SLC</strong> 5/02 <strong>de</strong>termina que hay una tarea <strong>de</strong> hacer, usa la primera<br />

entrada <strong>de</strong> la cola <strong>de</strong> mensaje para construir un paquete DH-485. Si un paquete<br />

se pue<strong>de</strong> construir exitosamente, se coloca en el búfer <strong>de</strong> transmisión. Si un<br />

paquete no se pue<strong>de</strong> construir con éxito, el bit ER se establece y un código se<br />

coloca en el bloque MSG para informarle <strong>de</strong>l error.<br />

Si ésta fuera una instrucción <strong>de</strong> escritura MSG, los datos <strong>de</strong> fuente serían<br />

transferidos al búfer <strong>de</strong> transmisión en este momento.<br />

Luego el procesador <strong>SLC</strong> 5/02 sale <strong>de</strong>l final <strong>de</strong> escán o la porción SVC <strong>de</strong>l<br />

escán. La función <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong>l procesador envía el paquete<br />

transmitido con búfer al nodo receptor que ha especificado en su instrucción<br />

MSG.<br />

3. Si el nodo receptor recibe exitosamente el paquete DH-485, envía un ACK<br />

(acuse <strong>de</strong> recibo). El ACK causa que el procesador ponga a cero el bit EW y<br />

establezca el bit ST. Observe que el nodo recpetor todavía no ha examinado el<br />

paquete DH-485 para <strong>de</strong>terminar si entien<strong>de</strong> su solicitud.<br />

Una vez establecido el bit ST, el procesador espera infinitamente una respuesta<br />

<strong>de</strong>l nodo receptor. No es necesario que el nodo receptor responda <strong>de</strong>ntro <strong>de</strong> un<br />

plazo <strong>de</strong> tiempo <strong>de</strong>terminado. En este momento no se dará servicio a ninguna<br />

instrucción MSG.<br />

Nota Si el nodo receptor está con fallo o <strong>de</strong>sconecta y vuelve a conectar la<br />

alimentación eléctrica durante el plazo <strong>de</strong> tiempo <strong>de</strong> una transacción MSG,<br />

usted nunca recibirá una respuesta. Es por eso que se recomienda el uso <strong>de</strong> una<br />

instrucción <strong>de</strong> temporizador conjuntamente con el bit TO. Refiérase al ejemplo<br />

en la página 8–15.<br />

El paso 4 no se muestra en el diagrama <strong>de</strong> temporización.<br />

4. Si no recibe un ACK, el paso 3 no ocurre. Un NAK (ningún acuse <strong>de</strong> recibo) se<br />

recibe en su lugar. Cuando esto ocurre, el bit ST permanece puesto a cero. Un<br />

NAK indica que:<br />

• el nodo receptor no existe,<br />

• no respon<strong>de</strong>,<br />

• está <strong>de</strong>masiado ocupado o<br />

• recibe un paquete DH-485 alterado.<br />

Cuando un NAK ocurre, el bit EW se pone a cero y el bit NR se establece<br />

durante un escán. La próxima vez que la instrucción MSG es escaneada, el bit<br />

ER se establece y el bit NR se pone a cero. Esto indica que la instrucción MSG<br />

está con fallo. Observe que si el nodo receptor está <strong>de</strong>masiado ocupado, el bit<br />

ER no se establece. En cambio, la instrucción MSG vuelve a hacer cola para la<br />

retransmisión.


Instrucciones <strong>de</strong> comunicación<br />

5. Después <strong>de</strong>l recibo exitoso <strong>de</strong>l paquete, el nodo receptor envía un paquete <strong>de</strong><br />

respuesta. El paquete <strong>de</strong> respuesta contendrá una <strong>de</strong> las respuestas siguientes:<br />

Configuración <strong>de</strong>l bloque <strong>de</strong> control<br />

• He realizado exitosamente su solicitud <strong>de</strong> escritura.<br />

• He realizado exitosamente su solicitud <strong>de</strong> lectura y le presento aquí los<br />

datos.<br />

• No he realizado su solicitud; tiene un error.<br />

Al próximo final <strong>de</strong> escán o SVC, <strong>de</strong>spués <strong>de</strong> la respuesta <strong>de</strong>l nodo receptor, el<br />

procesador <strong>SLC</strong> 5/02 examina el paquete DH-485 <strong>de</strong>l dispositivo receptor. Si la<br />

respuesta contiene “He realizado exitosamente su solicitud <strong>de</strong> escritura”, el bit<br />

DN se establece y el bit ST se pone a cero. La función <strong>de</strong> la instrucción MSG<br />

ha sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la<br />

próxima vez que la instrucción MSG es escaneada.<br />

Si la respuesta contiene “He realizado exitosamente su solicitud <strong>de</strong> lectura y le<br />

presento aquí los datos”, los datos se escriben a la tabla <strong>de</strong> datos, el bit DN se<br />

establece y el bit ST se pone a cero. La función <strong>de</strong> la instrucción MSG ha sido<br />

completada. Si el renglón MSG es falso, el bit EN se pone a cero la próxima<br />

vez que la instrucción MSG es escaneada.<br />

Si la respuesta contiene “No he realizado su solicitud; tiene un error”, el bit ER<br />

se establece y el bit ST se pone a cero. La función <strong>de</strong> la instrucción MSG ha<br />

sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la<br />

próxima vez que la instrucción MSG es escaneada.<br />

La configuración <strong>de</strong>l bloque <strong>de</strong> control se ilustra abajo si usted selecciona un<br />

<strong>500</strong>CPU como el dispositivo receptor:<br />

Configuración <strong>de</strong>l bloque <strong>de</strong> control – <strong>500</strong>CPU<br />

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00<br />

EN ST DN ER EW NR TO Error Co<strong>de</strong><br />

No<strong>de</strong> Number<br />

Reserved for length in words<br />

File Number<br />

File Type (S, B, T, C, R, N)<br />

Element Number<br />

Reserved<br />

Pal.<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

8–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

8–10<br />

La configuración <strong>de</strong>l bloque <strong>de</strong> control se ilustra abajo si usted selecciona un 485<br />

CIF como el dispositivo receptor:<br />

Configuración <strong>de</strong>l bloque <strong>de</strong> control – 485 CIF<br />

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00<br />

EN ST DN ER EW NR TO Error Co<strong>de</strong><br />

No<strong>de</strong> Number<br />

Reserved for length in words<br />

Offset words<br />

Not used<br />

Not used<br />

Not used<br />

Pal.<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6


Instrucciones <strong>de</strong> comunicación<br />

Ejemplos <strong>de</strong> aplicación para procesadores <strong>SLC</strong> 5/02<br />

Ejemplo 1<br />

0<br />

1<br />

2<br />

El ejemplo <strong>de</strong> aplicación 1 muestra cómo pue<strong>de</strong> implementar la operación continua<br />

<strong>de</strong> una instrucción <strong>de</strong> mensaje.<br />

B3<br />

] [<br />

1<br />

N7:0<br />

] [<br />

13*<br />

N7:0<br />

] [<br />

12*<br />

Notas <strong>de</strong> operación<br />

MSG<br />

READ/WRITE MESSAGE<br />

Read/write WRITE<br />

Target Device <strong>500</strong>CPU<br />

Control Block N7:0<br />

Control Block Length 7<br />

END<br />

N7:0<br />

(U)<br />

15*<br />

El bit B3/1 habilita la instrucción MSG. Cuando el bit <strong>de</strong> efectuado <strong>de</strong> la<br />

instrucción MSG se establece, <strong>de</strong>senclava el bit <strong>de</strong> habilitación MSG para<br />

que la instrucción MSG se habilite en el próximo escán. Esto proporciona<br />

operación continua.<br />

El bit <strong>de</strong> error MSG también <strong>de</strong>senclavará el bit <strong>de</strong> habilitación. Esto<br />

proporciona operación continua pese a los errores.<br />

(EN)<br />

(DN)<br />

(ER)<br />

* bit <strong>de</strong> estado <strong>de</strong><br />

la instrucción<br />

MSG<br />

12 = ER<br />

13 = DN<br />

15 = EN<br />

8–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo 2 – Archivo <strong>de</strong> programa 2 <strong>de</strong>l procesador <strong>SLC</strong> 5/02<br />

8–12<br />

El ejemplo <strong>de</strong> aplicación 2 involucra un procesador <strong>SLC</strong> 5/02 y un procesador <strong>SLC</strong><br />

5/01 comunicándose en una red DH-485. El enclavamiento se proporciona para<br />

verificar la transferencia <strong>de</strong> datos y para <strong>de</strong>tener ambos procesadores en el caso <strong>de</strong><br />

fallo <strong>de</strong> comunicación.<br />

Un dispositivo <strong>de</strong> <strong>de</strong>tección <strong>de</strong> temperatura, conectado como entrada al procesador<br />

<strong>SLC</strong> 5/02, controla la operación activada/<strong>de</strong>sactivada <strong>de</strong> un ventilador <strong>de</strong><br />

enfriamiento, conectado como salida al procesador <strong>SLC</strong> 5/01. Los programas <strong>de</strong><br />

escalera <strong>de</strong> <strong>SLC</strong> 5/02 y <strong>SLC</strong> 5/01 se explican en la figura en la página 8–14.


Dispositivo <strong>de</strong><br />

entrada <strong>de</strong> sensor <strong>de</strong><br />

temperatura<br />

Bit <strong>de</strong> primer paso<br />

Bit <strong>de</strong> primer paso<br />

Bit <strong>de</strong> reloj <strong>de</strong> 1280 ms<br />

Bit <strong>de</strong> efectuado <strong>de</strong><br />

escritura <strong>de</strong> mensaje<br />

Bit <strong>de</strong> efectuado<br />

<strong>de</strong> lectura <strong>de</strong><br />

mensaje<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

I:1.0<br />

] [<br />

5<br />

S:1<br />

] [<br />

15<br />

S:1<br />

] [<br />

15<br />

S:4<br />

] [<br />

6<br />

B3<br />

] [<br />

0<br />

N10:0<br />

] [<br />

13*<br />

T4:0<br />

] [<br />

DN<br />

N11:0<br />

] [<br />

N7:0<br />

]/[<br />

13* 0<br />

B3<br />

(U)<br />

0<br />

TON<br />

TIMER ON DELAY<br />

Timer T4:0<br />

(EN)<br />

Time Base<br />

Preset<br />

0.01<br />

400<br />

(DN)<br />

Accum 0<br />

MSG<br />

READ/WRITE MESSAGE<br />

Read/write WRITE<br />

Target Device <strong>500</strong>CPU<br />

Control Block N10:0<br />

Control Block Length 7<br />

END<br />

N7:0<br />

( )<br />

1<br />

T4:0<br />

(RES)<br />

N7:0<br />

(L)<br />

0<br />

(EN)<br />

(DN)<br />

(ER)<br />

B3<br />

(L)<br />

0<br />

MSG<br />

READ/WRITE MESSAGE<br />

Read/write READ<br />

(EN)<br />

Target Device <strong>500</strong>CPU<br />

Control Block N11:0<br />

Control Block Length 7<br />

(DN)<br />

(ER)<br />

Las notas <strong>de</strong> operación aparecen en la página siguiente.<br />

T4:0<br />

(RES)<br />

N7:0<br />

(U)<br />

0<br />

B3<br />

(U)<br />

0<br />

N11:0<br />

(U)<br />

15*<br />

N10:0<br />

(U)<br />

15*<br />

Instrucciones <strong>de</strong> comunicación<br />

(L)<br />

B3<br />

10<br />

Bit 1 <strong>de</strong> la palabra<br />

<strong>de</strong> mensaje. Usado<br />

para el control <strong>de</strong>l<br />

ventilador.<br />

Bit 0 <strong>de</strong> la palabra<br />

<strong>de</strong> mensaje. Este<br />

es el bit <strong>de</strong><br />

enclavamiento.<br />

Temporizador <strong>de</strong> 4<br />

segundos<br />

Instrucción <strong>de</strong> escritura<br />

<strong>de</strong> mensaje. Las<br />

direcciones <strong>de</strong>l archivo<br />

<strong>de</strong> fuente y receptor son<br />

N7:0<br />

Nodo receptor: 3<br />

Longitud <strong>de</strong>l mensaje: 1<br />

palabra.<br />

Instrucción <strong>de</strong> lectura <strong>de</strong><br />

mensaje. Las direcciones<br />

<strong>de</strong>l archivo <strong>de</strong> <strong>de</strong>stino y<br />

receptor son N7:0<br />

Nodo receptor: 3<br />

Longitud <strong>de</strong>l mensaje: 1<br />

palabra.<br />

Enclavamiento – Esta<br />

instrucción <strong>de</strong> alarma<br />

notifica a la aplicación<br />

si el bit <strong>de</strong> enclavamiento<br />

N7:0/0<br />

permanece<br />

establecido durante<br />

más <strong>de</strong> 4 segundos.<br />

* Bits <strong>de</strong> estado <strong>de</strong> la<br />

instrucción MSG:<br />

13 = DN<br />

15 = EN<br />

8–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Archivo <strong>de</strong> programa 2 <strong>de</strong>l procesador <strong>SLC</strong> 5/01 a nodo 3<br />

8–14<br />

Bit <strong>de</strong> primer paso<br />

Bit 1 <strong>de</strong> la palabra <strong>de</strong><br />

mensaje. Usado para<br />

control <strong>de</strong>l ventilador.<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

S:1<br />

] [<br />

15<br />

T4:0<br />

] [<br />

DN<br />

N7:0<br />

] [<br />

0<br />

B3<br />

] [<br />

1<br />

N7:0<br />

] [<br />

1<br />

B3<br />

[OSR]<br />

0<br />

END<br />

Notas <strong>de</strong> operación acerca <strong>de</strong> los programas <strong>SLC</strong> 5/02 y <strong>SLC</strong> 5/01<br />

Parámetros <strong>de</strong> instrucción <strong>de</strong> mensaje: N7:0 es la palabra <strong>de</strong><br />

mensaje. Es la dirección <strong>de</strong> archivo receptor (procesador<br />

<strong>SLC</strong> 5/01) y la fuente local y direcciones <strong>de</strong> <strong>de</strong>stino (procesador<br />

<strong>SLC</strong> 5/02) en las <strong>instrucciones</strong> <strong>de</strong> mensaje.<br />

N7:0/0 <strong>de</strong> la palabra <strong>de</strong> mensaje es el bit <strong>de</strong> enclavamiento; se<br />

escribe al procesador 5/01 como 1 (establecido) y se lee <strong>de</strong>l<br />

procesador <strong>SLC</strong> 5/01 como 0 (restablecido).<br />

N7:0/1 <strong>de</strong> la palabra <strong>de</strong> mensaje controla la operación <strong>de</strong>l<br />

ventilador <strong>de</strong> enfriamiento; se escribe al procesador <strong>SLC</strong> 5/01<br />

como 1 (establecido) si se requiere enfriamiento o como 0<br />

(restablecido) si no se requiere enfriamiento. Se lee <strong>de</strong>l<br />

procesador <strong>SLC</strong> 5/01 como 1 ó 0.<br />

Palabra N7:0 <strong>de</strong>be tener un valor <strong>de</strong> 1 ó 3 durante la ejecución<br />

<strong>de</strong> escritura <strong>de</strong> mensaje. N7:0 <strong>de</strong>be tener un valor <strong>de</strong> 0 ó 2<br />

durante la ejecución <strong>de</strong> lectura <strong>de</strong> mensaje.<br />

Inicialización <strong>de</strong> programa: El bit <strong>de</strong> primer paso S:1/15<br />

inicializa los programas <strong>de</strong> escalera en la entrada al modo <strong>de</strong><br />

marcha.<br />

TON<br />

TIMER ON DELAY<br />

Timer T4:0<br />

Time Base 0.01<br />

Preset 400<br />

Accum 0<br />

N7:0<br />

(U)<br />

0<br />

T4:0<br />

(RES)<br />

(EN)<br />

(DN)<br />

B3<br />

(L)<br />

10<br />

B3<br />

( )<br />

1<br />

N7:0<br />

(U)<br />

0<br />

T4:0<br />

(RES)<br />

O:1.0<br />

( )<br />

0<br />

Bit 0 <strong>de</strong> la palabra <strong>de</strong><br />

mensaje. Este es el bit<br />

<strong>de</strong> enclavamiento.<br />

Temporizador <strong>de</strong> 4<br />

segundos<br />

Instrucción <strong>de</strong><br />

enclavamiento – Esta<br />

alarma notifica a la<br />

aplicación si el bit <strong>de</strong><br />

enclavamiento N7:0/0 no<br />

se establece <strong>de</strong>spués <strong>de</strong><br />

4 segundos.<br />

O:1/0 activa el<br />

ventilador <strong>de</strong><br />

enfriamiento.<br />

Procesador <strong>SLC</strong> 5/02: N7:0/0 está enclavado; el temporizador<br />

T4:0 está restablecido, B3/0 está <strong>de</strong>senclavado (renglón 1) y<br />

luego enclavado (renglón 3). El procesador <strong>SLC</strong> 5/01: N7:0/0<br />

está <strong>de</strong>senclavado; el temporizador T4:0 está restablecido.<br />

Operación <strong>de</strong> instrucción <strong>de</strong> mensaje: La instrucción <strong>de</strong><br />

escritura <strong>de</strong> mensaje en el procesador <strong>SLC</strong> 5/02 se inicia cada<br />

1280 ms por el bit <strong>de</strong> reloj S:4/5. El bit <strong>de</strong> efectuado <strong>de</strong> la<br />

instrucción <strong>de</strong> escritura <strong>de</strong> mensaje inicia la instrucción <strong>de</strong><br />

lectura <strong>de</strong> mensaje.<br />

B3/0 enclava la instrucción <strong>de</strong> escritura <strong>de</strong> mensaje. B3/0 se<br />

<strong>de</strong>senclava cuando el bit <strong>de</strong> efectuado <strong>de</strong> la instrucción <strong>de</strong><br />

lectura <strong>de</strong> mensaje se establece, siempre que el bit <strong>de</strong><br />

enclavamiento N7:0/0 esté restablecido.<br />

Fallo <strong>de</strong> comunicación: En el procesador <strong>SLC</strong> 5/02, el bit B3/10<br />

se establece si el bit <strong>de</strong> enclavamiento N7:0.0 permanece<br />

establecido (1) durante más <strong>de</strong> 4 segundos. En el procesador<br />

<strong>SLC</strong> 5/01, el bit B3/10 se establece si el bit <strong>de</strong> enclavamiento<br />

N7:0/0 permanece establecido (1) durante más <strong>de</strong> 4 segundos.<br />

Su aplicación pue<strong>de</strong> <strong>de</strong>tectar este evento, tomar la acción<br />

apropiada y luego <strong>de</strong>senclavar el bit B3/10.


Ejemplo 3<br />

B3/1 está enclavado<br />

(externo <strong>de</strong> este<br />

ejemplo) para iniciar la<br />

instrucción <strong>de</strong><br />

mensaje.<br />

Notas <strong>de</strong> operación<br />

Instrucciones <strong>de</strong> comunicación<br />

El ejemplo <strong>de</strong> aplicación 3 le muestra cómo usar el bit <strong>de</strong> límite <strong>de</strong> tiempo<br />

sobrepasado para inhabilitar una instrucción <strong>de</strong> mensaje activa. En este ejemplo,<br />

una salida se activa <strong>de</strong>spués <strong>de</strong> cinco ensayos fallidos (duración <strong>de</strong> dos segundos)<br />

para transmitir un mensaje.<br />

1<br />

0 [LBL]<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

B3<br />

] [<br />

1<br />

T4:0<br />

] [<br />

DN<br />

N7:0<br />

] [<br />

8*<br />

T4:0<br />

] [<br />

DN<br />

C5:0<br />

] [<br />

DN<br />

N7:0<br />

] [<br />

13*<br />

B3<br />

] [<br />

1<br />

T4:0<br />

]/[<br />

DN<br />

] [<br />

N7:0<br />

12<br />

END<br />

El bit <strong>de</strong> límite <strong>de</strong> tiempo sobrepasado se enclava (renglón 4)<br />

<strong>de</strong>spués <strong>de</strong> 2 segundos. Esto borra la instrucción <strong>de</strong> mensaje <strong>de</strong>l<br />

control <strong>de</strong> procesador en el próximo escán. Luego la instrucción<br />

<strong>de</strong> mensaje vuelve a habilitarse para el segundo ensayo <strong>de</strong><br />

transmisión. Después <strong>de</strong> 5 ensayos, O:1/0 se enclava.<br />

MSG<br />

READ/WRITE MESSAGE<br />

Read/write WRITE<br />

Target Device <strong>500</strong>CPU<br />

Control Block N7:0<br />

Control Block Length 7<br />

TON<br />

TIMER ON DELAY<br />

Timer T4:0<br />

Time Base 0.01<br />

Preset 200<br />

Accum 0<br />

CTU<br />

COUNT UP<br />

Counter C5:0<br />

Preset 5<br />

Accum 0<br />

CLR<br />

CLEAR<br />

Dest N7:0<br />

0<br />

1<br />

(JMP)<br />

N7:0<br />

(L)<br />

8<br />

(EN)<br />

(DN)<br />

(ER)<br />

(EN)<br />

(DN)<br />

(CU)<br />

(DN)<br />

O:1.0<br />

(L)<br />

0<br />

C5:0<br />

(RES)<br />

O:1.0<br />

(U)<br />

0<br />

B3<br />

(U)<br />

1<br />

Temporizador <strong>de</strong> 2<br />

segundos. Cada ensayo<br />

<strong>de</strong> transmisión tiene una<br />

duración <strong>de</strong> 2 segundos.<br />

El contador permite 5<br />

ensayos.<br />

Borre la palabra <strong>de</strong><br />

control y salte hacia atrás<br />

a renglón 0 para otro<br />

ensayo.<br />

N7:0/8 es el bit <strong>de</strong> límite<br />

<strong>de</strong> tiempo sobrepasado<br />

<strong>de</strong> la instrucción <strong>de</strong><br />

mensaje (/TO)<br />

El quinto ensayo enclava<br />

O0:1/0.<br />

* Bits <strong>de</strong> estado <strong>de</strong> la<br />

instrucción MSG:<br />

8 = TO<br />

13 = DN<br />

Un ensayo exitoso <strong>de</strong> transmisión restablece el contador,<br />

<strong>de</strong>senclava O:1/0 y <strong>de</strong>senclava B3/1.<br />

8–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo 4<br />

8–16<br />

El ejemplo <strong>de</strong> aplicación 4 le muestra como vincular las <strong>instrucciones</strong> <strong>de</strong> mensaje<br />

para transmitir en serie, uno tras otro. En este ejemplo una escritura MSG es<br />

seguida por una lectura MSG, lo que provoca la transmisión en serie.


Renglón 2:0<br />

Renglón 2:1<br />

Renglón 2:2<br />

Renglón 2:3<br />

Renglón 2:4<br />

Renglón 2:5<br />

Renglón 2:6<br />

Este renglón comienza a enviar mensajes a cada entrada el modo <strong>de</strong> marcha REM o RUN poniendo a cero el bit EN <strong>de</strong> la<br />

primera instrucción MSG.<br />

S:1<br />

] [<br />

15<br />

N7:0<br />

] [<br />

15<br />

N7:20<br />

] [<br />

15<br />

N7:0<br />

]/[<br />

12<br />

N7:20<br />

]/[<br />

12<br />

N7:0<br />

]/[<br />

13<br />

N7:20<br />

]/[<br />

13<br />

END<br />

TON<br />

TIMER ON DELAY<br />

Timer T4:0<br />

Time Base 0.01<br />

Preset 600<br />

Accum 0<br />

T4:0<br />

] [<br />

DN<br />

N7:0<br />

(L)<br />

8<br />

TON<br />

TIMER ON DELAY<br />

Timer T4:1<br />

Time Base 0.01<br />

Preset 600<br />

Accum 0<br />

T4:1<br />

] [<br />

N7:20<br />

(L)<br />

DN 8<br />

La instrucción MSG se activa cuando la instrucción MSG anterior se finaliza.<br />

N7:0<br />

] [<br />

12<br />

MSG<br />

READ/WRITE MESSAGE<br />

Read/write READ<br />

Target Device <strong>500</strong>CPU<br />

N7:0<br />

] [<br />

13<br />

Control Block N7:20<br />

Control Block Length 7<br />

N7:20<br />

] [<br />

12<br />

N7:0<br />

] [<br />

13<br />

CLR<br />

CLEAR<br />

Dest N7:0<br />

0<br />

CLR<br />

CLEAR<br />

Dest N7:20<br />

0<br />

Instrucciones <strong>de</strong> comunicación<br />

N7:0<br />

(U)<br />

15<br />

Este renglón establece el valor <strong>de</strong> límite <strong>de</strong> tiempo sobrepasado. (Cuando se usa un procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong><br />

5/04, este renglón y renglón 2:2 no son necesarios porque pue<strong>de</strong> introducir el valor 6 en el campo <strong>de</strong> valor <strong>de</strong>l<br />

límite <strong>de</strong> tiempo sobrepasado en el bloque <strong>de</strong> instrucción MSG.)<br />

Idéntico al renglón anterior.<br />

(EN)<br />

(DN)<br />

(EN)<br />

(DN)<br />

La instrucción MSG se activa a la entrada al modo <strong>de</strong> marcha REM o RUN. No se requieren condiciones <strong>de</strong> entrada.<br />

MSG<br />

READ/WRITE MESSAGE<br />

Read/write WRITE<br />

Target Device <strong>500</strong>CPU<br />

Control Block N7:0<br />

Control Block Length 7<br />

Este renglón restablece todas las <strong>instrucciones</strong> MSG cuando la última instrucción MG se ha finalizado. La<br />

palabra <strong>de</strong> control se borra para asegurar que los bits EN, DN, ER y TO se pongan a cero.<br />

(EN)<br />

(DN)<br />

(ER)<br />

(EN)<br />

(DN)<br />

(ER)<br />

8–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Descripción general <strong>de</strong> la<br />

instrucción <strong>de</strong> mensaje<br />

MSG<br />

READ/WRITE MESSAGE<br />

Type<br />

Read/write<br />

Target Device<br />

Local/Remote<br />

Control Block<br />

Control Block Length 14<br />

Instrucción <strong>de</strong> salida<br />

Operación<br />

8–18<br />

(EN)<br />

(DN)<br />

(ER)<br />

Los datos asociados con una instrucción <strong>de</strong> escritura <strong>de</strong> mensaje se almacena en un<br />

búfer cuando usted habilita la instrucción. El <strong>SLC</strong> 5/03 con OS300 tiene cuatro<br />

búferes <strong>de</strong> transmisión. El <strong>SLC</strong> 5/03 con procesadores OS301, OS302 y <strong>SLC</strong> 5/04<br />

con procesadores OS400, OS401 dan servicio a un máximo <strong>de</strong> cuatro <strong>instrucciones</strong><br />

<strong>de</strong> mensaje por canal para un máximo <strong>de</strong> ocho <strong>instrucciones</strong> <strong>de</strong> mensaje.<br />

<strong>SLC</strong> 5/03 OS300 – Si una instrucción MSG ha entrado en uno <strong>de</strong> los cuatro búferes<br />

<strong>de</strong> transmisión “in<strong>de</strong>pendientes <strong>de</strong>l canal” y está esperando ser transmitida, su<br />

bloque <strong>de</strong> control tendrá los bits <strong>de</strong> estado EN y EW establecidos. Si más <strong>de</strong> cuatro<br />

<strong>instrucciones</strong> MSG se habilitan a la vez, una cola <strong>de</strong> overflow “<strong>de</strong>pendiente <strong>de</strong>l<br />

canal” se usa para almacenar los bloques <strong>de</strong> encabezado <strong>de</strong> instrucción MSG (no los<br />

datos para una escritura MSG) a partir <strong>de</strong> la quinta instrucción hasta la<br />

décimocuarta.<br />

<strong>SLC</strong> 5/03 con OS301, OS302 y <strong>SLC</strong> 5/04 con OS400, OS401 – Si una instrucción<br />

MSG ha entrado en uno <strong>de</strong> los cuatro búferes <strong>de</strong> transmisión “<strong>de</strong>pendientes <strong>de</strong>l<br />

canal” y está esperando ser transmitida, su bloque <strong>de</strong> control tendrá los bits <strong>de</strong><br />

estado EN y EW establecidos. Si más <strong>de</strong> cuatro <strong>instrucciones</strong> MSG para aquel canal<br />

se habilitan a la vez, una cola <strong>de</strong> overflow “<strong>de</strong>pendiente <strong>de</strong>l canal” se usa para<br />

almacenar los bloques <strong>de</strong> encabezado <strong>de</strong> instrucción MSG (no los datos para una<br />

escritura MSG) a partir <strong>de</strong> la quinta instrucción a la décimocuarta.<br />

Esta instrucción, la cual hace cola en or<strong>de</strong>n FIFO, tendrá el bit <strong>de</strong> estado <strong>de</strong> bloque<br />

<strong>de</strong> control EN establecido. Si más <strong>de</strong> 14 <strong>instrucciones</strong> MSG se habilitan a la vez<br />

para un solo canal, el bit <strong>de</strong> estado <strong>de</strong> bloque <strong>de</strong> control WQ se establece ya que es<br />

posible que no haya espacio disponible para poner la instrucción en cola. Esta<br />

instrucción se <strong>de</strong>be a volver a escanear hasta que haya espacio en la cola <strong>de</strong><br />

overflow.<br />

Nota Si habilita sistemáticamente más <strong>instrucciones</strong> MSG que las que pue<strong>de</strong>n recibir los<br />

búferes, el or<strong>de</strong>n en que las <strong>instrucciones</strong> MSG hacen en cola es <strong>de</strong>terminado por el<br />

or<strong>de</strong>n en que son escaneadas. Esto significa que las <strong>instrucciones</strong> MSG más<br />

cercanas <strong>de</strong>l inicio <strong>de</strong>l programa hacen cola regularmente y las <strong>instrucciones</strong> MSG<br />

más a<strong>de</strong>lantes <strong>de</strong>l programa pue<strong>de</strong>n no entrar en la cola.<br />

Pue<strong>de</strong> usar el control <strong>de</strong> límite <strong>de</strong> tiempo sobrepasado semejante a la instrucción<br />

MSG <strong>de</strong>l <strong>SLC</strong> 5/02 ó pue<strong>de</strong> usar el control <strong>de</strong> límite <strong>de</strong> tiempo sobrepasado<br />

incorporado. Si el valor <strong>de</strong>l límite <strong>de</strong> tiempo sobrepasado se establece a 0, lo que<br />

constituye el valor pre<strong>de</strong>terminado, la funcionabilidad es semejante a la instrucción<br />

MSG <strong>de</strong>l <strong>SLC</strong> 5/02. La diferencia <strong>de</strong> ésta es que el renglón se <strong>de</strong>be volver a<br />

escanear <strong>de</strong>spués <strong>de</strong>l establecimiento <strong>de</strong>l bit TO. Luego <strong>de</strong>be restablecer el bit TO y<br />

volver a ejecutar la instrucción MSG. Le recomendamos que establezca el valor <strong>de</strong>l<br />

límite <strong>de</strong> tiempo sobrepasado interno a un número que no sea 0.


Instrucciones <strong>de</strong> comunicación<br />

Cuando usa un procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04, la instrucción <strong>de</strong> mensaje:<br />

• inicia lecturas y escrituras a través <strong>de</strong> canal 0 <strong>de</strong>l RS-232 cuando es configurado<br />

para los protocolos siguientes:<br />

– Punto a punto DF1<br />

– Esclavo DF1<br />

– DH-485, o<br />

• inicia lecturas y escrituras a través <strong>de</strong>:<br />

– canal 1 <strong>de</strong> DH-485 (procesadores <strong>SLC</strong> 5/03 únicamente)<br />

– canal 1 <strong>de</strong> DH+ (procesadores <strong>SLC</strong> 5/04 únicamente)<br />

Bits <strong>de</strong>l archivo <strong>de</strong> estado relacionados<br />

Canal 1 Canal 0<br />

S:2/5 Comando entrante pendiente S:33/0 Comando entrante pendiente<br />

S:2/6 Respuesta <strong>de</strong> mensaje pendiente S:33/1 Respuesta <strong>de</strong> mensaje pendiente<br />

S:2/7 Comando <strong>de</strong> mensaje saliente<br />

pendiente<br />

S:2/15 Selección <strong>de</strong> servicio <strong>de</strong><br />

comunicaciones<br />

S:33/2 Comando <strong>de</strong> mensaje saliente<br />

pendiente<br />

S:33/5 Selección <strong>de</strong> servicio <strong>de</strong><br />

comunicaciones<br />

S:33/7 Selección <strong>de</strong> servicio <strong>de</strong> mensaje S:33/6 Selección <strong>de</strong> servicio <strong>de</strong> mensaje<br />

Refiérase al apéndice B en este manual para obtener más información acerca <strong>de</strong> los<br />

bits <strong>de</strong>l archivo <strong>de</strong> estado <strong>de</strong> mostrados previamente.<br />

8–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Opciones <strong>de</strong> configuración disponibles<br />

8–20<br />

Las siguientes opciones <strong>de</strong> configuración están disponibles cuando se usa un<br />

procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04. Refiérase al apéndice D para obtener parámetros<br />

válidos al programar la instrucción <strong>de</strong> mensaje.<br />

• Lectura/escritura <strong>de</strong> dispositivos semejantes en una red local a otro procesador<br />

<strong>SLC</strong> <strong>500</strong><br />

• Lectura/escritura <strong>de</strong> dispositivos semejantes en una red local a un 485CIF<br />

• Lectura/escritura <strong>de</strong> dispositivos semejantes en una red local a un PLC-5 <br />

• Lectura/escritura <strong>de</strong> dispositivos semejantes en una red remota a otro<br />

procesador <strong>SLC</strong> <strong>500</strong><br />

• Lectura/escritura <strong>de</strong> dispositivos semejantes en una red remota a un 485CIF<br />

(emulación PLC2)<br />

• Lectura/escritura <strong>de</strong> dispositivos semejantes en una red remota a un procesador<br />

PLC-5 <br />

<br />

Se aplica a los procesadores <strong>SLC</strong> 5/03 OS301, OS302 y <strong>SLC</strong> 5/04 OS400, OS401.


Cómo introducir parámetros<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

Instrucciones <strong>de</strong> comunicación<br />

• Lectura/escritura – La lectura indica que el procesador local (el procesador en<br />

que se encuentra la instrucción) está recibiendo datos; la escritura indica que<br />

está enviando datos.<br />

• El dispositivo receptor i<strong>de</strong>ntifica el tipo <strong>de</strong> dispositivo que recibirá datos. Las<br />

opciones válidas son:<br />

– el <strong>500</strong>CPU si el dispositivo receptor es otro procesador <strong>SLC</strong><br />

– el 485CIF si el dispositivo receptor es un dispositivo que no sea <strong>SLC</strong> en la<br />

red DH-485<br />

– el PLC-5 si el dispositivo receptor acepta comandos PLC-5<br />

• Local o remoto i<strong>de</strong>ntifica si el mensaje es enviado a un dispositivo en una red<br />

local DH-485 ó DH+, o a un dispositivo remoto en otra red a través <strong>de</strong> un<br />

puente. Las opciones válidas son:<br />

– Local si el dispositivo receptor se encuentra en una red local<br />

– Remoto si el dispositivo receptor se encuentra en una red remota<br />

• El bloque <strong>de</strong> control es una dirección <strong>de</strong> archivo <strong>de</strong> entero que usted<br />

selecciona. Es un archivo <strong>de</strong> entero <strong>de</strong> 14 palabras que contiene bits <strong>de</strong> estado,<br />

dirección <strong>de</strong> archivo receptor y otros datos asociados con la instrucción <strong>de</strong><br />

mensaje.<br />

• La longitud <strong>de</strong>l bloque <strong>de</strong> control se fija a 14 elementos. Este campo no se<br />

pue<strong>de</strong> modificar.<br />

Nota La longitud <strong>de</strong>l bloque <strong>de</strong> control MSG incrementa <strong>de</strong> 7 a 14 palabras al<br />

cambiarse <strong>de</strong> un programa <strong>de</strong> procesador <strong>SLC</strong> 5/02 a un programa <strong>de</strong><br />

procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04. Asegúrese que haya un mínimo <strong>de</strong> 7<br />

palabras no usadas <strong>de</strong>spués <strong>de</strong> cada bloque <strong>de</strong> control MSG en su programa.<br />

8–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Uso <strong>de</strong> los bits <strong>de</strong> estado<br />

8–22<br />

La columna <strong>de</strong>recha en la ilustración siguiente alista los varios bits <strong>de</strong> estado<br />

asociados con la instrucción <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04.<br />

Type: Peer–to–Peer<br />

Read/Write: READ ignore if timed out: 0 TO<br />

Target Device: <strong>500</strong>CPU to be retried: 0 NR<br />

Local/Remote: Local awaiting execution: 0 EW<br />

Control Block: N10:0 continuous run: 0 CO<br />

Channel: 1 error: 0 ER<br />

Target No<strong>de</strong>: 2 message done: 0 DN<br />

message transmitting: 0 ST<br />

message enabled: 0 EN<br />

Destination File Addr: N7:0 waiting for queue space: 0 WQ<br />

Target Source File Address: N7:50<br />

Message Length In Elements: 10<br />

Message Timeout (seconds): 5<br />

ERROR CODE: 0 control bit address: N10:0/8<br />

Error Co<strong>de</strong> Desc:<br />

• Bit <strong>de</strong>l límite <strong>de</strong> tiempo sobrepasado TO (palabra 0, bit 08) Establezca este<br />

bit en su aplicación para eliminar una instrucción <strong>de</strong> mensaje activa <strong>de</strong>l control<br />

<strong>de</strong> procesador. Pue<strong>de</strong> usar su propia rutina <strong>de</strong> control <strong>de</strong> límite <strong>de</strong> tiempo<br />

sobrepasado semejante a la instrucción MSG <strong>de</strong>l <strong>SLC</strong> 5/02 o pue<strong>de</strong> usar el<br />

control <strong>de</strong> límite <strong>de</strong> tiempo sobrepasado interno. Le recomendamos que use el<br />

control <strong>de</strong> límite <strong>de</strong> tiempo sobrepasado incorporado porque simplifica el<br />

programa <strong>de</strong>l usuario.<br />

Si usa su propia rutina <strong>de</strong> control <strong>de</strong> límite <strong>de</strong> tiempo sobrepasado, el valor <strong>de</strong>l<br />

límite <strong>de</strong> tiempo sobrepasado (palabra 8) se <strong>de</strong>be poner a cero. Si la instrucción<br />

MSG no se completa <strong>de</strong>ntro <strong>de</strong>l plazo <strong>de</strong> tiempo especificado y el bit DN no se<br />

establece, usted <strong>de</strong>be establecer el bit TO (bit 8 <strong>de</strong> palabra 0) y volver a realizar<br />

un escán <strong>de</strong> la instrucción MSG, <strong>de</strong> lo contrario el mensaje llevará un búfer<br />

activo hasta que el procesador se <strong>de</strong>tenga y se vuelva a arrancar. Después <strong>de</strong> la<br />

ejecución <strong>de</strong> la instrucción MSG, el procesador establece el bit ER (bit 12) y<br />

retorna el código <strong>de</strong> error 37H. Vuelva a iniciar la instrucción MSG<br />

restableciendo el bit TO y volviendo a ejecutar la instrucción MSG.<br />

Si usa el control <strong>de</strong> límite <strong>de</strong> tiempo sobrepasado interno, establezca el valor <strong>de</strong>l<br />

límite <strong>de</strong> tiempo sobrepasado (palabra 8) entre 1 y 255 segundos. Cuando el<br />

límite <strong>de</strong> tiempo sobrepasado ocurre, el bit TO y el bit ER (bit 12 <strong>de</strong> palabra 0)<br />

se establecen y el procesador retorna el código <strong>de</strong> error 37H. Vuelva a iniciar la<br />

instrucción MSG restableciendo el bit TO y volviendo a ejecutar la instrucción<br />

MSG.<br />

• Bit no respuesta NR (bit 09) se establece si el procesador receptor respon<strong>de</strong> a<br />

la instrucción con un acuse <strong>de</strong> recibo negativo. Esto significa que el dispositivo<br />

receptor no pue<strong>de</strong> dar servicio al paquete en ese momento y se <strong>de</strong>be volver a<br />

intentar. El bit NR se restablece cuando el bit ER, DN o ST se establece.<br />

Recomendamos no intentar controlar este bit. Se usa para funciones DH-485 y<br />

se presenta a título informativo únicamente.


Instrucciones <strong>de</strong> comunicación<br />

• El bit habilitado y en espera EW (bit 10) se establece <strong>de</strong>spués <strong>de</strong> que el bit<br />

<strong>de</strong> habilitación se ha establecido y el mensaje se almacena en el búfer y espera<br />

ser enviado en el búfer. Recomendamos no intentar controlar este bit. Se<br />

presenta a título informativo únicamente.<br />

• Operación continua CO (bit 11) Establezca este bit si <strong>de</strong>sea enviar la<br />

instrucción MSG <strong>de</strong> manera continua. Recomendamos que el control <strong>de</strong>l límite<br />

<strong>de</strong> tiempo sobrepasado interno se use para esta opción y que el renglón sea<br />

incondicionalmente verda<strong>de</strong>ro. Use este bit para activar y <strong>de</strong>sactivar el modo.<br />

Nota No intente establecer ni restablecer los otros bits en la palabra <strong>de</strong> control.<br />

Este modo operará continuamente siempre que el renglón sea escaneado<br />

continuamente. Si la instrucción tiene error, vuelve a intentar automáticamente<br />

hasta tener éxito. Si sobrepasa el límite <strong>de</strong> tiempo y se vuelve a escanear, el<br />

modo se <strong>de</strong>tendrá. El bit ER se <strong>de</strong>be poner a cero para reanudar la operación.<br />

• El bit <strong>de</strong> error ER (bit 12) se establece cuando la transmisión <strong>de</strong> mensaje está<br />

con fallo. El bit ER se restablece la próxima vez que el renglón asociado vaya<br />

<strong>de</strong> falso a verda<strong>de</strong>ro.<br />

• El bit <strong>de</strong> efectuado DN (bit 13) se establece cuando el mensaje se transmite<br />

con éxito. El bit DN se restablece la próxima vez que el renglón asociado vaya<br />

<strong>de</strong> falso a verda<strong>de</strong>ro.<br />

• El bit <strong>de</strong> arranque ST (bit 14) se establece cuando el procesador acusa recibo<br />

<strong>de</strong>l dispositivo receptor. El bit ST se restablece cuando el bit DN, ER o TO se<br />

establece. Recomendamos no intentar controlar este bit. Se presenta a título<br />

informativo únicamente.<br />

• El bit <strong>de</strong> habilitación EN (bit 15) se establece cuando las condiciones <strong>de</strong><br />

renglón se hacen verda<strong>de</strong>ras y la instrucción se ejecuta. Permanece establecido<br />

hasta que la transmisión <strong>de</strong> mensaje se haya completado y el renglón se haga<br />

falso.<br />

• El bit <strong>de</strong> espera <strong>de</strong> espacio en la cola WQ (Word 7, bit 0) se establece<br />

cuando no hay espacio en la cola activa para escribir o leer datos. Este bit se<br />

pone a cero cuando hay espacio disponible en al cola activa. Recomendamos<br />

no intentar controlar este bit. Se presenta a título informativo únicamente.<br />

Nota Cuando el bit WQ se establece, o cuando sólo se establece el bit EN, y usted usa<br />

una instrucción <strong>de</strong> escritura MSG, sus datos <strong>de</strong> fuente no tienen búfer. Si su<br />

aplicación requiere datos con búfer (o “fotografía”), espere hasta que el bit EW se<br />

establezca antes <strong>de</strong> sobrescribir sus datos <strong>de</strong> fuente.<br />

• EN = 1 y EW = 1 cuando MSG entra en el búfer<br />

• EN = 1 cuando MSG entra en cola<br />

• WQ = 1 cuando la cola (que retiene 10 MSG) está llena:<br />

búfer – retiene 4 mensajes con los datos<br />

cola – almacena el puntero (lista <strong>de</strong> espera)<br />

Nota Si su programa contiene cuatro <strong>instrucciones</strong> <strong>de</strong> mensaje con el bit <strong>de</strong> operación<br />

continua (CO) establecido, la instrucción <strong>de</strong> mensaje <strong>de</strong> la rutina <strong>de</strong> fallo no se<br />

ejecutará.<br />

8–23


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

8–24<br />

La cantidad <strong>de</strong> datos transferidos por una instrucción MSG es <strong>de</strong>terminada por el<br />

tamaño <strong>de</strong>l tipo <strong>de</strong> datos <strong>de</strong> <strong>de</strong>stino. El límite es 206 bytes <strong>de</strong> datos. Si una lectura<br />

se usa, entonces el tipo <strong>de</strong> datos en el procesador <strong>de</strong>termina el número <strong>de</strong> elementos.<br />

Si una escritura se usa, entonces el tipo <strong>de</strong> datos en el dispositivo remoto <strong>de</strong>termina<br />

el número <strong>de</strong> elementos. Por ejemplo, si una lectura <strong>de</strong> contadores <strong>de</strong>s<strong>de</strong> un<br />

dispositivo remoto se efectúa y el <strong>de</strong>stino en el procesador es un archivo <strong>de</strong> entero,<br />

entonces el número máximo <strong>de</strong> elementos que se pue<strong>de</strong>n solicitar es 103. Los datos<br />

provienen <strong>de</strong> las 103 primeras palabras <strong>de</strong>l archivo <strong>de</strong> temporizador remoto.<br />

Configuraciones <strong>de</strong>l bloque <strong>de</strong> control<br />

La configuración <strong>de</strong>l bloque <strong>de</strong> control se muestra abajo si selecciona un <strong>500</strong>CPU o<br />

un PLC-5 como el dispositivo receptor:<br />

Lectura o escritura, local o remota a un <strong>500</strong>CPU o PLC-5<br />

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00<br />

EN ST DN ER CO EW NR TO Error Co<strong>de</strong><br />

No<strong>de</strong> Number<br />

Reserved for length in words<br />

File Number<br />

File Type (O, I, S, B, T, C, R, N, F, St, A)<br />

Element Number<br />

Subelement Number<br />

Reserved (Internal Messaging Bits)<br />

Message Timer Preset<br />

Message Timer Scaled Zero<br />

Message Timer Accumulator<br />

Reserved (Internal use only)<br />

Reserved (Internal use only) 12<br />

WQ<br />

Pal.<br />

0<br />

1<br />

2<br />

Reserved (Internal use only) 13<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11


Instrucciones <strong>de</strong> comunicación<br />

La configuración <strong>de</strong>l bloque <strong>de</strong> control se muestra abajo si selecciona un 485 CIF<br />

como el dispositivo receptor:<br />

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00<br />

EN ST DN ER CO EW NR TO Error Co<strong>de</strong><br />

No<strong>de</strong> Number<br />

Lectura o escritura, local o remota a un 485CIF<br />

Reserved for length in words<br />

Offset in Words<br />

Not Used<br />

Not Used<br />

Not Used<br />

Reserved (Internal Messaging Bits)<br />

Message Timer Preset<br />

Message Timer Scaled Zero<br />

Message Timer Accumulator<br />

Reserved (Internal use only)<br />

Reserved (Internal use only) 12<br />

Reserved (Internal use only)<br />

13<br />

WQ<br />

Pal.<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

8–25


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Diagrama <strong>de</strong> temporización para una instrucción exitosa<br />

<strong>de</strong>l <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04<br />

8–26<br />

La sección siguiente <strong>de</strong>scribe el diagrama <strong>de</strong> temporización para una instrucción<br />

MSG <strong>de</strong>l <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04.<br />

EN<br />

EW<br />

ST<br />

El renglón se<br />

hace verda<strong>de</strong>ro<br />

1<br />

0<br />

1<br />

0<br />

1<br />

0<br />

1<br />

DN<br />

0<br />

1<br />

ER 0<br />

1<br />

NR 0<br />

1<br />

TO 0<br />

1<br />

WQ 0<br />

<br />

El nodo receptor<br />

recibe el paquete<br />

El nodo receptor procesador<br />

el paquete exitosamente y<br />

retorna los datos (lectura) o<br />

escribe los datos (éxito) <br />

1. Cuando el renglón MSG se hace verda<strong>de</strong>ro y el MSG es escaneado, si hay<br />

espacio en cualquiera <strong>de</strong> los cuatro búferes MSG activos, los bits EN y EW es<br />

establecen. Si esta fuera una instrucción <strong>de</strong> escritura MSG, los datos <strong>de</strong> fuente<br />

sería transferidos al búfer MSG en este momento. Si no hay espacio en los<br />

cuatro búferes MSG, pero hay disponible una posición en la cola MSG <strong>de</strong> 10<br />

posiciones, sólo el bit EN se establece. La cola MSG <strong>de</strong> 10 posiciones trata los<br />

datos primeros en llegar y así permite al procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04<br />

recordar el or<strong>de</strong>n en que las <strong>instrucciones</strong> MSG se habilitaron. Anote que el<br />

programa no tiene acceso a la cola MSG <strong>de</strong> <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04.<br />

Si no hay espacio en ninguno <strong>de</strong> los cuatro búferes MSG ni en la cola MSG <strong>de</strong><br />

10 posiciones, sólo el bit WQ se establece. Observe que cuando el bit WQ se<br />

establece, la instrucción MSG se <strong>de</strong>be volver a escanear más a<strong>de</strong>lante cuando<br />

haya espacio en los cuatro búferes MSG o la cola MSG <strong>de</strong> 10 posiciones.


Instrucciones <strong>de</strong> comunicación<br />

Una vez establecido el bit EN, permanece establecido hasta que el proceso<br />

entero MSG se haya finalizado y el bit DN, ER o TO se establezca. El valor <strong>de</strong>l<br />

límite <strong>de</strong> tiempo sobrepasado MSG comienza a temporizar cuando el bit EN<br />

se establece. Si el período <strong>de</strong>l límite <strong>de</strong> tiempo sobrepasado vence antes <strong>de</strong> que<br />

la instrucción MSG finalice su función, el bit ER se establece y un código se<br />

coloca en el bloque MSG para informarle <strong>de</strong>l error <strong>de</strong>l límite <strong>de</strong> tiempo<br />

sobrepasado.<br />

Si <strong>de</strong>ci<strong>de</strong> establecer el bit CO, su instrucción MSG residirá <strong>de</strong> manera<br />

permanente en uno <strong>de</strong> los cuatro búferes MSG activos. La instrucción MSG<br />

continuará volviendo a transmitir sus datos cada vez que el bit DN o ER se<br />

establece. Si esta fuera una instrucción <strong>de</strong> escritura MSG, sus datos <strong>de</strong> fuente se<br />

actualizarían durante cada ciclo MSG.<br />

2. Al próximo final <strong>de</strong> escán o SVC, el procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04<br />

<strong>de</strong>termina si <strong>de</strong>be examinar la cola MSG en busca <strong>de</strong> una tarea. El procesador<br />

toma su <strong>de</strong>cisión según en el estado <strong>de</strong> los bits S:2/15, S:33/7, S:33/5, S:33/6,<br />

solicitu<strong>de</strong>s <strong>de</strong> comunicación <strong>de</strong> la red <strong>de</strong>s<strong>de</strong> otros nodos y si hay <strong>instrucciones</strong><br />

MG anteriores que ya están en progreso. Si el procesador <strong>SLC</strong> 5/03 <strong>de</strong>termina<br />

que no <strong>de</strong>be acce<strong>de</strong>r a la cola, la instrucción MSG permanece tal como era.<br />

(Los bits EN y EW permanecen establecidos o sólo el bit EN se establece, o <strong>de</strong><br />

lo contrario sólo el bit WQ se establece hasta el próximo final <strong>de</strong> escán o SVC.<br />

Si solamente el bit WQ se establece, la instrucción MSG se <strong>de</strong>be volver a<br />

escanear.)<br />

Si el procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 <strong>de</strong>termina que hay una “tarea <strong>de</strong><br />

<strong>de</strong>sempeñar”, <strong>de</strong>scargar las entradas <strong>de</strong> la cola MSG en los búferes MSG hasta<br />

que todos los cuatro búferes estén llenos. Cada búfer MSG contiene un paquete<br />

<strong>de</strong> red válido. Si un paquete no se pue<strong>de</strong> construir exitosamente <strong>de</strong> la cola<br />

MSG, el bit ER se establece y un código se coloca en el bloque MSG para<br />

informarle <strong>de</strong> un error. Cuando una instrucción MSG se carga en un búfer<br />

MSG, los bits EN y EW se establecen.<br />

Luego el procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 sale al final <strong>de</strong> escán o la porción<br />

SVC <strong>de</strong>l escán. La función <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong>l procesador envía los<br />

paquetes a los nodos receptores que especificó en su instrucción MSG. Según el<br />

estado <strong>de</strong> los bits S:2/14, S:33/7, S:33/5 y S:33/6, pue<strong>de</strong> tener hasta cuatro<br />

<strong>instrucciones</strong> MSG activas en todo momento.<br />

3. Si el nodo receptor recibe exitosamente el paquete, envía un ACK (un acuso <strong>de</strong><br />

recibo). El ACK causa que el procesador ponga a cero el bit EW y establezca el<br />

bit ST. El nodo receptor todavía no ha examinado el paquete para <strong>de</strong>terminar si<br />

entien<strong>de</strong> su solicitud. Observe que el nodo receptor no tiene que respon<strong>de</strong>r<br />

<strong>de</strong>ntro <strong>de</strong> un plazo <strong>de</strong> tiempo <strong>de</strong>terminado.<br />

Nota Si el nodo receptor está con fallo o <strong>de</strong>sconecta y vuelve a conectar la<br />

alimentación eléctrica durante este plazo <strong>de</strong> tiempo <strong>de</strong> una transacción MSG,<br />

nunca recibirá una respuesta. Es por eso que recomendamos el uso <strong>de</strong>l valor<br />

<strong>de</strong>l límite <strong>de</strong> tiempo sobrepasado MSG en su instrucción MSG.<br />

8–27


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

8–28<br />

El paso 4 no se muestra en el diagrama <strong>de</strong> temporización.<br />

4. Si no recibe un ACK, el paso 3 no ocurre. Un NAK (ningún acuso <strong>de</strong> recibo) se<br />

recibe en su lugar. Cuando esto ocurre, el bit ST permanece puesto a cero. Un<br />

NAK indica que:<br />

• el nodo receptor no existe,<br />

• no respon<strong>de</strong>,<br />

• está <strong>de</strong>masiado ocupado o<br />

• recibe un paquete DH-485 alterado.<br />

Cuando un NAK ocurre, el bit EW se pone a cero y el bit NR se establece para<br />

un escán. La próxima vez que la instrucción MSG es escaneada, el bit ER se<br />

establece y el bit NR se pone a cero. Esto indica que la instrucción MSG está<br />

con fallo. Anote que si el nodo receptor está <strong>de</strong>masiado ocupado, el bit ER no<br />

se establece. En cambio, la instrucción MSG vuelve a hacer cola para la<br />

retransmisión.<br />

5. Después <strong>de</strong>l recibo exitoso <strong>de</strong>l paquete, el nodo receptor envía un paquete <strong>de</strong><br />

respuesta. El paquete <strong>de</strong> respuesta contendrá una <strong>de</strong> las respuestas siguientes:<br />

• He realizado exitosamente su solicitud <strong>de</strong> escritura.<br />

• He realizado exitosamente su solicitud <strong>de</strong> lectura y le presento aquí los<br />

datos.<br />

• No he realizado su solicitud; tiene un error.<br />

Al próximo final <strong>de</strong> escán o SVC, <strong>de</strong>spués <strong>de</strong> la respuesta <strong>de</strong>l nodo receptor, el<br />

procesador <strong>SLC</strong> 5/02 examina el paquete DH-485 <strong>de</strong>l dispositivo receptor. Si la<br />

respuesta contiene “He realizado exitosamente su solicitud <strong>de</strong> escritura”, el bit<br />

DN se establece y el bit ST se pone a cero. La función <strong>de</strong> la instrucción MSG<br />

ha sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la<br />

próxima vez que la instrucción MSG es escaneada.<br />

Si la respuesta contiene “He realizado exitosamente su solicitud <strong>de</strong> lectura y le<br />

presento aquí los datos”, los datos se escriben a la tabla <strong>de</strong> datos, el bit DN se<br />

establece y el bit ST se pone a cero. La función <strong>de</strong> la instrucción MSG ha sido<br />

completada. Si el renglón MSG es falso, el bit EN se pone a cero la próxima<br />

vez que la instrucción MSG es escaneada.<br />

Si la respuesta contiene “No he realizado su solicitud; tiene un error”, el bit ER<br />

se establece y el bit ST se pone a cero. La función <strong>de</strong> la instrucción MSG ha<br />

sido completada. Si el renglón MSG es falso, el bit EN se pone a cero la<br />

próxima vez que la instrucción MSG es escaneada.


Instrucciones <strong>de</strong> comunicación<br />

Los cuatro búferes son compartidos entre el canal 0 y el canal 1 para los<br />

procesadores <strong>SLC</strong> 5/03 OS300. Para los procesadores <strong>SLC</strong> 5/03 OS301, OS302 y<br />

<strong>SLC</strong> 5/04 OS400, OS401, hay cuatro búferes MSG por canal. Cada canal tiene su<br />

propia cola MSG <strong>de</strong> diez posiciones. El procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 <strong>de</strong>scarga<br />

las dos colas MSG en los búferes MSG equitativamente al final <strong>de</strong> escán o SVC.<br />

Esto permite que ambos canales tengan el mismo acceso a las comunicaciones. Si<br />

usted programa una instrucción SVC que es configurada para dar servicio solamente<br />

a un canal, entonces dicho canal tendrá su cola MSG <strong>de</strong>scargada en los búferes<br />

MSG (hasta el próximo final <strong>de</strong> escán o SVC cuando ambos canales se volverán a<br />

<strong>de</strong>scargar equitativamente).<br />

8–29


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Códigos <strong>de</strong> error <strong>de</strong> la instrucción MSG<br />

8–30<br />

Cuando una condición <strong>de</strong> error ocurre, el código <strong>de</strong> error y su <strong>de</strong>scripción se indican<br />

en la pantalla.<br />

Código <strong>de</strong><br />

error<br />

Descripción <strong>de</strong> la condición <strong>de</strong> error<br />

El nodo receptor está ocupado. La instrucción MSG se volverá a cargar<br />

02H automáticamente. Si hay otros mensajes que esperan, el mensaje se coloca en la<br />

parte inferior <strong>de</strong> la pila.<br />

03H El nodo receptor no pue<strong>de</strong> respon<strong>de</strong>r porque el mensaje es <strong>de</strong>masiado gran<strong>de</strong>.<br />

El nodo receptor no pue<strong>de</strong> respon<strong>de</strong>r porque no entien<strong>de</strong> los parámetros <strong>de</strong><br />

04H comando O BIEN es posible que el bloque <strong>de</strong> control haya sido modificado<br />

inadvertidamente.<br />

05H El procesador local está fuera <strong>de</strong> línea (posible situación <strong>de</strong> nodo duplicado).<br />

06H El nodo receptor no pue<strong>de</strong> respon<strong>de</strong>r porque la función solicitada no está disponible.<br />

07H El nodo receptor no respon<strong>de</strong>.<br />

08H El nodo receptor no pue<strong>de</strong> respon<strong>de</strong>r.<br />

09H La conexión <strong>de</strong>l mó<strong>de</strong>m local ha sido perdida.<br />

0AH El búfer no está disponible para recibir la respuesta SRD.<br />

OBH El nodo receptor no acepta este tipo <strong>de</strong> instrucción MSG.<br />

0CH<br />

Recibió un restablecimiento <strong>de</strong>l vínculo principal (una fuente posible es <strong>de</strong>l maestro<br />

DF1).<br />

10H<br />

El nodo receptor no pue<strong>de</strong> respon<strong>de</strong>r a causa <strong>de</strong> parámetros <strong>de</strong> comando<br />

incorrectos o comando sin capacidad.<br />

11H El archivo local tiene protección <strong>de</strong> archivo constante.<br />

12H Un error <strong>de</strong>l protocolo <strong>de</strong> configuración <strong>de</strong> canal local existe.<br />

13H Error <strong>de</strong> configuración MSG local en los parámetros MSG remotos.<br />

14H El variador <strong>de</strong> comunicación local no es compatible con la instrucción MSG.<br />

15H Un error <strong>de</strong>l parámetro <strong>de</strong> configuración <strong>de</strong> canal local existe.<br />

16H<br />

La dirección receptora o <strong>de</strong>l puente local es mayor que la dirección máxima <strong>de</strong><br />

nodo.<br />

17H El servicio local no es compatible.<br />

18H La difusión (dirección <strong>de</strong> nodo 255) no es compatible.<br />

37H El mensaje sobrepasó el límite <strong>de</strong> tiempo en un procesador local.<br />

38H El mensaje inhabilitó la respuesta <strong>de</strong>l vínculo pendiente.<br />

50H El nodo receptor agotó su memoria.<br />

60H El nodo receptor no pue<strong>de</strong> respon<strong>de</strong>r porque el archivo está protegido.<br />

E7H<br />

El nodo receptor no pue<strong>de</strong> respon<strong>de</strong>r porque la longitud solicitada es <strong>de</strong>masiado<br />

larga.<br />

EBH El nodo receptor no pue<strong>de</strong> respon<strong>de</strong>r porque el nodo receptor ha negado el acceso.


Código <strong>de</strong><br />

error<br />

Descripción <strong>de</strong> la condición <strong>de</strong> error<br />

Instrucciones <strong>de</strong> comunicación<br />

ECH<br />

El nodo receptor no pue<strong>de</strong> respon<strong>de</strong>r porque la función solicitada no está disponible<br />

actualmente.<br />

F1H El procesador local <strong>de</strong>tecta un tipo ilegal <strong>de</strong> archivo receptor.<br />

FAH<br />

El nodo receptor no pue<strong>de</strong> respon<strong>de</strong>r porque el otro nodo es el propietario <strong>de</strong>l<br />

archivo (tiene el único acceso al archivo).<br />

FBH<br />

El nodo receptor no pue<strong>de</strong> respon<strong>de</strong>r porque el otro nodo es el propietario <strong>de</strong>l<br />

programa (tiene el único acceso a todos los archivos).<br />

FFH El canal <strong>de</strong> comunicación local se ha <strong>de</strong>sactivado.<br />

Nota Para los usuarios <strong>de</strong>l juego <strong>de</strong> protocolo y comando 177-6.5.16 DH, DH+,<br />

DH-485:<br />

El código <strong>de</strong> error MSG representa el campo STS <strong>de</strong> la respuesta a su instrucción<br />

MSG. Los códigos E0 – EF representan los códigos EXT STS 0 – F. Los códigos<br />

F0 – FC representan los códigos EXT STS 10 – 1C.<br />

8–31


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplos <strong>de</strong> configuraciones usando la instrucción <strong>de</strong><br />

mensaje<br />

8–32<br />

La instrucción siguiente proporciona ejemplos para enviar comandos entre los<br />

dispositivos compatibles con DH-485 y DF1 <strong>de</strong> dúplex completo y los dispositivos<br />

compatibles con DH+.<br />

Esta sección proporciona una variedad <strong>de</strong> ejemplos <strong>de</strong> aplicación usando la<br />

instrucción MSG.<br />

• Lógica <strong>de</strong> escalera usando:<br />

– la operación continua <strong>de</strong> la instrucción <strong>de</strong> mensaje<br />

– la instrucción <strong>de</strong> mensaje <strong>de</strong> regeneración automática<br />

– el bit <strong>de</strong> límite <strong>de</strong> tiempo sobrepasado para inhabilitar una instrucción<br />

<strong>de</strong> mensaje activa<br />

– la transmisión en serie<br />

• Mensajes locales vía:<br />

– la lectura local <strong>de</strong> un <strong>500</strong>CPU<br />

– la lectura local <strong>de</strong> un 485CIF<br />

– la lectura local <strong>de</strong> un PLC-5<br />

• Mensajes remotos usando:<br />

– un sólo módulo <strong>de</strong> interface <strong>de</strong> comunicación 1785-KA5<br />

– dos módulos <strong>de</strong> comunicación 1785-KA<br />

– los procesadores <strong>SLC</strong> con transferencia al canal 0<br />

– un integrador <strong>de</strong> pirámi<strong>de</strong><br />

– dos módulos <strong>de</strong> interface <strong>de</strong> comunicación 1785-KA5<br />

– “saltos” múltiples usando dos módulos <strong>de</strong> interface <strong>de</strong> comunicación<br />

1785-KA5


Uso <strong>de</strong> la lógica <strong>de</strong> escalera<br />

Ejemplo 1<br />

Instrucciones <strong>de</strong> comunicación<br />

Hay dos métodos para configurar una instrucción <strong>de</strong> mensaje que lee o escribe datos<br />

hacia/<strong>de</strong>s<strong>de</strong> su nodo receptor <strong>de</strong> manera continua. El método más indicado y más<br />

eficiente es establecer el bit continuo (CO) <strong>de</strong> la instrucción <strong>de</strong> mensaje. Con este<br />

bit establecido, el mensaje resi<strong>de</strong> permanentemente en uno <strong>de</strong> los cuatro búferes <strong>de</strong><br />

mensaje <strong>de</strong>l procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 y solicita/envía datos al nodo receptor<br />

continuamente. La única restricción <strong>de</strong> este método es que usted pue<strong>de</strong> tener<br />

solamente hasta cuatro <strong>instrucciones</strong> <strong>de</strong> mensajes continuamente configuradas. Si<br />

tiene <strong>instrucciones</strong> <strong>de</strong> mensaje configuradas <strong>de</strong> esta manera, otras <strong>instrucciones</strong> <strong>de</strong><br />

mensaje en su programa <strong>de</strong> escalera tomarán más tiempo para completarse porque<br />

en efecto ha reducido el número <strong>de</strong> búferes <strong>de</strong> mensaje disponibles.<br />

El segundo método se llama una instrucción <strong>de</strong> mensaje <strong>de</strong> regeneración automática.<br />

El efecto es semejante al establecer el bit continuo (CO) don<strong>de</strong> la instrucción <strong>de</strong><br />

mensaje lee o escribe datos hacia/<strong>de</strong>s<strong>de</strong> su nodo receptor <strong>de</strong> manera continua. Sin<br />

embargo, en vez <strong>de</strong> residir permanentemente en un búfer <strong>de</strong> mensaje, el mensaje <strong>de</strong><br />

regeneración automática se elimina <strong>de</strong> su búfer <strong>de</strong> mensaje. Este método es muy<br />

útil si tiene más <strong>de</strong> cuatro mensajes que necesita operar continuamente o si <strong>de</strong>sea<br />

que estos mensajes configurados continuamente compartan espacio <strong>de</strong> búfer con<br />

otras <strong>instrucciones</strong> <strong>de</strong> mensaje en su programa. Aunque este método tiene el mismo<br />

efecto que el establecimiento <strong>de</strong>l bit CO, anote que será más lento que un mensaje<br />

continuo verda<strong>de</strong>ro (con el bit CO establecido).<br />

8–33


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

8–34<br />

El ejemplo <strong>de</strong> aplicación 1 muestra cómo pue<strong>de</strong> implementar la operación continua<br />

<strong>de</strong> una instrucción <strong>de</strong> mensaje. Este ejemplo usa un valor <strong>de</strong>l límite <strong>de</strong> tiempo<br />

sobrepasado <strong>de</strong> mensaje interno que no sea cero.<br />

Renglón 2:0<br />

Esta es la manera correcta <strong>de</strong> programar un mensaje continuo en un procesador<br />

5/03 ó 5/04. Este mensaje residirá permanentemente en uno <strong>de</strong> los 4 búferes <strong>de</strong><br />

transmisión <strong>de</strong> mensaje. Pue<strong>de</strong> activar o <strong>de</strong>sactivar el mensaje continuo<br />

estableciendo/restableciendo B3/0. Sin embargo, <strong>de</strong>be <strong>de</strong>senclavar el bit <strong>de</strong><br />

HABILITACION <strong>de</strong> mensaje cada vez que active el bit <strong>de</strong> MENSAJE CONTINUO – esto<br />

permite que la instrucción se vuelva a cargar en un búfer <strong>de</strong> mensaje.<br />

| +MSG––––––––––––––––––––+ |<br />

|–––––––––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–|<br />

| |Type PEER–TO–PEER+–(DN) |<br />

| |Read/Write READ+–(ER) |<br />

| |Target Device <strong>500</strong>CPU| |<br />

| |Local/Remote LOCAL| |<br />

| |Control Block N7:0| |<br />

| |Control Block Length 14| |<br />

| +–––––––––––––––––––––––+ |<br />

Renglón 2:1<br />

| Bit |<br />

| MSG |<br />

| continuo |<br />

| B3 N7:0 <br />

N7:0 |<br />

|––] [––––––––––––––––––––––––––––––––––––––––––––––––+––––––––––––( ––]/[–––<br />

)–––––+–|<br />

| 0 10<br />

| 11 | |<br />

| | Bit MSG | |<br />

| | continuo | |<br />

| | B3 N7:0 | |<br />

| |––[OSR]–––––(U)–––––+ |<br />

| | 1 | 15 |<br />

| | | |<br />

| | N7:0 | |<br />

| +––] [ –––| |<br />

| 8 |<br />

Renglón 2:2<br />

| |<br />

|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|<br />

| |<br />

<br />

Esta instrucción se requiere para los procesadores <strong>SLC</strong> 5/03 OS300, OS301 y <strong>SLC</strong> 5/04 OS400.


Ejemplo 2<br />

Instrucciones <strong>de</strong> comunicación<br />

Este ejemplo muestra dos <strong>instrucciones</strong> <strong>de</strong> mensaje configuradas para funcionar<br />

continuamente por el método <strong>de</strong> regeneración automática. Este ejemplo usa un<br />

valor <strong>de</strong>l límite <strong>de</strong> tiempo sobrepasado <strong>de</strong> mensaje interno distinto <strong>de</strong> cero.<br />

Renglón 2:0<br />

Este es otro método para programa un mensaje que lee o escribe su <strong>de</strong>stino <strong>de</strong><br />

manera continua. Denominamos este método un método <strong>de</strong> regeneración automática<br />

porque en vez <strong>de</strong> usar el bit CONTINUO (CO), volvemos a iniciar el mensaje<br />

manualmente cuando los bits <strong>de</strong> EFECTUADO o ERROR se establecen. Use este método<br />

si tiene más <strong>de</strong> 4 mensajes que necesite operar a la vez <strong>de</strong> manera continua.<br />

| Bit activado/ Mensaje 1 |<br />

| <strong>de</strong>sactivado <strong>de</strong> mensaje 1 |<br />

| B3 +MSG––––––––––––––––––––+ |<br />

|––––] [––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–|<br />

| 0 |Type PEER–TO–PEER+–(DN) |<br />

| |Read/Write READ+–(ER) |<br />

| |Target Device <strong>500</strong>CPU| |<br />

| |Local/Remote LOCAL| |<br />

| |Control Block N7:0| |<br />

| |Control Block Length 14| |<br />

| +–––––––––––––––––––––––+ |<br />

Renglón 2:1<br />

| Bit <strong>de</strong> EFECTUADO Bit <strong>de</strong> HABILITACION |<br />

| <strong>de</strong> mensaje 1 <strong>de</strong> mensaje 1 |<br />

| N7:0 N7:0 <br />

N7:0 |<br />

|–+––––] [–––––+–––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|<br />

––]/[–––<br />

| | 13 | 10<br />

15 |<br />

| | Bit ERROR | |<br />

| | mensaje 1 | |<br />

| | N7:0 | |<br />

| +––––] [–––––+ |<br />

| 12 |<br />

Renglón 2:2<br />

| Bit activado/ Mensaje 2 |<br />

| <strong>de</strong>sactivado <strong>de</strong> mensaje 2 |<br />

| B3 +MSG––––––––––––––––––––+ |<br />

|––––] [––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–|<br />

| 1 |Type PEER–TO–PEER+–(DN) |<br />

| |Read/Write READ+–(ER) |<br />

| |Target Device <strong>500</strong>CPU| |<br />

| |Local/Remote LOCAL| |<br />

| |Control Block N7:40| |<br />

| |Control Block Length 14| |<br />

| +–––––––––––––––––––––––+ |<br />

8–35


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Renglón 2:3<br />

| Bit <strong>de</strong> EFECTUADO Bit <strong>de</strong> HABILITACION |<br />

| <strong>de</strong> mensaje 2 <strong>de</strong> mensaje 2 |<br />

| N7:40 N7:40 <br />

N7:40 |<br />

|–+––––] [–––––+–––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|<br />

––]/[–––<br />

| | 13 | 10<br />

15 |<br />

| | Bit ERROR | |<br />

| | mensaje 2 | |<br />

| | N7:40 | |<br />

| +––––] [–––––+ |<br />

| 12 |<br />

Renglón 2:4<br />

| |<br />

|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|<br />

| |<br />

Esta instrucción se requiere para los procesadores <strong>SLC</strong> 5/03 OS300, OS301 y <strong>SLC</strong> 5/04 OS400.<br />

8–36


Ejemplo 3<br />

Instrucciones <strong>de</strong> comunicación<br />

El ejemplo <strong>de</strong> aplicación 3 le muestra cómo usar el bit <strong>de</strong> límite <strong>de</strong> tiempo<br />

sobrepasado para inhabilitar una instrucción <strong>de</strong> mensaje activa. En este ejemplo,<br />

una salida se activa <strong>de</strong>spués <strong>de</strong> cinco intentos sin éxito (<strong>de</strong> 2 segundos <strong>de</strong> duración)<br />

<strong>de</strong> transmitir un mensaje. Este ejemplo usa un valor <strong>de</strong>l límite <strong>de</strong> tiempo<br />

sobrepasado <strong>de</strong> mensaje interno distinto <strong>de</strong> cero.<br />

Renglón 2:0<br />

En el programa, una vez establecido B3/1, la instrucción <strong>de</strong> mensaje intenta 5<br />

veces completarse exitosamente. Si se completa en menos <strong>de</strong> 5 intentos,<br />

<strong>de</strong>senclavará B3/1. Si, <strong>de</strong>spués <strong>de</strong> 5 intentos, el mensaje todavía no se ha<br />

completado, una salida se activa y B3/1 se <strong>de</strong>senclava. Para volver a intentar<br />

este mensaje, sólo establezca B3/1 a 1.<br />

| Bit <strong>de</strong> |<br />

| disparo MSG |<br />

| <strong>de</strong>l usuario |<br />

| B3 +MSG––––––––––––––––––––+ |<br />

|––––] [–––––––––––––––+––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–+–|<br />

| 1 | |Type PEER–TO–PEER+–(DN) | |<br />

| | |Read/Write READ+–(ER) | |<br />

| | |Target Device <strong>500</strong>CPU| | |<br />

| | |Local/Remote LOCAL| | |<br />

| | |Control Block N7:0| | |<br />

| | |Control Block Length 14| | |<br />

| | +–––––––––––––––––––––––+ | |<br />

| | B3 C5:0 | |<br />

| +––[OSR]––+––(RES)–––––+––––––––––––––––––––––––––––––+ |<br />

| 0 | | |<br />

| | El mensaje | |<br />

| | no se | |<br />

| | completó | |<br />

| | O:3 | |<br />

| +––––(U)–––––+ |<br />

| 0 |<br />

Renglón 2:1<br />

| Bit <strong>de</strong> ERROR |<br />

| <strong>de</strong> mensaje |<br />

| N7:0 N7:0 <br />

+CTU–––––––––––––––+ |<br />

|––––] [–––––––––––––––––––––––––––––––––––––––+–+COUNT ––]/[–––<br />

UP +–(CU)–+–|<br />

| 12 10<br />

| |Counter C5:0+–(DN) | |<br />

| | |Preset 5| | |<br />

| | |Accum 5| | |<br />

| | +––––––––––––––––––+ | |<br />

| | Bit <strong>de</strong> HABILITACION | |<br />

| | <strong>de</strong> mensaje | |<br />

| | N7:0 | |<br />

| +––––(U)––––––––––––––––––––+ |<br />

| 15 |<br />

8–37


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Renglón 2:2<br />

| El mensaje |<br />

| no se |<br />

| completó |<br />

| C5:0 O:3 |<br />

|––] [––––––––––––––––––––––––––––––––––––––––––––––––––––––––––+––––(L)–––––+–|<br />

| DN | 0 | |<br />

| | Bit <strong>de</strong> | |<br />

| | disparo MSG| |<br />

| | <strong>de</strong>l usuario| |<br />

| | B3 | |<br />

| +––––(U)–––––+ |<br />

| 1 |<br />

Renglón 2:3<br />

| Bit <strong>de</strong> | Bit <strong>de</strong> |<br />

| EFECTUADO | disparo MSG |<br />

| <strong>de</strong> mensaje| <strong>de</strong>l usuario |<br />

| N7:0 B3 |<br />

|––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|<br />

| 13 1 |<br />

Renglón 2:4<br />

| |<br />

|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|<br />

| |<br />

<br />

Esta instrucción se requiere para los procesadores <strong>SLC</strong> 5/03 OS300, OS301 y <strong>SLC</strong> 5/04 OS400.<br />

8–38


Ejemplo 4<br />

Instrucciones <strong>de</strong> comunicación<br />

El ejemplo <strong>de</strong> aplicación 4 le muestra cómo vincular las <strong>instrucciones</strong> <strong>de</strong> mensaje<br />

para transmitir en serie, una tras otra. En este ejemplo, una escritura MSG es<br />

seguida por una lectura MSG, lo que provoca la transmisión en serie. Este ejemplo<br />

usa un valor <strong>de</strong>l límite <strong>de</strong> tiempo sobrepasado <strong>de</strong> mensaje interno distinto <strong>de</strong> cero.<br />

Renglón 2:0<br />

Este programa <strong>de</strong>muestra cómo enca<strong>de</strong>nar las <strong>instrucciones</strong> <strong>de</strong> mensaje, es <strong>de</strong>cir,<br />

habilitar un segundo mensaje una vez completado con éxito el primero. Este<br />

ejemplo intenta continuamente escribir datos a un nodo <strong>de</strong> red y luego leer dados<br />

<strong>de</strong> un nodo <strong>de</strong> red.<br />

Este renglón habilita que el mensaje <strong>de</strong> ESCRITURA inicie cuando vaya <strong>de</strong> PROGRAMA<br />

a EJECUCION.<br />

| Bit <strong>de</strong> | Bit <strong>de</strong> HABILITACION |<br />

| primer paso | <strong>de</strong> escritura <strong>de</strong> mens.|<br />

| S:1 N7:0 |<br />

|––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|<br />

| 15 15 |<br />

Renglón 2:1<br />

| +MSG––––––––––––––––––––+ |<br />

|–––––––––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–|<br />

| |Type PEER–TO–PEER+–(DN) |<br />

| |Read/Write WRITE+–(ER) |<br />

| |Target Device <strong>500</strong>CPU| |<br />

| |Local/Remote LOCAL| |<br />

| |Control Block N7:0| |<br />

| |Control Block Length 14| |<br />

| +–––––––––––––––––––––––+ |<br />

Renglón 2:2<br />

Si el mensaje <strong>de</strong> ESCRITURA tiene error, siga ensayando el mensaje <strong>de</strong> ESCRITURA<br />

hasta que se complete con éxito. No ensaye el mensaje <strong>de</strong> LECTURA hasta que haya<br />

una ESCRITURA exitosa.<br />

| Bit ERROR | Bit <strong>de</strong> HABILITACION |<br />

| escr. mens. | <strong>de</strong> escritura <strong>de</strong> mens.|<br />

| N7:0 N7:0 <br />

N7:0 |<br />

|––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|<br />

––]/[–––<br />

| 12 10<br />

15 |<br />

Renglón 2:3<br />

Una vez completado con éxito el mensaje <strong>de</strong> ESCRITURA, habilite el mensaje <strong>de</strong><br />

LECTURA.<br />

| Bit <strong>de</strong> EFECTUADO |<br />

| <strong>de</strong> escritura <strong>de</strong> mensaje |<br />

| N7:0 +MSG––––––––––––––––––––+ |<br />

|––––] [––––––––––––––––––––––––––––––––––––––––+READ/WRITE MESSAGE +–(EN)–|<br />

| 13 |Type PEER–TO–PEER+–(DN) |<br />

| |Read/Write READ+–(ER) |<br />

| |Target Device <strong>500</strong>CPU| |<br />

| |Local/Remote LOCAL| |<br />

| |Control Block N7:20| |<br />

| |Control Block Length 14| |<br />

| +–––––––––––––––––––––––+ |<br />

8–39


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Renglón 2:4<br />

Si el mensaje <strong>de</strong> LECTURA tiene error, siga ensayando el mensaje <strong>de</strong> LECTURA hasta<br />

que se haya completado con éxito. No vuelva a ensayar la ESCRITURA hasta que<br />

haya una LECTURA exitosa.<br />

| Bit ERROR | Bit <strong>de</strong> HABILITACION |<br />

| lec. mens.| <strong>de</strong> lectura <strong>de</strong> mensaje |<br />

| N7:20 N7:20 <br />

N7:20 |<br />

|––––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|<br />

––]/[–––<br />

| 12 10<br />

15 |<br />

Renglón 2:5<br />

Una vez que los mensajes <strong>de</strong> ESCRITURA y LECTURA se hayan completado<br />

exitosamente, vuelva a iniciar la secuencia <strong>de</strong> mensaje <strong>de</strong>senclavando el bit <strong>de</strong><br />

habilitación <strong>de</strong>l mensaje <strong>de</strong> ESCRITURA.<br />

| Bit EFEC. |Bit EFEC. | Bit <strong>de</strong> HABILITACION |<br />

| lec. mens.|esc. mens.| <strong>de</strong> escritura <strong>de</strong> mensaje |<br />

| N7:20 N7:0 N7:20 <br />

N7:0 |<br />

|––––] [––––––––] [––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|<br />

––]/[–––<br />

| 13 13 10<br />

15 |<br />

Renglón 2:6<br />

| |<br />

|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|<br />

| |<br />

Esta instrucción se requiere para los procesadores <strong>SLC</strong> 5/03 OS300, OS301 y <strong>SLC</strong> 5/04 OS400.<br />

8–40


Uso <strong>de</strong> mensajes locales<br />

Ejemplo 1 – Lectura local <strong>de</strong> un <strong>500</strong>CPU<br />

Instrucciones <strong>de</strong> comunicación<br />

Type: Peer–to–Peer<br />

Read/Write: READ ignore if timed out: 0 TO<br />

Target Device: <strong>500</strong>CPU to be retried: 0 NR<br />

Local/Remote: Local awaiting execution: 0 EW<br />

Control Block: N10:0 continuous run: 0 CO<br />

Channel: 1 error: 0 ER<br />

Target No<strong>de</strong> (<strong>de</strong>cimal): 2 message done: 0 DN<br />

message transmitting: 0 ST<br />

message enabled: 0 EN<br />

Destination File Addr: N7:0 waiting for queue space: 0 WQ<br />

Target Source File Address: N7:50<br />

Message Length In Elements: 10<br />

Message Timeout (seconds): 5<br />

ERROR CODE: 0 control bit address: N10:0/8<br />

Error Co<strong>de</strong> Desc:<br />

En la pantalla anterior, el procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 lee 10 elementos <strong>de</strong>l<br />

archivo N7 <strong>de</strong>l nodo receptor, a partir <strong>de</strong> la palabra N7:50. Las 10 palabras se<br />

colocan en su archivo <strong>de</strong> entero a partir <strong>de</strong> la palabra N7:0. Si pasan cinco segundos<br />

sin respuesta, el bit <strong>de</strong> error N10:0/12 se establece, lo que indica que la instrucción<br />

ha sobrepasado el límite <strong>de</strong> tiempo. El dispositivo en el nodo 2 entien<strong>de</strong> el<br />

protocolo <strong>de</strong> la familia <strong>de</strong>l procesador <strong>SLC</strong> <strong>500</strong> (<strong>SLC</strong> <strong>500</strong>, <strong>SLC</strong> 5/01, <strong>SLC</strong> 5/02,<br />

<strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04).<br />

Tecla <strong>de</strong> función Descripción<br />

Nodo receptor<br />

Especifica el número <strong>de</strong> nodo <strong>de</strong>l procesador que recibe el mensaje. El<br />

rango válido es 0–31. (Especifica la dirección DH–485.)<br />

Para una lectura (<strong>de</strong>stino), ésta es la dirección en el procesador iniciador<br />

que va a recibir los datos.<br />

Dirección <strong>de</strong> archivo Para una escritura (fuente), ésta es la dirección <strong>de</strong>l procesador iniciador<br />

que va enviar los datos.<br />

Los tipos <strong>de</strong> archivo válidos son S, B, T, C, R, N, I, O, M0, M1, F, ST y A.<br />

Para una lectura (fuente), ésta es la dirección en el procesador receptor<br />

que va a enviar los datos.<br />

Dirección receptora Para una escritura (<strong>de</strong>stino), ésta es la dirección <strong>de</strong>l procesador receptor<br />

que va a recibir los datos.<br />

Los tipos <strong>de</strong> archivo válidos son S, B, T, C, R, N, I, O, M0, M1, F, ST y A.<br />

Define la longitud <strong>de</strong>l mensaje en elementos. Los elementos <strong>de</strong> una<br />

Longitud <strong>de</strong> mensaje palabra se limitan a una longitud máxima <strong>de</strong> 1–103. Los elementos <strong>de</strong><br />

tres palabras se limitan a una longitud máxima <strong>de</strong> 1–37.<br />

8–41


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

8–42<br />

Tecla <strong>de</strong> función Descripción<br />

Límite <strong>de</strong> tiempo<br />

sobrepasado <strong>de</strong>l<br />

mensaje<br />

Canal<br />

Ejemplo 2 – Lectura local <strong>de</strong> un 485CIF<br />

Define la longitud <strong>de</strong>l temporizador <strong>de</strong> mensaje en segundos. Un límite<br />

<strong>de</strong> tiempo sobrepasado <strong>de</strong> 0 segundos significa que no hay temporizador<br />

y que el mensaje esperará in<strong>de</strong>finidamente una respuesta. El rango<br />

válido es 0-255 segundos.<br />

I<strong>de</strong>ntifica el canal físico usado para la comunicación <strong>de</strong> mensaje.<br />

Canales disponibles:<br />

<strong>SLC</strong> 5/03 – (0, RS–232) o (1, DH–485)<br />

<strong>SLC</strong> 5/04 – (0, RS–232) o (1, DH+)<br />

Type: Peer–to–Peer<br />

Read/Write: READ ignore if timed out: 0 TO<br />

Target Device: 485CIF to be retried: 0 NR<br />

Local/Remote: Local awaiting execution: 0 EW<br />

Control Block: N10:0 continuous run: 0 CO<br />

Channel: 1 error: 0 ER<br />

Target No<strong>de</strong> (<strong>de</strong>cimal): 2 message done: 0 DN<br />

message transmitting: 0 ST<br />

message enabled: 0 EN<br />

Destination File Addr: N7:0 waiting for queue space: 0 WQ<br />

Target Offset: 20<br />

Message Length In Elements: 5<br />

Message Timeout (seconds): 15<br />

ERROR CODE: 0 control bit address: N10:0/8<br />

Error Co<strong>de</strong> Desc:<br />

En la ilustración anterior, los procesadores <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 leen cinco<br />

elementos (palabras) <strong>de</strong>l archivo CIF <strong>de</strong>l nodo receptor, a partir <strong>de</strong> la palabra 20 (o<br />

byte 20 para los dispositivos que no sean <strong>SLC</strong> <strong>500</strong>). Los cinco elementos se<br />

colocan en su archivo <strong>de</strong> enteros a partir <strong>de</strong> palabra N7:0. Si 15 segundos pasan sin<br />

respuesta, el bit <strong>de</strong> error N10:0/12 se establece, lo que indica que la instrucción ha<br />

sobrepasado el límite <strong>de</strong> tiempo. El dispositivo en el nodo 2 entien<strong>de</strong> el protocolo<br />

485CIF (emulación <strong>de</strong> PLC-2).<br />

Tecla <strong>de</strong> función Descripción<br />

Nodo receptor<br />

Especifica el número <strong>de</strong> nodo <strong>de</strong>l procesador que recibe el mensaje. El<br />

rango válildo es 0-31.<br />

Para una lectura (<strong>de</strong>stino), ésta es la dirección en el procesador iniciador<br />

que va a recibir los datos.<br />

Dirección <strong>de</strong> archivo Para una escritura (fuente), ésta es la dirección en el procesador<br />

iniciador que va a enviar los datos.<br />

Los tipos <strong>de</strong> archivo válidos son: S, B, T, C, R, N, I, O, M0, M1, F, ST y A<br />

Para una lectura o escritura, éste es el valor offset <strong>de</strong> palabra en el<br />

Offset receptor archivo <strong>de</strong> interface común (offset <strong>de</strong> byte para dispositivos distintos <strong>de</strong><br />

<strong>SLC</strong>).


Tecla <strong>de</strong> función Descripción<br />

Longitud <strong>de</strong> mensaje<br />

Límite <strong>de</strong> tiempo<br />

sobrepasado <strong>de</strong>l<br />

mensaje<br />

Canal<br />

Ejemplo 3 – Lectura local <strong>de</strong> un PLC-5<br />

Instrucciones <strong>de</strong> comunicación<br />

Cuando usa una instrucción <strong>de</strong> mensaje 485CIF, la longitud <strong>de</strong> mensaje<br />

es el número <strong>de</strong> palabras <strong>de</strong> 16 bits. Pue<strong>de</strong> especificar 1 a 103<br />

elementos (palabras <strong>de</strong> información).<br />

Define la longitud <strong>de</strong>l temporizador <strong>de</strong> mensaje en segundos. Un límite<br />

<strong>de</strong> tiempo sobrepasado <strong>de</strong> 0 segundos significa que no hay temporizador<br />

y que el mensaje esperará in<strong>de</strong>finidamente una respuesta. El rango<br />

válido es 0-255 segundos.<br />

I<strong>de</strong>ntifica el canal físico usado para la comunicación <strong>de</strong> mensaje.<br />

Canales disponibles:<br />

<strong>SLC</strong> 5/03 – (0, RS–232) o (1, DH–485)<br />

<strong>SLC</strong> 5/04 – (0, RS–232) o (1, DH+)<br />

Type: Peer–to–Peer<br />

Read/Write: READ ignore if timed out: 0 TO<br />

Target Device: PLC5 to be retried: 0 NR<br />

Local/Remote: Local awaiting execution: 0 EW<br />

Control Block: N10:0 continuous run: 0 CO<br />

Channel: 1 error: 0 ER<br />

Target No<strong>de</strong> (<strong>de</strong>cimal): 2 message done: 0 DN<br />

message transmitting: 0 ST<br />

message enabled: 0 EN<br />

Destination File Addr: N7:0 waiting for queue space: 0 WQ<br />

Target Src/Dst File Address: N7:50<br />

Message Length In Elements: 10<br />

Message Timeout (seconds): 5<br />

ERROR CODE: 0 control bit address: N10:0/8<br />

Error Co<strong>de</strong> Desc:<br />

En la ilustración anterior, el procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 lee 10 elementos <strong>de</strong>l<br />

archivo N7 <strong>de</strong>l nodo receptor 2 a partir <strong>de</strong> la palabra N7:50. Las 10 palabras se<br />

colocan en su archivo <strong>de</strong> entero a partir <strong>de</strong> la palabra N7:0. Si cinco segundos pasan<br />

sin respuestas, el bit <strong>de</strong> error N10:0/12 se establece, lo que indica que la instrucción<br />

ha sobrepasado el límite <strong>de</strong> tiempo. El dispositivo en el nodo 2 entien<strong>de</strong> el<br />

protocolo <strong>de</strong>l procesador PLC-5.<br />

Tecla <strong>de</strong> función Descripción<br />

Especifica el número <strong>de</strong> nodo <strong>de</strong>l procesador que recibe el mensaje. El<br />

Nodo receptor<br />

rango válildo es 0-31. (Especifica la dirección DH-485.)<br />

Para una lectura (<strong>de</strong>stino), ésta es la dirección en el procesador iniciador<br />

que va a recibir los datos.<br />

Dirección <strong>de</strong> archivo Para una escritura (fuente), ésta es la dirección en el procesador<br />

iniciador que va a enviar los datos.<br />

Los tipos <strong>de</strong> archivo válidos son: S, B, T, C, R, N, I, O, F, ST y A.<br />

8–43


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

8–44<br />

Tecla <strong>de</strong> función Descripción<br />

Para una lectura (fuente), ésta es la dirección en el procesador receptor<br />

que va a enviar los datos.<br />

Dirección receptora Para una escritura (<strong>de</strong>stino), ésta es la dirección en el procesador<br />

receptor que va a recibir los datos.<br />

Los tipos <strong>de</strong> archivo válidos son: S, B, T, C, R, N, I, O, F, ST y A.<br />

Longitud <strong>de</strong> mensaje<br />

Límite <strong>de</strong> tiempo<br />

sobrepasado <strong>de</strong>l<br />

mensaje<br />

Canal<br />

Define la longitud <strong>de</strong>l mensaje en elementos. Los elementos <strong>de</strong> una<br />

palabra se limitan a una longitud máxima <strong>de</strong> 1–103. Los elementos <strong>de</strong><br />

tres palabras se limitan a una longitud máxima <strong>de</strong> 1–37.<br />

Define la longitud <strong>de</strong>l temporizador <strong>de</strong> mensaje en segundos. Un límite<br />

<strong>de</strong> tiempo sobrepasado <strong>de</strong> 0 segundos significa que no hay temporizador<br />

y que el mensaje esperará in<strong>de</strong>finidamente una respuesta. El rango<br />

válido es 0-255 segundos.<br />

I<strong>de</strong>ntifica el canal físico usado para la comunicación <strong>de</strong> mensaje.<br />

Canales disponibles:<br />

<strong>SLC</strong> 5/03 – (0, RS–232) o (1, DH–485)<br />

<strong>SLC</strong> 5/04 – (0, RS–232) o (1, DH+)


Uso <strong>de</strong> mensajes remotos<br />

Ejemplo 1 – Comunicación con procesadores A–B usando un 1785-KA5<br />

Nodo 1<br />

(oct)<br />

Dispositivo A<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/04<br />

DH+<br />

I<strong>de</strong>ntificación <strong>de</strong> red = 2<br />

(57.6 KBaudio)<br />

Nodo 3<br />

(oct)<br />

Dispositivo B<br />

PLC–5/40 con módulo<br />

1785–KA5<br />

DH+<br />

I<strong>de</strong>ntificación <strong>de</strong> red = 2<br />

(57.6 KBaudio)<br />

Nodo 7 DH-485<br />

DH+ Nodo 6<br />

(oct)<br />

DH-485<br />

I<strong>de</strong>ntificación <strong>de</strong> red = 1<br />

(19.2 KBaudio)<br />

Procesador <strong>SLC</strong> 5/04 (A) a procesador <strong>SLC</strong> 5/03 (C) vía 1785-KA5<br />

Comentarios<br />

Type: Peer–to–Peer<br />

Read/Write: Read<br />

Target Device: <strong>500</strong> CPU<br />

Local/Remote: Remote<br />

Control Block: user specified<br />

Channel: 1<br />

Target No<strong>de</strong> (<strong>de</strong>cimal): 2<br />

Remote Bridge Link Id : 1<br />

Remote Bridge No<strong>de</strong> Address : 0<br />

Local Bridge No<strong>de</strong> Address : 6<br />

Destination/Source File Addr: user specified<br />

Target Src/Dst File Address: user specified<br />

Message Length In Elements: 11<br />

Message Timeout (seconds): 5<br />

Instrucciones <strong>de</strong> comunicación<br />

Nodo 2<br />

Dispositivo C<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/03<br />

El canal se establece a 1 ya que el comando original es iniciado por un procesador<br />

<strong>SLC</strong> 5/04 en la red DH+ (i<strong>de</strong>ntificación <strong>de</strong> red 2).<br />

El nodo receptor es el procesador <strong>SLC</strong> 5/03 a dirección <strong>de</strong> nodo 2.<br />

La i<strong>de</strong>ntificación <strong>de</strong> red <strong>de</strong>l puente remoto es la i<strong>de</strong>ntificación <strong>de</strong> red <strong>de</strong> la red<br />

remota DH-485 con el procesador <strong>SLC</strong> 5/03 (i<strong>de</strong>ntificación <strong>de</strong> red 1).<br />

8–45


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

8–46<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto se establece a 0 (no usado) porque la<br />

comunicación es <strong>de</strong> un dispositivo con capacida<strong>de</strong>s <strong>de</strong> Internet a otro dispositivo<br />

con capacida<strong>de</strong>s <strong>de</strong> Internet.<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente local se establece a 6 porque esta es la dirección<br />

<strong>de</strong> nodo <strong>de</strong> la red DH+ usada por el módulo <strong>de</strong> interface <strong>de</strong> comunicación<br />

1785-KA5.<br />

Procesador <strong>SLC</strong> 5/03 (C) a procesador <strong>SLC</strong> 5/04 (A) vía 1785-KA5<br />

Comentarios<br />

Type: Peer–to–Peer<br />

Read/Write: Read<br />

Target Device: <strong>500</strong> CPU<br />

Local/Remote: Remote<br />

Control Block: user specified<br />

Channel: 1<br />

Target No<strong>de</strong> (<strong>de</strong>cimal): 1<br />

Remote Bridge Link Id : 1<br />

Remote Bridge No<strong>de</strong> Address : 0<br />

Local Bridge No<strong>de</strong> Address : 7<br />

Destination/Source File Addr: user specified<br />

Target Src/Dst File Address: user specified<br />

Message Length In Elements: 11<br />

Message Timeout (seconds): 5<br />

El canal se establece a 1 ya que el comando original es iniciado por un procesador<br />

<strong>SLC</strong> 5/03 en la red DH-485 (i<strong>de</strong>ntificación <strong>de</strong> red 1).<br />

El nodo receptor es el procesador <strong>SLC</strong> 5/04 en la dirección <strong>de</strong> nodo 1.<br />

La i<strong>de</strong>ntificación <strong>de</strong> vínculo <strong>de</strong>l puente remoto es el vínculo con el procesador<br />

<strong>SLC</strong> 5/04 (i<strong>de</strong>ntificación <strong>de</strong> red 2).<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto se establece a 0 (no usado) porque la<br />

comunicación es <strong>de</strong> un dispositivo con capacida<strong>de</strong>s <strong>de</strong> Internet a otro dispositivo<br />

con capacida<strong>de</strong>s <strong>de</strong> Internet.<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente local se establece a 7 porque ésta es la dirección<br />

<strong>de</strong> nodo <strong>de</strong> la red DH-485 usada por el módulo <strong>de</strong> interface <strong>de</strong> comunicación<br />

1785-KA5.


Procesador <strong>SLC</strong> 5/03 (C) a un PLC-5 (B) vía 1785-KA5<br />

Comentarios<br />

Type: Peer–to–Peer<br />

Read/Write: Write<br />

Target Device: PLC5<br />

Local/Remote: Remote<br />

Control Block: user specified<br />

Channel: 1<br />

Target No<strong>de</strong> (<strong>de</strong>cimal): 3<br />

Remote Bridge Link Id : 2<br />

Remote Bridge No<strong>de</strong> Address : 0<br />

Local Bridge No<strong>de</strong> Address : 7<br />

Destination/Source File Addr: user specified<br />

Target Src/Dst File Address: user specified<br />

Message Length In Elements: 11<br />

Message Timeout (seconds): 5<br />

Instrucciones <strong>de</strong> comunicación<br />

El canal se establece a 1 ya que el comando original es iniciado por un procesador<br />

<strong>SLC</strong> 5/03 en la red DH-485 (i<strong>de</strong>ntificación <strong>de</strong> red 1).<br />

El nodo receptor es el procesador PLC-5 a dirección <strong>de</strong> nodo 3.<br />

La i<strong>de</strong>ntificación <strong>de</strong> vínculo <strong>de</strong>l puente remoto es el vínculo con el procesador<br />

PLC–5 (i<strong>de</strong>ntificación <strong>de</strong> red 2).<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto se establece a 0 (no usado) porque la<br />

comunicación es <strong>de</strong> un dispositivo con capacida<strong>de</strong>s <strong>de</strong> Internet a otro dispositivo<br />

con capacida<strong>de</strong>s <strong>de</strong> Internet.<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente local se establece a 7 porque ésta es la dirección<br />

<strong>de</strong> nodo <strong>de</strong> la red DH-485 usada por el módulo <strong>de</strong> interface <strong>de</strong> comunicación<br />

1785-KA5.<br />

8–47


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo 2 – Comunicación con procesadores A–B usando dos 1785-KA<br />

8–48<br />

Nodo 22<br />

(oct)<br />

Dispositivo A<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/04<br />

DH+<br />

57.6 KBaudio<br />

Dispositivo C<br />

Nodo 3<br />

(oct)<br />

PLC–5/40 con módulo<br />

1785–KA<br />

Nodo 220<br />

(1785–KA)<br />

Data Highway<br />

Nodo 3<br />

(oct)<br />

Procesador <strong>SLC</strong> 5/04 (B) a procesador PLC5 (C) vía dos 1785-KA<br />

Comentarios<br />

Type: Peer–to–Peer<br />

Read/Write: Write<br />

Target Device: PLC5<br />

Local/Remote: Remote<br />

Control Block: user specified<br />

Channel: 1<br />

Target No<strong>de</strong> (<strong>de</strong>cimal): 0<br />

Remote Bridge Link Id : 0<br />

Remote Bridge No<strong>de</strong> Address : 131<br />

Local Bridge No<strong>de</strong> Address : 8<br />

Destination/Source File Addr: user specified<br />

Target Src/Dst File Address: user specified<br />

Message Length In Elements: 10<br />

Message Timeout (seconds): 0<br />

Nodo 13<br />

(oct)<br />

PLC–5/40 con módulo<br />

1785–KA<br />

Dispositivo B<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/04<br />

DH+<br />

57.6 KBaudio<br />

Nodo 110<br />

(1785-KA)<br />

El canal se establece a 1 porque el comando original es iniciado por un procesador<br />

<strong>SLC</strong> 5/04 en la red DH+.<br />

El nodo receptor es el procesador PLC-5 a dirección <strong>de</strong> nodo 0. (En realidad, esta<br />

es la dirección <strong>de</strong> nodo 3, pero la dirección <strong>de</strong> nodo se establece a 0 porque la<br />

dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto maneja la estructura <strong>de</strong> direccionamiento.)<br />

La i<strong>de</strong>ntificación <strong>de</strong> vínculo <strong>de</strong>l puente remoto siempre se establece a 0 cuando se<br />

usa esta estructura <strong>de</strong> direccionamiento.


Instrucciones <strong>de</strong> comunicación<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto se establece a 131. La dirección <strong>de</strong> nodo<br />

<strong>de</strong>l puente remoto consiste en el dígito más significativo (octal) <strong>de</strong>l 1785-KA (220)<br />

remoto más la dirección <strong>de</strong>l nodo receptor. Por ejemplo, 200 + 3 = 203 octales (131<br />

<strong>de</strong>cimal).<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente local se establece a 8 porque esta es la<br />

equivalente <strong>de</strong>cimal <strong>de</strong>l segundo dígito menos significante <strong>de</strong> la dirección 1785-KA<br />

(10 octal).<br />

Procesador <strong>SLC</strong> 5/04 (B) a procesador <strong>SLC</strong> 5/04 (A) vía dos 1785-KA<br />

Comentarios<br />

Type: Peer–to–Peer<br />

Read/Write: Write<br />

Target Device: <strong>500</strong> CPU<br />

Local/Remote: Remote<br />

Control Block: user specified<br />

Channel: 1<br />

Target No<strong>de</strong> (<strong>de</strong>cimal): 0<br />

Remote Bridge Link Id : 0<br />

Remote Bridge No<strong>de</strong> Address : 146<br />

Local Bridge No<strong>de</strong> Address : 8<br />

Destination/Source File Addr: user specified<br />

Target Src/Dst File Address: user specified<br />

Message Length In Elements: 10<br />

Message Timeout (seconds): 0<br />

El canal se establece a 1 porque el comando original es iniciado por un procesador<br />

<strong>SLC</strong> 5/04 en la red DH+.<br />

El nodo receptor es el procesador <strong>SLC</strong> 5/04 en la dirección <strong>de</strong> nodo 0. (En<br />

realidad, esta es dirección <strong>de</strong> nodo 22, pero la dirección <strong>de</strong> nodo se establece a 0<br />

porque la dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto maneja la estructura <strong>de</strong><br />

direccionamiento.)<br />

La i<strong>de</strong>ntificación <strong>de</strong> vínculo <strong>de</strong>l puente remoto siempre se establece a 0 cuando se<br />

usa esta estructura <strong>de</strong> direccionamiento.<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto se establece a 146. La dirección <strong>de</strong> nodo<br />

<strong>de</strong>l puente remoto consiste en el dígito más significante (octal) <strong>de</strong>l 1785-KA remoto<br />

más la dirección <strong>de</strong>l nodo receptor. Por ejemplo, 200 + 22 = 222 octal (146<br />

<strong>de</strong>cimal).<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente local se establece a 8 porque esta es la<br />

equivalente <strong>de</strong>cimal <strong>de</strong>l segundo dígito menos significativo <strong>de</strong> la dirección<br />

1785-KA (10 octal).<br />

8–49


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo 3 – Transferencia vía canal 0 DH-485 <strong>de</strong>l procesador <strong>SLC</strong> 5/04<br />

Nodo 3<br />

(oct)<br />

8–50<br />

Nodo 1<br />

(oct)<br />

Dispositivo B<br />

PLC–5/40<br />

Dispositivo A<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/04<br />

DH+<br />

I<strong>de</strong>ntificación <strong>de</strong> red = 2<br />

(57.6 KBaudio)<br />

DH+ Nodo 2<br />

(oct)<br />

DH-485<br />

Nodo 1<br />

Dispositivo C<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/04<br />

RS-232<br />

Convertidor <strong>de</strong><br />

intenrface <strong>1747</strong>-PIC<br />

DH-485<br />

I<strong>de</strong>ntificación<br />

<strong>de</strong> red = 1<br />

(19.2 KBaudio)<br />

Nodo 2<br />

(oct)<br />

Dispositivo D<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/03<br />

Procesador <strong>SLC</strong> 5/04 (A) a procesador <strong>SLC</strong> 5/03 (D) vía un procesador <strong>SLC</strong> 5/04 (C)<br />

(transferencia usando canal 0 DH-485)<br />

Comentarios<br />

Type: Peer–to–Peer<br />

Read/Write: Read<br />

Target Device: <strong>500</strong> CPU<br />

Local/Remote: Remote<br />

Control Block: user specified<br />

Channel: 1<br />

Target No<strong>de</strong> (<strong>de</strong>cimal): 2<br />

Remote Bridge Link Id : 1<br />

Remote Bridge No<strong>de</strong> Address : 0<br />

Local Bridge No<strong>de</strong> Address : 2<br />

Destination/Source File Addr: user specified<br />

Target Src/Dst File Address: user specified<br />

Message Length In Elements: 10<br />

Message Timeout (seconds): 5<br />

El canal se establece a 1 porque el comando original es iniciado por un procesador<br />

<strong>SLC</strong> 5/04 en la red DH+.<br />

El nodo receptor es el procesador <strong>SLC</strong> 5/03 en la dirección <strong>de</strong> nodo 2.<br />

La i<strong>de</strong>ntificación <strong>de</strong> vínculo <strong>de</strong>l puente remoto es el vínculo con el procesador<br />

<strong>SLC</strong> 5/04 (canal 0, i<strong>de</strong>ntificación <strong>de</strong> red 1).<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto se establece a 0 (no usado) porque la<br />

comunicación es <strong>de</strong> un dispositivo con capacida<strong>de</strong>s <strong>de</strong> Internet a otro dispositivo<br />

con capacida<strong>de</strong>s <strong>de</strong> Internet.<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente local se establece a 2 porque esta es la dirección<br />

<strong>de</strong> nodo DH+.


Instrucciones <strong>de</strong> comunicación<br />

Procesador <strong>SLC</strong> 5/03 (D) a procesador <strong>SLC</strong> 5/04 (A) vía un procesador <strong>SLC</strong> 5/04 (C)<br />

(transferencia usando canal 0 DH-485)<br />

Comentarios<br />

Type: Peer–to–Peer<br />

Read/Write: Read<br />

Target Device: <strong>500</strong> CPU<br />

Local/Remote: Remote<br />

Control Block: user specified<br />

Channel: 1<br />

Target No<strong>de</strong> (<strong>de</strong>cimal): 3<br />

Remote Bridge Link Id : 2<br />

Remote Bridge No<strong>de</strong> Address : 0<br />

Local Bridge No<strong>de</strong> Address : 1<br />

Destination/Source File Addr: user specified<br />

Target Src/Dst File Address: user specified<br />

Message Length In Elements: 10<br />

Message Timeout (seconds): 5<br />

El canal se establece a 1 porque el comando original es iniciado por un procesador<br />

<strong>SLC</strong> 5/03 en la red DH-485.<br />

El nodo receptor es el procesador <strong>SLC</strong> 5/04 en la dirección <strong>de</strong> nodo 1.<br />

La i<strong>de</strong>ntificación <strong>de</strong> vínculo <strong>de</strong>l puente remoto es el vínculo con el procesador<br />

<strong>SLC</strong> 5/04 (canal 1, i<strong>de</strong>ntificación <strong>de</strong> red 2).<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto se establece a 0 (no usado) porque la<br />

comunicación es <strong>de</strong> un dispositivo con capacida<strong>de</strong>s <strong>de</strong> Internet a otro dispositivo<br />

con capacida<strong>de</strong>s <strong>de</strong> Internet.<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente local se establece a 1 porque ésta es la dirección<br />

<strong>de</strong> nodo DH-485.<br />

8–51


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Procesador <strong>SLC</strong> 5/03 (D) a PLC-5 (B) vía un procesador <strong>SLC</strong> 5/04<br />

(transferencia usando canal 0 DH-485)<br />

Comentarios<br />

8–52<br />

Type: Peer–to–Peer<br />

Read/Write: Write<br />

Target Device: PLC5<br />

Local/Remote: Remote<br />

Control Block: user specified<br />

Channel: 1<br />

Target No<strong>de</strong> (<strong>de</strong>cimal): 3<br />

Remote Bridge Link Id : 2<br />

Remote Bridge No<strong>de</strong> Address : 0<br />

Local Bridge No<strong>de</strong> Address : 1<br />

Destination/Source File Addr: user specified<br />

Target Src/Dst File Address: user specified<br />

Message Length In Elements: 10<br />

Message Timeout (seconds): 5<br />

El canal se establece a 1 porque el comando original es iniciado por un procesador<br />

<strong>SLC</strong> 5/03 en la red DH-485.<br />

El nodo receptor es el procesador PLC-5 en la dirección <strong>de</strong> nodo 3.<br />

La i<strong>de</strong>ntificación <strong>de</strong> vínculo <strong>de</strong>l puente remoto es el vínculo con el procesador<br />

<strong>SLC</strong> 5/04 (canal 1, i<strong>de</strong>ntificación <strong>de</strong> red 2).<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto se establece a 0 (no usado) porque la<br />

comunicación es <strong>de</strong> un dispositivo con capacida<strong>de</strong>s <strong>de</strong> Internet a otro dispositivo<br />

con capacida<strong>de</strong>s <strong>de</strong> Internet.<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente local se establece a 1 porque ésta es la dirección<br />

<strong>de</strong> nodo DH-485.


Mensajes remotos (<strong>SLC</strong> 5/03 a un <strong>SLC</strong> <strong>500</strong>, <strong>SLC</strong> 5/01 ó <strong>SLC</strong> 5/02)<br />

Nodo 9<br />

(11 octal)<br />

<strong>1747</strong>–AIC<br />

Instrucciones <strong>de</strong> comunicación<br />

La ilustración siguiente muestra la conectividad para un mensaje remoto.<br />

Nodo 2 Nodo 6<br />

<br />

Controlador modular <strong>de</strong> E/S<br />

<strong>SLC</strong> 5/02<br />

PLC-5 con módulo<br />

1785-KA5<br />

I<strong>de</strong>ntificación <strong>de</strong> red = 2<br />

<br />

Nodo 3<br />

<br />

I<strong>de</strong>ntif. <strong>de</strong> red = 3<br />

Nodo 8<br />

(10 octal)<br />

Nodo 5<br />

<br />

<strong>1747</strong>–AIC<br />

Controlador modular <strong>de</strong> E/S<br />

<strong>SLC</strong> 5/02<br />

Longitud máxima <strong>de</strong> la red DH-485 1200 m (4,000 pies)<br />

Red DH+<br />

<strong>1747</strong>–AIC<br />

Controlador modular <strong>de</strong> E/S<br />

<strong>SLC</strong> 5/03<br />

Nodo 3<br />

PLC–5<br />

Nodo 1<br />

PLC con módulo<br />

1785-KA5<br />

Nodo 1<br />

Nodo 2<br />

Computadora<br />

industrial T60<br />

<strong>1747</strong>–AIC<br />

Controlador modular <strong>de</strong> E/S<br />

<strong>SLC</strong> 5/01<br />

Nodo 7<br />

<br />

I<strong>de</strong>ntif. <strong>de</strong><br />

red = 1<br />

Nodo 4<br />

<br />

I<strong>de</strong>ntificación<br />

<strong>de</strong> red = 3<br />

Los siguientes pies <strong>de</strong> gráfico representan los parámetros <strong>de</strong> direccionameinto<br />

<strong>de</strong> un <strong>SLC</strong> 5/03 a un procesador <strong>SLC</strong> 5/02 remoto.<br />

Estes es el nodo original <strong>de</strong> la instrucción MSG. No tiene que especificar<br />

esta dirección.<br />

Esta es la dirección <strong>de</strong> nodo <strong>de</strong>l puente local.<br />

Esta es la dirección <strong>de</strong> nodo remoto <strong>de</strong>l puente local. No tiene que<br />

especificar esta dirección.<br />

Esta es la dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto.<br />

Esta es la dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto. No tiene que especificar<br />

esta dirección.<br />

Esta es la i<strong>de</strong>ntificación <strong>de</strong> red remota.<br />

Esta es la dirección <strong>de</strong> nodo receptor.<br />

8–53


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo 4 – Transferencia vía canal 0 DF1 <strong>de</strong>l procesador <strong>SLC</strong> 5/04<br />

DH+<br />

Nodo 0<br />

(oct)<br />

8–54<br />

Dispositivo A Dispositivo B Dispositivo C Dispositivo D<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/04<br />

DH+<br />

I<strong>de</strong>ntificación <strong>de</strong> red = 2<br />

(57.6 KBaudio)<br />

DH+<br />

Nodo 2<br />

(oct)<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/04<br />

S:34/5 = 1<br />

DF1<br />

(RS-232)<br />

I<strong>de</strong>ntificación <strong>de</strong> red = 1<br />

(19.2 KBaudio)<br />

DH+<br />

Nodo 35<br />

(oct)<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/04<br />

DH+<br />

I<strong>de</strong>ntificación <strong>de</strong> red = 3<br />

(57.6 KBaudio)<br />

DH+<br />

Nodo 77<br />

(oct)<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/04<br />

Procesador <strong>SLC</strong> 5/04 (A) a procesador <strong>SLC</strong> 5/04 (D) vía dos procesadores <strong>SLC</strong> 5/04<br />

(transferencia usando canal 0 DF1)<br />

Type: Peer–to–Peer<br />

Read/Write: Read<br />

Target Device: <strong>500</strong> CPU<br />

Local/Remote: Remote<br />

Control Block: user specified<br />

Channel: 1<br />

Target No<strong>de</strong> (<strong>de</strong>cimal): 63<br />

Remote Bridge Link Id: 1<br />

Remote Bridge No<strong>de</strong> Address : 0<br />

Local Bridge No<strong>de</strong> Address : 2<br />

Destination/Source File Addr: user specified<br />

Target Src/Dst File Address: user specified<br />

Message Length In Elements: 10<br />

Message Timeout (seconds): 5<br />

Nota La configuración incorrecta pue<strong>de</strong> causar que los datos sean escritos o leídos <strong>de</strong> un<br />

procesador no seleccionado. Asegúrese que todos parámetros e i<strong>de</strong>ntificaciones <strong>de</strong><br />

vínculo <strong>de</strong> canal se establezcan correctamente.<br />

Comentarios<br />

El canal se establece a 1 porque el comando original es iniciado por un procesador<br />

<strong>SLC</strong> 5/04 en la red DH+.<br />

El nodo receptor es el procesador <strong>SLC</strong> 5/04 a dirección <strong>de</strong> nodo 77 (63 <strong>de</strong>cimales).<br />

La i<strong>de</strong>ntificación <strong>de</strong> vínculo <strong>de</strong>l puente remoto es el vínculo con el procesador<br />

<strong>SLC</strong> 5/04 (i<strong>de</strong>ntificación <strong>de</strong> vínculo 1).<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto se establece a 0 (no usado) porque canal<br />

0 es dúplex total DF1.<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente local se establece a 2 porque ésta es la dirección<br />

<strong>de</strong> nodo DH+.


Ejemplo 5 – Transferencia vía canal 0 DH+ <strong>de</strong>l procesador <strong>SLC</strong> 5/04<br />

Nodo 77<br />

(oct)<br />

Dispositivo A Dispositivo B Dispositivo C<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/04<br />

DH+<br />

I<strong>de</strong>ntificación <strong>de</strong> red = 2<br />

(57.6 KBaudio)<br />

Nodo 2<br />

(oct)<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/04<br />

S:34/5 = 1<br />

DF1<br />

(RS-232)<br />

Nodo 35<br />

(oct)<br />

I<strong>de</strong>ntificación <strong>de</strong> red = 1<br />

(19.2 KBaudio)<br />

Nota El dispositivo B tiene S:34/5 establecido a 1.<br />

Controlador modular <strong>de</strong><br />

E/S SLc 5/04<br />

Instrucciones <strong>de</strong> comunicación<br />

Procesador <strong>SLC</strong> 5/04 (A) a procesador <strong>SLC</strong> 5/04 (C) vía un solo procesador <strong>SLC</strong> 5/04<br />

(transferencia usando canal 0 DF1)<br />

Comentarios<br />

Type: Peer–to–Peer<br />

Read/Write: Read<br />

Target Device: <strong>500</strong> CPU<br />

Local/Remote: Remote<br />

Control Block: user specified<br />

Channel: 1<br />

Target No<strong>de</strong>: 0<br />

Remote Bridge Link Id : 1<br />

Remote Bridge No<strong>de</strong> Address: 0<br />

Local Bridge No<strong>de</strong> Address: 2<br />

Destination/Source File Addr: user specified<br />

Target Src/Dst File Address: user specified<br />

Message Length In Elements: 10<br />

Message Timeout (seconds): 5<br />

El canal se establece a 1 porque el comando original es iniciado por un procesador<br />

<strong>SLC</strong> 5/04 en la red DH+.<br />

El nodo receptor es el procesador <strong>SLC</strong> 5/04 en la dirección <strong>de</strong> nodo 0 (dúplex total<br />

DF1).<br />

La i<strong>de</strong>ntificación <strong>de</strong> vínculo <strong>de</strong>l puente remoto es el vínculo con el procesador<br />

<strong>SLC</strong> 5/04 (i<strong>de</strong>ntificación <strong>de</strong> vínculo 1).<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto se establece a 0 (no usado) porque canal<br />

0 es dúplex total DF1.<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente local se establece a 2 porque ésta es la dirección<br />

<strong>de</strong> nodo DH+.<br />

8–55


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Procesador <strong>SLC</strong> 5/04 (C) a procesador <strong>SLC</strong> 5/04 (A) vía un solo procesador <strong>SLC</strong> 5/04<br />

(transferencia usando canal 0 DF1)<br />

Comentarios<br />

8–56<br />

Type: Peer–to–Peer<br />

Read/Write: Read<br />

Target Device: <strong>500</strong> CPU<br />

Local/Remote: Local<br />

Control Block: user specified<br />

Channel: 0<br />

Target No<strong>de</strong> (<strong>de</strong>cimal): 63<br />

Destination/Source File Addr: user specified<br />

Target Src/Dst File Address: user specified<br />

Message Length In Elements: 10<br />

Message Timeout (seconds): 5<br />

El canal se establece a 0 porque el comando original es iniciado por un procesador<br />

<strong>SLC</strong> 5/04 conectado vía dúplex total DF1.<br />

El nodo receptor es el procesador <strong>SLC</strong> 5/04 en la dirección nodo 63 <strong>de</strong>cimales (77<br />

octal).<br />

Procesador <strong>SLC</strong> 5/04 (C) a procesador <strong>SLC</strong> 5/04 (B) cuando la transferencia está habilitada<br />

Comentarios<br />

Type: Peer–to–Peer<br />

Read/Write: Read<br />

Target Device: <strong>500</strong> CPU<br />

Local/Remote: Local<br />

Control Block: user specified<br />

Channel: 0<br />

Target No<strong>de</strong> (<strong>de</strong>cimal): 2<br />

Destination/Source File Addr: user specified<br />

Target Src/Dst File Address: user specified<br />

Message Length In Elements: 10<br />

Message Timeout (seconds): 5<br />

El canal se establece a 1 porque el comando original es iniciado por un procesador<br />

<strong>SLC</strong> 5/04 en la red DH+.<br />

El nodo receptor es el procesador <strong>SLC</strong> 5/04 en la dirección <strong>de</strong> nodo DH+ 29<br />

<strong>de</strong>cimal (34 octal).


Instrucciones <strong>de</strong> comunicación<br />

Ejemplo 6 – Transferencia usando un integrado pirámi<strong>de</strong> para encaminar una instrucción<br />

<strong>de</strong> mensaje<br />

Dispositivo A<br />

Nodo 7<br />

(oct)<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/04<br />

DH+<br />

Estación 3<br />

I<strong>de</strong>ntificación <strong>de</strong> red = 1<br />

(57.6 KBaudio)<br />

Estación 15<br />

(oct)<br />

DH+<br />

Dispositivo B<br />

Nodo 1<br />

(oct)<br />

I<strong>de</strong>ntificación <strong>de</strong> red = 2<br />

(57.6KBaud)<br />

Controlador <strong>de</strong> E/S<br />

modular <strong>SLC</strong> 5/04<br />

Procesador <strong>SLC</strong> 5/04 (B) a procesador <strong>SLC</strong> 5/04 (A) via un integrador <strong>de</strong> pirámi<strong>de</strong> usando<br />

el encaminamiento PI<br />

Comentarios<br />

Type: Peer–to–Peer<br />

Read/Write: Read<br />

Target Device: <strong>500</strong> CPU<br />

Local/Remote: Remote<br />

Control Block: user specified<br />

Channel: 1<br />

Target No<strong>de</strong>: 7<br />

Remote Bridge Link Id : 1<br />

Remote Bridge No<strong>de</strong> Address: 0<br />

Local Bridge No<strong>de</strong> Address: 13<br />

Destination/Source File Addr: user specified<br />

Target Src/Dst File Address: user specified<br />

Message Length In Elements: 15<br />

Message Timeout (seconds): 5<br />

El canal se establece a 1 porque el comando original es iniciado por un procesador<br />

<strong>SLC</strong> 5/04 en la red DH+.<br />

El nodo receptor es el procesador <strong>SLC</strong> 5/04 en la dirección <strong>de</strong> nodo 7.<br />

La i<strong>de</strong>ntificación <strong>de</strong> vínculo <strong>de</strong>l puente remoto es el vínculo con el procesador<br />

<strong>SLC</strong> 5/04 (i<strong>de</strong>ntificación <strong>de</strong> vínculo 1).<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto se establece a 0 (no usado) porque la<br />

comunicación es <strong>de</strong> un dispositivo con capacida<strong>de</strong>s <strong>de</strong> Internet a otro dispositivo<br />

con capacida<strong>de</strong>s <strong>de</strong> Internet.<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente local se establece a 13 <strong>de</strong>cimal (15 octal) porque<br />

ésta es la dirección <strong>de</strong> nodo DH+.<br />

8–57


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo 7 –<br />

8–58<br />

Nodo 10<br />

(oct)<br />

Dispositivo A<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/03<br />

DH-485<br />

19.2 KBaudio<br />

Nodo 3<br />

(oct)<br />

PLC-5/40 con módulo<br />

1785-KA5<br />

Nodo 220<br />

(1785–KA)<br />

Data Highway<br />

Nodo 3<br />

(oct)<br />

Nodo 13<br />

(oct)<br />

PLC-5/40 con módulo<br />

1785-KA5<br />

Dispositivo B<br />

Controlador modular <strong>de</strong><br />

E/S <strong>SLC</strong> 5/03<br />

DH+<br />

57.6 KBaudio<br />

Nodo 110<br />

(1785-KA)<br />

Procesador <strong>SLC</strong> 5/03 a un procesador <strong>SLC</strong> 5/03 (transferencia usando dos 1785-KA5)<br />

Comentarios<br />

Type: Peer–to–Peer<br />

Read/Write: Read or Write<br />

Target Device: 485CIF or <strong>500</strong> CPU<br />

Local/Remote: Remote<br />

Control Block: user specified<br />

Channel: 1<br />

Target No<strong>de</strong>: 2<br />

Remote Bridge Link Id: 8<br />

Remote Bridge No<strong>de</strong> Address: 0<br />

Local Bridge No<strong>de</strong> Address: 20<br />

Destination/Source File Addr: user specified<br />

Target Src/Dst File Address: user specified<br />

Message Length In Elements: user specified<br />

Message Timeout (seconds): 10<br />

El canal se establece a 1 porque el comando es enviado en el canal RS485 <strong>de</strong>l 5/03<br />

en la i<strong>de</strong>ntificación <strong>de</strong> vínculo 4.<br />

El nodo receptor se establece a 2 porque esta es la dirección DH-485 en la que el<br />

dispositivo <strong>de</strong> <strong>de</strong>stino resi<strong>de</strong> en el vínculo <strong>de</strong> <strong>de</strong>stino (i<strong>de</strong>ntificación <strong>de</strong> vínculo 8).


Instrucciones <strong>de</strong> comunicación<br />

La i<strong>de</strong>ntificación <strong>de</strong> red <strong>de</strong>l puen<strong>de</strong> remoto se establece a 8 porque la red <strong>de</strong><br />

<strong>de</strong>stino es DH-485.<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente remoto se establece a 0 (no usado) porque la<br />

comunicación es <strong>de</strong> un dispositivo con capacida<strong>de</strong>s <strong>de</strong> Internet a otro dispositivo<br />

con capacida<strong>de</strong>s <strong>de</strong> Internet.<br />

La dirección <strong>de</strong> nodo <strong>de</strong>l puente local se establece a 20 porque es el dispositivo <strong>de</strong><br />

puente (i<strong>de</strong>ntificación <strong>de</strong> vínculo 4) por el cual el comando <strong>de</strong>be ser enviado<br />

(dispositivo D).<br />

8–59


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Comunicaciones <strong>de</strong> servicio (SVC)<br />

Uso <strong>de</strong> un procesador <strong>SLC</strong> 5/02<br />

8–60<br />

(SVC)<br />

Instrucción <strong>de</strong> salida<br />

La instrucción SVC es una instrucción <strong>de</strong> salida que no tiene parámetros <strong>de</strong><br />

programación. Cuando se evalúa como verda<strong>de</strong>ra, el escán <strong>de</strong> programa se<br />

interrumpe para ejecutar la porción <strong>de</strong> comunicaciones <strong>de</strong> servicio <strong>de</strong>l ciclo <strong>de</strong><br />

operación. Luego el escán se reanuda en la instrucción siguiente a la instrucción<br />

SVC. Use esta instrucción para mejorar el rendimiento <strong>de</strong> comunicación <strong>de</strong> su<br />

procesador <strong>SLC</strong> 5/02.<br />

No se le permite colocar una instrucción SVC en una subrutina <strong>de</strong> interrupción STI,<br />

interrupción <strong>de</strong> E/S ni fallo <strong>de</strong>l usuario.<br />

Los bits siguientes le permiten personalizar o monitorizar el servicio <strong>de</strong><br />

comunicaciones. Refiérase al capítulo 1 <strong>de</strong> este manual para obtener información<br />

adicional acerca <strong>de</strong>l archivo <strong>de</strong> estado.<br />

• S:2/5 DH-485 Comando entrante pendiente<br />

• S:2/6 DH-485 Respuesta <strong>de</strong> mensaje pendiente<br />

• S:2/7 DH-485 Comando <strong>de</strong> mensaje saliente pendiente<br />

• S:2/15 DH-485 Selección <strong>de</strong> servicio <strong>de</strong> comunicaciones<br />

Uso <strong>de</strong> un procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04<br />

SVC<br />

SERVICE COMMUNICATIONS<br />

Channel 0<br />

Channel 1<br />

Instrucción <strong>de</strong> salida<br />

Cuando usa un procesador <strong>SLC</strong> 5/03 ó SLc 5/04, la instrucción SVC opera según lo<br />

expuesto anteriormente. Estos procesadores le permiten seleccionar un canal <strong>de</strong><br />

comunicación específico (0, 1 ó ambos) al que se <strong>de</strong>be dar servicio. No se le<br />

permite colocar una instrucción SVC en una subrutina <strong>de</strong> fallo, DII, STI ni evento<br />

<strong>de</strong> E/S.<br />

Los bits <strong>de</strong> estado siguientes le permiten personalizar o monitorizar el servicio <strong>de</strong><br />

comunicaciones. Refiérase al apéndice B <strong>de</strong> este manual para obtener información<br />

adicional acerca <strong>de</strong>l archivo <strong>de</strong> estado.<br />

Canal 1 Canal 0<br />

S:2/5 DH–485 Comando entrante pendiente S:33/0 Comando entrante pendiente<br />

S:2/6 DH–485 Respuesta <strong>de</strong> mensaje<br />

pendiente<br />

S:2/7 DH–485 Comando <strong>de</strong> mensaje<br />

saliente pendiente<br />

<br />

<br />

<br />

S:33/1 Respuesta <strong>de</strong> mensaje pendiente<br />

S:33/2 Comando <strong>de</strong> mensaje saliente<br />

pendiente


Servicio <strong>de</strong> canal<br />

Ejemplo <strong>de</strong> aplicación<br />

Canal 1 Canal 0<br />

S:2/15 DH–485 Selección <strong>de</strong> servicio <strong>de</strong><br />

comunicaciones<br />

S:33/7 DH–485 Selección <strong>de</strong> servicio <strong>de</strong><br />

mensaje<br />

Instrucciones <strong>de</strong> comunicación<br />

S:33/5 Selección <strong>de</strong> servicio <strong>de</strong><br />

comunicaciones<br />

S:33/6 Selección <strong>de</strong> servicio <strong>de</strong> mensaje<br />

Cuando un canal no ha sido seleccionado para recibir servicio por parte <strong>de</strong> la<br />

instrucción SVC, dicho canal recibe servicio normalmente al final <strong>de</strong>l escán.<br />

La instrucción SVC se usa cuando <strong>de</strong>sea ejecutar una función <strong>de</strong> comunicación, tal<br />

como la transmisión <strong>de</strong> un mensaje, antes <strong>de</strong> la porción <strong>de</strong> comunicación <strong>de</strong> servicio<br />

normal <strong>de</strong>l escán <strong>de</strong> operación. El ejemplo siguiente muestra cómo usar<br />

selectivamente la instrucción SVC.<br />

Bit <strong>de</strong> comando <strong>de</strong><br />

mensaje saliente<br />

pendiente<br />

S:2<br />

] [<br />

7<br />

(SVC)<br />

Pue<strong>de</strong> colocar este renglón <strong>de</strong>spués <strong>de</strong> una instrucción <strong>de</strong> escritura <strong>de</strong> mensaje.<br />

S:2/7 se establece cuando la instrucción <strong>de</strong> mensaje se habilita y está esperando<br />

(siempre que no se transmita un mensaje). Cuando S:2/7 se establece, la instrucción<br />

SVC se evalúa como verda<strong>de</strong>ra y el escán <strong>de</strong> programa se interrumpe para ejecutar<br />

la porción <strong>de</strong> comunicaciones <strong>de</strong> servicio <strong>de</strong>l escán <strong>de</strong> operación. Luego el escán se<br />

reanuda en la instrucción siguiente a la instrucción SVC.<br />

Este ejemplo sencillo asume que el bit <strong>de</strong> selección <strong>de</strong> servicio <strong>de</strong> comunicaciones<br />

S:2/15 se ha puesto a cero y que ésta es la única instrucción MSG activa.<br />

Nota Pue<strong>de</strong> programar la instrucción SVC sin condiciones a través <strong>de</strong> los renglones.<br />

Esta es la técnica normal <strong>de</strong> programación para la instrucción SVC.<br />

El procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 pue<strong>de</strong> pasar una instrucción MSG a través <strong>de</strong><br />

una red remota a su <strong>de</strong>stino receptor. (Pue<strong>de</strong> hacer un salto por una red.) El<br />

procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 también pue<strong>de</strong> pasar una instrucción MSG a la red<br />

que existe en el otro lado <strong>de</strong>l puente local.<br />

8–61


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

8–62


Instrucción proporcional integral <strong>de</strong>rivativa<br />

9 Instrucción proporcional integral<br />

<strong>de</strong>rivativa<br />

Descripción general<br />

PID<br />

PID<br />

Control Block<br />

Process Variable<br />

Control Variable<br />

Control Block Length 23<br />

Instrucción <strong>de</strong> salida<br />

Este capítulo <strong>de</strong>scribe la instrucción proporcional integral <strong>de</strong>rivativa (PID).<br />

<br />

<br />

<br />

Esta es una instrucción <strong>de</strong> salida que controla las características físicas tales como la<br />

temperatura, presión, nivel líquido o régimen <strong>de</strong> caudal usando lazos <strong>de</strong> proceso.<br />

La instrucción PDI normalmente controla un lazo cerrado usando entradas <strong>de</strong> un<br />

módulo <strong>de</strong> entrada análogico y proporcionando una salida a un módulo <strong>de</strong> salida<br />

analógico. Para el control <strong>de</strong> temperatura, usted pue<strong>de</strong> convertir la salida analógica<br />

a una salida activada/<strong>de</strong>sactivada <strong>de</strong> tiempo proporcional para impulsar una unidad<br />

<strong>de</strong> calefacción o enfriamiento. Un ejemplo aparecen en las páginas 9–15 a 9–17.<br />

La instrucción PID se pue<strong>de</strong> operar en el modo temporizado o el modo STI. En el<br />

modo temporizado, la instrucción actualiza su salida periódicamente a un régimen<br />

seleccionado por el usuario. En el modo STI, la instrucción se <strong>de</strong>be colocar en una<br />

subrutina <strong>de</strong> interrupción STI. Entonces actualiza su salida cada vez que se realiza<br />

un escán <strong>de</strong> la subrutina STI. El intervalo <strong>de</strong> tiempo STI y el régimen <strong>de</strong><br />

actualización <strong>de</strong> lazo <strong>de</strong>ben ser idénticos para que la ecuación se ejecute<br />

correctamente.<br />

9–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

El concepto PID<br />

9–2<br />

El control en lazo cerrado PID retiene una variable <strong>de</strong> proceso a un punto <strong>de</strong> ajuste<br />

<strong>de</strong>seado. Un ejemplo <strong>de</strong>l régimen <strong>de</strong> caudal/nivel <strong>de</strong> fluido se muestra abajo.<br />

Punto <strong>de</strong> ajuste<br />

Régimen <strong>de</strong> caudal<br />

Error<br />

∑ Ecuación ∑<br />

Variable <strong>de</strong><br />

proceso<br />

Detector<br />

<strong>de</strong> nivel<br />

PID<br />

Alimentación hacia<br />

a<strong>de</strong>lante o bias<br />

Salida<br />

<strong>de</strong><br />

control<br />

Válvula <strong>de</strong> control<br />

La ecuación PID controla el proceso enviando una señal <strong>de</strong> salida a la válvula <strong>de</strong><br />

control. Cuanto más gran<strong>de</strong> sea el error entre el punto <strong>de</strong> ajuste y la entrada <strong>de</strong><br />

variable <strong>de</strong> proceso, tanto más gran<strong>de</strong> es la señal <strong>de</strong> salida y vice versa. Un valor<br />

adicional (alimentación hacia a<strong>de</strong>lante o bias) se pue<strong>de</strong> añadir a la salida <strong>de</strong> control<br />

como offset. El resultado <strong>de</strong>l cálculo PID (variable <strong>de</strong> control) impulsará la variable<br />

<strong>de</strong> proceso que controla hacia el punto <strong>de</strong> ajuste.


La ecuación PID<br />

La instrucción PID usa el algoritmo siguiente:<br />

Ecuación estándar con ganancias <strong>de</strong>pendientes:<br />

Salida K C [(E) 1T I (E)dt T D · D(PV)dt] bias<br />

Las constantes <strong>de</strong> ganancia estándar son:<br />

Instrucción proporcional integral <strong>de</strong>rivativa<br />

Término Rango (bajo a alto) Referencia<br />

Ganancia <strong>de</strong><br />

0.1 a 25.5 (adimensional)<br />

controlador KC 0.01 a 327.67 (adimensional) <br />

Proporcional<br />

Término <strong>de</strong><br />

25.5 a 0.1 (minutos por repetición)<br />

restablecimiento 1/TI 327.67 a 0.01 (minutos por repetición) <br />

Integral<br />

Término <strong>de</strong> régimen T D<br />

0.01 a 2.55 (minutos)<br />

0.01 a 327.67 (minutos) <br />

Derivativa<br />

<br />

Se aplica a los rangos PID <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 cuando el bit <strong>de</strong> restablecimiento <strong>de</strong> bit y rango <strong>de</strong> refuerzo (RG)<br />

se establecen a 1.<br />

Cómo introducir parámetros<br />

El término (régimen) <strong>de</strong>rivativo proporciona la uniformización por medio <strong>de</strong> un<br />

filtro <strong>de</strong> paso bajo. La frecuencia <strong>de</strong> corte <strong>de</strong>l filtro es 16 veces mayor que la<br />

frecuencia <strong>de</strong> ángulo <strong>de</strong>l término <strong>de</strong>rivativo.<br />

Normalmente, la instrucción PID se coloca en un renglón sin lógica condicional. La<br />

salida permanece a su último valor cuando el renglón es falso. El término integral<br />

también se borra cuando el renglón es falso.<br />

Nota La instrucción PID es un tipo <strong>de</strong> algortimo PID <strong>de</strong> sólo entero y no le permite<br />

introducir valores <strong>de</strong> punto (coma) flotante para sus parámetros. Por lo tanto, si<br />

intenta mover un valor <strong>de</strong> punto (coma) flotante a uno <strong>de</strong> los parámetros PID<br />

usando la lógica <strong>de</strong> escalera, ocurrirá una conversión <strong>de</strong> punto (coma) flotante a<br />

entero.<br />

9–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

9–4<br />

Durante la programación, usted introduce las direcciones <strong>de</strong>l bloque <strong>de</strong> control,<br />

variable <strong>de</strong> proceso y variable <strong>de</strong> control <strong>de</strong>spués <strong>de</strong> colocar la instrucción PID en<br />

un renglón:<br />

• El bloque <strong>de</strong> control es un archivo que almacena los datos requeridos para<br />

operar la instrucción. La longitud <strong>de</strong> archivo se fija a 23 palabras y se <strong>de</strong>be<br />

introducir como dirección <strong>de</strong> archivo <strong>de</strong> entero. Por ejemplo, la introducción <strong>de</strong><br />

N10:0 asignará los elementos N10:0 a N10:22. La configuración <strong>de</strong>l bloque <strong>de</strong><br />

control se ilustra en la página 9–11.<br />

No escriba a las direcciones <strong>de</strong> bloque <strong>de</strong> control con otras <strong>instrucciones</strong> en su<br />

programa excepto según lo <strong>de</strong>scrito más a<strong>de</strong>lante en este capítulo. Si vuelve a<br />

usar un bloque <strong>de</strong> datos que fue asignado anteriormente para otro uso, es buena<br />

práctica poner primero a cero los datos. Recomendamos que use un archivo <strong>de</strong><br />

datos único para contener sus bloques <strong>de</strong> control PID. Por ejemplo N10:0. Esto<br />

evita el reuso imprevisto <strong>de</strong> las direcciones <strong>de</strong> bloque <strong>de</strong> control PID por otras<br />

<strong>instrucciones</strong> en su programa.<br />

• La variable <strong>de</strong> proceso PV es una dirección <strong>de</strong> elemento que almacena el<br />

valor <strong>de</strong> entrada <strong>de</strong> proceso. Esta dirección pue<strong>de</strong> ser la ubicación <strong>de</strong> la palabra<br />

<strong>de</strong> entrada analógica don<strong>de</strong> el valor <strong>de</strong> la entrada A/D se almacena. Este valor<br />

también podría ser un valor <strong>de</strong> entero si <strong>de</strong>ci<strong>de</strong> escanear su valor <strong>de</strong> entrada <strong>de</strong><br />

antemano al rango 0–16383.<br />

• La variable <strong>de</strong> control CV es una dirección <strong>de</strong> elemento que almacena la<br />

salida <strong>de</strong> la instrucción PID. El valor <strong>de</strong> salida tiene un rango <strong>de</strong> 0 a 16383;<br />

16383 es el 100%. Esto es normalmente un valor <strong>de</strong> entero para que usted<br />

pueda escalar el rango <strong>de</strong> entrada PID según el rango analógico específico que<br />

su aplicación requiere.<br />

La ilustración a continuación muestra una instrucción PID con direcciones típicas<br />

para estos parámetros introducidos:<br />

PID<br />

PID<br />

Control Block N10:0<br />

Process Variable N10:28<br />

Control Variable N10:29<br />

Control Block Length 23


Instrucción proporcional integral <strong>de</strong>rivativa<br />

auto/manual: MANUAL∗ time mo<strong>de</strong> Bit: 1 TM<br />

mo<strong>de</strong>: TIMED ∗ auto/manual bit: 1 AM<br />

control: E=SP–PV ∗ control mo<strong>de</strong> bit: 0 CM<br />

setpoint (SP): 0 0output limiting enabled bit: 0 OL<br />

process (PV): 0 ∗ reset and gain range: 0 RG<br />

scaled error: 0 ∗ scale setpoint flag: 0 SC<br />

<strong>de</strong>adband: 0 loop update time too fast: 0 TF<br />

output (CV): 0 %∗ <strong>de</strong>rivitive (rate) action: 0 DA<br />

DB, set when error is in DB: 0 DB<br />

loop update: 0 [.01 secs] output alarm, upper limit: 0 UL<br />

gain: 0 [/10] output alarm, lower limit: 0 LL<br />

reset: 0 [/10 m/r] setpoint out of range: 0 SP<br />

rate: 0 [/100 min] process var out of range: 0 PV<br />

min scaled: 0 PID done: 0 DN<br />

max scaled: 0<br />

output (CV) limit: NO ∗ PID enabled: 0 EN<br />

output (CV) min: 0 %<br />

output (CV) max: 0 %<br />

La columna izquierda en la ilustración anterior enumera otros parámetros <strong>de</strong><br />

instrucción PID que <strong>de</strong>be introducir.<br />

• Automático/manual AM (palabra 0, bit 1) alterna entre automático y<br />

manual. Automático indica que el PID controla la salida. (El bit se ha puesto a<br />

cero.) Manual indica que el usuario establece el valor <strong>de</strong> salida. (El bit está<br />

establecido.) Cuando haga ajustes, le recomendamos que efectúe los cambios<br />

en el modo manual, seguido por un retorno al modo automático. El límite <strong>de</strong><br />

salida también se aplica en el modo manual.<br />

• El modo TM (word 0, bit 0) alterna los valores temporizados y STI.<br />

Temporizado indica que el PID actualiza su salida al régimen especificado en el<br />

párametro <strong>de</strong> actualización <strong>de</strong>l lazo.<br />

Nota Cuando usa el modo temporizado, el tiempo <strong>de</strong> escán <strong>de</strong> su procesador <strong>de</strong>be ser<br />

un mínimo <strong>de</strong> diez veces más rápido que el tiempo <strong>de</strong> actualización <strong>de</strong>l lazo para<br />

evitar inexactitu<strong>de</strong>s o perturbaciones.<br />

STI indica que el PID actualiza su salida cada vez que se escanea. Cuando<br />

selecciona STI, la instrucción PID <strong>de</strong>be ser programada en una subrutina <strong>de</strong><br />

interrupción STI, y la rutina STI <strong>de</strong>be tener un intervalo <strong>de</strong> tiempo igual al<br />

ajuste <strong>de</strong>l parámetro <strong>de</strong> “actualización <strong>de</strong>l lazo” PID. Establezca el período STI<br />

en la palabra S:30. Por ejemplo, si el tiempo <strong>de</strong> actualización <strong>de</strong>l lazo contiene<br />

el valor 10 (para 100 ms), entonces el intervalo <strong>de</strong> tiempo STI también <strong>de</strong>be ser<br />

igual a 10 (para 10 ms).<br />

• El control CM (palabra 0, bit 2) alterna los valores E=SP–PV y E=PV–SP.<br />

La acción directa (E=PV–SP) causa que la salida CV incremente cuando la<br />

salida PV es mayor que el punto <strong>de</strong> ajuste SP (por ejemplo, una aplicación <strong>de</strong><br />

enfriamiento). La acción inversa (E=SP–PV) causa que la salida CV<br />

incremente cuando la salida PV sea menor que el punto <strong>de</strong> ajuste SP (por<br />

ejemplo, una aplicación <strong>de</strong> calefacción).<br />

9–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

9–6<br />

– El punto <strong>de</strong> ajuste SP (palabra 2) es el punto <strong>de</strong> control <strong>de</strong>seado <strong>de</strong> la<br />

variable <strong>de</strong>l proceso. Pue<strong>de</strong> cambiar este valor con las <strong>instrucciones</strong> en su<br />

programa <strong>de</strong> escalera. Escriba el valor en la tercera palabra en el bloque <strong>de</strong><br />

control (por ejemplo, escriba el valor en N10:2 si su bloque <strong>de</strong> control es<br />

N10:0). Sin escala, el rango <strong>de</strong> este valor es 0–16383. En caso contrario,<br />

el rango es <strong>de</strong> escala mínima (palabra 8) a escala máxima (palabra 7),<br />

– La ganancia Kc (palabra 3) es la ganancia proporcional, con un rango <strong>de</strong><br />

0.1 a 25.5 La regla general es establecer esta ganancia a la mitad <strong>de</strong>l valor<br />

necesario para causar que la salida oscile cuando los términos <strong>de</strong><br />

restablecimiento y régimen (abajo) se ponen a cero.<br />

Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – El rango válido es 0 a 32767. Esta<br />

palabra no es afectada por el bit RG.<br />

– El restablecimiento Ti (palabra 4) es la ganancia integral, con un rango <strong>de</strong><br />

0.1 a 25.5 minutos por repetición. La regla general es establecer el tiempo<br />

<strong>de</strong> restablecimiento para que sea igual al período natural medido en la<br />

calibración <strong>de</strong> ganancia <strong>de</strong> arriba.<br />

Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – El rango válido es 0 a 32767<br />

minutos/repetición. Anote que el valor 1 añadirá el término integral<br />

mínimo posible en la ecuación PID.<br />

– Régimen Td (palabra 5) es el término <strong>de</strong>rivativo. El rango <strong>de</strong> ajuste es<br />

0.01 a 2.55 minutos. La regla general es establecer este valor a 1/8 <strong>de</strong>l<br />

tiempo integral <strong>de</strong> arriba.<br />

Específico para <strong>SLC</strong> 5/03 and <strong>SLC</strong> 5/04 – El rango válido es 0 a 32767<br />

minutos.<br />

– Escala máxima Smax (palabra 7) – Si el punto <strong>de</strong> ajuste <strong>de</strong>be ser leído en<br />

unida<strong>de</strong>s <strong>de</strong> ingeniería, entonces este parámetro correspon<strong>de</strong> al valor <strong>de</strong>l<br />

punto <strong>de</strong> ajuste en unida<strong>de</strong>s <strong>de</strong> ingeniería cuando la entrada <strong>de</strong> control es<br />

16383. El rango válido es ±16383 a +16383.<br />

Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – El rango válido es ±32768 a<br />

+32767.<br />

– Escala mínima Smin (palabra 8) – Si el punto <strong>de</strong> ajuste <strong>de</strong>be ser leído en<br />

unida<strong>de</strong>s <strong>de</strong> ingeniería, este parámetro correspon<strong>de</strong> al valor <strong>de</strong>l punto <strong>de</strong><br />

ajuste en unida<strong>de</strong>s <strong>de</strong> ingeniería cuando la entrada <strong>de</strong> control es cero. El<br />

rango válido es ±16383 a +16383.<br />

Específico <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – El rango válido ±32768 a 32767.<br />

Nota La escala Smin – Smax le permite introducir el punto <strong>de</strong> ajuste en unida<strong>de</strong>s<br />

<strong>de</strong> ingeniería. La banda muerta, error y PV se mostrarán en unida<strong>de</strong>s <strong>de</strong><br />

ingeniería. Todavía se espera que el PV <strong>de</strong> la variable <strong>de</strong> proceso se<br />

encuentre <strong>de</strong>ntro <strong>de</strong>l rango <strong>de</strong> 0 a 16383. El uso <strong>de</strong> Smin – Smax no<br />

minimiza la resolución PV PID.


Instrucción proporcional integral <strong>de</strong>rivativa<br />

Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04: Los errores con escala mayores que<br />

+32767 ó menores que ±32768 no se pue<strong>de</strong>n representar. Si el error con<br />

escala es mayor que +32767, se representa como +32767. Si el error con<br />

escala es menor que ±32768, se representa como ±32768.<br />

– La banda muerta DB (palabra 9) es un valor no negativo. La banda<br />

muerta se extien<strong>de</strong> sobre y <strong>de</strong>bajo el punto <strong>de</strong> ajuste según el valor que<br />

usted introduce. La banda muerta se introduce en la intersección con cero<br />

<strong>de</strong> la variable <strong>de</strong> proceso PV y el punto <strong>de</strong> ajuste SP. Esto significa que la<br />

banda muerta estará en efecto sólo <strong>de</strong>spués que la variable <strong>de</strong> proceso PV<br />

entre en la banda muerta y pase a través <strong>de</strong>l punto <strong>de</strong> ajuste SP.<br />

El rango válido es 0 a la escala máxima ó 0 a 16383 cuando no hay escala.<br />

– Actualización <strong>de</strong>l lazo (palabra 13) es el intervalo <strong>de</strong> tiempo entre los<br />

cálculos PID. La entrada es en intervalos <strong>de</strong> 0.01 segundo. La regla<br />

general es introducir un tiempo <strong>de</strong> actualización <strong>de</strong>l lazo cinco a diez veces<br />

más rápido que el período natural <strong>de</strong> la carga (<strong>de</strong>terminado poniendo los<br />

parámetros <strong>de</strong> restablecimiento y régimen a cero y luego incrementando la<br />

ganancia hasta que la salida comience a oscilar). En el modo STI, este<br />

valor <strong>de</strong>be ser igual al valor <strong>de</strong> intervalo <strong>de</strong> tiempo STI <strong>de</strong> S:30.<br />

El rango válido es 1 a 2.55 segundos.<br />

Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – El rango válido es 0.01 a 10.24<br />

segundos.<br />

– El proceso con escala PV (palabra 14) se usa para la muestra en pantalla<br />

únicamente. Este es el valor con escala <strong>de</strong> la variable <strong>de</strong> proceso (la<br />

entrada analógica). Sin escala, el rango <strong>de</strong> este valor es 0–16383. Si no, el<br />

rango es <strong>de</strong> escala mínimia (palabra 8) a escala máxima (palabra 7).<br />

– Error con escala (palabra 15) se usa para visualización solamente. Este es<br />

el error <strong>de</strong> escala según es seleccionado por el parámetro <strong>de</strong> modo <strong>de</strong><br />

control. Rango: escala máxima a –escala mínima, ó 16383 a –16383<br />

cuando no hay escala.<br />

Nota Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04: Los errores con escala mayores que<br />

+32767 ó menores que ±32768 no se pue<strong>de</strong>n representar. Si el error con<br />

escala es mayor que +32767, se representa como +32767. Si el error con<br />

escala es menor que ±32768, se representa como ±32768.<br />

9–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

9–8<br />

– La salida CV% (palabra 16) muestra la salida CV real <strong>de</strong> 0 a 16383 en<br />

términos <strong>de</strong> porcentaje. (El rango es 0 a 100%.) Si usted seleccionó el<br />

modo AUTO con la tecla <strong>de</strong> llave F1, es para la visualización únicamente.<br />

Si seleccionó el modo manual y usa un monitor <strong>de</strong> datos APS, pue<strong>de</strong><br />

cambiar la salida CV% y el cambio se aplicará a CV. El escribir a la salida<br />

CV% con su programa <strong>de</strong> usuario o un dispositivo <strong>de</strong> programación no<br />

inteligente no afectará el CV. Cuando usa un dispositivo que no sea APS,<br />

<strong>de</strong>be escribir directamente a CV que tiene un rango <strong>de</strong> 0 a 16383.<br />

• El límite <strong>de</strong> salida (CV) OL (palabra 0, bit 3) alterna entre Sí y No.<br />

Seleccione Sí, si <strong>de</strong>sea limitar la salida a los valores mínimos y máximos.<br />

salida CV%<br />

SI (1)<br />

límite <strong>de</strong> salida CV% seleccionado<br />

mín. El valor que introduce será el<br />

porcentaje <strong>de</strong> salida mínimo que la<br />

variable <strong>de</strong> control CV obtendrá:<br />

Si el CV cae <strong>de</strong>bajo <strong>de</strong> este valor mínimo,<br />

ocurrirá lo siguiente:<br />

• El CV estará establecido al valor que<br />

usted introdujo, y<br />

• El bit <strong>de</strong> alarma <strong>de</strong> salida, límite<br />

LL inferior estará establecido.<br />

máx. El valor que introduce será el<br />

porcentaje <strong>de</strong> salida máximo que la<br />

variable <strong>de</strong> control CV obtendrá:.<br />

Si el CV exce<strong>de</strong> este valor máximo, lo<br />

siguiente ocurre:<br />

• El CV establecerá el valor que usted<br />

introdujo, y<br />

• El bit <strong>de</strong> alarma <strong>de</strong> salida, límite<br />

<strong>de</strong> UL superior estará establecido.<br />

NO (0)<br />

límite <strong>de</strong> salida CV% cancelado<br />

El valor que introduce <strong>de</strong>terminará<br />

cuándo se establecerá el bit <strong>de</strong> alarma<br />

<strong>de</strong> salida, límite inferior.<br />

Si el CV cae <strong>de</strong>bajo <strong>de</strong> este valor mínimo,<br />

se establecerá el bit <strong>de</strong> alarma <strong>de</strong><br />

salida, límite inferior (LL).<br />

El valor que introduce <strong>de</strong>terminará<br />

cuándo se establecerá el bit <strong>de</strong> alarma<br />

<strong>de</strong> salida, límite superior.<br />

Si el CV exce<strong>de</strong> este valor máximo, se<br />

establecerá el bit <strong>de</strong> alarma <strong>de</strong> salida,<br />

límite superior (UL).


Indicadores <strong>de</strong> instrucción PID<br />

Instrucción proporcional integral <strong>de</strong>rivativa<br />

auto/manual: AUTO ∗ time mo<strong>de</strong> Bit: 1 TM<br />

mo<strong>de</strong>: STI ∗ auto/manual bit: 0 AM<br />

control: E=SP–PV ∗ control mo<strong>de</strong> bit: 0 CM<br />

setpoint (SP): <strong>500</strong> 0output limiting enabled bit: 1 OL<br />

process (PV): 0 ∗ reset and gain range: 0 RG<br />

scaled error: 0 scale setpoint flag: 0 SC<br />

<strong>de</strong>adband: 5 loop update time too fast: 0 TF<br />

output (CV): 0 %∗ <strong>de</strong>rivitive (rate) action: 0 DA<br />

DB, set when error is in DB: 0 DB<br />

loop update: 50 [.01 secs] output alarm, upper limit: 0 UL<br />

gain: 25 [/10] output alarm, lower limit: 0 LL<br />

reset: 10 [/10 m/r] setpoint out of range: 0 SP<br />

rate: 1 [/100 min] process var out of range: 0 PV<br />

min scaled: 0 PID done: 0 DN<br />

max scaled: 1000<br />

output (CV) limit: NO ∗ PID enabled: 0 EN<br />

output (CV) min: 0 %<br />

output (CV) max: 0 %<br />

La columna <strong>de</strong>recha <strong>de</strong> la pantalla anterior muestra varios indicadores asociados con<br />

la instrucción PID. La sección siguiente <strong>de</strong>scribe estos indicadores:<br />

• El bit <strong>de</strong> modo <strong>de</strong> tiempo TM (palabra 0, bit 0) especifica el modo PID. Se<br />

establece cuando el modo TEMPORIZADO está en efecto. Se pone a cero<br />

cuando el modo STI está en efecto. Este bit se pue<strong>de</strong> establecer o poner a cero<br />

por medio <strong>de</strong> <strong>instrucciones</strong> en su programa <strong>de</strong> escalera.<br />

• El bit manual/automático AM (palabra 0, bit 01) especifica la operación<br />

automática cuando se pone a cero y la operación manual cuando se establece.<br />

Este bit pue<strong>de</strong> ser establecido o poner a cero por medio <strong>de</strong> <strong>instrucciones</strong> en su<br />

programa <strong>de</strong> escalera.<br />

• El bit <strong>de</strong> modo <strong>de</strong> control CM (palabra 0, bit 02) se pone a cero si el control<br />

es E=SP–PV. Se establece si el control es E=PV–SP. Este bit se pue<strong>de</strong><br />

establecer o poner a cero por medio <strong>de</strong> <strong>instrucciones</strong> en su programa <strong>de</strong><br />

escalera.<br />

• El bit <strong>de</strong> límite <strong>de</strong> salida habilitado OL (palabra 0, bit 03) se establece<br />

cuando ha seleccionado limitar la variable <strong>de</strong> control usando la tecla <strong>de</strong> función<br />

[F4]. Este bit se pue<strong>de</strong> establecer o poner a cero por medio <strong>de</strong> <strong>instrucciones</strong> en<br />

su programa <strong>de</strong> escalera.<br />

• Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – Bit <strong>de</strong> mejoramiento <strong>de</strong><br />

restablecimiento y rango <strong>de</strong> ganancia RG (palabra 0, bit 4) Cuando se<br />

establece, este bit causa que el valor <strong>de</strong> restablecimiento <strong>de</strong> minuto/repetición y<br />

el multiplicador <strong>de</strong> ganancia sean mejorados por un factor <strong>de</strong> 10 (multiplicador<br />

<strong>de</strong> restablecimiento <strong>de</strong> .01 y multiplicador <strong>de</strong> ganancia <strong>de</strong> .01).<br />

Ejemplo con el juego <strong>de</strong> bit 4 El valor <strong>de</strong> restablecimiento <strong>de</strong> 1 indica que el<br />

valor integral <strong>de</strong> 0.01 minutos/repetición (0.6 segundos/repetición) se aplicará al<br />

algoritmo integral PID. El valor <strong>de</strong> ganancia <strong>de</strong> 1 indica que el error será<br />

multiplicado en 0.01 y aplicado al algoritmo PID.<br />

9–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

9–10<br />

Cuando se pone a cero, este bit permite que el valor <strong>de</strong> restablecimiento <strong>de</strong><br />

minutos/repetición y el valor <strong>de</strong>l multiplicador <strong>de</strong> ganancia sean evaluados en<br />

las mismas unida<strong>de</strong>s que la instrucción 5/02 PID (multiplicador <strong>de</strong><br />

restablecimiento <strong>de</strong> 0.1 y multiplicador <strong>de</strong> ganancia <strong>de</strong> 0.1).<br />

Ejemplo con el juego <strong>de</strong> bit 4 El valor <strong>de</strong> restablecimiento <strong>de</strong> 1 indica que el<br />

valor integral <strong>de</strong> 0.01 minutos/repetición (0.6 segundos/repetición) se aplicará al<br />

algoritmo integral PID. El valor <strong>de</strong> ganancia <strong>de</strong> 1 indica que el error será<br />

multiplicado en 0.01 y aplicado al algoritmo PID.<br />

Observe que el multiplicador <strong>de</strong> régimen no es afectado por esta selección. (La<br />

edición inicial <strong>de</strong>l software, versión 4.0, pue<strong>de</strong> no permitirle introducir este bit.<br />

Sin embargo, pue<strong>de</strong> alterar el estado <strong>de</strong> este bit directamente en el bloque <strong>de</strong><br />

control.)<br />

• El indicador <strong>de</strong> punto <strong>de</strong> ajuste <strong>de</strong> escala SC (palabra 0, bit 05) se pone a<br />

cero cuando se especifican los valores <strong>de</strong> escala <strong>de</strong>l punto <strong>de</strong> ajuste.<br />

• El tiempo <strong>de</strong> actualización <strong>de</strong>l lazo <strong>de</strong>masiado rápido TF (palabra 0, bit<br />

06) está establecido por el algoritmo PID si el tiempo <strong>de</strong> actualización <strong>de</strong>l lazo<br />

que ha especificado no pue<strong>de</strong> ser realizado por el programa en cuestión (<strong>de</strong>bido<br />

a límites <strong>de</strong> tiempo <strong>de</strong> escán).<br />

Si este bit está establecido, trate <strong>de</strong> corregir el problema actualizando su lazo<br />

PID a un régimen más lento o moviendo la instrucción PID a una rutina <strong>de</strong><br />

interrupción STI. Las ganancias <strong>de</strong> restablecimiento y régimen aparecerán con<br />

error si la instrucción funciona con este bit establecido.<br />

• Bit <strong>de</strong> acción <strong>de</strong> <strong>de</strong>rivativa (régimen) DA (palabra 0, bit 07) Cuando está<br />

establecido, este bit causa que el cálculo <strong>de</strong> <strong>de</strong>rivativa (régimen) sea evaluado<br />

en el error en vez <strong>de</strong>l PIV. Cuando se pone a cero, este bit permite que el<br />

cálculo <strong>de</strong> <strong>de</strong>rivativa (régimen) sea evaluado <strong>de</strong> la misma manera que la<br />

instrucción 5/02 PID (don<strong>de</strong> la <strong>de</strong>rivativa se realiza en el PIV). Este bit es<br />

usado únicamente por los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04.<br />

• DB, establecido cuando el error está en DB (palabra 0, bit 08) se establece<br />

cuando la variable <strong>de</strong> proceso se encuentra <strong>de</strong>ntro <strong>de</strong>l rango <strong>de</strong> banda muerta <strong>de</strong><br />

intersección con 0.<br />

• La alarma <strong>de</strong> salida, límite superior UL (palabra 0, bit 09) se establece<br />

cuando el CV <strong>de</strong> <strong>de</strong> salida <strong>de</strong> control calculado exce<strong>de</strong> el límite CV superior.<br />

• La alarma <strong>de</strong> salida, límite inferior LL (palabra 0, bit 10) se establece<br />

cuando el CV <strong>de</strong> salida <strong>de</strong> control calculado es menor que el límite CV inferior.<br />

• El punto <strong>de</strong> ajuste fuera <strong>de</strong> rango SP (palabra 0, bit 11) se establece cuando<br />

el punto <strong>de</strong> ajuste exce<strong>de</strong> el valor con escala máximo o es menor que el valor<br />

con escala mínimo.<br />

• La variable <strong>de</strong> proceso fuera <strong>de</strong> rango PV (palabra 0, bit 12) se establece<br />

cuando la variable <strong>de</strong> proceso sin escala (o sin procesar) exce<strong>de</strong> 16838 ó es<br />

menor que cero.<br />

• El PID efectuado DN (palabra 0, bit 13) se establece en escanes don<strong>de</strong> el<br />

algoritmo PID se calcula. Se calcula al régimen <strong>de</strong> actualización <strong>de</strong>l lazo.<br />

• El PID habilitado EN (palabra 0, bit 15) se establece mientras que el<br />

renglón <strong>de</strong> la instrucción PID se habilita.


Configuración <strong>de</strong>l bloque <strong>de</strong> control<br />

Instrucción proporcional integral <strong>de</strong>rivativa<br />

La longitud <strong>de</strong>l bloque <strong>de</strong> control se fija a 23 palabras y se <strong>de</strong>be programar como<br />

archivo <strong>de</strong> entero. Los indicadores <strong>de</strong> instrucción PID (palabra 0) y otros<br />

parámetros se ubican <strong>de</strong> la manera siguiente:<br />

Configuración <strong>de</strong>l bloque <strong>de</strong> control<br />

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Palabra<br />

EN DN PV SP LL UL DB DA TF SC RG OL CM AM TM 0<br />

* PID Sub Error Co<strong>de</strong> (MSbyte)<br />

1<br />

* Setpoint SP<br />

2<br />

* Gain KC<br />

3<br />

*<br />

*<br />

Reset Ti<br />

Rate Td<br />

4<br />

5<br />

OL, CM,<br />

AM, TM<br />

6<br />

* Setpoint Max (Smax)<br />

7<br />

* Setpoint Min (Smin)<br />

8<br />

* Deadband<br />

9<br />

INTERNAL USE DO NOT CHANGE<br />

10<br />

* Output Max<br />

11<br />

* Output Min<br />

12<br />

* Loop Update<br />

13<br />

Scaled Process Variable<br />

14<br />

Scaled Error SE<br />

15<br />

Output CV% (0–100%)<br />

16<br />

<br />

<br />

* Feed Forward Bias<br />

MSW Integral Sum 5/03 MSW Integral Sum<br />

LSW Integral Sum 5/03 LSW Integral Sum<br />

INTERNAL USE<br />

DO NOT CHANGE<br />

<br />

Pue<strong>de</strong> alterar el estado <strong>de</strong> estos valores con su programa <strong>de</strong> escalera.<br />

<br />

Se aplica a los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04.<br />

No altere el estado <strong>de</strong> un valor <strong>de</strong> bloque <strong>de</strong> control PID a menos que entienda<br />

completamente la función y el efecto relacionado en su proceso.<br />

17<br />

18<br />

19<br />

20<br />

21<br />

22<br />

9–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Errores <strong>de</strong> tiempo <strong>de</strong> ejecución<br />

9–12<br />

El código <strong>de</strong> error 0036 aparece en el archivo <strong>de</strong> estado cuando ocurre un error <strong>de</strong><br />

tiempo <strong>de</strong> ejecución <strong>de</strong> instrucción PID. El código 0036 abarca las condiciones <strong>de</strong><br />

error PID siguientes, cada una <strong>de</strong> las cuales ha sido asignada a un valor <strong>de</strong> código <strong>de</strong><br />

un solo byte exclusivo que aparece en el MSbyte <strong>de</strong> la segunda palabra <strong>de</strong>l bloque<br />

<strong>de</strong> control.<br />

Código <strong>de</strong> error Descripción <strong>de</strong> la(s) condición(es) <strong>de</strong> error Acción correctiva<br />

11H <strong>SLC</strong> 5/02 <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 <strong>SLC</strong> 5/02 <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04<br />

1) Tiempo <strong>de</strong> actualización<br />

<strong>de</strong>l lazo D t > 255 ó<br />

2) Tiempo <strong>de</strong> actualización<br />

<strong>de</strong>l lazo D t = 0<br />

1) Tiempo <strong>de</strong> actualización<br />

<strong>de</strong>l lazo D t > 1024<br />

2) Tiempo <strong>de</strong> actualización<br />

<strong>de</strong>l lazo D t = 0<br />

Cambie el tiempo <strong>de</strong><br />

actualización <strong>de</strong>l lazo<br />

D t a 0 < D t < 255<br />

Cambie el tiempo <strong>de</strong><br />

actualización <strong>de</strong>l lazo<br />

Dt a 0 < D t < 1024<br />

12H <strong>SLC</strong> 5/02 <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 <strong>SLC</strong> 5/02 <strong>SLC</strong> 5/03 and <strong>SLC</strong> 5/04<br />

1) Ganancia<br />

proporcional K c ><br />

255 ó<br />

2) Ganancia<br />

proporcional K c = 0<br />

1) Ganancia<br />

proporcional K c < 0<br />

Cambie la ganancia<br />

porporcional K c a<br />

0 < K c < 255<br />

Cambie la ganancia<br />

proporcional Kc a<br />

0 < K c<br />

13H <strong>SLC</strong> 5/02 <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 <strong>SLC</strong> 5/02 <strong>SLC</strong> 5/03 and <strong>SLC</strong> 5/04<br />

Ganancia integral<br />

(restablecimiento)<br />

T i > 255<br />

Ganancia integral<br />

(restablecimiento)<br />

T i < 0<br />

Cambie la ganancia integral<br />

(restablecimiento) T i<br />

a 0 < T i < 255<br />

Cambie la ganancia integral<br />

(restablecimiento) Ti<br />

a 0 < T i<br />

14H <strong>SLC</strong> 5/02 <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 <strong>SLC</strong> 5/02 <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04<br />

21H<br />

(<strong>SLC</strong> 5/02 solamente)<br />

22H<br />

(<strong>SLC</strong> 5/02 solamente)<br />

Ganancia <strong>de</strong>rivativa<br />

(régimen) T d > 255<br />

Ganancia <strong>de</strong>rivativa<br />

(régimen) T d < 0<br />

1) Pto. <strong>de</strong> ajuste con escala máx. Smax > 16383 ó<br />

2) Pto. <strong>de</strong> ajuste con escala máx. Smax < –16383<br />

1) Pto. <strong>de</strong> ajuste con escala mín. Smin > 16383 ó<br />

2) Pto. <strong>de</strong> ajuste con escala mín. Smin < –16383<br />

23H Punto <strong>de</strong> ajuste con escala mínimo<br />

Smin > punto <strong>de</strong> ajuste con escala máx. Smax<br />

Cambie la ganancia<br />

<strong>de</strong>rivativa (régimen) T d<br />

a 0 < T d < 255<br />

Cambie la ganancia<br />

<strong>de</strong>rivativa (régimen) T d<br />

a 0 < T d<br />

Cambie el pto. <strong>de</strong> ajuste con escala máx. Smax a<br />

–16383 < Smax < 16383<br />

Cambie el pto. <strong>de</strong> ajuste con escala mín. Smin a<br />

–16383 < Smin < Smax < 16383<br />

Cambie el punto <strong>de</strong> ajuste con escala mín. Smin a<br />

–16383 < Smin < Smax < 16383<br />

(<strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 –32768 a +32767)


Instrucción proporcional integral <strong>de</strong>rivativa<br />

Código <strong>de</strong> error Descripción <strong>de</strong> la(s) condición(es) <strong>de</strong> error Acción correctiva<br />

31H Si usa la escala <strong>de</strong>l punto <strong>de</strong> ajuste y<br />

Smin > punto <strong>de</strong> ajuste SP > Smax o<br />

Si no usa la escala <strong>de</strong> punto <strong>de</strong> ajuste y<br />

0 > punto <strong>de</strong> ajuste SP > 16383,<br />

entonces durante la ejecución inicial <strong>de</strong>l lazo PID,<br />

ocurre este error y se establece bit 11 <strong>de</strong> palabra<br />

0 <strong>de</strong>l bloque <strong>de</strong> control. Sin embargo, durante la<br />

ejecución subsiguiente <strong>de</strong>l lazo PID, si se<br />

introduce un punto <strong>de</strong> ajuste <strong>de</strong> lazo inválido, el<br />

lazo PID continúa ejecutando con el uso <strong>de</strong>l punto<br />

<strong>de</strong> ajuste anterior, y se establece bit 11 <strong>de</strong> palabra<br />

0 <strong>de</strong>l bloque <strong>de</strong> control.<br />

41H Escala seleccionada Selección <strong>de</strong> escala<br />

cancelada<br />

1) Banda muerta < 0 ó 1) Banda muerta < 0 ó Cambie la banda<br />

muerta a 0 < banda<br />

muerta < (Smax –<br />

Smin) < 16383<br />

2) Banda muerta ><br />

(Smax - Smin) o bien<br />

3) Banda muerta ><br />

16383 (específico para<br />

5/02))<br />

51H 1) Límite <strong>de</strong> salida alta < 0 ó<br />

2) Límite <strong>de</strong> salida alta > 100<br />

52H 1) Límite <strong>de</strong> salida baja < 0 ó<br />

2) Límite <strong>de</strong> salida baja > 100<br />

2) Banda muerta ><br />

16383<br />

Si usa la escala <strong>de</strong> punto <strong>de</strong> ajuste, entonces<br />

cambie el punto <strong>de</strong> ajuste SP a Smin < SP <<br />

Smax o<br />

Si no usa la escala <strong>de</strong> punto <strong>de</strong> ajuste, entonces<br />

cambie el punto <strong>de</strong> ajuste SP a 0 < SP < 16383.<br />

Escala seleccionada Selección <strong>de</strong> escala<br />

cancelada<br />

Cambie el límite <strong>de</strong> salida alta a<br />

0 < límite <strong>de</strong> salida alta < 100<br />

Cambie la banda<br />

muerta a 0 < banda<br />

muerta < 16383<br />

Cambie el límite <strong>de</strong> salida baja a 0 < límite <strong>de</strong><br />

salida baja < límite <strong>de</strong> salida alta < 100<br />

53H Límite <strong>de</strong> salida baja > límite <strong>de</strong> salida alta Cambie el límite <strong>de</strong> salida baja a 0 < límite <strong>de</strong><br />

salida baja < límite <strong>de</strong> salida alta < 100<br />

60H <strong>SLC</strong> 5/02 – PID está siendo introducido por segunda<br />

vez. (El lazo PID fue interrumpido por una<br />

interrupción <strong>de</strong> E/S, la cual a su vez, es interrumpida<br />

por la interrupción PID STI.)<br />

Tiene un mínimo <strong>de</strong> tres lazos PID en su<br />

programa; uno en el programa principal o archivo<br />

<strong>de</strong> subrutina; uno en un archivo <strong>de</strong> interrupción<br />

<strong>de</strong> E/S; y uno en el archivo <strong>de</strong> subrutina STI.<br />

Debe alterar su programa <strong>de</strong> escalera y eliminar<br />

el posible anidamiento <strong>de</strong> los lazos PID.<br />

9–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Escala PID y E/S analógicas<br />

Uso <strong>de</strong> la instrucción SCL<br />

9–14<br />

Para la instrucción <strong>SLC</strong> <strong>500</strong> PID, la escala numérica para la variable <strong>de</strong> proceso<br />

(PV) y la variable <strong>de</strong> control (CV) es 0 a 16383. Para usar unida<strong>de</strong>s <strong>de</strong> ingeniería,<br />

tal como PSI o grados, primero <strong>de</strong>be escalar sus rangos <strong>de</strong> E/S analógicas <strong>de</strong>ntro <strong>de</strong><br />

la escala numérica <strong>de</strong> arriba. Para hacerlo, use la instrucción <strong>de</strong> escala (SCL) y siga<br />

los pasos <strong>de</strong>scritos a continuación.<br />

1. Escale su entrada analógica calculando la pendiente (o régimen) <strong>de</strong>l rango <strong>de</strong><br />

entrada analógica al rango PV (0 a 163873). Por ejemplo, una entrada<br />

analógica con un rango <strong>de</strong> 4 a 20 mA tiene un rango <strong>de</strong>cimal <strong>de</strong> 3277 a 16384.<br />

El rango <strong>de</strong>cimal <strong>de</strong>be ser escalado por todo el rango <strong>de</strong> 0 a 16383 para uso<br />

como PV.<br />

2. Escale el CV para que se distribuya <strong>de</strong> manera equitativa por todo el rango <strong>de</strong><br />

salida analógica. Por ejemplo, una salida analógica que tiene una escala <strong>de</strong> 4 a<br />

20 mA, tiene un rango <strong>de</strong>cimal <strong>de</strong> 5242 a 31208. En este caso, 0 a 16383 <strong>de</strong>be<br />

ser escalado por todo el rango <strong>de</strong> 6242 a 31208.<br />

Una vez que ha escalado sus rangos <strong>de</strong> E/S analógicas hacia/<strong>de</strong>s<strong>de</strong> la instrucción<br />

PID, pue<strong>de</strong> introducir las unida<strong>de</strong>s <strong>de</strong> ingeniería mínimas y máximas que se<br />

aplican a su aplicación. Por ejemplo, si el rango <strong>de</strong> entrada analógica <strong>de</strong> 4 a 20<br />

mA representa 0 a 300 PSI, pue<strong>de</strong> introducir 0 y 300 como los parámetros<br />

mínimos (Smin) y máximos (Smax) respectivamente. La variable <strong>de</strong> proceso,<br />

error, punto <strong>de</strong> ajuste y banda muerta se mostrarán en unida<strong>de</strong>s <strong>de</strong> ingeniería en<br />

la pantalla <strong>de</strong>l motor <strong>de</strong> datos PID. El punto <strong>de</strong> ajuste y la banda muerta se<br />

pue<strong>de</strong>n introducir en la instrucción PID usando unida<strong>de</strong>s <strong>de</strong> ingeniería.<br />

Las ecuaciones siguientes muestran la relación lineal entre el valor <strong>de</strong> entrada y el<br />

valor con escala resultante.<br />

Valor con escala = (valor <strong>de</strong> entrada pendiente x) + offset<br />

Pendiente = (escala m áx. ± escala mín.) / (entrada máx. ± entrada mín.)<br />

Offset = escala mín. ± (entrada mín pendiente x)<br />

Use los valores siguientes en una instrucción SCL para escalar los rangos <strong>de</strong><br />

entrada analógica comunes para las variables <strong>de</strong> proceso PID.<br />

Parámetro 4 a 20 mA 0 a 5 V 0 a 10 V<br />

Régimen/10,000 12,499 10,000 5,000<br />

Offset –4096 0 0


Uso <strong>de</strong> la instrucción SCP<br />

Ejemplo<br />

Instrucción proporcional integral <strong>de</strong>rivativa<br />

Use los valores siguientes en una instrucción SCL para escalar las variables <strong>de</strong><br />

control a salidas analógicas comunes.<br />

Parámetro 4 a 20 mA 0 a 5 V 0 a 10 V<br />

Régimen/10,000 15,239 10,000 19,999<br />

Offset 6242 0 0<br />

Use los valores siguientes en una instrucción SCP para escalar sus entradas<br />

analógicas al rango PV y escalar el rango CV a su salida analógica.<br />

Parámetro 4 a 20 mA 0 a 5 V 0 a 10 V<br />

Entrada mínima 3277 0 0<br />

Entrada máxima 16384 16384 32767<br />

Escala mínima 0 0 0<br />

Escala máxima 16383 16383 16383<br />

Use los valores siguientes en una instrucción SCP para escalar variables <strong>de</strong> control<br />

a salidas analógicas comunes.<br />

Parámetro 4 a 20 mA 0 a 5 V 0 a 10 V<br />

Entrada mínima 3277 0 0<br />

Entrada máxima 16383 16383 16383<br />

Escala mínima 6242 0 0<br />

Escala máxima 31208 16384 32764<br />

El diagrama <strong>de</strong> escalera siguiente muestra un lazo PID típico que se programa en el<br />

modo STI. Este ejemplo se proporciona principalmente para mostrar las técnicas <strong>de</strong><br />

escala correctas. Muestra una entrada analógica <strong>de</strong> 4 a 20 mA y una salida<br />

analógica <strong>de</strong> 4 a 20 mA. Se usan los parámetros siguientes se usan:<br />

• Archivo <strong>de</strong> subrutina STI (S:31) = 3<br />

• Punto <strong>de</strong> ajuste STI (S:30) = 10<br />

• Bit <strong>de</strong> habilitación STI (S:2/1) = 1<br />

9–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

9–16<br />

Renglón<br />

3:0<br />

Renglón<br />

3:1<br />

Renglón<br />

3:2<br />

Renglón<br />

3:3<br />

Renglón<br />

3:4<br />

Este renglón actualiza inmediatamente la entrada analógica usada para PV.<br />

GRT<br />

GREATER THAN<br />

Source A I:1.0<br />

0<br />

Source B 16384<br />

IIM<br />

IMMEDIATE IN w MASK<br />

Slot I:1.0<br />

Mask FFFF<br />

Estos dos renglones aseguran que el valor <strong>de</strong> entrada analógica que se va a introducir permanezca <strong>de</strong>ntro <strong>de</strong> los límites <strong>de</strong><br />

3277 a 16384. Esto es necesario para evitar errores <strong>de</strong> conversión “fuera <strong>de</strong> rango” en las <strong>instrucciones</strong> SCL y PID. Los bits<br />

<strong>de</strong> enclavamiento se pue<strong>de</strong>n usar en otro lugar <strong>de</strong>l programa para i<strong>de</strong>ntificar la condición fuera <strong>de</strong> rango que ocurrió.<br />

Rango insuficiente<br />

LES<br />

LESS THAN<br />

Source A I:1.0<br />

0<br />

B3<br />

(L)<br />

0<br />

Source B 3277<br />

MOV<br />

MOVE<br />

Source 3277<br />

Dest I:1.0<br />

0<br />

Rango excesivo<br />

B3<br />

(L)<br />

1<br />

MOV<br />

MOVE<br />

Source 16384<br />

Dest I:1.0<br />

0<br />

La fuente que se va a escalar es la entrada I:1 y su <strong>de</strong>stino es la variable <strong>de</strong> proceso <strong>de</strong> la instrucción PID. Estos valores se<br />

calculan con el conocimiento <strong>de</strong> que el rango es 3277 a 16384, mientras que el rango con escala (PV) es 0 a 16383.<br />

SCL<br />

SCALE<br />

Source I:1.0<br />

0<br />

Rate [/10000] 12499<br />

Offset –4096<br />

Dest N10:28<br />

0<br />

PID<br />

PID<br />

Control Block N10:0<br />

Process Variable N10:28<br />

Control Variable N10:29<br />

Control Block Length 23


Renglón<br />

3:5<br />

Renglón<br />

3:6<br />

END<br />

Instrucción proporcional integral <strong>de</strong>rivativa<br />

La variable <strong>de</strong> control PID es la entrada para la instrucción <strong>de</strong> escala. La instrucción PID garantiza que el CV permanezca<br />

<strong>de</strong>ntro <strong>de</strong>l rango <strong>de</strong> 0 a 16383. Este valor <strong>de</strong>be ser escalado al rango <strong>de</strong> 6242 a 31208, lo cual representa el rango<br />

numérico que es necesario para producir la señal <strong>de</strong> salida analógica <strong>de</strong> 4 a 20 mA.<br />

SCL<br />

SCALE<br />

Source N10:29<br />

0<br />

Rate [/10000] 15239<br />

Offset 6242<br />

Dest O:1.0<br />

0<br />

Este renglón actualiza inmediatamente la tarjeta <strong>de</strong> salida analógica que es impulsada por el valor <strong>de</strong> la<br />

variable <strong>de</strong> control PID.<br />

IOM<br />

IMMEDIATE OUT w MASK<br />

Slot O:1.0<br />

Mask FFFF<br />

La rutina STI <strong>de</strong>be tener un intervalo <strong>de</strong> tiempo equivalente al establecimiento <strong>de</strong>l<br />

parámetro <strong>de</strong> “actualización <strong>de</strong>l lazo” PID.<br />

9–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Notas <strong>de</strong> aplicación<br />

Rangos <strong>de</strong> entrada/salida<br />

9–18<br />

Los párrafos siguientes tratan:<br />

• Los rangos <strong>de</strong> entrada/salida<br />

• La escala a unida<strong>de</strong>s <strong>de</strong> ingeniería<br />

• La banda muerta <strong>de</strong> intersección con cero<br />

• Las alarmas <strong>de</strong> salida<br />

• El límite <strong>de</strong> salida con bloque <strong>de</strong> acción integral<br />

• El modo manual<br />

• La alimentación hacia a<strong>de</strong>lante<br />

• Las salidas <strong>de</strong> tiempo <strong>de</strong> proporcional<br />

El módulo <strong>de</strong> entrada que mi<strong>de</strong> la variable <strong>de</strong> proceso (PV) <strong>de</strong>be tener un rango<br />

binario completo <strong>de</strong> escala <strong>de</strong> 0 a 16383. Si este valor es menor que 0 (bit 15<br />

establecido), un valor <strong>de</strong> cero se usará para PV y el bit <strong>de</strong> “variable <strong>de</strong> proceso fuera<br />

<strong>de</strong> rango” se establecerá (bit 12 <strong>de</strong> palabra 0 en el bloque <strong>de</strong> control). Si la variable<br />

<strong>de</strong> proceso es > 16383 (bit 14 establecido), un valor <strong>de</strong> 16383 se usará para PV y el<br />

bit <strong>de</strong> “variable <strong>de</strong> proceso fuera <strong>de</strong> rango” se establecerá.<br />

La variable <strong>de</strong> control, calculada por la instrucción PID, tiene el mismo rango <strong>de</strong> 0 a<br />

16383. La salida <strong>de</strong> control (palabra 16 <strong>de</strong>l bloque <strong>de</strong> control) tiene el rango <strong>de</strong> 0 a<br />

100%. Pue<strong>de</strong> establecer límites inferiores y superiores para los valores <strong>de</strong> salida<br />

calculados <strong>de</strong> la instrucción (don<strong>de</strong> un límite superior <strong>de</strong> 100% correspon<strong>de</strong> a un<br />

límite <strong>de</strong> variable <strong>de</strong> control <strong>de</strong> 16383).<br />

Escalado a unida<strong>de</strong>s <strong>de</strong> ingeniería<br />

La escala le permite introducir el punto <strong>de</strong> ajuste y los valores <strong>de</strong> banda muerta <strong>de</strong><br />

intersección con cero en unida<strong>de</strong>s <strong>de</strong> ingeniería y mostrar la variable <strong>de</strong> proceso y<br />

valores <strong>de</strong> error en las mismas unida<strong>de</strong>s <strong>de</strong> ingeniería. Recuer<strong>de</strong> que la variable <strong>de</strong><br />

proceso PV todavía <strong>de</strong>be estar <strong>de</strong>ntro <strong>de</strong>l rango 0–16383. Sin embargo, el PV será<br />

mostrado en unida<strong>de</strong>s <strong>de</strong> ingeniería.


Seleccione la escala según lo siguiente:<br />

Instrucción proporcional integral <strong>de</strong>rivativa<br />

1. Introduzca los valores <strong>de</strong> escala máximos y mínimos Smax y Smin en el bloque<br />

<strong>de</strong> control PID. Refiérase al bloque <strong>de</strong> control <strong>de</strong> la instrucción PID en la<br />

página 9–11. El valor Smin correspon<strong>de</strong> a un valor analógico <strong>de</strong> cero para la<br />

lectura más baja <strong>de</strong> la variable <strong>de</strong> proceso, y Smax correspon<strong>de</strong> a un valor<br />

analógico <strong>de</strong> 16383 para la lectura más alta. Estos valores reflejan los límites<br />

<strong>de</strong> proceso. La escala <strong>de</strong>l punto <strong>de</strong> ajuste es seleccionada introduciendo un<br />

valor que no sea cero para uno o ambos parámetros. Si introduce el mismo<br />

valor para ambos parámetros, la escala <strong>de</strong>l punto <strong>de</strong> ajuste se inhabilita.<br />

Por ejemplo, si mi<strong>de</strong> un rango <strong>de</strong> temperatura <strong>de</strong> escala completa <strong>de</strong> –73 (PV=0) a<br />

+1156° C (PV=16383), introduzca un valor <strong>de</strong> –73 para Smin y 1156 para Smax.<br />

Recuer<strong>de</strong> que las entradas en la instrucción PID <strong>de</strong>ben ser 0 a 16383. Las<br />

conversiones <strong>de</strong> señales podrían ser así:<br />

Límites <strong>de</strong> proceso ±73 a +1156° C<br />

Salida <strong>de</strong> transmisor (si usado) +4 a +20 mA<br />

Salida <strong>de</strong> un módulo <strong>de</strong> entrada analógico 0 a 16383<br />

Instrucción PID, Smin a Smax ±73 a +1156° C<br />

2. Introduzca el punto <strong>de</strong> ajuste (palabra 2) y la banda muerta (palabra 9) en las<br />

mismas unida<strong>de</strong>s con escala. Lea también la variable <strong>de</strong> proceso con escala y el<br />

error con escala en estas unida<strong>de</strong>s. El porcentaje <strong>de</strong> salida <strong>de</strong> control (palabra<br />

16) se muestra como porcentaje <strong>de</strong>l rango <strong>de</strong> 0 a 16383. El valor real<br />

transferido a la salida CV siempre es entre 0 y 16383.<br />

Cuando selecciona la escala, la instrucción escala el punto <strong>de</strong> ajuste, banda muerta,<br />

variable <strong>de</strong> proceso y error. Debe consi<strong>de</strong>rar el efecto <strong>de</strong> todas estas variables<br />

cuando cambia la escala.<br />

9–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Banda muerta (DB) <strong>de</strong> intersección con cero<br />

9–20<br />

La banda muerta ajustable le permite seleccionar un rango <strong>de</strong> error encima y <strong>de</strong>bajo<br />

<strong>de</strong>l punto <strong>de</strong> ajuste don<strong>de</strong> la salida no se cambia siempre que el error permanezca<br />

<strong>de</strong>ntro <strong>de</strong> este rango. Esto le permite controlar la precisión con que la variable<br />

correspon<strong>de</strong> el punto <strong>de</strong> ajuste sin cambiar la salida.<br />

+DB<br />

SP<br />

–DB<br />

Alarmas <strong>de</strong> salida<br />

Tiempo<br />

Rango <strong>de</strong><br />

error<br />

La intersección con cero es el control <strong>de</strong> banda muerta que permite que la<br />

instrucción use el error para propósitos <strong>de</strong> cálculo mientras que la variable <strong>de</strong><br />

proceso cruce en la banda muerta hasta que cruce el punto <strong>de</strong> ajuste. Una vez que<br />

cruza el punto <strong>de</strong> ajuste (el error cruza cero y cambia la señal) y siempre que<br />

permanezca en la banda muerta, la instrucción consi<strong>de</strong>ra que el valor <strong>de</strong> error es<br />

cero para propósitos <strong>de</strong> cálculo.<br />

Seleccione la banda muerta introduciendo un valor en la palabra <strong>de</strong> almacenamiento<br />

<strong>de</strong> la banda muerta (palabra 9) en el bloque <strong>de</strong> control. La banda muerta se extien<strong>de</strong><br />

encima y <strong>de</strong>bajo <strong>de</strong>l punto <strong>de</strong> ajuste según el valor que usted introduce. Un valor <strong>de</strong><br />

cero inhibe esta característica. La banda muerta tiene las mismas unida<strong>de</strong>s con<br />

escala que el punto <strong>de</strong> ajuste si selecciona la escala.<br />

Pue<strong>de</strong> establecer una alarma <strong>de</strong> salida en la salida <strong>de</strong> control (CO) a un valor<br />

seleccionado encima y/o <strong>de</strong>bajo <strong>de</strong> un porcentaje <strong>de</strong> salida seleccionado. Cuando la<br />

instrucción <strong>de</strong>tecta que la salida (CO) ha excedido el valor, establece un bit <strong>de</strong><br />

alarma (bit 10 para el límite inferior, bit 9 para el límite superior) en palabra 0 <strong>de</strong>l<br />

bloque <strong>de</strong> control PID. Los bits <strong>de</strong> alarma están restablecidos por la instrucción<br />

cuando la salida (CO) retorna <strong>de</strong>ntro <strong>de</strong> los límites. La instrucción no evita que la<br />

salida (CO) exceda los valores <strong>de</strong> alarma a menos que usted seleccione el límite <strong>de</strong><br />

salida.<br />

Seleccione alarmas <strong>de</strong> salida superiores e inferiores introduciendo un valor para la<br />

alarma superior (palabra 11) y la alarma inferior (palabra 12). Los valores <strong>de</strong><br />

alarma son especificados como porcentaje <strong>de</strong> la salida. Si no <strong>de</strong>sea alarmas,<br />

introduzca cero y 100% respectivamente para los valores <strong>de</strong> alarma inferiores y<br />

superiores y no haga caso <strong>de</strong> los bits <strong>de</strong> alarma.


Límite <strong>de</strong> salida con bloqueo <strong>de</strong> acción integral<br />

Modo manual<br />

Instrucción proporcional integral <strong>de</strong>rivativa<br />

Pue<strong>de</strong> establecer un límite <strong>de</strong> salida (porcentaje <strong>de</strong> salida) en la salida <strong>de</strong> control.<br />

Cuando la instrucción <strong>de</strong>tecta que la salida (CO) ha excedido un límite, establece un<br />

bit <strong>de</strong> alarma (bit 10 para el límite inferior, bit 9 para el límite superior) en palabra 0<br />

<strong>de</strong>l bloque <strong>de</strong> control PID y previene que la salida (CO) exceda el valor <strong>de</strong> límite.<br />

La instruccion limita la salida (CO) a 0 y 100% si elige no limitarla.<br />

Seleccione límites <strong>de</strong> salida superiores e inferiores estableciendo el bit <strong>de</strong><br />

habilitación <strong>de</strong> límite (bit 3 <strong>de</strong> la palabra <strong>de</strong> control 0) e introduciendo un límite<br />

superior (palabra 11) y un límite inferior (palabra 12). Los valores <strong>de</strong> límite son un<br />

porcentaje (0 a 100%) <strong>de</strong> la salida <strong>de</strong> control (CO).<br />

La diferencia entre seleccionar alarmas <strong>de</strong> salida y límites <strong>de</strong> salida es que <strong>de</strong>be<br />

seleccionar el límite <strong>de</strong> salida para habilitar el límite. Los valores <strong>de</strong> límite y alarma<br />

se almacenan en las mismas palabras. El introducir estas palabras habilita las<br />

alarmas, pero no el límite. El introducir estos valores y el establecer el bit <strong>de</strong><br />

habilitación <strong>de</strong> límite habilita el límite y las alarmas.<br />

El bloqueo <strong>de</strong> acción integral es una característica que evita que el término integral<br />

se haga excesivo cuando la salida (CO) alcanza un límite. Cuando la suma <strong>de</strong> los<br />

términos PID y bias en la salida (CO) alcanzan el límite, la instrucción <strong>de</strong>ja <strong>de</strong><br />

calcular la suma integral hasta que la salida (CO) retorne <strong>de</strong>ntro <strong>de</strong>l rango. La suma<br />

integral se contiene en palabras 17 y 18 <strong>de</strong>l bloque <strong>de</strong> control.<br />

En el modo manual, el algortimo PID no calcula el valor <strong>de</strong> la variable <strong>de</strong> control.<br />

En cambio, usa el valor como entrada para ajustar la suma integral (palabras 17 y<br />

18) para que se realice una transferencia sin perturbaciones al volver a entrar en el<br />

modo AUTOMATICO.<br />

En el modo manual, el programador le permite introducir un valor CV nuevo <strong>de</strong> 0 a<br />

100%. Este valor se convierte en un número <strong>de</strong> 0 a 16383 y se escribe a la dirección<br />

<strong>de</strong> variable <strong>de</strong> control. Si usa un módulo <strong>de</strong> salida analógico para esta dirección,<br />

<strong>de</strong>be guardar (compilar) el programa con la opción <strong>de</strong> protección <strong>de</strong> archivo<br />

establecida a Ninguna. Esto le permite escribir a la tabla <strong>de</strong> datos <strong>de</strong> salida. Si no<br />

efectúa esta operación <strong>de</strong> guardar, no podrá establecer el nivel <strong>de</strong> salida en el modo<br />

manual. Si su programa <strong>de</strong> escalera establece el nivel <strong>de</strong> salida manual, diseñe su<br />

programa <strong>de</strong> escalera para escribir a la dirección CV cuando está en el modo<br />

manual. Anote que este número se encuentra en el rango <strong>de</strong> 0 a 16383, no <strong>de</strong> 0 a<br />

100. El escribir al porcentaje CV (palabra 16) con su programa <strong>de</strong> escalera no tiene<br />

efecto en el modo manual.<br />

El ejemplo en la página siguiente muestra cómo pue<strong>de</strong> controlar manualmente la<br />

salida <strong>de</strong> variable <strong>de</strong> control (CV) con su programa <strong>de</strong> escalera.<br />

9–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Estado <strong>de</strong> renglón PID<br />

9–22<br />

Si el renglón PID es falso, la suma integral (palabras 17 y 18) se pone a cero y CV<br />

permanece en su último estado.<br />

Manual<br />

I:2.0<br />

] [<br />

2<br />

Auto<br />

I:2.0<br />

] [<br />

1<br />

A/M Bit<br />

N7:10<br />

] [<br />

1<br />

Notas <strong>de</strong> operación<br />

Un interruptor preselector giratorio BCD <strong>de</strong> 3<br />

dígitos es cableado a un módulo <strong>de</strong> entrada a<br />

I1:1.0 (rango 0–100)<br />

Un botón pulsador es cableado a I1:2.0/0; acepta<br />

el valor <strong>de</strong>l interruptor preselector giratorio.<br />

Un interruptor selector para el modo<br />

automático/manual es cableado a I1:2.0/1<br />

(automático) e I1:2.0/2 (manual).<br />

N7:0 almacena el valor introducido en el<br />

interruptor preselector giratorio.<br />

N7:2 almacena un cálculo intermedio.<br />

Acepta CV<br />

I:2.0<br />

] [<br />

0<br />

N7:8 es la dirección <strong>de</strong> variable <strong>de</strong> control PID.<br />

N7:10 Es la dirección <strong>de</strong> bloque <strong>de</strong> control <strong>de</strong> la<br />

instrucción PID.<br />

N7:26 El porcentaje <strong>de</strong> salida es actualizado<br />

automáticamente por la instrucción PID.<br />

B3<br />

[OSR]<br />

0<br />

LIM<br />

LIMIT TEST<br />

Low Lim 0<br />

Test N7:0<br />

High Lim 100<br />

LIM<br />

LIMIT TEST<br />

Low Lim 101<br />

Test N7:0<br />

High Lim –1<br />

FRD<br />

FROM BCD<br />

Source I1:1.0<br />

Dest N7:0<br />

MUL<br />

MULTIPLY<br />

Source A N7:0<br />

Source B 16384<br />

Dest N7:2<br />

DDV<br />

DOUBLE DIVIDE<br />

Source 100<br />

Dest N7:8<br />

Bit A/M<br />

N7:10<br />

(L)<br />

1<br />

Bit A/M<br />

N7:10<br />

(U)<br />

1<br />

S:5<br />

(U)<br />

0<br />

Error – fuera <strong>de</strong> rango<br />

B3<br />

( )<br />

3


Alimentación hacia a<strong>de</strong>lante o bias<br />

Salidas <strong>de</strong> tiempo proporcional<br />

Instrucción proporcional integral <strong>de</strong>rivativa<br />

Las aplicaciones que involucran <strong>de</strong>moras <strong>de</strong> transporte pue<strong>de</strong>n requerir que se añada<br />

un bias a la salida CV en espera <strong>de</strong> una perturbancia. Este bias se pue<strong>de</strong> realizar<br />

usando el procesador LSC 5/02, <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 escribiendo un valor al<br />

elemento <strong>de</strong> bias <strong>de</strong> alimentación hacia a<strong>de</strong>lante, el séptimo elemento (palabra 6) en<br />

el archivo <strong>de</strong> bloque <strong>de</strong> control. (Vea la página 9–11.) El valor que escribe se<br />

añadirá a la salida para así permitir que se efectúe una acción <strong>de</strong> alimentación hacia<br />

a<strong>de</strong>lante. Pue<strong>de</strong> añadir un bias escribiendo un valor entre ±16383 y +16383 a<br />

palabra 6 con su terminal <strong>de</strong> programación o programa <strong>de</strong> escalera.<br />

Para aplicaciones <strong>de</strong> calentamiento o enfriamiento, la salida analógica <strong>de</strong> variable <strong>de</strong><br />

control típicamente es convertida en una salida <strong>de</strong> tiempo proporcional. Aunque<br />

esto no se pue<strong>de</strong> realizar directamente en el procesador <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 ó <strong>SLC</strong><br />

5/04, pue<strong>de</strong> usar el programa en la página siguiente para convertir la variable <strong>de</strong><br />

control en una salida <strong>de</strong> tiempo proporcional. En este programa, el tiempo <strong>de</strong> ciclo<br />

es el valor preseleccionado <strong>de</strong>l temporizador T4:0. El tiempo <strong>de</strong> ciclo se relaciona<br />

con el % a tiempo <strong>de</strong> la manera siguiente:<br />

T4:0.PRE es el tiempo <strong>de</strong> ciclo<br />

% a tiempo<br />

salida 100% a tiempo<br />

9–23


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo – Salidas <strong>de</strong> tiempo proporcional<br />

9–24<br />

Bit <strong>de</strong> efectuado<br />

<strong>de</strong> la instrucción<br />

PID<br />

GRT<br />

GREATER THAN<br />

Source A T4:0.ACC<br />

0<br />

Source B N7:25<br />

0<br />

T4:0<br />

] [<br />

DN<br />

N7:2<br />

] [<br />

13<br />

PID<br />

PID<br />

Control Block N7:2<br />

Process Variable N7:0<br />

Control Variable N7:1<br />

Control Block Length 23<br />

TON<br />

TIMER ON DELAY<br />

Timer T4:0<br />

Time Base 0.01<br />

Preset 1000<br />

Accum 0<br />

NEQ<br />

NOT EQUAL<br />

Source A N7:25<br />

0<br />

Source B 0<br />

END<br />

O:1.0<br />

(U)<br />

0<br />

T4:0<br />

(RES)<br />

O:1.0<br />

(L)<br />

0<br />

MUL<br />

MULTIPLY<br />

Source A N7:1<br />

0<br />

Source B T4:0.PRE<br />

1000<br />

Dest N7:25<br />

0<br />

DDV<br />

DOUBLE DIVIDE<br />

Source 16383<br />

Dest N7:25<br />

0<br />

CLR<br />

CLEAR<br />

Dest S:5<br />

0<br />

(EN)<br />

(DN)<br />

Tiempo <strong>de</strong> ciclo<br />

<strong>de</strong> salida<br />

Contactos <strong>de</strong> salida<br />

<strong>de</strong> tiempo<br />

proporcional<br />

Variable <strong>de</strong> control<br />

Salida como fracción<br />

<strong>de</strong>l tiempo <strong>de</strong> ciclo<br />

Borra el indicador<br />

<strong>de</strong> error menor


Sintonización PID<br />

Instrucción proporcional integral <strong>de</strong>rivativa<br />

La sintonización PID requiere el conocimiento <strong>de</strong>l control <strong>de</strong> proceso. Si no tiene<br />

experiencia, sería útil obtener instrucción técnica acerca <strong>de</strong> la teoría y métodos <strong>de</strong><br />

control <strong>de</strong> proceso usados por su empresa.<br />

Existen varias técnicas que se pue<strong>de</strong>n usar para sintonizar un lazo PID. El método<br />

<strong>de</strong> ajuste PID siguiente es general y es limitado respecto al manejo <strong>de</strong><br />

perturbaciones <strong>de</strong> carga. Cuando sintoniza, le recomendamos que efectúe cambios<br />

en el modo MANUAL, seguido por un retorno a AUTOMATICO. El límite <strong>de</strong><br />

salida se aplica en el modo MANUAL.<br />

Nota Este método requiere que la instrucción PID controle una aplicación no crítica<br />

respecto a la seguridad personal y daños al equipo.<br />

Procedimiento<br />

1. Cree su programa <strong>de</strong> escalera. Asegúrese que haya escalado correctamente su<br />

entrada analógica en el rango <strong>de</strong> la variable <strong>de</strong> proceso PV y que haya escalado<br />

correctamente su variable <strong>de</strong> control CV a su salida analógica.<br />

2. Conecte su equipo <strong>de</strong> control <strong>de</strong> proceso a los módulos analógicos. Cargue el<br />

programa en el procesador. Deje el procesador en el modo <strong>de</strong> programa.<br />

Asegúrese que todas las posibilida<strong>de</strong>s <strong>de</strong> movimiento <strong>de</strong> la máquina hayan sido<br />

consi<strong>de</strong>radas en cuanto a la seguridad personal y daños al equipo. Es posible<br />

que la salida CV pueda oscilar entre 0 y 100% durante la sintonización.<br />

Si <strong>de</strong>sea verificar el escalado <strong>de</strong> su sistema continuo y/o <strong>de</strong>terminar el tiempo <strong>de</strong><br />

actualización <strong>de</strong>l lazo inicial <strong>de</strong>l sistema, pase al procedimiento en la página 9–27.<br />

3. Introduzca los valores siguientes: el valor <strong>de</strong> punto <strong>de</strong> ajuste inicial SP, un Ti <strong>de</strong><br />

restablecimiento <strong>de</strong> 0, un régimen Td <strong>de</strong> 0, una ganancia Kc <strong>de</strong> 1 y una<br />

actualización <strong>de</strong> lazo <strong>de</strong> 5.<br />

Establezca el modo PID a STI o temporizado, según su diagrama <strong>de</strong> escalera. Si<br />

STI es seleccionado, asegúrese que el tiempo <strong>de</strong> actualización <strong>de</strong>l lazo sea igual<br />

al intervalo <strong>de</strong> tiempo STI.<br />

Introduzca los establecimientos opcionales aplicables (límite <strong>de</strong> salida, alarma<br />

<strong>de</strong> salida, escalado Smax – Smin, alimentación hacia a<strong>de</strong>lante).<br />

4. Prepárese para registrar el CV, PV, entrada analógica o salida analógica a<br />

medida que vaya variándose con el transcurso <strong>de</strong> tiempo con respecto al valor<br />

<strong>de</strong>l punto <strong>de</strong> ajuste SP.<br />

9–25


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

9–26<br />

5. Coloque la instrucción PID en el modo MANUAL, luego coloque el procesador<br />

en el modo <strong>de</strong> marcha.<br />

6. Mientras monitoriza la pantalla PID, ajuste el proceso manualmente escribiendo<br />

al valor <strong>de</strong> porcentaje CO.<br />

7. Cuando perciba tener el proceso bajo control manual, coloque la instrucción<br />

PID en el modo AUTOMATICO.<br />

8. Ajuste la ganancia a medida que vaya observando la relación <strong>de</strong> la salida con el<br />

punto <strong>de</strong> ajuste durante el transcurso <strong>de</strong> tiempo.<br />

Cuando usa el procesador <strong>SLC</strong> 5/02, los ajustes <strong>de</strong> ganancia perturban el<br />

proceso cuando cambia los valores. Para evitar esta perturbación, cambie al<br />

modo MANUAL antes <strong>de</strong> efectuar el cambio <strong>de</strong> ganancia y luego retorne al<br />

modo AUTOMATICO. Cuando usa el procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04, los<br />

cambios <strong>de</strong> ganancia no perturban el proceso; por lo tanto, no es necesario<br />

cambiar al modo MANUAL.<br />

9. Cuando observe que el proceso está oscilando arriba y abajo <strong>de</strong>l punto <strong>de</strong> ajuste<br />

<strong>de</strong> una manera uniforme, registre la duración <strong>de</strong> 1 ciclo. Eso es, obtenga el<br />

período natural <strong>de</strong>l proceso.<br />

Período natural ≅ 4x tiempo muerto<br />

Registre el valor <strong>de</strong> ganancia. Retorne al modo MANUAL (<strong>de</strong>tenga el proceso<br />

si fuese necesario).<br />

10. Establezca el tiempo <strong>de</strong> actualización <strong>de</strong>l lazo (y el intervalo <strong>de</strong> tiempo STI si es<br />

aplicable) a un valor <strong>de</strong> 5 a 10 veces más rápido que el período natural.<br />

Por ejemplo, si el tiempo <strong>de</strong> ciclo es 20 segundos y usted elige establecer el<br />

tiempo <strong>de</strong> actualización <strong>de</strong>l lazo a 10 veces más rápido que la velocidad natural,<br />

establezca el tiempo <strong>de</strong> actualización <strong>de</strong>l lazo a 200, lo que resultará en una<br />

velocidad <strong>de</strong> 2 segundos.<br />

11. Establezca el valor <strong>de</strong> ganancia Kc a 1/2 <strong>de</strong> la ganancia necesaria para obtener<br />

el período natural <strong>de</strong>l proceso. Por ejemplo, si el valor <strong>de</strong> ganancia registrado<br />

en el paso 9 fue 80, establezca la ganancia a 40.<br />

12. Establezca el término <strong>de</strong> restablecimiento Ti para que éste se aproxime al<br />

período natural. Si el período natural es 20 segundos, como en nuestro ejemplo,<br />

se establecerá el término <strong>de</strong> restablecimiento a 3 (0.3 minutos por repetición se<br />

aproximan a 20 segundos).<br />

13. Ahora establezca el régimen Td para que éste sea igual a un valor <strong>de</strong> 1/8 <strong>de</strong>l<br />

término <strong>de</strong> restablecimiento. Para nuestro ejemplo, el valor 4 será usado para<br />

proporcionar un término <strong>de</strong> régimen <strong>de</strong> 0.04 minutos por repetición.


Instrucción proporcional integral <strong>de</strong>rivativa<br />

14. Coloque el proceso en el modo AUTOMATICO. Si tiene un proceso i<strong>de</strong>al, la<br />

sintonización PID será finalizada.<br />

15. Para efectuar ajustes <strong>de</strong> este punto en a<strong>de</strong>lante, coloque la instrucción PID en el<br />

modo MANUAL, introduzca el ajuste y retorne la instrucción PID al modo<br />

AUTOMATICO.<br />

Esta técnica <strong>de</strong> cambiar al modo MANUAL y luego retornar al modo<br />

AUTOMATICO asegura que la mayor parte <strong>de</strong>l “error <strong>de</strong> ganancia” se elimine<br />

al momento <strong>de</strong> realizar cada ajuste. Esto le permite observar inmediatamente<br />

los efectos <strong>de</strong> cada ajuste. El alternar el renglón PID permite que la instrucción<br />

PID se reinicie eliminando así toda la “acumulación integral”. Es posible que<br />

<strong>de</strong>see alternar el renglón PID como falso a medida que vaya sintonizando para<br />

eliminar los efectos <strong>de</strong> los ajustes <strong>de</strong> sintonización anteriores.<br />

Cómo verificar el escalado <strong>de</strong>l sistema continuo<br />

Para asegurarse que el proceso sea lineal y que el equipo esté correctamente<br />

conectado y escalado, realice lo siguiente:<br />

1. Coloque la instrucción PID en el modo manual e introduzca los parámetros<br />

siguientes:<br />

• escriba: 0 para Smin<br />

• escriba: 100 para Smax<br />

• escriba: 0 para CO%<br />

2. Introduzca el modo <strong>de</strong> marcha REM y verifique que PV=0.<br />

3. Escriba: 20 en CO%<br />

4. Registre el PV = _______<br />

5. Escriba: 40 en CO%.<br />

6. Registre el PV = _______<br />

7. Escriba: 60 en CO%.<br />

8. Registre el PV = _______<br />

9. Escriba: 80 en CO%.<br />

10. Registre el PV = _______<br />

9–27


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

9–28<br />

11. Los valores que ha registrado <strong>de</strong>ben tener un offset <strong>de</strong>l CO% con la misma<br />

cantidad. Esto prueba la linealidad <strong>de</strong>l proceso. El ejemplo siguiente muestra<br />

una progresión <strong>de</strong> offset <strong>de</strong> quince.<br />

CO 20% = PV 35%<br />

CO 40% = PV 55%<br />

CO 60% = PV 75%<br />

CO 80% = PV 95%<br />

Si los valores que ha registrado no tienen el offset con la misma cantidad:<br />

• El escalado es incorrecto, o<br />

• el proceso no es lineal, o<br />

• el equipo no está conectado y/o configurado correctamente.<br />

Haga las correcciones necesarias y repita los pasos 2–10.<br />

Cómo <strong>de</strong>terminar el tiempo <strong>de</strong> actualización <strong>de</strong>l lazo inicial<br />

Para <strong>de</strong>terminar el tiempo <strong>de</strong> actualización <strong>de</strong>l lazo aproximado que se <strong>de</strong>be usar<br />

para su proceso, realice lo siguiente:<br />

1. Coloque los valores <strong>de</strong> aplicación normales en Smin y Smax.<br />

2. Escriba: 50 en CO%.<br />

3. Escriba: 60 en CO% y active inmediatamente su cronómetro.<br />

4. Observe el PV. Cuando el PV comience a cambiar, pare el cronómetro.<br />

Registre este valor. Esto constituye el tiempo muerto.<br />

5. Multiplique el tiempo muerto por 4. Este valor se aproxima al período natural.<br />

Por ejemplo, si:<br />

tiempo muerto = 3 segundos, entonces 4 3 = 12 segundos (≅ período natural)<br />

6. Divida el valor obtenido en el paso 5 entre 10. Use este valor como el tiempo<br />

<strong>de</strong> actualización <strong>de</strong>l lazo. Por ejemplo, si:<br />

período natural = 12 segundos, entonces 12 10 = 1.2 segundos.<br />

Por lo tanto, el valor 120 se introducirá como el tiempo <strong>de</strong> actualización <strong>de</strong>l<br />

lazo.<br />

(120 10 ms = 1.2 segundos)


Instrucción proporcional integral <strong>de</strong>rivativa<br />

7. Introduzca los valores siguientes: El valor SP <strong>de</strong> punto <strong>de</strong> ajuste inicial, un Ti<br />

<strong>de</strong> restablecimiento <strong>de</strong> 0, un Td <strong>de</strong> régimen <strong>de</strong> 0, un Kc <strong>de</strong> ganancia <strong>de</strong> 1 y el<br />

tiempo <strong>de</strong> actualización <strong>de</strong>l lazo <strong>de</strong>terminado en el paso 17.<br />

Establezca el modo PID a STI o temporizado, según su diagrama <strong>de</strong> escalera. Si<br />

selecciona STI, asegúrese que el tiempo <strong>de</strong> actualización <strong>de</strong>l lazo sea igual al<br />

intervalo <strong>de</strong> tiempo STI.<br />

Introduzca los posicionamientos opcionales aplicables (límite <strong>de</strong> salida, alarma<br />

<strong>de</strong> salida, escalado Smax – Smin, alimentación hacia a<strong>de</strong>lante).<br />

8. Retorne a la página 9–25 y finalice el procedimiento <strong>de</strong> sintonización a partir<br />

<strong>de</strong>l paso 4.<br />

9–29


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

9–30


10 Instrucciones ASCII<br />

Instrucciones ASCII<br />

Instrucciones ASCII<br />

Este capítulo contiene información general acerca <strong>de</strong> las <strong>instrucciones</strong> ASCII y<br />

explica cómo funcionan en su programa <strong>de</strong> aplicación. Cada una <strong>de</strong> las<br />

<strong>instrucciones</strong> incluye información acerca <strong>de</strong>:<br />

• cómo aparece el símbolo <strong>de</strong> instrucción<br />

• cómo usar la instrucción<br />

Instrucción<br />

Mnemónico Nombre<br />

ABL Prueba <strong>de</strong> búfer<br />

por línea<br />

ACB Número <strong>de</strong><br />

caracteres en búfer<br />

Propósito Página<br />

Determina el número <strong>de</strong> caracteres en el búfer,<br />

hasta e incluyendo el carácter <strong>de</strong>l fin <strong>de</strong> línea.<br />

10–7<br />

Determina el número total <strong>de</strong> caracteres en el búfer. 10–8<br />

ACI Ca<strong>de</strong>na a entero Convierte una ca<strong>de</strong>na en un valor entero. 10–10<br />

ACL Borrado <strong>de</strong>l búfer<br />

ASCII <strong>de</strong> recepción<br />

y/o transmisión<br />

ACN Concatenado <strong>de</strong><br />

ca<strong>de</strong>nas<br />

AEX Extracción <strong>de</strong> ca<strong>de</strong>na<br />

AHL Líneas <strong>de</strong> handshake<br />

ASCII<br />

Borra los búferes <strong>de</strong> recepción y/o <strong>de</strong> transmisión 10–11<br />

Combina dos ca<strong>de</strong>nas en una. 10–12<br />

Extrae una porción <strong>de</strong> una ca<strong>de</strong>na para crea nua<br />

ca<strong>de</strong>na nueva.<br />

Establece o restablece las líneas <strong>de</strong> comunicación<br />

<strong>de</strong> mó<strong>de</strong>m<br />

10–13<br />

10–14<br />

AIC Entero a ca<strong>de</strong>na Convierte un valor entero en una ca<strong>de</strong>na. 10–16<br />

ARD Lectura <strong>de</strong><br />

caracteres ASCII<br />

Lee caracteres <strong>de</strong>s<strong>de</strong> el búfer <strong>de</strong> entrada y los coloca<br />

en una ca<strong>de</strong>na.<br />

10–17<br />

continúa en la página siguiente<br />

10–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

10–2<br />

Instrucción<br />

Mnemónico Nombre<br />

ARL Lectura ASCII <strong>de</strong><br />

línea<br />

ASC Búsqueda <strong>de</strong> ca<strong>de</strong>na<br />

ASR Comparación <strong>de</strong><br />

ca<strong>de</strong>nas ASCII<br />

AWA Escritura ASCII<br />

con apéndice<br />

Propósito Página<br />

Lee una línea <strong>de</strong> caracteres <strong>de</strong>s<strong>de</strong> el búfer <strong>de</strong> entrada<br />

y los coloca en una ca<strong>de</strong>na.<br />

10–20<br />

Busca una ca<strong>de</strong>na. 10–22<br />

Compara dos ca<strong>de</strong>nas. 10–23<br />

Escribe una ca<strong>de</strong>na con caracteres configurados<br />

por el usuario añadidos.<br />

10–24<br />

AWT Escritura ASCII Escribe una ca<strong>de</strong>na. 10–27<br />

Descripción general <strong>de</strong> ASCII<br />

Las <strong>instrucciones</strong> ASCII están disponibles en los procesadores <strong>SLC</strong> 5/03 OS301 y<br />

superiores y todos los procesadores <strong>SLC</strong> 5/04. Existen dos tipos <strong>de</strong> <strong>instrucciones</strong><br />

ASCII:<br />

• Control <strong>de</strong> puerto ASCII – esto incluye <strong>instrucciones</strong> que usan o modifican el<br />

canal <strong>de</strong> comunicación para la recepción o transmisión <strong>de</strong> datos. Cuando usa<br />

estas <strong>instrucciones</strong>, la configuración <strong>de</strong>l sistema <strong>de</strong>be estar establecida en el<br />

“modo <strong>de</strong> usuario”.<br />

(ABL, ACB, ACL, AHL*, ARD, ARL, AWA*, AWT*)<br />

* – significa que <strong>de</strong>be estar en el modo <strong>de</strong> usuario o sistema<br />

Las <strong>instrucciones</strong> <strong>de</strong> control <strong>de</strong> puerto ASCII se colocan en cola según el or<strong>de</strong>n<br />

<strong>de</strong> ejecución y <strong>de</strong>pen<strong>de</strong>n la una <strong>de</strong> la otra para ejecutarse (excepto ACL, la cual<br />

se ejecuta inmediatamente). Por ejemplo, si tiene una ARD (instrucción <strong>de</strong><br />

lectura ASCII) y luego una AWT (instrucción <strong>de</strong> escritura ASCII), el bit <strong>de</strong><br />

efectuado o el bit <strong>de</strong> error <strong>de</strong> la ARD <strong>de</strong>be estar establecido antes <strong>de</strong> que AWT<br />

pueda comenzar ejecutarse (aun cuando AWT se ha habilitado durante la<br />

ejecución <strong>de</strong> ARD por parte <strong>de</strong>l procesador). Una segunda instrucción <strong>de</strong><br />

control <strong>de</strong> puerto ASCII no pue<strong>de</strong> comenzar a ejecutarse hasta que la primera se<br />

haya finalizado. Sin embargo, el procesador no espera la finalización <strong>de</strong> una<br />

instrucción <strong>de</strong> control <strong>de</strong> puerto ASCII antes <strong>de</strong> que siga ejecutando su<br />

programa <strong>de</strong> escalera.<br />

• Control <strong>de</strong> ca<strong>de</strong>na ASCII – esto incluye <strong>instrucciones</strong> que manejan los datos <strong>de</strong><br />

ca<strong>de</strong>na. (ACI, ACN, AEX, AIC, ASC, ASR)<br />

Las <strong>instrucciones</strong> <strong>de</strong> control <strong>de</strong> ca<strong>de</strong>na ASCII se ejecutan inmediatamente.<br />

Nunca se colocan en cola para esperar su ejecución.


Descripción general <strong>de</strong>l parámetro <strong>de</strong> protocolo<br />

Instrucciones ASCII<br />

A continuación aparecen los parámetros <strong>de</strong> protocolo ASCII que usted estableció<br />

vía las pantallas <strong>de</strong> configuración <strong>de</strong> canal 0 en el software <strong>de</strong> programación.<br />

Velocidad<br />

Bits <strong>de</strong> arranque<br />

Bits <strong>de</strong> parada<br />

Paridad<br />

Bits <strong>de</strong> datos<br />

Caracteres <strong>de</strong> terminación<br />

Caracteres añadidos<br />

Descripción Especificación<br />

Alterna entre 110, 300, 600,<br />

1200,2400,4800,9600 y 19200. El valor<br />

pre<strong>de</strong>terminado es 1200.<br />

El valor pre<strong>de</strong>terminado es 1 y no se pue<strong>de</strong><br />

cambiar.<br />

Las opciones incluyen 1, 1.5 y 2. El valor<br />

pre<strong>de</strong>terminado es 1.<br />

Alterna entre Ninguno, Impar y Par. El valor<br />

pre<strong>de</strong>terminado es Ninguno.<br />

Alterna entre 7 y 8. El valor pre<strong>de</strong>terminado es<br />

8.<br />

Le permite configurar hasta 2 caracteres ASCII.<br />

La instrucción ABL usa bloques para <strong>de</strong>terminar<br />

la longitud <strong>de</strong> ca<strong>de</strong>na. El valor pre<strong>de</strong>terminado<br />

es CR.<br />

Le permite configurar hasta 2 caracteres ASCII.<br />

La instrucción AWA aña<strong>de</strong> los caracteres al final<br />

<strong>de</strong> cada ca<strong>de</strong>na para servir como caracteres <strong>de</strong><br />

terminación para el dispositivo receptor. El valor<br />

pre<strong>de</strong>terminado es CR LF.<br />

10–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Cómo usar el tipo <strong>de</strong> archivo <strong>de</strong> datos ASCII<br />

10–4<br />

Estos son elementos <strong>de</strong> 1 palabra. Asigne las direcciones ASCII así:<br />

Formato Explicación<br />

Af:e/b<br />

Ejemplos:<br />

A Archivo ASCII<br />

f Número <strong>de</strong> archivo. Un número <strong>de</strong> archivo entre 9-255 se pue<strong>de</strong> usar.<br />

: Delimitador <strong>de</strong> elemento<br />

e<br />

Número <strong>de</strong><br />

elemento<br />

/ Delimitador <strong>de</strong> bit<br />

b<br />

Número <strong>de</strong><br />

bit<br />

Rango <strong>de</strong> 0-255. Este es un elemento <strong>de</strong> 1 palabra.<br />

Ubicación <strong>de</strong> bit <strong>de</strong>ntro <strong>de</strong>l elemento. Rango <strong>de</strong> 0-15.<br />

A9:2 Elemento 2, archivo ASCII 9<br />

A10:0/7 Bit 7, elemento 0, archivo ASCII 10<br />

Cómo usar el tipo <strong>de</strong> archivo <strong>de</strong> datos <strong>de</strong> ca<strong>de</strong>na (ST)<br />

Este tipo <strong>de</strong> archivo es válido para los procesadores <strong>SLC</strong> 5/03 OS301, OS302 y <strong>SLC</strong><br />

5/04 OS400, OS401. Estos son elementos <strong>de</strong> 42 palabras. Pue<strong>de</strong> direccionar las<br />

longitu<strong>de</strong>s <strong>de</strong> ca<strong>de</strong>na añadiendo un .LEN a cualquier dirección <strong>de</strong> ca<strong>de</strong>na (por<br />

ejemplo, ST17:1.LEN). Los números <strong>de</strong>l archivo <strong>de</strong> datos <strong>de</strong> ca<strong>de</strong>na válidos son<br />

9–255.<br />

Las longitu<strong>de</strong>s <strong>de</strong> ca<strong>de</strong>na <strong>de</strong>ben estar entre 0 y 82. Por lo general, las longitu<strong>de</strong>s<br />

fuera <strong>de</strong> este rango causan que el procesador establezca el bit <strong>de</strong> error ASCII<br />

(S:5/15) y la instrucción no se ejecuta.<br />

Nota Configura los caracteres añadidos o fin <strong>de</strong> línea vía la pantalla <strong>de</strong> configuración <strong>de</strong><br />

canal. Los caracteres añadidos pre<strong>de</strong>terminados son el retorno <strong>de</strong>l carro y<br />

alimentación <strong>de</strong> línea; el carácter <strong>de</strong> fin <strong>de</strong> línea (terminación) pre<strong>de</strong>terminado es<br />

un retorno <strong>de</strong> carro.<br />

Todas las <strong>instrucciones</strong>, menos ACL y AHL, entrarán en error si el puerto se<br />

inhabilita.


Asigne direcciones <strong>de</strong> ca<strong>de</strong>na así:<br />

Formato Explicación<br />

ST Archivo <strong>de</strong> ca<strong>de</strong>na<br />

Instrucciones ASCII<br />

STf:e.s/b f Número <strong>de</strong> archivo. Un número <strong>de</strong> archivo entre 9-255 se pue<strong>de</strong> usar.<br />

Ejemplos:<br />

: Delimitador <strong>de</strong> elemento<br />

e<br />

Número <strong>de</strong><br />

elemento<br />

Rango <strong>de</strong> 0-255. Estos son elementos <strong>de</strong> 42 palabras.<br />

16 bits por elemento.<br />

. Delimitador <strong>de</strong> subelemento<br />

s<br />

Número <strong>de</strong><br />

subelemento<br />

Rango <strong>de</strong> 0-41. Palabra 0 es la longitud, .LEN.<br />

/ Delimitador <strong>de</strong> bit<br />

b Número <strong>de</strong> bit<br />

Ubicación <strong>de</strong> bit <strong>de</strong>ntro <strong>de</strong>l elemento. Rango <strong>de</strong> 0-15.<br />

El direccionamiento a nivel <strong>de</strong> bit no está disponible<br />

para la palabra 0 <strong>de</strong> elementos <strong>de</strong> ca<strong>de</strong>na.<br />

ST9:2 Elemento 2, archivo <strong>de</strong> ca<strong>de</strong>na 9<br />

ST10:2.3/8 Bit 8 en subelemento 3 <strong>de</strong> elemento 2, archivo <strong>de</strong> ca<strong>de</strong>na 10<br />

10–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Cómo introducir parámetros<br />

10–6<br />

El elemento <strong>de</strong> control para las <strong>instrucciones</strong> ASCII incluye ocho bits <strong>de</strong> estado, un<br />

byte <strong>de</strong> código <strong>de</strong> error y dos palabras <strong>de</strong> carácter:<br />

Word 0<br />

Word 1<br />

Word 2<br />

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

EN EU DN EM ER UL IN FD | Error Co<strong>de</strong><br />

Number of characters for sending or receiving (LEN)<br />

Number of characters sent or received (POS)<br />

EN = Enable Bit<br />

EU = Queue Bit<br />

DN = Asynchronous Done Bit<br />

EM = Synchronous Done Bit<br />

ER = Error Bit<br />

UL = Unload Bit<br />

IN = Running Bit (Este bit es el bit IN en el archivo<br />

<strong>de</strong> datos <strong>de</strong> control [R6:].)<br />

FD = Found Bit<br />

• El bit encontrado FD (bit 8) indica que la instruccion ha encontrado el fin <strong>de</strong><br />

caracteres o caracteres <strong>de</strong> terminación en el búfer (se aplica a las <strong>instrucciones</strong><br />

ABL y ACB).<br />

• El bit <strong>de</strong> marcha IN (bit 9) indica que una instrucción puesta en cola se está<br />

ejecutando.<br />

• El bit <strong>de</strong> <strong>de</strong>scarga UL (bit 10) <strong>de</strong>tiene la operación <strong>de</strong> instrucción antes (pue<strong>de</strong><br />

estar puesta en cola) o durante la ejecución. Si este bit se establece durante la<br />

ejecución <strong>de</strong> una instrucción, los datos ya procesados se envían al <strong>de</strong>stino.<br />

Anote que la instrucción no se elimina <strong>de</strong> la cola; los datos remanentes<br />

simplemente no se procesan. Usted establece este bit.<br />

• El bit <strong>de</strong> error ER (bit 11) indica que un error ocurrió durante la ejecución <strong>de</strong><br />

la instrucción, tal como un cambio <strong>de</strong> modo vía canal 1 ó la instrucción fue<br />

cancelada usando el bit UL o la instrucción ACL.<br />

• El bit <strong>de</strong> efectuado sincrónico EM (bit 12) se establece concurrentemente a<br />

un escán <strong>de</strong> programa para indicar la finalización <strong>de</strong> una instrucción ASCII.<br />

• El bit <strong>de</strong> efectuado asincrónico DN (bit 13) se establece en la parte opuesta <strong>de</strong><br />

un escán <strong>de</strong> programa cuando una instrucción completa su operación<br />

exitosamente. Anote que una instrucción pue<strong>de</strong> <strong>de</strong>morar más que un escán <strong>de</strong><br />

programa para terminar la ejecución.<br />

• El bit <strong>de</strong> cola EU (bit 14) indica que una instrucción ASCII ha sido colocada<br />

en la cola ASCII. Esta acción se <strong>de</strong>mora si la cola ya está llena. La cola pue<strong>de</strong><br />

contener hasta 16 <strong>instrucciones</strong>.<br />

• El bit <strong>de</strong> habilitación EN (bit 15) indica que una instrucción se ha habilitado<br />

<strong>de</strong>bido a una transición <strong>de</strong> falso a verda<strong>de</strong>ro. Este bit permanece establecido<br />

hasta que la instrucción haya terminado la ejecución <strong>de</strong> errores.


Prueba <strong>de</strong> búfer por línea (ABL)<br />

ABL<br />

ASCII TEST FOR LINE<br />

Channel<br />

Control<br />

Characters 0<br />

Error<br />

Instrucción <strong>de</strong> salida<br />

Cómo introducir parámetros<br />

Ejemplo<br />

(EN)<br />

(DN)<br />

(ER)<br />

Instrucciones ASCII<br />

Use la instrucción ABL para <strong>de</strong>terminar el número total <strong>de</strong> caracteres en el búfer <strong>de</strong><br />

entrada, hasta e incluyendo los caracteres <strong>de</strong> fin <strong>de</strong> línea (terminación). Esta<br />

instrucción busca dos caracteres <strong>de</strong> terminación que usted configura vía la pantalla<br />

<strong>de</strong> configuración <strong>de</strong> puerto ASCII. Durante una transición <strong>de</strong> falso a verda<strong>de</strong>ro, el<br />

procesador comunica el número <strong>de</strong> caracteres en el campo POS <strong>de</strong>l bloque <strong>de</strong><br />

control ASCII. El puerto en serie <strong>de</strong>be estar configurado para el modo <strong>de</strong> usuario.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• El canal es el número <strong>de</strong>l puerto RS-232 (canal 0).<br />

• El control es el área que almacena el registro <strong>de</strong> control requerido para operar<br />

la instrucción.<br />

• Los caracteres son el número <strong>de</strong> caracteres en el búfer que el procesador<br />

encuentra (0–1024). Este parámetro se muestra en pantalla solamente y resi<strong>de</strong><br />

en la palabra 2 <strong>de</strong>l bloque <strong>de</strong> control.<br />

• El error muestra el código <strong>de</strong> error hexa<strong>de</strong>cimal que indica por qué el bit ER se<br />

ha establecido en el archivo <strong>de</strong> datos <strong>de</strong> control (R6:). Vea la página 10–29 para<br />

obtener <strong>de</strong>scripciones <strong>de</strong>l código <strong>de</strong> error.<br />

I:1<br />

[<br />

10<br />

Si la ranura <strong>de</strong> entrada 1, bit 10, está<br />

establecida, el procesador realiza una<br />

operación ABL por canal 0.<br />

[<br />

ABL<br />

ASCII TEST FOR LINE<br />

Channel<br />

0<br />

Control R6:32<br />

Characters<br />

0<br />

Error<br />

Cuando el renglón cambia <strong>de</strong> falso a verda<strong>de</strong>ro, se establece el bit <strong>de</strong> habilitación<br />

(EN). La instrucción se coloca en la cola <strong>de</strong> instrucción ASCII, el bit <strong>de</strong> cola (EU)<br />

se establece y el escán <strong>de</strong> programa continúa. Luego, la instrucción se ejecuta fuera<br />

<strong>de</strong>l escán <strong>de</strong> programa. Sin embargo, si la cola está vacía, la instrucción se ejecuta<br />

inmediatamente. Al ejecutarse, se establece el bit <strong>de</strong> marcha.<br />

<br />

<br />

EN<br />

DN<br />

ER<br />

10–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Número <strong>de</strong> caracteres<br />

en búfer (ACB)<br />

ACB<br />

ASCII CHARS IN BUFFER<br />

Channel<br />

Control<br />

Characters 0<br />

Error<br />

Instrucción <strong>de</strong> salida<br />

10–8<br />

(EN)<br />

(DN)<br />

(ER)<br />

Cómo introducir parámetros<br />

El procesador <strong>de</strong>termina el número <strong>de</strong> caracteres (hasta e incluyendo los caracteres<br />

<strong>de</strong> fin <strong>de</strong> línea/terminación) y coloca este valor en el campo <strong>de</strong> posición. El bit <strong>de</strong><br />

efectuado (DN) se establece.<br />

Si cero aparece en el campo POS, es indicación <strong>de</strong> que se encontraron caracteres <strong>de</strong><br />

fin <strong>de</strong> línea/terminación. El bit <strong>de</strong> encontrado (FD) se establece si el campo <strong>de</strong><br />

posición se estableció a un valor que no sea cero.<br />

Cuando el programa escanea la instrucción y encuentra el bit <strong>de</strong> efectuado (DN)<br />

establecido, el procesador establece el bit <strong>de</strong> efectuado sincrónico (EM). El bit EM<br />

sirve como bit <strong>de</strong> efectuado secundario correspondiente al escán <strong>de</strong> programa.<br />

El bit <strong>de</strong> error (ER) se establece durante la ejecución <strong>de</strong> la instrucción si:<br />

• la instrucción se cancela – puerto en serie no en el modo <strong>de</strong> usuario<br />

• la instrucción se cancela <strong>de</strong>bido a un cambio <strong>de</strong> modo <strong>de</strong> canal<br />

• el bit <strong>de</strong> <strong>de</strong>scarga (UL) se establece y la instrucción no se ejecuta<br />

Use la instrucción ACB para <strong>de</strong>terminar los caracteres totales en el búfer. En una<br />

transición <strong>de</strong> falso a verda<strong>de</strong>ro, el procesador <strong>de</strong>termina el número total <strong>de</strong><br />

caracteres y lo registra en el campo <strong>de</strong> posición <strong>de</strong>l bloque <strong>de</strong> control ASCII. El<br />

puerto en serie <strong>de</strong>be estar en el modo <strong>de</strong> usuario.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

<br />

<br />

• El canal es el número <strong>de</strong>l puerto RS-232 (canal 0).<br />

• El control es el área que almacena el registro <strong>de</strong> control requerido para operar<br />

la instrucción.<br />

• Los caracteres son el número <strong>de</strong> caracteres en el búfer que el procesador<br />

encuentra (0–1024). Este parámetro se muestra en pantalla solamente y resi<strong>de</strong><br />

en ;a palabra 2 <strong>de</strong>l bloque <strong>de</strong> control.<br />

• El error muestra el código <strong>de</strong> error hexa<strong>de</strong>cimal que indica por qué el bit ER se<br />

ha establecido en el archivo <strong>de</strong> datos <strong>de</strong> control (R6:). Vea la página 10–29 para<br />

obtener <strong>de</strong>scripciones <strong>de</strong>l código <strong>de</strong> error.


Ejemplo<br />

I:1<br />

[<br />

10<br />

Si la ranura <strong>de</strong> entrada 1, bit 10, está<br />

establecida, el procesador realiza una<br />

operación ABL por canal 0.<br />

[<br />

Instrucciones ASCII<br />

ACB<br />

ASCII CHARS IN BUFFER<br />

Channel<br />

0<br />

Control R6:32<br />

Characters<br />

0<br />

Error<br />

Cuando el renglón va <strong>de</strong> falso a verda<strong>de</strong>ro, el bit <strong>de</strong> habilitación (EN) se establece.<br />

Cuando la instrucción se coloca en la cola ASCII, el bit <strong>de</strong> cola (EU) se establece.<br />

El bit <strong>de</strong> marcha (RN) se establece cuando la instrucción se está ejecutando. El bit<br />

<strong>de</strong> efectuado (DN) se establece al momento en que la instrucción se finaliza.<br />

El procesador <strong>de</strong>termina el número <strong>de</strong> caracteres en el búfer y coloca este valor en el<br />

campo <strong>de</strong> posición <strong>de</strong>l bloque <strong>de</strong> control. El bit <strong>de</strong> efectuado (DN) se establece. Si<br />

aparece cero en el campo <strong>de</strong> caracteres, indica que no se encontraron caracteres.<br />

Cuando el programa escanea la instrucción y encuentra el bit <strong>de</strong> efectuado (DN)<br />

establecido, el procesador establece el bit sincrónico (EM). El bit EM sirve como<br />

bit <strong>de</strong> efectuado secundario correspondiente al escán <strong>de</strong> programa.<br />

El bit <strong>de</strong> error (ER) se establece durante la ejecución <strong>de</strong> la instrucción si:<br />

• la instrucción se cancela – puerto en serie no está en el modo <strong>de</strong> usuario<br />

• la instrucción se cancela <strong>de</strong>bido a un cambio <strong>de</strong> modo <strong>de</strong> canal<br />

• el bit <strong>de</strong> <strong>de</strong>scarga (UL) se establece y la instrucción no se ejecuta<br />

EN<br />

DN<br />

ER<br />

10–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ca<strong>de</strong>na a entero (ACI)<br />

ACI<br />

STRING TO INTEGER<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Ejemplo<br />

10–10<br />

Use la instrucción ACI para convertir una ca<strong>de</strong>na ASCII en un valor entero entre<br />

–32,768 y 32,767.<br />

[<br />

I:1<br />

[<br />

10<br />

Si la ranura <strong>de</strong> entrada 1, bit 10, está establecida,<br />

convierta la ca<strong>de</strong>na en ST38:90 en un entero y almacene<br />

el resultado en N7:123<br />

ACI<br />

STRING TO INTEGER<br />

Source ST38:90<br />

Destination N7:123<br />

75<br />

El procesador busca la fuente (tipo <strong>de</strong> archivo ST) para localizar el primer carácter<br />

entre 0 y 9. Todos los caracteres numéricos son extraídos hasta alcanzar un carácter<br />

no numérico o el fin <strong>de</strong> la ca<strong>de</strong>na. La acción se realiza solamente si caracteres<br />

numéricos se encuentran. Si la ca<strong>de</strong>na contiene una longitud inválida (< 0 ó > 82),<br />

el bit <strong>de</strong> error ASCII S:5/15 se establece. Comas y señales (+, –) se permiten en la<br />

ca<strong>de</strong>na. Sin embargo, solamente el signo menos se muestra en la tabla <strong>de</strong> datos.<br />

Luego la ca<strong>de</strong>na numérica extraída se convierte en entero. El bit <strong>de</strong> error ASCII<br />

S:5/15 se establece si un overflow numérico ocurre o si la ca<strong>de</strong>na contiene una<br />

longitud <strong>de</strong> ca<strong>de</strong>na inválida. Se obtiene el valor <strong>de</strong> 32,767 como el resultado.<br />

Esta instrucción también establece los indicadores aritméticos (encontrados en<br />

palabra 0, bits 0–3 en el archivo <strong>de</strong> estado <strong>de</strong> procesador S:0):<br />

Con este bit: El procesador:<br />

S:0/0 Acarreo (C) está reservado.<br />

S:0/1 Overflow (V)<br />

se establece si el valor entero se encuentra fuera <strong>de</strong>l rango<br />

válido.<br />

S:0/2 Cero (Z) se establece si el valor entero es cero.<br />

S:0/3 Signo (S) se establece si el resultado es negativo.


Borrado <strong>de</strong>l búfer ASCII <strong>de</strong><br />

recepción y/o transmisión (ACL)<br />

ACL<br />

ASCII CLEAR BUFFER<br />

Channel<br />

Clear Receive Buffer<br />

Clear Send Buffer<br />

Instrucción <strong>de</strong> salida<br />

Cómo introducir parámetros<br />

Ejemplo<br />

Instrucciones ASCII<br />

Use esta instrucción para borrar un búfer ASCII. Las <strong>instrucciones</strong> ASCII son<br />

eliminadas <strong>de</strong> la cola y luego el bit <strong>de</strong> error (ER) se establece. Esta instrucción se<br />

ejecuta inmediamente al momento <strong>de</strong> transición <strong>de</strong>l renglón a un estado verda<strong>de</strong>ro.<br />

La instrucción funcionará cuando el canal se encuentre en el modo <strong>de</strong> usuario o el<br />

modo <strong>de</strong> sistema. En el modo <strong>de</strong> sistema, sólo el borrado <strong>de</strong>l búfer <strong>de</strong> transmisión<br />

operará y únicamente si DF1 se <strong>de</strong>tecta como el protocolo <strong>de</strong>l modo <strong>de</strong> sistema.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• El canal es el número <strong>de</strong>l puerto RS-232 (canal 0).<br />

• El borrado <strong>de</strong>l búfer <strong>de</strong> recepción borra el búfer <strong>de</strong> recepción y elimina las<br />

<strong>instrucciones</strong> ARD y ARL <strong>de</strong> la cola. El bit <strong>de</strong> error (ER) se establece en cada<br />

una <strong>de</strong> estas <strong>instrucciones</strong>.<br />

• El borrado <strong>de</strong>l búfer <strong>de</strong> transmisión borra el búfer <strong>de</strong> transmisión y elimina<br />

las <strong>instrucciones</strong> AWA y AWT <strong>de</strong> la cola. El bit <strong>de</strong> error (ER) se establece en<br />

cada una <strong>de</strong> estas <strong>instrucciones</strong>.<br />

[<br />

Cuando el borrado <strong>de</strong>l búfer <strong>de</strong> recepción y el borrado <strong>de</strong>l búfer <strong>de</strong> transmisión<br />

se establece a Sí, todas las <strong>instrucciones</strong> se eliminan <strong>de</strong> la cola.<br />

I:1<br />

[<br />

10<br />

Si la ranura <strong>de</strong> entrada 1, bit 10, está establecida,<br />

borre solamente el búfer <strong>de</strong> recepción para canal 0.<br />

ACL<br />

ASCII CLEAR BUFFER<br />

Channel<br />

0<br />

Clear Receive Buffer Y<br />

Clear Send Buffer N<br />

Cuando el renglón se hace verda<strong>de</strong>ro, el(los) búfer(es) seleccionado(s) se borra(n) y<br />

la(s) instrucción(es) ASCII se elimina(n) <strong>de</strong> la cola <strong>de</strong> instrucción ASCII.<br />

<br />

<br />

10–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Concatenado <strong>de</strong> ca<strong>de</strong>nas (ACN)<br />

ACN<br />

STRING CONCATENATE<br />

Source A<br />

Source B<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Cómo introducir parámetros<br />

Ejemplo<br />

10–12<br />

La instrucción ACN combina dos ca<strong>de</strong>nas usando ca<strong>de</strong>nas ASCII como operandos.<br />

La segunda ca<strong>de</strong>na se aña<strong>de</strong> a la primera y el resultado se almacena en el <strong>de</strong>stino.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• La fuente A es la primera ca<strong>de</strong>na en el procedimiento concatenado.<br />

• La fuente B es la segunda ca<strong>de</strong>na en el procedimiento concatenado.<br />

• El <strong>de</strong>stino es el lugar don<strong>de</strong> el resultado <strong>de</strong> la fuente A y B se almacena.<br />

I:1<br />

[<br />

10<br />

Si la ranura <strong>de</strong> entrada 1, bit 10, está establecida,<br />

concatene la ca<strong>de</strong>na en ST37:42 con la ca<strong>de</strong>na<br />

en ST38:91 y almacene el resultado en ST52:76.<br />

[<br />

ACN<br />

STRING CONCATENATE<br />

Source A ST37:42<br />

Source B ST38:91<br />

Destination ST52:76<br />

Solamente los 82 primeros caracteres (0–81) se escriben al <strong>de</strong>stino. Si el resultado<br />

es < 0 ó > 82, el bit <strong>de</strong> error ASCII S:5/15 se establece.


Extracción <strong>de</strong> ca<strong>de</strong>na (AEX)<br />

AEX<br />

STRING EXTRACT<br />

Source<br />

In<strong>de</strong>x<br />

Number<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Cómo introducir parámetros<br />

Ejemplo<br />

Instrucciones ASCII<br />

Use la instrucción AEX para crear una ca<strong>de</strong>na nueva tomando una porción <strong>de</strong> una<br />

ca<strong>de</strong>na existente y enlazándola a una ca<strong>de</strong>na nueva.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• La fuente es la ca<strong>de</strong>na existente. El valor <strong>de</strong> fuente no es afectado por esta<br />

instrucción.<br />

• El índice es la posición inicial (<strong>de</strong> 1 a 82) <strong>de</strong> la ca<strong>de</strong>na que <strong>de</strong>sea extraer. (Un<br />

índice <strong>de</strong> 1 indica el carácter <strong>de</strong>l extremo izquierdo <strong>de</strong> la ca<strong>de</strong>na.)<br />

• El número es el número <strong>de</strong> caracteres (<strong>de</strong> 1 a 82) que <strong>de</strong>sea extraer, a partir <strong>de</strong><br />

la posicion in<strong>de</strong>xada. Si el índice más el número son mayores que los<br />

caracteres totales en la ca<strong>de</strong>na <strong>de</strong> fuente, la ca<strong>de</strong>na <strong>de</strong> <strong>de</strong>stino tendrá los<br />

caracteres <strong>de</strong>s<strong>de</strong> el índice hasta el final <strong>de</strong> la ca<strong>de</strong>na <strong>de</strong> fuente.<br />

• El <strong>de</strong>stino es el elemento <strong>de</strong> ca<strong>de</strong>na (ST) don<strong>de</strong> <strong>de</strong>sea almacenar la ca<strong>de</strong>na<br />

extraída.<br />

[<br />

I:1<br />

[<br />

10<br />

Si la ranura <strong>de</strong> entrada 1, bit 10, está establecida,<br />

extraiga 10 caracteres a partir <strong>de</strong>l carácter 43 <strong>de</strong><br />

ST348:40 y almacene el resultado en ST52:75.<br />

AEX<br />

STRING EXTRACT<br />

Source ST38:40<br />

In<strong>de</strong>x<br />

42<br />

Number<br />

10<br />

Destination ST52:75<br />

Las condiciones siguientes causan que el procesador establezca el bit <strong>de</strong> error ASCII<br />

(S:5/15):<br />

• longitud <strong>de</strong> fuente inválida o longitud <strong>de</strong> ca<strong>de</strong>na <strong>de</strong> cero<br />

• valores <strong>de</strong> índice o número fuera <strong>de</strong> rango<br />

• valor <strong>de</strong> índice mayor que la longitud <strong>de</strong> la ca<strong>de</strong>na <strong>de</strong> fuente<br />

<br />

<br />

10–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

10–14<br />

La ca<strong>de</strong>na <strong>de</strong>stino no se cambia en ninguna <strong>de</strong> las condiciones <strong>de</strong> error anteriores.<br />

Sin embargo, el <strong>de</strong>stino se cambiará si el valor <strong>de</strong> índice más el valor <strong>de</strong> número son<br />

mayores que la longitud <strong>de</strong> ca<strong>de</strong>na. Anote que el bit <strong>de</strong> error ASCII (S:5/15) no se<br />

establece.<br />

Líneas <strong>de</strong> comunicación (AHL)<br />

AHL<br />

ASCII HANDSHAKE LINES<br />

Channel<br />

AND Mask<br />

OR Mask<br />

Control<br />

Channel Status<br />

Error<br />

Instruccion <strong>de</strong> salida<br />

(EN)<br />

(DN)<br />

(ER)<br />

Use la instrucción AHL para establecer o restablecer las líneas <strong>de</strong> control <strong>de</strong><br />

comunicación RS-232 Terminal <strong>de</strong> datos lista (DTR) y Petición <strong>de</strong> envío (RTS) para<br />

su mó<strong>de</strong>m. En una transición <strong>de</strong> falso a verda<strong>de</strong>ro, el procesador usa las dos<br />

máscaras para <strong>de</strong>terminar si va a establecer o restablecer las líneas DTR y RTS, o si<br />

no las va a cambiar. Esta instrucción operará cuando el puerto está en cualquier<br />

modo o está inhabilitado.<br />

Nota Asegúrese que el control <strong>de</strong> mó<strong>de</strong>m automático usado por el puerto no sea<br />

incompatible con esta instrucción.<br />

Cómo introducir parámetros<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• El canal es el número <strong>de</strong>l puerto RS-232 (canal 0).<br />

• La máscara AND es el tipo <strong>de</strong> máscara usada para restablecer las líneas <strong>de</strong><br />

control DTR y RTS. El bit 0 correspon<strong>de</strong> a la línea DTR y el bit 1 correspon<strong>de</strong><br />

a la línea <strong>de</strong> control RTS. Un 1 en el bit <strong>de</strong> máscara causa que la línea se<br />

restablezca; un 0 <strong>de</strong>ja la línea sin cambio. Anote que los valores <strong>de</strong> máscara no<br />

tienen una correspon<strong>de</strong>ncia <strong>de</strong> uno a uno con las líneas <strong>de</strong> control <strong>de</strong>l mó<strong>de</strong>m.<br />

• La máscara OR es el tipo <strong>de</strong> máscara usada para establecer las líneas <strong>de</strong><br />

control DTR y RTS. El bit 0 correspon<strong>de</strong> a la línea DTR y el bit 1 correspon<strong>de</strong><br />

a la línea <strong>de</strong> control RTS. Un 1 en el bit <strong>de</strong> máscara causa que la línea se<br />

establezca; un 0 <strong>de</strong>ja la línea sin cambio. Anote que los valores <strong>de</strong> máscara no<br />

tienen una correspon<strong>de</strong>ncia <strong>de</strong> uno a uno con las líneas <strong>de</strong> control <strong>de</strong>l mó<strong>de</strong>m.<br />

• El control es el área que almacena el registro <strong>de</strong> control necesario para operar<br />

la instrucción.


Ejemplo<br />

Instrucciones ASCII<br />

• El estado <strong>de</strong> canal muestra el estado actual (0000 a 001F) <strong>de</strong> las líneas <strong>de</strong><br />

handshake para el canal especificado anteriormente. Este campo es <strong>de</strong><br />

visualización solamente y resi<strong>de</strong> en la palabra 2 <strong>de</strong>l elemento <strong>de</strong> control.<br />

• El error muestra el código <strong>de</strong> error hexa<strong>de</strong>cimal que indica por qué el bit ER se<br />

estableció en el archivo <strong>de</strong> datos <strong>de</strong> control (R6:). Vea la página 10–29 para<br />

obtener <strong>de</strong>scripciones <strong>de</strong>l código <strong>de</strong> error.<br />

Bit<br />

Línea<br />

Ejemplo: Lo siguiente muestra el estado <strong>de</strong> canal como 001F.<br />

00<br />

1 porque bit<br />

4 está establecido<br />

F ya que todos los bits<br />

están establecidos<br />

15 –––8 7 6 5 4 3 2 1 0<br />

–reservado DTR DCD DSR RTS CTS<br />

1 1 1 1 1<br />

I:1<br />

AHL<br />

[<br />

ASCII HANDSHAKE LINES<br />

10<br />

Channel<br />

0<br />

AND Mask ABCD<br />

Si la ranura <strong>de</strong> entrada 1, bit 10, está establecida, el<br />

bit 0 <strong>de</strong> la máscara AND se establece para borrar la<br />

OR Mask<br />

Control<br />

DACB<br />

R6:23<br />

línea DTR. Si los bits 0 y 1 <strong>de</strong> la máscara OR se Channel Status 001F<br />

establecen, establezca las líneas DTR y RTS. Error 00<br />

[<br />

El bit <strong>de</strong> error (ER) se establece durante la ejecución <strong>de</strong> la instrucción si:<br />

• la instrucción se cancela <strong>de</strong>bido a un cambio <strong>de</strong> modo <strong>de</strong> canal<br />

• el bit <strong>de</strong> <strong>de</strong>scarga (UL) se establece y la instrucción no se ejecuta<br />

EN<br />

DN<br />

ER<br />

10–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Entero a ca<strong>de</strong>na (AIC)<br />

AIC<br />

INTEGER TO STRING<br />

Source<br />

Dest<br />

Instrucción <strong>de</strong> salida<br />

Ejemplo<br />

10–16<br />

La instrucción AIC convierte un valor entero (–32,768 y 32,767) en una ca<strong>de</strong>na<br />

ASCII. La fuente pue<strong>de</strong> ser una constante o una dirección <strong>de</strong> entero.<br />

I:1<br />

[<br />

10<br />

Si la ranura <strong>de</strong> entrada 1, bit 10, está establecida, convierta el<br />

valor 867 en una ca<strong>de</strong>na y almacene el resultado en ST38:42.<br />

[<br />

<br />

<br />

AIC<br />

INTEGER TO STRING<br />

Source<br />

867<br />

Destination ST38:42


Lectura <strong>de</strong> caracteres ASCII (ARD)<br />

ARD<br />

ASCII READ<br />

Channel<br />

Dest<br />

Control<br />

String Length<br />

Characters Read<br />

Error<br />

Instrucción <strong>de</strong> salida<br />

Cómo introducir parámetros<br />

Ejemplo<br />

(EN)<br />

(DN)<br />

(ER)<br />

[<br />

Instrucciones ASCII<br />

Use la instrucción ARD para leer caracteres <strong>de</strong>s<strong>de</strong> el búfer y almacenarlos en una<br />

ca<strong>de</strong>na. Para repetir la operación, el renglón <strong>de</strong>be ir <strong>de</strong> falso a verda<strong>de</strong>ro.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• El canal es el número <strong>de</strong>l puerto RS-232 (canal 0).<br />

• El <strong>de</strong>stino es el elemento <strong>de</strong> ca<strong>de</strong>na don<strong>de</strong> <strong>de</strong>sea almacenar los caracteres.<br />

• El control es la dirección <strong>de</strong>l bloque <strong>de</strong> control usado para almacenar datos<br />

para la instrucción ARD.<br />

• La longitud <strong>de</strong> ca<strong>de</strong>na (.LEN) es el número <strong>de</strong> caracteres que <strong>de</strong>sea leer <strong>de</strong>s<strong>de</strong><br />

el búfer. El máximo es 82 caracteres. Si especifica una longitud mayor que 82,<br />

sólo los 82 primeros caracteres serán leídos. (Un cero retorna el valor<br />

pre<strong>de</strong>terminado <strong>de</strong> 82.) Esta es la palabra 1 en el bloque <strong>de</strong> control.<br />

• Los caracteres leídos (.POS) son el número <strong>de</strong> caracteres que el procesador ha<br />

transferido <strong>de</strong>l búfer a la ca<strong>de</strong>na (0 a 82). Este campo se actualiza durante la<br />

ejecución <strong>de</strong> la instrucción y es <strong>de</strong> visualización solamente. Esta es la palabra 2<br />

en el bloque <strong>de</strong> control.<br />

• El error muestra el código <strong>de</strong> error hexa<strong>de</strong>cimal que indica por qué el bit ER se<br />

estableció en el archivo <strong>de</strong> datos <strong>de</strong> control (R6:). Vea la página 10–29 para<br />

obtener <strong>de</strong>scripciones <strong>de</strong>l código <strong>de</strong> error.<br />

I:1<br />

[<br />

10<br />

Si la ranura <strong>de</strong> entrada 1, bit 10, está estalecida,<br />

lea 50 caracteres <strong>de</strong>s<strong>de</strong> el búfer y transfiéralos<br />

a ST52:76.<br />

<br />

ARD<br />

ASCII READ<br />

Channel<br />

Destination<br />

Control<br />

<br />

0<br />

ST52:76<br />

R6:23<br />

50<br />

0<br />

String Length<br />

Characters Read<br />

Error 00<br />

EN<br />

DN<br />

ER<br />

10–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

10–18<br />

Cuando el renglón va <strong>de</strong> falso a verda<strong>de</strong>ro, el bit <strong>de</strong> habilitación (EN) se establece.<br />

Cuando la instrucción se coloca en la cola ASCII, el bit <strong>de</strong> cola (EU) se establece.<br />

El bit <strong>de</strong> marcha (RN) se establece cuando la instrucción se está ejecutando. El bit<br />

DN se establece una vez completada la instrucción.<br />

Una vez que el número <strong>de</strong> caracteres solicitado está en el búfer, los caracteres se<br />

transfieren a la ca<strong>de</strong>na <strong>de</strong>stino. El número <strong>de</strong> caracteres transferido se coloca en el<br />

campo POS <strong>de</strong>l bloque <strong>de</strong> control. El número en el campo <strong>de</strong> lectura <strong>de</strong> caracteres<br />

se actualiza continuamente y el bit <strong>de</strong> efectuado (DN) no se establece sino hasta que<br />

todos los caracteres hayan sido leídos.<br />

Cuando el programa escanea la instrucción y encuentra el bit <strong>de</strong> efectuado (DN)<br />

establecido, el procesador establece el bit <strong>de</strong> efectuado síncrono (EM). El bit EM<br />

sirve como bit <strong>de</strong> efectuado secundario correspondiente al escán <strong>de</strong> programa.<br />

El bit <strong>de</strong> error (ER) se establece durante la ejecución <strong>de</strong> la instrucción si:<br />

• la instrucción se cancela – el puerto en serie no está en el modo <strong>de</strong> usuario<br />

• el mó<strong>de</strong>m está <strong>de</strong>sconectado (la selección <strong>de</strong> línea <strong>de</strong> control es diferente a “NO<br />

HANDSHAKING”)<br />

• la instrucción se cancela <strong>de</strong>bido a un cambio <strong>de</strong> modo <strong>de</strong> canal<br />

• el bit <strong>de</strong> <strong>de</strong>scarga (UL) está establecido. La instrucción <strong>de</strong>ja <strong>de</strong> ejecutar, pero<br />

los caracteres recibidos se envían al <strong>de</strong>stino.<br />

• un ACL para borrar el búfer <strong>de</strong> recepción se ejecuta, eliminando así la<br />

instrucción ARD <strong>de</strong> la cola ASCII.


Instrucciones ASCII<br />

Diagrama <strong>de</strong> temporización para una instrucción exitosa ARD, ARL, AWA y<br />

AWT<br />

Condición <strong>de</strong> renglón<br />

Bit <strong>de</strong> habilitación (EN)<br />

Bit <strong>de</strong> cola (EU)<br />

Bit <strong>de</strong> marcha (RN)<br />

Bit <strong>de</strong> efectuado<br />

Bit <strong>de</strong> error<br />

(DN o ER)<br />

Bit <strong>de</strong> efectuado síncrono (EM)<br />

ON<br />

OFF<br />

ON<br />

OFF<br />

ON<br />

OFF<br />

ON<br />

OFF<br />

ON<br />

OFF<br />

ON<br />

OFF<br />

1 2 6 3 4 5 1 5 2 6<br />

3 4<br />

1 - el renglón se hace verda<strong>de</strong>ro<br />

2 - la instrucción se coloca con éxito en la cola<br />

3 - la ejecución <strong>de</strong> la instrucción se ha completado<br />

4 - la instrucción ha sido escaneada por primera vez <strong>de</strong>spués <strong>de</strong> terminar la ejecución<br />

5 - el renglón se hace falso<br />

6 - la instrucción no está en cola o se está ejecutando<br />

10–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Lectura ASCII <strong>de</strong> línea (ARL)<br />

ARL<br />

ASCII Read Line<br />

Channel<br />

Dest<br />

Control<br />

String Length<br />

Characters Read<br />

Error<br />

Instrucción <strong>de</strong> salida<br />

Cómo introducir parámetros<br />

Ejemplo<br />

10–20<br />

(EN)<br />

(DN)<br />

(ER)<br />

Use la instrucción ARL para leer caracteres <strong>de</strong>s<strong>de</strong> el búfer, hasta e incluyendo los<br />

caracteres <strong>de</strong> fin <strong>de</strong> línea (terminación), y almacenarlos en una ca<strong>de</strong>na. Los<br />

caracteres <strong>de</strong> fin <strong>de</strong> línea son especificados vía la pantalla <strong>de</strong> configuración ASCII.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• El canal es el número <strong>de</strong>l puerto RS-232 (canal 0).<br />

• El <strong>de</strong>stino es el elemento <strong>de</strong> ca<strong>de</strong>na don<strong>de</strong> <strong>de</strong>sea almacenar los caracteres.<br />

• El control es la dirección <strong>de</strong>l bloque <strong>de</strong> control usado para almacenar datos<br />

para la instrucción ARL.<br />

• La longitud <strong>de</strong> ca<strong>de</strong>na (LEN) es el número <strong>de</strong> caracteres que <strong>de</strong>sea leer <strong>de</strong>s<strong>de</strong><br />

el búfer. El máximo es 82 caracteres. Si especifica una longitud mayor que 82,<br />

solamente los 82 primeros caracteres serán leídos y transferidos al <strong>de</strong>stino. (Un<br />

0 retorna al valor pre<strong>de</strong>terminado <strong>de</strong> 82.) Esta es la palabra 1 en el bloque <strong>de</strong><br />

control.<br />

• Los caracteres leídos (POS) son el número <strong>de</strong> caracteres que el procesador ha<br />

transferido <strong>de</strong>l búfer a la ca<strong>de</strong>na (0 a 82). Este campo es <strong>de</strong> visualización<br />

solamente y resi<strong>de</strong> en la palabra 2 <strong>de</strong>l bloque <strong>de</strong> control.<br />

• El error muestra el código <strong>de</strong> error hexa<strong>de</strong>cimal que indica por qué el bit ER se<br />

estableció en el archivo <strong>de</strong> datos <strong>de</strong> control (R6:). Vea la página 10–29 para<br />

obtener <strong>de</strong>scripciones <strong>de</strong>l código <strong>de</strong> error.<br />

[<br />

I:1<br />

[<br />

10<br />

Si la ranura <strong>de</strong> entrada 1, bit 10, está establecida,<br />

lea 18 caracteres (o hasta el fin <strong>de</strong> línea) <strong>de</strong>s<strong>de</strong> el<br />

búfer y transfiéralos a ST52:72.<br />

<br />

<br />

ARL<br />

ASCII READ LINE<br />

Channel<br />

0<br />

Destination ST52:72<br />

Control<br />

String Length<br />

R6:23<br />

18<br />

Characters Read 0<br />

Error 00<br />

EN<br />

DN<br />

ER


Instrucciones ASCII<br />

Cuando el renglón va <strong>de</strong> falso a verda<strong>de</strong>ro, el bit <strong>de</strong> habilitación (EN) <strong>de</strong> elemento<br />

<strong>de</strong> control se establece. Cuando la instrucción se coloca en la cola ASCII, el bit <strong>de</strong><br />

cola (EU) se establece. El bit <strong>de</strong> marcha (RN) se establece cuando la instrucción se<br />

está ejecutando. El bit DN se establece a la finalización <strong>de</strong> la instrucción.<br />

Una vez que el número <strong>de</strong> caracteres solicitado está en el búfer, todos los caracteres<br />

(incluyendo los caracteres <strong>de</strong> fin <strong>de</strong> línea) se transfieren a la ca<strong>de</strong>na <strong>de</strong>stino. El<br />

número <strong>de</strong> caracteres transferido se almacena en la palabra POS <strong>de</strong>l bloque <strong>de</strong><br />

control. El número en el campo <strong>de</strong> caracteres leídos se actualiza continuamente y el<br />

bit <strong>de</strong> efectuado (DN) no se establece hasta que todos los caracteres hayan sido<br />

leídos. Excepción: Si el procesador encuentra caracteres <strong>de</strong> terminación antes <strong>de</strong><br />

finalizar la lectura, el bit <strong>de</strong> efectuado (DN) se establece y el número <strong>de</strong> caracteres<br />

encontrado se almacena en la palabra POS <strong>de</strong>l bloque <strong>de</strong> control.<br />

Cuando el programa escanea la instrucción y encuentra el bit <strong>de</strong> efectuado (DN)<br />

establecido, el procesador establece el bit síncrono (EM). El bit EM sirve como bit<br />

<strong>de</strong> efectuado secundario correspondiente al escán <strong>de</strong> programa. El bit <strong>de</strong> error (ER)<br />

se establece durante la ejecución <strong>de</strong> la instrucción si:<br />

• la instrucción es cancelada – el puerto en serie no está en el modo <strong>de</strong> usuario<br />

• el mó<strong>de</strong>m está <strong>de</strong>sconectado (la selección <strong>de</strong> línea <strong>de</strong> control es diferente a “NO<br />

HANDSHAKING”)<br />

• la instrucción se cancela <strong>de</strong>bido a un cambio <strong>de</strong> modo <strong>de</strong> canal<br />

• el bit <strong>de</strong> <strong>de</strong>scarga (UL) está establecido. La instrucción <strong>de</strong>ja <strong>de</strong> ejecutar, pero<br />

los caracteres recibidos se envían al <strong>de</strong>stino.<br />

• un ACL para borrar el búfer <strong>de</strong> recepción se ejecuta eliminando así la<br />

instrucción ARD <strong>de</strong> la cola ASCII.<br />

Nota Para obtener información acerca <strong>de</strong> la temporización <strong>de</strong> esta instrucción, refiérase<br />

al diagrama <strong>de</strong> temporización en la página 10–19.<br />

10–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Búsqueda <strong>de</strong> ca<strong>de</strong>na (ASC)<br />

ASC<br />

STRING SEARCH<br />

Source<br />

In<strong>de</strong>x<br />

Search<br />

Result<br />

Instrucción <strong>de</strong> salida<br />

Cómo introducir parámetros<br />

Ejemplo<br />

10–22<br />

[<br />

Use la instrucción ASC para buscar una ca<strong>de</strong>na existente en coinci<strong>de</strong>ncia con la<br />

ca<strong>de</strong>na fuente.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• La fuente es la ca<strong>de</strong>na que <strong>de</strong>sea encontrar cuando examina la ca<strong>de</strong>na fuente.<br />

• El índice es la posición inicial (<strong>de</strong> 1 a 82) <strong>de</strong> la porción <strong>de</strong> la ca<strong>de</strong>na que <strong>de</strong>sea<br />

encontrar. (Un índice <strong>de</strong> 0 indica el carácter <strong>de</strong>l extremo izquierdo <strong>de</strong> la<br />

ca<strong>de</strong>na.)<br />

• La búsqueda es la ca<strong>de</strong>na que <strong>de</strong>sea examinar.<br />

• El resultado es un entero don<strong>de</strong> el procesador almacena la posición <strong>de</strong> cada<br />

ca<strong>de</strong>na <strong>de</strong> búsqueda don<strong>de</strong> la ca<strong>de</strong>na fuente comienza. Si no hay ninguna<br />

coinci<strong>de</strong>ncia, no ocurren cambios.<br />

I:1<br />

[<br />

10<br />

Si la ranura <strong>de</strong> entrada 1, bit 10, está establecida,<br />

busque la ca<strong>de</strong>na en ST52:80 a partir <strong>de</strong>l carácter<br />

36 para encontrar la ca<strong>de</strong>na en ST38:40. En este<br />

ejemplo, el resultado se almacena en N10:0.<br />

ASC<br />

STRING SEARCH<br />

Source ST38:40<br />

In<strong>de</strong>x<br />

35<br />

Search ST52:80<br />

Result<br />

N10:0<br />

Las condiciones siguientes causan que el procesador establezca el bit <strong>de</strong> error ASCII<br />

(S:5/15).<br />

• longitud <strong>de</strong> ca<strong>de</strong>na inválida o longitud <strong>de</strong> ca<strong>de</strong>na <strong>de</strong> cero<br />

• valor <strong>de</strong> índice fuera <strong>de</strong> rango<br />

• valor <strong>de</strong> índice mayor que la longitud <strong>de</strong> la ca<strong>de</strong>na fuente<br />

El <strong>de</strong>stino no cambia en ninguna <strong>de</strong> las condiciones anteriores.


Comparación <strong>de</strong> ca<strong>de</strong>na ASCII (ASR)<br />

ASR<br />

ASCII STRING COMPARE<br />

Source A<br />

Source B<br />

Instrucción <strong>de</strong> entrada<br />

Cómo introducir parámetros<br />

Ejemplo<br />

Instrucciones ASCII<br />

Use la instrucción ASR para comparar dos ca<strong>de</strong>nas ASCII. El sistema busca una<br />

coinci<strong>de</strong>ncia en longitud y caracteres en mayúscula/minúscula. Si dos ca<strong>de</strong>nas son<br />

idénticas, el renglón es verda<strong>de</strong>ro; si existen diferencias, el renglón es falso.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• La fuente A es la ca<strong>de</strong>na uno que se va a comparar.<br />

• La fuente B es la ca<strong>de</strong>na dos que se va a comparar.<br />

ASR<br />

ASCII STRING COMPARE<br />

Source A ST37:42<br />

Source B ST38:90<br />

Si la ca<strong>de</strong>na en ST37:42 es idéntica a la ca<strong>de</strong>na<br />

en ST38:90, establezca el bit <strong>de</strong> salida O:1/1.<br />

Una longitud <strong>de</strong> ca<strong>de</strong>na inválida causa que el procesador establezca el bit <strong>de</strong> error<br />

ASCII S:5/15 y el renglón se hace falso.<br />

<br />

<br />

O:1<br />

1<br />

10–23


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Escritura ASCII con anexo (AWA)<br />

AWA<br />

ASCII WRITE APPEND<br />

Channel<br />

Source<br />

Control<br />

String Length<br />

Characters Sent<br />

Error<br />

Instrucción <strong>de</strong> salida<br />

Cómo introducir parámetros<br />

Ejemplo<br />

10–24<br />

(EN)<br />

(DN)<br />

(ER)<br />

Use la instrucción AWA para escribir caracteres <strong>de</strong>s<strong>de</strong> una ca<strong>de</strong>na fuente a un<br />

dispositivo externo. Esta instrucción aña<strong>de</strong> los dos caracteres anexos que usted<br />

configura en la pantalla <strong>de</strong> configuración ASCII. Los caracteres pre<strong>de</strong>terminados<br />

son un retorno <strong>de</strong> carro y un avance <strong>de</strong> línea anexados al final <strong>de</strong> la ca<strong>de</strong>na. Cuando<br />

usa esta instrucción, también pue<strong>de</strong> realizar la indirección en línea. Vea la página<br />

10–26 para obtener más información.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• El canal es el número <strong>de</strong>l puerto RS-232 (canal 0).<br />

• La fuente es el elemento <strong>de</strong> ca<strong>de</strong>na que <strong>de</strong>sea escribir.<br />

• El control es el área que almacena el registro <strong>de</strong> control requerido para operar<br />

la instrucción.<br />

• La longitud <strong>de</strong> ca<strong>de</strong>na (.LEN) es el número <strong>de</strong> caracters que <strong>de</strong>sea escribir<br />

<strong>de</strong>s<strong>de</strong> la ca<strong>de</strong>na fuente (0 a 82). Si introduce un 0, toda la ca<strong>de</strong>na se escribirá.<br />

Esta es la palabra 1 en el bloque <strong>de</strong> control.<br />

• Los caracteres enviados (.POS) son el número <strong>de</strong> caracteres que el procesador<br />

ha enviado al área <strong>de</strong> pantalla (0 a 82). Este campo se actualiza continuamente<br />

durante la ejecución <strong>de</strong> la instrucción. Este valor pue<strong>de</strong> ser mayor que la<br />

longitud <strong>de</strong> ca<strong>de</strong>na si los caracteres anexados o valores insertados <strong>de</strong> la<br />

indirección en línea se usan. Si la longitud <strong>de</strong> ca<strong>de</strong>na es mayor que 82, la<br />

ca<strong>de</strong>na escrita al <strong>de</strong>stino será truncada a 82 caracteres. Esta es la palabra 2 en el<br />

bloque <strong>de</strong> control.<br />

• El error muestra el código <strong>de</strong> error hexa<strong>de</strong>cimal que indica por qué el bit ER se<br />

estableció en el archivo <strong>de</strong> datos <strong>de</strong> control (R6:). Vea la página 10–29 para<br />

obtener <strong>de</strong>scripciones <strong>de</strong>l código <strong>de</strong> error.<br />

I:1<br />

AWA<br />

[<br />

ASCII WRITE APPEND<br />

10<br />

Si la ranura <strong>de</strong> entrada 1, bit 10, está establecida,<br />

lea 25 caracteres <strong>de</strong>s<strong>de</strong> ST37:42 y escríbalo al<br />

dispositivo <strong>de</strong> pantalla. Luego escriba un retorno <strong>de</strong><br />

carro y avance <strong>de</strong> línea (pre<strong>de</strong>terminados).<br />

Channel<br />

0<br />

Source ST37:42<br />

Control R6:23<br />

String Length 25<br />

Characters Sent 0<br />

Error 00<br />

[<br />

<br />

<br />

EN<br />

DN<br />

ER


Instrucciones ASCII<br />

Cuando el renglón va <strong>de</strong> falso a verda<strong>de</strong>ro, el bit <strong>de</strong> habilitación <strong>de</strong> elemento <strong>de</strong><br />

control (EN) se establece. Cuando la instrucción se coloca en la cola ASCII, el bit<br />

<strong>de</strong> cola (EU) se establece. El bit <strong>de</strong> marcha (RN) se establece cuando la instrucción<br />

se está ejecutando. El bit DN se establece al final <strong>de</strong> la instrucción.<br />

El sistema envía 25 caracteres <strong>de</strong>s<strong>de</strong> el inicio <strong>de</strong> la ca<strong>de</strong>na ST37:42 al dispositivo <strong>de</strong><br />

pantalla y luego envía caracteres anexos configurados por el usuario. El bit <strong>de</strong><br />

efectuado (DN) se establece y un valor <strong>de</strong> 27 está presente en la palabra .POS <strong>de</strong>l<br />

bloque <strong>de</strong> control ASCII.<br />

Cuando el programa escanea la instrucción y encuentra el bit <strong>de</strong> efectuado (DN)<br />

establecido, el procesador establece el bit <strong>de</strong> efectuado síncrono (EM) para servir<br />

como bit <strong>de</strong> efectuado secundario correspondiente al escán <strong>de</strong> programa.<br />

El bit <strong>de</strong> error (ER) se establece durante la ejecución <strong>de</strong> la instrucción si:<br />

• la instrucción se cancela – el puerto en serie no está en el modo <strong>de</strong> usuario<br />

• el mó<strong>de</strong>m está <strong>de</strong>sconectado (la selección <strong>de</strong> línea <strong>de</strong> control es diferente a “NO<br />

HANDSHAKING”)<br />

• la instrucción se cancela <strong>de</strong>bido a un cambio <strong>de</strong> modo <strong>de</strong> canal<br />

• el bit <strong>de</strong> <strong>de</strong>scarga (UL) está establecido. La instrucción <strong>de</strong>ja <strong>de</strong> ejecutar, pero<br />

los caracteres recibidos se envían al <strong>de</strong>stino.<br />

• un ACL para borrar el búfer <strong>de</strong> recepción se ejecuta, eliminando así la<br />

instrucción ARD <strong>de</strong> la cola ASCII.<br />

Nota Para obtener información acerca <strong>de</strong> la temporización <strong>de</strong> esta instrucción, refiérase<br />

al diagrama <strong>de</strong> temporización en la página 10–19.<br />

10–25


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Cómo usar la indirección en línea<br />

Ejemplos<br />

10–26<br />

Esto le permite insertar valores enteros y <strong>de</strong> punto (coma) flotante en ca<strong>de</strong>nas<br />

ASCII. El bit <strong>de</strong> marcha (RN) se <strong>de</strong>be establecer antes <strong>de</strong> que el valor <strong>de</strong> ca<strong>de</strong>na se<br />

pueda usar.<br />

Las condiciones siguientes se aplican al realizar la indirección en línea:<br />

• todos los archivos válidos enteros (N) y <strong>de</strong> punto (coma) flotante (F) se pue<strong>de</strong>n<br />

usar. Los rangos válidos incluyen 7, 8 y 9–255.<br />

• los tipos <strong>de</strong> archivo no son sensibles al uso <strong>de</strong> mayúsculas/minúsculas y pue<strong>de</strong>n<br />

incluir dos puntos (:) o un punto y coma (;)<br />

• los valores positivos y ceros <strong>de</strong>lanteros no se imprimen. Los valores negativos<br />

se imprimen con un signo menos <strong>de</strong>lantero.<br />

Para los ejemplos siguientes:<br />

N7:0 = 250<br />

N7:1 = –37<br />

F8:0 = 2.01<strong>500</strong>0<br />

F8:1 = 0.873000<br />

Indirección en línea válida:<br />

• Entrada: El caudal actual es [N7:0] GPH y contiene [F8:0] PPM <strong>de</strong><br />

contaminantes.<br />

Salida: El caudal actual es 250 GPH y contiene 2.01<strong>500</strong>0 PPM <strong>de</strong><br />

contaminantes.<br />

• Entrada: La posición actual es [N5:1] a la velocidad <strong>de</strong> [F8:1] RPM.<br />

Salida: La posición actual es –37 a la velocidad <strong>de</strong> 0.873000 RPM.<br />

Indirección en línea no válida:<br />

• Entrada: La posición actual es [N5:1] a la velocidad <strong>de</strong> [F8:1] RPM.<br />

Salida: La posición actual es [N5:1] a la velocidad <strong>de</strong> 0.873000 RPM.<br />

Nota La truncación ocurre en la ca<strong>de</strong>na <strong>de</strong> salida si la indirección causa que la salida<br />

exceda 80 caracteres. Los caracteres anexos siempre se aplican a la salida.


Escritura ASCII (AWT)<br />

AWT<br />

ASCII WRITE<br />

Channel<br />

Source<br />

Control<br />

String Length<br />

Characters Sent<br />

Error<br />

Instrucción <strong>de</strong> salida<br />

Cómo introducir parámetros<br />

Ejemplo<br />

(EN)<br />

(DN)<br />

(ER)<br />

Instrucciones ASCII<br />

Use la instrucción AWT para escribir caracteres <strong>de</strong>s<strong>de</strong> una ca<strong>de</strong>na fuente a un<br />

dispositivo externo. Para repetir la instrucción, el renglón <strong>de</strong>be ir <strong>de</strong> falso a<br />

verda<strong>de</strong>ro. Cuando usa esta instrucción, también pue<strong>de</strong> realizar la indirección en<br />

línea. Vea la página 10–26 para obtener más información.<br />

Introduzca los parámetros siguientes al programar esta instrucción:<br />

• El canal es el número <strong>de</strong>l puerto RS-232 (canal 0).<br />

• La fuente es el elemento <strong>de</strong> ca<strong>de</strong>na que <strong>de</strong>sea escribir.<br />

• El control es el área que almacena el registro <strong>de</strong> control requerido para operar<br />

la instrucción.<br />

• La longitud <strong>de</strong> ca<strong>de</strong>na (.LEN) es el número <strong>de</strong> caracteres que <strong>de</strong>sea escribir<br />

<strong>de</strong>s<strong>de</strong> la ca<strong>de</strong>na fuente (0 a 82). Si introduce un 0, toda la ca<strong>de</strong>na se escribirá.<br />

• Los caracteres enviados (.POS) son el número <strong>de</strong> caracteres que el procesador<br />

ha enviado al área <strong>de</strong> pantalla (0 a 82). Este campo se actualiza solamente<br />

<strong>de</strong>spués <strong>de</strong> que toda la ca<strong>de</strong>na se ha enviado (no se almacena el total corriente<br />

para cada carácter). Este campo es <strong>de</strong> visualización solamente. Este valor<br />

pue<strong>de</strong> ser mayor que la longnitud <strong>de</strong> ca<strong>de</strong>na si los caracteres anexados o valores<br />

insertados <strong>de</strong> la indirección en línea se usan. Si la longitud <strong>de</strong> ca<strong>de</strong>na es mayor<br />

que 82, la ca<strong>de</strong>na escrita al <strong>de</strong>stino será truncada a 82 caracteres.<br />

• El error muestra el código <strong>de</strong> error hexa<strong>de</strong>cimal que indica por qué el bit ER se<br />

estableció en el archivo <strong>de</strong> datos <strong>de</strong> control (R6:). Vea la página 10–29 para<br />

obtener <strong>de</strong>scripciones <strong>de</strong>l código <strong>de</strong> error.<br />

[<br />

I:1<br />

[<br />

10<br />

Si la ranura <strong>de</strong> entrada 1, bit 10, está establecida,<br />

escriba 40 caracteres <strong>de</strong>s<strong>de</strong> ST37:20 al<br />

dispositivo <strong>de</strong> pantalla.<br />

<br />

<br />

AWT<br />

ASCII WRITE<br />

Channel<br />

0<br />

Source ST37:20<br />

Control R6:23<br />

String Length 40<br />

Characters Sent<br />

Error<br />

EN<br />

DN<br />

ER<br />

10–27


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

10–28<br />

Cuando el renglón va <strong>de</strong> falso a verda<strong>de</strong>ro, el bit <strong>de</strong> habilitación (EN) <strong>de</strong> elemento<br />

<strong>de</strong> control se establece. Cuando la instrucción se coloca en la cola ASCII, el bit <strong>de</strong><br />

cola (EU) se establece. El bit <strong>de</strong> marcha (RN) se establece cuando la instrucción se<br />

está ejecutando.<br />

Cuarenta caracteres <strong>de</strong>s<strong>de</strong> la ca<strong>de</strong>na ST37:40 son enviados a través <strong>de</strong>l canal 0. El<br />

bit <strong>de</strong> efectuado (DN) se establece cuando la instrucción se está ejecutando. El bit<br />

DN se establece al final <strong>de</strong> la instrucción.<br />

Cuando el programa escanea la instrucción y encuentra el bit <strong>de</strong> efectuado (DN)<br />

establecido, el procesador establece el bit <strong>de</strong> efectuado síncrono (EM) para servir<br />

como bit <strong>de</strong> efectuado secundario correspondiente al escán <strong>de</strong>l programa.<br />

El bit <strong>de</strong> error (ER) se establece durante la ejecución <strong>de</strong> la instrucción si:<br />

• la instrucción se cancela – el puerto en serie no está en el modo <strong>de</strong> usuario<br />

• el mó<strong>de</strong>m está <strong>de</strong>sconectado (la selección <strong>de</strong> línea <strong>de</strong> control no es “NO<br />

HANDSHAKING”)<br />

• la instrucción se cancela <strong>de</strong>bido a un cambio <strong>de</strong> modo <strong>de</strong> canal<br />

• el bit <strong>de</strong> <strong>de</strong>scarga (UL) está establecido. La instrucción <strong>de</strong>ja <strong>de</strong> ejecutar, pero<br />

los caracteres recibidos se envían al <strong>de</strong>stino.<br />

• un ACL para borrar el búfer <strong>de</strong> recepción se ejecuta eliminando así la<br />

instrucción ARD <strong>de</strong> la cola ASCII.<br />

Nota Para obtener información acerca <strong>de</strong> la temporización <strong>de</strong> esta instrucción, refiérase<br />

al diagrama <strong>de</strong> temporización en la página 10–19.


Códigos <strong>de</strong> error <strong>de</strong> instrucción ASCII<br />

Instrucciones ASCII<br />

Los códigos <strong>de</strong> error siguientes indican por qué el bit <strong>de</strong> error (ER) se establece en<br />

el archivo <strong>de</strong> datos <strong>de</strong> control (R6:).<br />

Código <strong>de</strong><br />

error (HEX)<br />

00<br />

02<br />

03<br />

04<br />

05<br />

07<br />

08<br />

09<br />

0A<br />

Condiciones que resultan en el<br />

establecimiento <strong>de</strong>l bit ER<br />

Ningún error. La instrucción se<br />

completó exitosamente.<br />

La operación no se pue<strong>de</strong> completar<br />

porque el mó<strong>de</strong>m está fuera <strong>de</strong> línea.<br />

La transmisión no se pue<strong>de</strong> completar<br />

porque la señal Borrado para enviar se<br />

perdió.<br />

No pue<strong>de</strong> realizar la recepción <strong>de</strong> ASCII<br />

porque el canal <strong>de</strong> comunicación está<br />

configurado para el modo <strong>de</strong> sistema.<br />

La comunicación <strong>de</strong> modo <strong>de</strong> sistema<br />

(DF1) se <strong>de</strong>tectó durante el intento <strong>de</strong><br />

realizar la transmision ASCII.<br />

No pue<strong>de</strong> efectuar la recepción o<br />

transmisión ASCII porque la<br />

configuración <strong>de</strong> canal ha sido<br />

<strong>de</strong>sactivada vía el menú <strong>de</strong><br />

configuración <strong>de</strong> canal.<br />

No pue<strong>de</strong> realizar la escritura ASCII<br />

<strong>de</strong>bido a una transmisión ASCII en<br />

progreso.<br />

La comunicación ASCII solicitada no es<br />

compatible con la configuración <strong>de</strong> canal<br />

actual. (Canal 0 está configurado para<br />

DH-485 mientras que intente una<br />

transmisión ASCII o un control <strong>de</strong><br />

comunicación <strong>de</strong> mó<strong>de</strong>m.)<br />

El bit <strong>de</strong> <strong>de</strong>scarga (UL) se estableció, lo<br />

que <strong>de</strong>tuvo la ejecucion <strong>de</strong> la<br />

instrucción.<br />

Acción recomendada<br />

Ninguna requerida.<br />

Verifique el cableado <strong>de</strong>l mó<strong>de</strong>m al<br />

canal <strong>de</strong> comunicación. Si el canal está<br />

configurado para comunicación con el<br />

mó<strong>de</strong>m, las líneas DCD<br />

(datos-portadora-<strong>de</strong>tección) y DSR<br />

(datos-establecimiento-listo) al canal<br />

<strong>de</strong>ben estar activas para que el mó<strong>de</strong>m<br />

esté en línea.<br />

Verifique el mó<strong>de</strong>m y las conexiones <strong>de</strong>l<br />

cableado <strong>de</strong>l mó<strong>de</strong>m.<br />

Vuelva a configurar el canal <strong>de</strong><br />

comunicación para el modo <strong>de</strong> usuario.<br />

Verifique que el mó<strong>de</strong>m esté en línea y<br />

se comunique con los dispositivos<br />

necesarios.<br />

Vuelva a configurar el menú <strong>de</strong><br />

configuración <strong>de</strong> canal y reintente la<br />

operación.<br />

Vuelva a enviar la transmisión.<br />

Configure el canal 0 para DF1, dúplex<br />

total.<br />

Ninguna requerida.<br />

10–29


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

10–30<br />

Código <strong>de</strong><br />

error (HEX)<br />

0B<br />

0C<br />

0D<br />

Condiciones que resultan en el<br />

establecimiento <strong>de</strong>l bit ER<br />

La longitud solicitada para la ca<strong>de</strong>na no<br />

es válida, es un número no válido,<br />

mayor que 82 ó 0. Se aplica a las<br />

<strong>instrucciones</strong> ARD y ARL.<br />

La longitud <strong>de</strong> la ca<strong>de</strong>na fuente no es<br />

válida, un número negativo, mayor que<br />

82 ó 0. Se aplica a las <strong>instrucciones</strong><br />

AWA y AWT.<br />

La longitud solicitada (.LEN) en el<br />

bloque <strong>de</strong> control es un número<br />

negativo o un valor mayor que el<br />

tamaño <strong>de</strong> ca<strong>de</strong>na almacenado con la<br />

ca<strong>de</strong>na fuente. Se aplica a las<br />

<strong>instrucciones</strong> AWA y AWT.<br />

Acción recomendada<br />

Introduzca una longitud <strong>de</strong> ca<strong>de</strong>na<br />

válida y reintente la operación.<br />

Introduzca una longitud <strong>de</strong> ca<strong>de</strong>na<br />

válida y reintente la operación.<br />

Introduzca una longitud válida y<br />

reintente la operación.<br />

0E La instrucción ACL fue cancelada. Ninguna requerida.<br />

0F<br />

El modo <strong>de</strong> configuración <strong>de</strong> canal fue<br />

cambiado.<br />

Ninguna requerida.


Instrucciones ASCII<br />

10–31<br />

Tabla <strong>de</strong> conversión ASCII<br />

La tabla siguiente lista las conversiones <strong>de</strong>cimales, hexa<strong>de</strong>cimales, octales y ASCII.<br />

Columna 1 Columna 2 Columna 3 Columna 4<br />

DEC HEX OCT ASC DEC HEX OCT ASC DEC HEX OCT ASC DEC HEX OCT ASC<br />

00<br />

01<br />

02<br />

03<br />

04<br />

05<br />

06<br />

07<br />

08<br />

09<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

17<br />

18<br />

19<br />

20<br />

21<br />

22<br />

23<br />

24<br />

25<br />

26<br />

27<br />

28<br />

29<br />

30<br />

31<br />

00<br />

01<br />

02<br />

03<br />

04<br />

05<br />

06<br />

07<br />

08<br />

09<br />

0A<br />

0B<br />

0C<br />

0D<br />

0E<br />

0F<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

17<br />

18<br />

19<br />

1A<br />

1B<br />

1C<br />

1D<br />

1E<br />

1F<br />

000<br />

001<br />

002<br />

003<br />

004<br />

005<br />

006<br />

007<br />

010<br />

011<br />

012<br />

013<br />

014<br />

015<br />

016<br />

017<br />

020<br />

021<br />

022<br />

023<br />

024<br />

025<br />

026<br />

027<br />

030<br />

031<br />

032<br />

033<br />

034<br />

035<br />

036<br />

037<br />

NUL<br />

SOH<br />

STX<br />

ETX<br />

EOT<br />

ENQ<br />

ACK<br />

BEL<br />

BS<br />

HT<br />

LF<br />

VT<br />

FF<br />

CR<br />

SO<br />

SI<br />

DLE<br />

DC1<br />

DC2<br />

DC3<br />

DC4<br />

NAK<br />

SYN<br />

ETB<br />

CAN<br />

EM<br />

SUB<br />

ESC<br />

FS<br />

GS<br />

RS<br />

US<br />

32<br />

33<br />

34<br />

35<br />

36<br />

37<br />

38<br />

39<br />

40<br />

41<br />

42<br />

43<br />

44<br />

45<br />

46<br />

47<br />

48<br />

49<br />

50<br />

51<br />

52<br />

53<br />

54<br />

55<br />

56<br />

57<br />

58<br />

59<br />

60<br />

61<br />

62<br />

63<br />

20<br />

21<br />

22<br />

23<br />

24<br />

25<br />

26<br />

27<br />

28<br />

29<br />

2A<br />

2B<br />

2C<br />

2D<br />

2E<br />

2F<br />

30<br />

31<br />

32<br />

33<br />

34<br />

35<br />

36<br />

37<br />

38<br />

39<br />

3A<br />

3B<br />

3C<br />

3D<br />

3E<br />

3F<br />

040<br />

041<br />

042<br />

043<br />

044<br />

045<br />

046<br />

047<br />

050<br />

051<br />

052<br />

053<br />

054<br />

055<br />

056<br />

057<br />

060<br />

061<br />

062<br />

063<br />

064<br />

065<br />

066<br />

067<br />

070<br />

071<br />

072<br />

073<br />

074<br />

075<br />

076<br />

077<br />

SP<br />

!<br />

”<br />

#<br />

$<br />

%<br />

&<br />

’<br />

(<br />

)<br />

*<br />

+<br />

,<br />

–<br />

.<br />

/<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

:<br />

;<br />

<<br />

=<br />

><br />

?<br />

64<br />

65<br />

66<br />

67<br />

68<br />

69<br />

70<br />

71<br />

72<br />

73<br />

74<br />

75<br />

76<br />

77<br />

78<br />

79<br />

80<br />

81<br />

82<br />

83<br />

84<br />

85<br />

86<br />

87<br />

88<br />

89<br />

90<br />

91<br />

92<br />

93<br />

94<br />

95<br />

40<br />

41<br />

42<br />

43<br />

44<br />

45<br />

46<br />

47<br />

48<br />

49<br />

4A<br />

4B<br />

4C<br />

4D<br />

4E<br />

4F<br />

50<br />

51<br />

52<br />

53<br />

54<br />

55<br />

56<br />

57<br />

58<br />

59<br />

5A<br />

5B<br />

5C<br />

5D<br />

5E<br />

5F<br />

100<br />

101<br />

102<br />

103<br />

104<br />

105<br />

106<br />

107<br />

110<br />

111<br />

112<br />

113<br />

114<br />

115<br />

116<br />

117<br />

120<br />

121<br />

122<br />

123<br />

124<br />

125<br />

126<br />

127<br />

130<br />

131<br />

132<br />

133<br />

134<br />

135<br />

135<br />

137<br />

@<br />

A<br />

B<br />

C<br />

D<br />

E<br />

F<br />

G<br />

H<br />

I<br />

J<br />

K<br />

L<br />

M<br />

N<br />

O<br />

P<br />

Q<br />

R<br />

S<br />

T<br />

U<br />

V<br />

W<br />

X<br />

Y<br />

Z<br />

[<br />

\<br />

]<br />

^<br />

_<br />

96<br />

97<br />

98<br />

99<br />

100<br />

101<br />

102<br />

103<br />

104<br />

105<br />

106<br />

107<br />

108<br />

109<br />

110<br />

111<br />

112<br />

113<br />

114<br />

115<br />

116<br />

117<br />

118<br />

119<br />

120<br />

121<br />

122<br />

123<br />

124<br />

125<br />

126<br />

127<br />

60<br />

61<br />

62<br />

63<br />

64<br />

65<br />

66<br />

67<br />

68<br />

69<br />

6A<br />

6B<br />

6C<br />

6D<br />

6E<br />

6F<br />

70<br />

71<br />

72<br />

73<br />

74<br />

75<br />

76<br />

77<br />

78<br />

79<br />

7A<br />

7B<br />

7C<br />

7D<br />

7E<br />

7F<br />

140<br />

141<br />

142<br />

143<br />

144<br />

145<br />

146<br />

147<br />

150<br />

151<br />

152<br />

153<br />

154<br />

155<br />

156<br />

157<br />

160<br />

161<br />

162<br />

163<br />

164<br />

165<br />

166<br />

167<br />

170<br />

171<br />

172<br />

173<br />

174<br />

175<br />

176<br />

177<br />

\<br />

a<br />

b<br />

c<br />

d<br />

e<br />

f<br />

g<br />

h<br />

i<br />

j<br />

k<br />

l<br />

m<br />

n<br />

o<br />

p<br />

q<br />

r<br />

s<br />

t<br />

u<br />

v<br />

w<br />

x<br />

y<br />

z<br />

{<br />

.<br />

}<br />

~<br />

DEL


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

10–32


11 Cómo compren<strong>de</strong>r las<br />

rutinas <strong>de</strong> interrupción<br />

Rutinas <strong>de</strong> interrupción<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

Este capítulo contiene información general acerca <strong>de</strong> rutinas <strong>de</strong> interrupción y<br />

explica cómo funcionan en su programa <strong>de</strong> lógica. Cada rutina <strong>de</strong> interrupción<br />

incluye:<br />

• una <strong>de</strong>scripción general<br />

• el procedimiento <strong>de</strong> programación<br />

• la <strong>de</strong>scripción operacional<br />

• la <strong>de</strong>scripción <strong>de</strong>l bit asociado<br />

A<strong>de</strong>más, cada rutina <strong>de</strong> interrupción contiene un ejemplo <strong>de</strong> aplicación que muestra<br />

el uso <strong>de</strong> la rutina <strong>de</strong> interrupción.<br />

Instrucción<br />

Mnemónico Nombre<br />

Rutina <strong>de</strong> fallo <strong>de</strong>l<br />

usuario<br />

STI Interrupción<br />

temporizada<br />

seleccionable<br />

DII Interrupción <strong>de</strong><br />

entrada discreta<br />

Propósito Página<br />

Proporciona la opción <strong>de</strong> evitar la parada <strong>de</strong>l procesador.<br />

Le permite interrumpir el escán <strong>de</strong>l archivo <strong>de</strong><br />

programa principal, <strong>de</strong> manera periódica, para<br />

escanear un archivo <strong>de</strong> subrutina específico.<br />

Permite que el procesador ejecute una subrutina<br />

cuando la configuración <strong>de</strong>l bit <strong>de</strong> entrada <strong>de</strong> una<br />

tarjeta <strong>de</strong> E/S discreta coincida con un valor <strong>de</strong><br />

comparación que usted ha ya programado.<br />

ISR Interrupción <strong>de</strong> E/S Permite que un módulo <strong>de</strong> E/S especial interrumpa<br />

el ciclo <strong>de</strong> operación normal <strong>de</strong>l procesador para<br />

escanear un archivo <strong>de</strong> subrutina específico.<br />

11–2<br />

11–7<br />

11–19<br />

11–30<br />

11–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Descripción general <strong>de</strong> la<br />

rutina <strong>de</strong> fallo <strong>de</strong> usuario<br />

11–2<br />

La rutina <strong>de</strong> fallo <strong>de</strong> usuario le proporciona la opción <strong>de</strong> evitar una parada <strong>de</strong>l<br />

procesador cuando ocurre un fallo <strong>de</strong> usuario específico. El archivo se ejecuta<br />

cuando ocurre cualquier fallo <strong>de</strong> usuario recuperable o no recuperable. El archivo<br />

no se ejecuta para fallos <strong>de</strong> no usuario.<br />

Esto se efectúa programando una subrutina <strong>de</strong> escalera y luego especificando dicha<br />

subrutina como la rutina <strong>de</strong> fallo en palabra S:29 en el archivo <strong>de</strong> estado. Usted<br />

pue<strong>de</strong> manejar un número <strong>de</strong> fallos <strong>de</strong> usuario <strong>de</strong> esta manera según se muestra en el<br />

ejemplo <strong>de</strong> la página 11–4.<br />

Los fallos son clasificados como fallos <strong>de</strong> usuario recuperables o no recuperables y<br />

fallos no atribuibles al usuario. Una lista completa <strong>de</strong> los fallos aparece en el<br />

apéndice A y B para los controladores <strong>MicroLogix</strong> 1000 y los procesadores <strong>SLC</strong><br />

respectivamente.<br />

Fallo <strong>de</strong> no usuario Fallo <strong>de</strong> usuario no recuperable<br />

La rutina <strong>de</strong> fallo no se<br />

ejecuta.<br />

Datos <strong>de</strong> archivo <strong>de</strong> estado guardados<br />

<br />

La rutina <strong>de</strong> fallo se ejecuta durante un<br />

paso. Nota: usted pue<strong>de</strong> inicializar una<br />

instrucción MSG a otro nodo para<br />

i<strong>de</strong>ntificar la condición <strong>de</strong> fallo <strong>de</strong>l<br />

procesador.<br />

Fallo <strong>de</strong> usuario<br />

recuperable<br />

La rutina <strong>de</strong> fallo pue<strong>de</strong><br />

eliminar el fallo poniendo a<br />

cero el bit S:1/13.<br />

Los datos en las palabras siguientes se guardaron durante la entrada a la subrutina <strong>de</strong><br />

fallo <strong>de</strong> usuario y se volvieron a escribir cuando salieron <strong>de</strong> la subrutina.<br />

• Indicadores aritméticos S:0<br />

• Registro matemático S:13 y S:14<br />

• Registro <strong>de</strong> índice S:24


Cómo crear una subrutina <strong>de</strong> fallo <strong>de</strong> usuario<br />

Para usar la subrutina <strong>de</strong> fallo <strong>de</strong> usuario:<br />

1. Cree un archivo <strong>de</strong> subrutina:<br />

• El rango válido <strong>de</strong>l procesador <strong>SLC</strong> es 3–255<br />

• <strong>MicroLogix</strong> 1000 <strong>de</strong>signa el archivo 3<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

2. Introduzca el número <strong>de</strong> archivo en palabra S:29 <strong>de</strong>l archivo <strong>de</strong> estado.<br />

Nota No se requiere ninguna acción para los usuarios <strong>de</strong> <strong>MicroLogix</strong> 1000. S:29 está<br />

reservado<br />

Operación <strong>de</strong>l procesador <strong>SLC</strong><br />

La coinci<strong>de</strong>ncia <strong>de</strong> fallos <strong>de</strong> usuario recuperables y no recuperbles causa que el<br />

procesador lea S:29 y ejecute el número <strong>de</strong> subrutina contenido en S:29. Si el fallo<br />

es recuperable, la rutina se pue<strong>de</strong> usar para corregir el problema y poner a cero el bit<br />

<strong>de</strong> fallo S:1/13. Luego el procesador continúa en el modo <strong>de</strong> marcha REM.<br />

La rutina no se ejecuta para los fallos no atribuibles al usuario.<br />

Las palabras S:20 y S:21 se pue<strong>de</strong>n examinar en su rutina <strong>de</strong> fallo para precisar el<br />

número <strong>de</strong> archivo y renglón don<strong>de</strong> el fallo ocurrió. Si el fallo ocurrió fuera <strong>de</strong>l<br />

escán <strong>de</strong> escalera, este valor contendrá el número <strong>de</strong> renglón don<strong>de</strong> la instrucción<br />

TND, END o REF esté ubicada. Use las palabras S:20 y S:21 con su rutina <strong>de</strong> fallo<br />

<strong>de</strong> protección al momento <strong>de</strong> encendido para <strong>de</strong>terminar el punto exacto en que<br />

ocurrió la parada <strong>de</strong> alimentación eléctrica anterior. Refiérase al apéndice B para<br />

obtener más información acerca <strong>de</strong>l bit <strong>de</strong> fallo <strong>de</strong> protección al momento <strong>de</strong><br />

encendido S:1/9.<br />

Nota Para los procesadores <strong>SLC</strong> 5/02, es necesario guardar su programa con la prueba<br />

<strong>de</strong> un solo paso seleccionada para que S:20 y S:21 se activen.<br />

Para los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04, si su programa contiene cuatro<br />

<strong>instrucciones</strong> <strong>de</strong> mensaje con el bit <strong>de</strong> operación continua (CO) establecido, la<br />

instrucción <strong>de</strong> mensaje <strong>de</strong> la rutina <strong>de</strong> fallo no se ejecutará.<br />

Operación <strong>de</strong>l procesador <strong>MicroLogix</strong><br />

La coinci<strong>de</strong>ncia <strong>de</strong> fallos <strong>de</strong> usuario recuperables y no recuperables causa que el<br />

archivo 3 se ejecute. Si el fallo es recuperable, la rutina se pue<strong>de</strong> usar para corregir<br />

el problema y poner a cero el bit <strong>de</strong> fallo S:1/13. Luego el procesador continúa en el<br />

modo <strong>de</strong> marcha REM.<br />

La rutina no se ejecuta para los fallos no atribuibles al usuario.<br />

11–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo <strong>de</strong> aplicación <strong>de</strong> la rutina <strong>de</strong> interrupción <strong>de</strong> usuario<br />

11–4<br />

Digamos que tiene un programa en que <strong>de</strong>sea controlar los errores mayores 0020<br />

(MINOR ERROR AT END OF SCAN) y 0034 (NEGATIVE VALUE IN<br />

TIMER PRE OR ACC) bajo las condiciones siguientes:<br />

• Evitar una parada <strong>de</strong>l procesador si el bit <strong>de</strong> interrupción por overflow S:5/0<br />

está establecido. Permitir una parada <strong>de</strong>l procesador cuando S:5/0 se establece<br />

más <strong>de</strong> cinco veces.<br />

• Evitar una parada <strong>de</strong>l procesador si el valor <strong>de</strong> acumulador <strong>de</strong>l temporizador<br />

T4:0 se hace negativo. Poner a cero el valor <strong>de</strong> acumulador negativo. Activar<br />

una salida para indicar que el acumulador se ha hecho negativo una vez o más.<br />

• Permitir una parada <strong>de</strong>l procesador para todos los otros fallos <strong>de</strong> usuario.<br />

Un posible método <strong>de</strong> realizar lo anterior se muestra en los ejemplos siguientes. La<br />

rutina <strong>de</strong> fallo <strong>de</strong> usuario se <strong>de</strong>signa como archivo 3.<br />

Cuando ocurre un error <strong>de</strong> usuario recuperable o no recuperable, el procesador<br />

escanea el archivo <strong>de</strong> subrutina 3. El procesador salta al archivo 4 si el código <strong>de</strong><br />

error es 0020 y salta al archivo 5 si el código <strong>de</strong> error es 0034. Para todos los otros<br />

errores recuperables y no recuperables, el procesador sale <strong>de</strong> la rutina <strong>de</strong> fallo y<br />

<strong>de</strong>tiene la operación en el modo <strong>de</strong> fallo.<br />

Rutina <strong>de</strong> fallo – Archivo <strong>de</strong> subrutina 3<br />

La palabra S:6 es el código<br />

<strong>de</strong> fallo (en <strong>de</strong>cimal)<br />

EQU<br />

EQUAL<br />

Source A S:6<br />

0<br />

Source B 32 Código <strong>de</strong> fallo 0020<br />

(Introduzca &H20. El<br />

equivalente <strong>de</strong>cimal <strong>de</strong> 32<br />

EQU<br />

EQUAL<br />

aparece.)<br />

Source A S:6<br />

0<br />

Source B 52 Código <strong>de</strong> fallo 0034<br />

(Introduzca &H34. El<br />

equivalente <strong>de</strong>cimal <strong>de</strong> 52<br />

aparece.)<br />

END<br />

JSR<br />

JUMP TO SUBROUTINE<br />

SBR file number 4<br />

JSR<br />

JUMP TO SUBROUTINE<br />

SBR file number 5


Archivo <strong>de</strong> subrutina 4 – Ejecutado para error 0020<br />

SBR<br />

SUBROUTINE<br />

GRT<br />

GREATER THAN<br />

Source A C5:0.ACC<br />

0<br />

Source B 5<br />

S:5<br />

] [<br />

0<br />

S:5<br />

] [<br />

0<br />

END<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

CTU<br />

COUNT UP<br />

Counter C5:0<br />

Preset 120<br />

Accum 0<br />

RET<br />

RETURN<br />

RET<br />

RETURN<br />

C5:0<br />

(U)<br />

CU<br />

(CU)<br />

(DN)<br />

S:5<br />

(U)<br />

0<br />

S:1<br />

(U)<br />

13<br />

Si el bit <strong>de</strong> interrupción por overflow está establecido, S:5/0 se establece y el<br />

contador C5:0 incrementa.<br />

Si el conteo <strong>de</strong> C5:0 es 5 ó menor, el bit <strong>de</strong> interrupción por overflow S:5/0 se pone<br />

a cero, el bit <strong>de</strong> error mayor <strong>de</strong>tenido S:1/13 se pone a cero y el procesador<br />

permanece en el modo <strong>de</strong> marcha REM. Si el conteo es mayor que 5, el procesador<br />

establece S:5/0 y S:1/13 y entra en el modo <strong>de</strong> fallo.<br />

Este archivo <strong>de</strong> subrutina también se ejecuta si el bit <strong>de</strong> error <strong>de</strong> registro <strong>de</strong> control<br />

S:5/2 se establece. En dicho caso, el procesador se pone en el modo <strong>de</strong> fallo.<br />

11–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Archivo <strong>de</strong> subrutina 5 – Ejecutado para error 0034<br />

11–6<br />

SBR<br />

SUBROUTINE<br />

LES<br />

LESS THAN<br />

Source A T4:0.ACC<br />

0<br />

Source B 0<br />

END<br />

S:1<br />

(U)<br />

13<br />

CLR<br />

CLEAR<br />

Dest T4:0.ACC<br />

0<br />

RET<br />

RETURN<br />

O:3.0<br />

( )<br />

3<br />

Si el valor <strong>de</strong> acumulador <strong>de</strong>l temporizador T4:0 es negativo, el bit <strong>de</strong> error mayor<br />

<strong>de</strong>tenido S:1/13 se <strong>de</strong>senclava evitando así que el procesador entre en el modo <strong>de</strong><br />

fallo. Simultáneamente, el valor <strong>de</strong> acumulador T4:0 ACC se pone a cero y la salida<br />

O:3.0/3 se activa. El código <strong>de</strong> fallo 0034 se muestra en el archivo <strong>de</strong> estado.<br />

Si el valor preseleccionado <strong>de</strong>l temporizador T4:0 es negativo, S:1/13 permanece<br />

establecido y el procesador entra en el modo <strong>de</strong> fallo (O:3.0/3 se restablece si se<br />

estableció anteriormente). A<strong>de</strong>más, si el valor preseleccionado o <strong>de</strong> acumulador <strong>de</strong><br />

cualquier otro temporizador en el programa es negativo, S:1/13 se establece y el<br />

procesador entra en el modo <strong>de</strong> fallo. Si se estableció anteriormente, O:3.0/3 se<br />

restablece.


Descripción general <strong>de</strong> la interrupción<br />

temporizada seleccionable<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

Esta función le permite interrumpir el escán <strong>de</strong>l procesador automáticamente, <strong>de</strong><br />

manera periódica, para escanear una archivo <strong>de</strong> subrutina especificado. Después, el<br />

procesador reanuda la ejecución a partir <strong>de</strong>l punto en que fue interrumpida.<br />

Esta sección <strong>de</strong>scribe:<br />

• El procedimiento <strong>de</strong> programación STI<br />

• La operación STI<br />

• Los parámetros STI<br />

• Las <strong>instrucciones</strong> STD y STE<br />

• La instrucción STS<br />

Procedimiento <strong>de</strong> programación básico para la función STI<br />

Para usar la función STI en su archivo <strong>de</strong> aplicación:<br />

<br />

<br />

1. Cree un archivo <strong>de</strong> subrutina e introduzca los renglones <strong>de</strong> escalera <strong>de</strong>seados.<br />

Este es su archivo <strong>de</strong> subrutina STI.<br />

• El rango válido <strong>de</strong> los procesadores <strong>SLC</strong> es 2–355<br />

• Los controladores <strong>MicroLogix</strong> 1000 <strong>de</strong>signan archivo 5<br />

2. Procesadores <strong>SLC</strong><br />

Introduzca el número <strong>de</strong> archivo <strong>de</strong> subrutina STI en la palabra S:31 <strong>de</strong>l archivo<br />

<strong>de</strong> estado. Refiérase a la página B–57 <strong>de</strong> este manual para obtener más<br />

información. Un número <strong>de</strong> archivo <strong>de</strong> cero inhabilita la función STI.<br />

3. Introduzca el punto <strong>de</strong> ajuste (el tiempo entre interrupciones sucesivas) en la<br />

palabra S:30 <strong>de</strong>l archivo <strong>de</strong> estado. Refiérase a la página A–17 para los<br />

controladores <strong>MicroLogix</strong> 1000 ó la página B–57 para los procesadorss <strong>SLC</strong> a<br />

fin <strong>de</strong> obtener más información.<br />

• Para el <strong>SLC</strong> 5/02 y los controladores <strong>MicroLogix</strong> 1000, el rango es<br />

10–2550 ms (introducidos en incrementos <strong>de</strong> 10 ms). Un punto <strong>de</strong> ajuste<br />

<strong>de</strong> cero inhabilita la función STI.<br />

• Para los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04, el rango es <strong>de</strong> 1–32,767 ms<br />

(introducidos en incrementos <strong>de</strong> 1 ms). Un punto <strong>de</strong> ajuste <strong>de</strong> cero<br />

inhabilita la función STI. Refiérase al apéndice B <strong>de</strong> este manual para<br />

obtener más información acerca <strong>de</strong>l bit <strong>de</strong> resolución STI S:2/10.<br />

<br />

<br />

11–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Nota El valor <strong>de</strong>l punto <strong>de</strong> ajuste <strong>de</strong>be ser mayor que el tiempo <strong>de</strong> ejecución <strong>de</strong>l archivo<br />

<strong>de</strong> subrutina STI, <strong>de</strong> lo contrario un bit <strong>de</strong> error menor se establece. Para todos los<br />

procesadores, el bit <strong>de</strong> pendiente STI y el bit <strong>de</strong> sobremarcha STI se establecerán.<br />

A<strong>de</strong>más, para los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 y los controladores<br />

<strong>MicroLogix</strong> 1000, el bit último STI se pue<strong>de</strong> establecer.<br />

Operación<br />

11–8<br />

Después <strong>de</strong> que usted restaura el programa y entra en el modo <strong>de</strong> marcha REM, el<br />

STI comienza la operación según lo siguiente:<br />

1. El temporizador STI comienza a temporizar.<br />

2. Cuando el intervalo STI caduca, el temporizador STI se restablece, el escán <strong>de</strong>l<br />

procesador se interrumpe y el archivo <strong>de</strong> subrutina STI se escanea.<br />

3. Si otra interrupción STI ocurre durante la ejecución <strong>de</strong> la subrutina STI, el bit<br />

<strong>de</strong> pendiente STI se establece.<br />

4. Si el temporizador STI caduca durante el estado pendiente <strong>de</strong> un STI, el bit <strong>de</strong><br />

perdido STI se establece. (Para los procesadores <strong>SLC</strong> 5/02, el bit <strong>de</strong><br />

sobremarcha se establece.)<br />

5. Cuando el escán <strong>de</strong> subrutina STI se finaliza, el escán <strong>de</strong>l archivo <strong>de</strong> programa<br />

principal se reanuda al punto en que se <strong>de</strong>tuvo, a menos que haya un STI<br />

pendiente. En dicho caso, la subrutina se vuelve a escanear inmediatamente.<br />

6. El ciclo se repite.<br />

Contenido <strong>de</strong> la subrutina STI<br />

A título <strong>de</strong> i<strong>de</strong>ntificación <strong>de</strong> su subrutina STI, incluya una instrucción INT como la<br />

primera instrucción en el primer renglón <strong>de</strong>l archivo.<br />

La subrutina STI contiene los renglones <strong>de</strong> su lógica <strong>de</strong> aplicacion. Pue<strong>de</strong><br />

programar toda instrucción <strong>de</strong>ntro <strong>de</strong> la subrutina STI con la excepción <strong>de</strong> una<br />

instrucción TND, REF o SVC. Las <strong>instrucciones</strong> IIM o IOM son necesarias en una<br />

subrutina STI si su aplicación requiere la actualización inmediata <strong>de</strong> puntos <strong>de</strong><br />

entrada o salida. Termine la subrutina STI con una instrucción RET.<br />

La profundidad <strong>de</strong> pila JSR se limita a 3. Pue<strong>de</strong> llamar otras subrutinas a un nivel<br />

<strong>de</strong> profundidad <strong>de</strong> 3 <strong>de</strong>s<strong>de</strong> una subrutina STI.


Latencia <strong>de</strong> interrupción y coinci<strong>de</strong>ncias <strong>de</strong> interrupción<br />

Procesadores <strong>SLC</strong><br />

Input Scan<br />

Program Scan<br />

Output Scan<br />

Communications<br />

Processor Overhead<br />

Eventos en el ciclo <strong>de</strong> operación <strong>de</strong>l<br />

procesador<br />

Microcontrolador<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

La latencia <strong>de</strong> interrupción es el intervalo entre el límite <strong>de</strong> tiempo sobrepasado y el<br />

inicio <strong>de</strong> la subrutina <strong>de</strong> interrupción. Las interrupciones STI pue<strong>de</strong>n ocurrir en<br />

cualquier punto en su programa, pero no necesariamente al mismo punto en<br />

interrupciones sucesivas. Las tablas siguientes muestran la interacción entre una<br />

interrupción y el ciclo <strong>de</strong> operación <strong>de</strong>l procesador.<br />

Input Scan<br />

Program Scan<br />

Output Scan<br />

Communication<br />

<strong>SLC</strong> 5/02 STI<br />

Entre actualizaciones <strong>de</strong><br />

ranura<br />

Entre actualizaciones <strong>de</strong><br />

instrucción<br />

Entre actualizaciones <strong>de</strong><br />

ranura<br />

Entre paquetes <strong>de</strong><br />

comunicación<br />

Al inicio y al final<br />

Controller Overhead<br />

Eventos en el ciclo <strong>de</strong> operación <strong>de</strong>l procesador<br />

<strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04<br />

STI con el bit S:33/8<br />

establecido<br />

Entre actualizaciones <strong>de</strong><br />

palabra<br />

Entre actualizaciones <strong>de</strong><br />

palabra<br />

Entre actualizaciones <strong>de</strong><br />

palabra<br />

Entre actualizaciones <strong>de</strong><br />

paquete <strong>de</strong> palabra<br />

Entre actualizaciones <strong>de</strong><br />

palabra<br />

STI<br />

<strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04<br />

STI con el bit S:33/8<br />

puesto a cero<br />

Entre actualizaciones <strong>de</strong><br />

ranura<br />

Entre actualizaciones <strong>de</strong><br />

ranura<br />

Entre actualizaciones <strong>de</strong><br />

ranura<br />

Entre paquetes <strong>de</strong><br />

comunicación<br />

Entre actualizaciones <strong>de</strong> instrucción<br />

Entre paquetes <strong>de</strong> comunicación<br />

Al inicio y al final<br />

Entre actualizaciones <strong>de</strong><br />

palabra<br />

11–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

11–10<br />

Observe que el tiempo <strong>de</strong> ejecución se aña<strong>de</strong> directamente al tiempo <strong>de</strong> escán<br />

global. Durante el período <strong>de</strong> latencia, el procesador está efectuando operaciones<br />

que no pue<strong>de</strong>n ser interrumpidas por la función <strong>de</strong> interrupción STI.<br />

Los períodos <strong>de</strong> latencia son:<br />

Priorida<strong>de</strong>s <strong>de</strong> interrupción<br />

• Las interrupciones <strong>de</strong> los procesadores <strong>SLC</strong> 5/02 y los controladores<br />

<strong>MicroLogix</strong> 1000 reciben servicio <strong>de</strong>ntro <strong>de</strong> 2.4 ms como máximo.<br />

• Procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – Si una interrupción ocurre mientras que el<br />

procesador realiza una actualización <strong>de</strong> ranura <strong>de</strong> palabras múltiples y su<br />

subrutina <strong>de</strong> interrupción acce<strong>de</strong> a la misma ranura, la transferencia <strong>de</strong> palabras<br />

múltiples se finaliza antes <strong>de</strong> realizar el acceso <strong>de</strong> ranura <strong>de</strong> subrutina <strong>de</strong><br />

interrupción. El bit <strong>de</strong> control <strong>de</strong> latencia <strong>de</strong> interrupción (S:33/8) funciona <strong>de</strong><br />

la manera siguiente:<br />

– Cuando el bit se establece (1), las interrupciones reciben servicio <strong>de</strong>ntro <strong>de</strong>l<br />

tiempo <strong>de</strong> latencia <strong>de</strong> interrupción. Refiérase al apéndice B para obtener<br />

más información acerca <strong>de</strong> cómo calcular la latencia <strong>de</strong> interrupción.<br />

– Cuando el bit se pone a cero (0), los INT reciben servicio por renglón,<br />

ranura y tiempo <strong>de</strong> ejecución <strong>de</strong> paquete.<br />

El estado pre<strong>de</strong>terminado se borra (0). Para <strong>de</strong>terminar la latencia <strong>de</strong><br />

interrupción con S:33/8 puesto a cero, <strong>de</strong>be calcular el tiempo <strong>de</strong> ejecución <strong>de</strong><br />

cada renglón en su programa. Use el tiempo <strong>de</strong> ejecución calculado más largo<br />

más <strong>500</strong> µs como su latencia <strong>de</strong> interrupción máxima.<br />

Las priorida<strong>de</strong>s <strong>de</strong> interrupción para los procesadores son:<br />

Controlador <strong>MicroLogix</strong> 1000 Procesador <strong>SLC</strong> 5/02 Procesador <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04<br />

1. Rutina <strong>de</strong> fallo <strong>de</strong> usuario 1. Rutina <strong>de</strong> fallo <strong>de</strong> usuario 1. Rutina <strong>de</strong> fallo <strong>de</strong> usuario<br />

2. Contador <strong>de</strong> alta velocidad<br />

3. Subrutina <strong>de</strong> interrupción temporizada<br />

seleccionable<br />

2. Subrutina <strong>de</strong> interrupción temporizada<br />

seleccionable<br />

3. Subrutina <strong>de</strong> interrupción (ISR)<br />

2. Interrupción <strong>de</strong> entrada discreta (DII)<br />

3. Subrutina <strong>de</strong> interrupción temporizada<br />

seleccionable<br />

4. Subrutina <strong>de</strong> interrupción (ISR)<br />

Una interrupción que se está ejecutando sólo pue<strong>de</strong> ser interrumpida por una<br />

interrupción con una prioridad más alta.


Datos <strong>de</strong> archivo <strong>de</strong> estado guardados<br />

Parámetros STI<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

Los datos en las palabras siguientes se guardaron durante la entrada en la subrutina<br />

STI y se volvieron a escribir cuando salieron <strong>de</strong> la subrutina STI.<br />

• Indicadores aritméticos S:0<br />

• Registro matemático S:13 y S:14<br />

• Registro <strong>de</strong> índice S:24<br />

Los parámetros siguientes son asociados con la función STI. Estos parámetros<br />

tienen direcciones <strong>de</strong> archivo <strong>de</strong> estado que se <strong>de</strong>scriben aquí y también en el<br />

apéndice A y apéndice B <strong>de</strong> este manual.<br />

• Número <strong>de</strong> archivo STI (palabra S:31) – Este pue<strong>de</strong> ser cualquier número <strong>de</strong><br />

3–255. Un valor <strong>de</strong> cero inhabilita la función STI. Un número inválido genera<br />

el fallo 0023. Esta palabra no se aplica a los controladores <strong>MicroLogix</strong> 1000.<br />

• Punto <strong>de</strong> ajuste (palabra S:30) – Este es el tiempo entre el punto <strong>de</strong> inicio <strong>de</strong><br />

escanes sucesivos <strong>de</strong>l archivo STI. Pue<strong>de</strong> ser cualquier valor <strong>de</strong> 10 a 2550<br />

milisegundos. Usted introduce un valor <strong>de</strong> 1 a 255, lo que resulta en un punto<br />

<strong>de</strong> ajuste <strong>de</strong> 10–2550 ms. Un valor <strong>de</strong> cero inhabilita la función STI. Un<br />

tiempo inválido genera el fallo 0024.<br />

Si el STI se inicia en el modo <strong>de</strong> marcha REM cargando los registros <strong>de</strong> estado,<br />

la interrupción comienza a temporizar <strong>de</strong>s<strong>de</strong> el final <strong>de</strong>l escán <strong>de</strong> programa en<br />

que los registros <strong>de</strong> estado se cargaron.<br />

Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – Si S:2/10 está establecido, el tiempo se<br />

da en incrementos <strong>de</strong> 1 ms. Si este bit se pone a cero, el tiempo se da en<br />

incrementos <strong>de</strong> 10 ms.<br />

• Bit <strong>de</strong> pendiente STI (S:2/0) – Este bit se establece cuando el temporizador<br />

STI ha sobrepasado el límite <strong>de</strong> tiempo y la rutina STI está esperando su<br />

ejecución. Este bit se restablece al inicio <strong>de</strong> la rutina STI, ejecución <strong>de</strong> una<br />

instrucción STS verda<strong>de</strong>ra, momento <strong>de</strong> encendido o salida <strong>de</strong>l modo <strong>de</strong> marcha<br />

REM o <strong>de</strong> prueba.<br />

Específico para <strong>SLC</strong> 5/02 – El bit <strong>de</strong> pendiente STI no se establecerá si el<br />

temporizador STI caduca durante la ejecución <strong>de</strong> la rutina <strong>de</strong> fallo.<br />

Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – Este bit se establece si el temporizador<br />

STI caduca durante la ejecución <strong>de</strong> la subrutina DII o la rutina <strong>de</strong> fallo.<br />

11–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

11–12<br />

• Bit <strong>de</strong> habilitación STI (S:2/1) – El valor pre<strong>de</strong>terminado es 1 (establecido).<br />

Cuando un número <strong>de</strong> archivo entre 3 y 255 está presente en la palabra S:31 y<br />

un valor <strong>de</strong> punto <strong>de</strong> ajuste entre 1 y 255 está presente en la palabra S:30, un bit<br />

<strong>de</strong> habilitación establecido permite el escán <strong>de</strong>l archivo STI. Si el bit está<br />

restablecido por una instrucción STD, el escán <strong>de</strong>l archivo STI ya no ocurre. Si<br />

el bit está establecido por una instrucción STE o STS, el escán se permite<br />

nuevamente. El bit <strong>de</strong> habilitación sólo habilita/inhabilita el escán <strong>de</strong> la<br />

subrutina STI. No afecta el temporizador STI. La instrucción STS afecta el bit<br />

<strong>de</strong> habilitación y el temporizador STI. El estado pre<strong>de</strong>terminado se habilita. Si<br />

este bit se establece o se restablece usando la instrucción STE, STD o STS, la<br />

habilitación/inhabilitación se realiza inmediatamente. Si este bit se establece en<br />

el programa <strong>de</strong> usuario utilizando una instrucción que no sea STE, STD o STS,<br />

se realiza durante el próximo final <strong>de</strong> escán.<br />

Controlador <strong>MicroLogix</strong> 1000 – Este bit se establece o se restablece usando una<br />

instrucción STS, STE o STD. Si se establece, permite la ejecución <strong>de</strong>l STI si el<br />

punto <strong>de</strong> ajuste STI S:30 no es cero. Si se ha puesto a cero, cuando ocurre una<br />

interrupción, la subrutina STI no se ejecuta y el bit <strong>de</strong> pendiente STI se<br />

establece.<br />

Específico para <strong>SLC</strong> 5/02 – Si está establecido o restablecido por el programa<br />

<strong>de</strong> usuario o comunics., no se activará sino hasta el próximo final <strong>de</strong> escán.<br />

Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – Si este bit está establecido o<br />

restablecido por el programa <strong>de</strong> usuario o comunics., se activará al momento <strong>de</strong><br />

caducidad <strong>de</strong>l temporizador STI o durante el próximo final <strong>de</strong> escán (cualquiera<br />

que ocurra primero).<br />

• Bit <strong>de</strong> ejecución STI (S:2/2) – Este bit se establece cuando el archivo STI está<br />

siendo escaneado y se pone a cero cuando el escán se finaliza. El bit también se<br />

pone a cero al momento <strong>de</strong> encendido y a la entrada en el modo <strong>de</strong> marcha<br />

REM.<br />

• Bit <strong>de</strong> selección <strong>de</strong> resolución STI (S:2/10) – Este bit se pone a cero<br />

pre<strong>de</strong>terminadamente. Cuando se ha puesto a cero, este bit selecciona un<br />

incremento <strong>de</strong> 10 ms para el valor <strong>de</strong> punto <strong>de</strong> ajuste STI (S:30). Cuando se<br />

establece, este bit selecciona un incremento <strong>de</strong> 1 ms para el valor <strong>de</strong> punto <strong>de</strong><br />

ajuste (S:30). Para programar esta característica, use la función <strong>de</strong>l monitor <strong>de</strong><br />

datos para establecer/poner a cero este bit o direccione este bit con su programa<br />

<strong>de</strong> escalera.<br />

Este bit es configurable por el usuario y se activa durante una transición <strong>de</strong><br />

modo PROG REM a REM RUN.<br />

• Bit <strong>de</strong> sobremarcha (S:5/10) – Este bit <strong>de</strong> error menor se establece cuando el<br />

temporizador STI caduca mientras que la rutina STI se está ejecutando o está<br />

inhabilitada y mientras que el bit <strong>de</strong>pendiente esté establecido. Cuando esto<br />

ocurre, el temporizador STI continúa funcionando a la velocidad presente en la<br />

palabra S:30. Si el bit <strong>de</strong> sobremarcha se establece, tome la acción correctiva<br />

que indica su aplicación y luego ponga a cero el bit.


Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

• Bit <strong>de</strong> STI perdida (Word S:36/9) – Este bit se establece cuando una<br />

interrupción STI ocurre mientras que el bit <strong>de</strong> STI pendiente también está<br />

establecido. Cuando está establecido, le comunicará que una interrupción STI<br />

se ha perdido. Por ejemplo, la interrupción se pier<strong>de</strong> porque una interrupción<br />

anterior ya estaba pendiente y esperando su ejecución. Examine este bit en su<br />

programa <strong>de</strong> usuario y tome la acción apropiada si su aplicación no pue<strong>de</strong><br />

tolerar esta condición. Luego ponga a cero el bit con su programa <strong>de</strong> usuario<br />

para prepararse para la próxima instancia posible <strong>de</strong> este error.<br />

Use los renglones siguientes para inicializar y medir la cantidad <strong>de</strong> tiempo entre dos<br />

ejecuciones <strong>de</strong> subrutina STI consecutivas. El temporizador <strong>de</strong> 10 µs también está<br />

disponible en la interrupción DII y la interrupción <strong>de</strong> E/S. Este ejemplo <strong>de</strong><br />

aplicación también se pue<strong>de</strong> usar para la interrupción <strong>de</strong> E/S <strong>de</strong> evento o la<br />

interrupción DII reemplazando S:43 con S:44 ó S:45 respectivamente.<br />

Lista <strong>de</strong> programa Archivo <strong>de</strong> procesador: FREESTI.ACH Renglón 2:0<br />

Renglón 2:0<br />

Coloque este renglón en el primer renglón <strong>de</strong> su programa <strong>de</strong> escalera principal<br />

(archivo 2 renglón 0). Este renglón asegura que la medida <strong>de</strong> interrupción se<br />

inicialice cada vez que se entre en el modo <strong>de</strong> marcha.<br />

| 1er Indica la |<br />

| paso inicialización |<br />

| <strong>de</strong> medida |<br />

| |<br />

| S:1 B3 |<br />

|––––] [––––––––––––––––––––––––––––––––––––––––––––––+––––(U)–––––––––––––––+–|<br />

| 15 | 0 | |<br />

| | Clear | |<br />

| | 10 uS | |<br />

| | ”tick” | |<br />

| | Register | |<br />

| | +MOV–––––––––––––––+ | |<br />

| +–+MOVE +–+ |<br />

| |Source 0| |<br />

| | | |<br />

| |Dest N10:2| |<br />

| | 0| |<br />

| +––––––––––––––––––+ |<br />

el programa <strong>de</strong> escalera continúa en la página siguiente<br />

11–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Renglón 4:0<br />

Este renglón mi<strong>de</strong> el tiempo entre las ejecuciones <strong>de</strong> subrutina <strong>de</strong> interrupción<br />

consecutivas. El entero N10:2 contiene el número <strong>de</strong> “tics” <strong>de</strong> 10 microsegundos<br />

que han ocurrido. Anote que la cantidad mayor <strong>de</strong> tiempo que se pue<strong>de</strong> medir<br />

es <strong>de</strong> 0.32767 segundos.<br />

| Determine el número |<br />

| <strong>de</strong> “tics” <strong>de</strong> 10 ms |<br />

| Cuando medida <strong>de</strong>s<strong>de</strong> el último |<br />

| válida |<br />

| B3 +SUB–––––––––––––––+ |<br />

|––––––––+––––] [–––––+––––––––––––+SUBTRACT +–+––––––––––––––––––––+–|<br />

| | 0 | |Source A S:43| | | |<br />

| | | | 0| | | |<br />

| | | |Source B N10:1| | | |<br />

| | | | 0| | | |<br />

| | | |Dest N10:2| | | |<br />

| | | | 0| | | |<br />

| | | +––––––––––––––––––+ | | |<br />

| | | | | |<br />

| | | | | |<br />

| | | Si rodante ha | | |<br />

| | | ocurrido en la Normalice el | | |<br />

| | | base <strong>de</strong> tiempo resultado | | |<br />

| | | S:0 +ADD–––––––––––––––+ | | |<br />

| | +––––] [–––––+ADD +–+ | |<br />

| | 3 |Source A 32767| | |<br />

| | | | | |<br />

| | |Source B N10:2| | |<br />

| | | 0| | |<br />

| | |Dest N10:2| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | | |<br />

| | | |<br />

| | Almacene el valor | |<br />

| | actual en el | |<br />

| | último valor | |<br />

| | +MOV–––––––––––––––+ | |<br />

| +––––––––––––––––––––––––––––––––––––––––––––––+MOVE +–+ |<br />

| | |Source S:43| | |<br />

| | | 0| | |<br />

| | |Dest N10:1| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | | |<br />

| | | |<br />

| | Ponga a cero el | |<br />

| | bit <strong>de</strong> error | |<br />

| | S:5 | |<br />

| +–––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––––––––––––+ |<br />

| 0 |<br />

11–14<br />

el programa <strong>de</strong> escalera continúa en la página siguiente


Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

Renglón 4:99<br />

Coloque este renglón en el último renglón <strong>de</strong> su subrutina <strong>de</strong> interrupción. Así<br />

su subrutina <strong>de</strong> interrupción sabrá cuándo el valor N10:2 es válido.<br />

| |<br />

| |<br />

| Indique la |<br />

| medida válida |<br />

| B3 |<br />

|––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(L)–––––|<br />

| 0 |<br />

Nota El bit <strong>de</strong> selección <strong>de</strong> overflow matemático (S:2/14) se <strong>de</strong>be establecer antes <strong>de</strong><br />

entrar en el modo <strong>de</strong> MARCHA.<br />

11–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucciones STD y STE<br />

11–16<br />

Las <strong>instrucciones</strong> STD y STE se usan para crear zonas en las que las interrupciones<br />

STI no pue<strong>de</strong>n ocurrir.<br />

Inhabilitación temporizada seleccionable – STD<br />

STD<br />

SELECTABLE TIMED DISABLE<br />

Cuando es verda<strong>de</strong>ra, esta instrucción restablece el bit <strong>de</strong> habilitación STI y evita<br />

que la subrutina STI se ejecute. Cuando el renglón se hace falso, el bit <strong>de</strong><br />

habilitación STI permanece establecido hasta que una instrucción STS o STE se<br />

ejecute. El temporizador STI continúa funcionando mientras que el bit <strong>de</strong><br />

habilitación esté restablecido.<br />

Habilitación temporizada seleccionable – STE<br />

STE<br />

SELECTABLE TIMED ENABLE<br />

Ejemplo <strong>de</strong> zona STD/STE<br />

<br />

Esta instrucción, al momento <strong>de</strong> una transición <strong>de</strong>l renglón <strong>de</strong> falso a verda<strong>de</strong>ro,<br />

establece el bit <strong>de</strong> habilitación STI y permite la ejecución <strong>de</strong> la subrutina STI.<br />

Cuando el renglón se hace falso, el bit <strong>de</strong> habilitación STI permanece establecido<br />

hasta que una instrucción STD verda<strong>de</strong>ra se ejecute. Esta instrucción no tiene<br />

efecto sobre la operación <strong>de</strong>l temporizador STI o punto <strong>de</strong> ajuste. Cuando el bit <strong>de</strong><br />

habilitación está establecido, la primera ejecución <strong>de</strong> la subrutina STI pue<strong>de</strong> ocurrir<br />

en cualquier fracción <strong>de</strong>l ciclo <strong>de</strong> temporización hasta un ciclo <strong>de</strong> temporización<br />

completo subsiguiente.<br />

En el programa siguiente, la función STI está activa. Las <strong>instrucciones</strong> STD y STE<br />

en los renglones 6 y 12 se incluyen en el programa <strong>de</strong> escalera para evitar que se<br />

ejecute la subrutina STI en cualquier punto en los renglones 7 a 11.<br />

La instrucción STD (renglón 6) restablece el bit STI y la instrucción STE (renglón<br />

12) vuelve a establecer el bit <strong>de</strong> habilitación. El temporizador STI incrementa y<br />

pue<strong>de</strong> sobrepasar el límite <strong>de</strong> tiempo en la zona STD, lo que establece el bit <strong>de</strong><br />

pendiente S:2/0 y el bit <strong>de</strong> sobremarcha S:5/10.<br />

El bit <strong>de</strong> primer paso S:1/15 y la instrucción STE en el renglón 0 se incluyen para<br />

asegurar que la función STI se inicialice <strong>de</strong>spués <strong>de</strong> una <strong>de</strong>sactivación y<br />

reactivación <strong>de</strong> alimentación eléctrica. Usted <strong>de</strong>be incluir este renglón cuando su<br />

programa contenga una zona STD/STE o una instrucción STD.


Archivo <strong>de</strong><br />

programa 3<br />

La ejecución<br />

<strong>de</strong> interrupción<br />

STI no ocurre<br />

entre STD y<br />

STE.<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

17<br />

S:1<br />

] [<br />

15<br />

] [ ] [<br />

] [ ] [<br />

] [ ] [<br />

] [ ] [<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

STE<br />

SELECTABLE TIMED ENABLE<br />

STD<br />

SELECTABLE TIMED DISABLE<br />

STE<br />

SELECTABLE TIMED ENABLE<br />

END<br />

( )<br />

( )<br />

( )<br />

( )<br />

11–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Inicio temporizado seleccionable (STS)<br />

STS<br />

SELECTABLE TIMED START<br />

File<br />

Time [x 10ms]<br />

11–18<br />

Use la instrucción STS para condicionar el inicio <strong>de</strong>l temporizador STI cuando entra<br />

en el modo <strong>de</strong> marcha REM en vez <strong>de</strong> comenzar automáticamente. También pue<strong>de</strong><br />

usarla para configurar o cambiar el número <strong>de</strong> archivo o punto <strong>de</strong> ajuste/frecuencia<br />

<strong>de</strong> la rutina STI que se va a ejecutar cuando el temporizador STI caduca.<br />

Esta instrucción no es necesaria para configurar una aplicación <strong>de</strong> interrupción STI<br />

básica.<br />

La instrucción STS le exige introducir dos parámetros: el número <strong>de</strong> archivo STI y<br />

el punto <strong>de</strong> ajuste STI. Al momento <strong>de</strong> ejecución verda<strong>de</strong>ra <strong>de</strong>l renglón, esta<br />

instrucción introduce el número <strong>de</strong> archivo y punto <strong>de</strong> ajuste en el archivo <strong>de</strong> estado<br />

(S:31, S:30), sobrescribiendo así los datos existentes. Simultáneamente, el<br />

temporizador STI se restablece y comienza a temporizar; al momento <strong>de</strong> sobrepasar<br />

el límite <strong>de</strong> tiempo, la ejecución <strong>de</strong> subrutina STI ocurre. Cuando el renglón se hace<br />

falso, la función STI permanece habilitada en el punto <strong>de</strong> ajuste y número <strong>de</strong><br />

archivo que introdujo en la instrucción STS.<br />

Nota Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – La instrucción STS usa el establecimiento<br />

<strong>de</strong>l bit <strong>de</strong> resolución STI S:2/10 para <strong>de</strong>terminar la base <strong>de</strong> tiempo que se va a usar<br />

al momento <strong>de</strong> la ejecución <strong>de</strong> la instrucción STS.


Descripción general <strong>de</strong> la interrupción<br />

<strong>de</strong> entrada discreta<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

Use la interrupción <strong>de</strong> entrada discreta (DII) para las aplicaciones <strong>de</strong> procesamiento<br />

a alta velocidad o para cualquier aplicación que necesite respon<strong>de</strong>r a un evento <strong>de</strong><br />

manera rápida. Esta instrucción permite que el procesador ejecute una subrutina <strong>de</strong><br />

escalera cuando la configuración <strong>de</strong> bit <strong>de</strong> entrada <strong>de</strong> una tarjeta <strong>de</strong> E/S discreta<br />

corresponda a un valor <strong>de</strong> comparación que usted ha ya programado.<br />

El archivo <strong>de</strong> estado contiene seis valores <strong>de</strong> bit y seis valores <strong>de</strong> palabra usados<br />

para programar y monitorizar la función DII. La DII no requiere <strong>instrucciones</strong> <strong>de</strong><br />

lógica <strong>de</strong> escalera para su configuración. Usted programa la DII para examinar la<br />

configuración <strong>de</strong> bit <strong>de</strong> entrada <strong>de</strong> una sola ranura <strong>de</strong> E/S cualquiera, la cual<br />

contiene una tarjeta <strong>de</strong> entrada discreta (tal como IG16, IV16, IB8, IB32). Cuando<br />

la configuración <strong>de</strong> bit <strong>de</strong> entrada correspon<strong>de</strong> al valor <strong>de</strong> comparación, el<br />

acumulador se incrementa. El acumulador DII cuenta hasta el valor preseleccionado<br />

y, una vez generada la interrupción, ajusta inmediatamente la línea <strong>de</strong> manera<br />

automática y comienza a contar <strong>de</strong>s<strong>de</strong> cero.<br />

Durante el escán <strong>de</strong> la subrutina DII, usted pue<strong>de</strong> volver a configurar la DII para que<br />

busque un evento completamente distinto. Esto facilita la secuencia DII. La DII<br />

pue<strong>de</strong> ser programada para comparar cada punto <strong>de</strong> entrada a un estado alto (1) o<br />

bajo (0). El acumulador se incrementa al momento <strong>de</strong> la transición <strong>de</strong> entrada que<br />

provoca que los puntos <strong>de</strong> entrada correspondan al valor <strong>de</strong> comparación.<br />

Si su aplicación requiere actualización inmediata <strong>de</strong> los puntos <strong>de</strong> entrada o salida,<br />

entonces son necesarias las <strong>instrucciones</strong> IIM o IOM. Finalice la subrutina DII con<br />

una instrucción RET.<br />

Procedimiento <strong>de</strong> programación básico para la función DII<br />

Para usar la función DII con su archivo <strong>de</strong> programa principal, haga lo siguiente:<br />

1. Cree un archivo <strong>de</strong> subrutina (rango <strong>de</strong> 3 a 255) e introduzca los renglones <strong>de</strong><br />

escalera <strong>de</strong>seados. Este es su archivo <strong>de</strong> subrutina DII.<br />

2. Introduzca el número <strong>de</strong> ranura <strong>de</strong> entrada (palabra S:47).<br />

3. Introduzca la máscara <strong>de</strong> bit (palabra S:48).<br />

4. Introduzca el valor <strong>de</strong> comparación (palabra S:49).<br />

5. Introduzca el valor preseleccionado (palabra S:50).<br />

<br />

<br />

11–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

6. Introduzca el número <strong>de</strong> subrutina DII en la palabra S:46 <strong>de</strong>l archivo <strong>de</strong> estado.<br />

(Vea la página B–69.) Un valor <strong>de</strong> cero inhabilita la función DII.<br />

Nota Usuarios <strong>de</strong> PLC – La diferencia principal entre la DII y la PII PLC 5/40 es que la<br />

DII requiere que todas las transiciones <strong>de</strong>claradas ocurran antes <strong>de</strong> generar un<br />

conteo; en cambio, la PII requiere que solamente una <strong>de</strong> las transiciones<br />

<strong>de</strong>claradas ocurra. A<strong>de</strong>más, en la DII, al término “conteo” se le <strong>de</strong>nomina<br />

“pre<strong>de</strong>terminado”.<br />

Ejemplo<br />

11–20<br />

La DII pue<strong>de</strong> ser programada para contar los artículos en un transportador <strong>de</strong> alta<br />

velocidad. Cada vez que 100 artículos pasan por un fotointerruptor, la subrutina DII<br />

se ejecuta. Luego la subrutina DII usa las <strong>instrucciones</strong> <strong>de</strong> E/S inmediatas para<br />

embalar los productos.


Operación<br />

Modo <strong>de</strong> contador<br />

Modo <strong>de</strong> evento<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

Después <strong>de</strong> restaurar su programa y entrar en el modo <strong>de</strong> marcha REM, la DII<br />

comienza su operación así:<br />

Este modo está activo cuando el valor preseleccionado (S:50) contiene un valor<br />

mayor que 1.<br />

1. La DII lee el primer byte <strong>de</strong> datos <strong>de</strong> entrada <strong>de</strong> una tarjeta <strong>de</strong> entrada discreta<br />

seleccionada por lo menos una vez cada 100 µs. Anote que esta “encuesta” <strong>de</strong><br />

los datos <strong>de</strong> entrada no afecta el tiempo <strong>de</strong> escán <strong>de</strong>l procesador.<br />

2. Cuando los datos <strong>de</strong> entrada correspon<strong>de</strong>n al valor con máscara programado, el<br />

acumulador se incrementa en uno. El próximo conteo ocurre cuando los datos<br />

<strong>de</strong> entrada hacen la transición a datos sin correspon<strong>de</strong>ncia y luego retornan a los<br />

con correspon<strong>de</strong>ncia.<br />

3. Cuando el acumulador alcanza o exce<strong>de</strong> el valor preseleccionado, entre 1 y<br />

32,767, la interrupción es generada y el acumulador se pone a cero.<br />

4. La subrutina DII se ejecuta.<br />

5. El ciclo se repite.<br />

Este modo está activo cuando el valor preseleccionado (S:50) contiene 0 ó 1.<br />

1. La DII lee el primer byte <strong>de</strong> datos <strong>de</strong> entrada <strong>de</strong> una tarjeta <strong>de</strong> entrada discreta<br />

seleccionada por lo menos una vez cada 100 µs. Anote que esta “encuesta” <strong>de</strong><br />

los datos <strong>de</strong> entrada no afectan el tiempo <strong>de</strong> escán <strong>de</strong>l procesador.<br />

2. Cuando los datos <strong>de</strong> entrada correspon<strong>de</strong>n al valor con máscara programado, la<br />

interrupción es generada.<br />

3. La subrutina DII se ejecuta. <br />

4. El ciclo se repite. <br />

<br />

Usted <strong>de</strong>be añadir el tiempo <strong>de</strong> latencia <strong>de</strong> interrupción a la transición o conteo final que causa que la ejecución <strong>de</strong><br />

la subrutina <strong>de</strong> interrupción.<br />

<br />

La DII continúa comparando los datos <strong>de</strong> entrada contra el valor con máscara programado durante la ejecución <strong>de</strong><br />

la subrutina DII.<br />

11–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Contenido <strong>de</strong> la subrutina DII<br />

11–22<br />

Para i<strong>de</strong>ntificar su subrutina DII, use la instrucción INT como la primera instrucción<br />

en su primer renglón.<br />

La subrutina DII contiene los renglones <strong>de</strong> su lógica <strong>de</strong> aplicación. Pue<strong>de</strong> programa<br />

cualquier instrucción <strong>de</strong>ntro <strong>de</strong> la subrutina DII excepto una instrucción TND, REF<br />

o SVC. Las <strong>instrucciones</strong> IIM o IOM son necesarias en una subrutina DII si su<br />

aplicación requiere la actualización inmediata <strong>de</strong> los puntos <strong>de</strong> entrada o salida.<br />

Finalice la subrutina DII con una instrucción RET.<br />

La profundidad <strong>de</strong> pila JSR se limita a 3. Pue<strong>de</strong> llamar otras subrutinas hasta una<br />

profundidad <strong>de</strong> 3 niveles <strong>de</strong>s<strong>de</strong> una subrutina DII.<br />

Latencia <strong>de</strong> interrupción y coinci<strong>de</strong>ncias <strong>de</strong> interrupción<br />

Input Scan<br />

Program Scan<br />

Output Scan<br />

Communications<br />

Processor Overhead<br />

Eventos en el ciclo <strong>de</strong><br />

operación <strong>de</strong>l<br />

procesador<br />

La latencia <strong>de</strong> interrupción es el intervalo entre la <strong>de</strong>tección DII y el inicio <strong>de</strong> la<br />

subrutina <strong>de</strong> interrupción. Las interrupciones DII pue<strong>de</strong>n ocurrir a cualquier punto<br />

en su programa, pero no necesariamente al mismo punto en interrupciones<br />

sucesivas. Las interrupciones pue<strong>de</strong>n ocurrir entre <strong>instrucciones</strong> en su programa,<br />

<strong>de</strong>ntro <strong>de</strong>l escán <strong>de</strong> E/S (entre ranuras) o entre el servicio <strong>de</strong> paquetes <strong>de</strong><br />

comunicaciones. La tabla siguiente muestra la interacción entre una interrupción y<br />

el ciclo <strong>de</strong> operación <strong>de</strong>l procesador.<br />

DII<br />

Entre actualizaciones <strong>de</strong><br />

ranura<br />

Entre actualizaciones <strong>de</strong><br />

instrucción<br />

Entre actualizaciones <strong>de</strong><br />

ranura<br />

Entre paquetes <strong>de</strong><br />

comunicación<br />

Al inicio y al final<br />

DII con el bit S:33/8<br />

establecido<br />

Entre actualizaciones <strong>de</strong><br />

palabra<br />

Entre actualizaciones <strong>de</strong><br />

palabra<br />

Entre actualizaciones <strong>de</strong><br />

palabra<br />

Entre actualizaciones <strong>de</strong><br />

paquete <strong>de</strong> palabra<br />

Entre actualizaciones <strong>de</strong><br />

palabra<br />

DII con el bit S:33/8<br />

establecido<br />

Entre actualizaciones <strong>de</strong><br />

ranura<br />

Entre actualizaciones <strong>de</strong><br />

renglón<br />

Entre actualizaciones <strong>de</strong><br />

ranura<br />

Entre paquetes <strong>de</strong><br />

comunicación<br />

Entre actualizaciones <strong>de</strong><br />

palabra<br />

Si una interrupción ocurre mientras el procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 está<br />

realizando una actualización <strong>de</strong> ranura <strong>de</strong> palabras múltiples y su subrutina <strong>de</strong><br />

interrupción obtiene acceso a la misma ranura, la transferencia <strong>de</strong> palabras múltiples<br />

se completa antes <strong>de</strong> realizar el acceso a la ranura <strong>de</strong> subrutina <strong>de</strong> interrupción.


Priorida<strong>de</strong>s <strong>de</strong> interrupción<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

Observe que el tiempo <strong>de</strong> ejecución DII se aña<strong>de</strong> directamente al tiempo <strong>de</strong> escán<br />

global. Durante el período <strong>de</strong> latencia, el procesador está realizando operaciones<br />

que no pue<strong>de</strong>n ser perturbadas por la función <strong>de</strong> interrupción DII. El bit <strong>de</strong> control<br />

<strong>de</strong> latencia <strong>de</strong> interrupción (S:33/8) funciona <strong>de</strong> la manera siguiente:<br />

• Cuando el bit se establece (1), las interrupciones reciben servicio en menos<br />

<strong>de</strong> <strong>500</strong> µs.<br />

• Cuando el bit se pone a cero (0), el servicio en menos <strong>de</strong> <strong>500</strong> µs no se espera.<br />

Cuando S:33/8 se pone a cero (0), las interrupciones <strong>de</strong> usuario ocurren entre<br />

los renglones y las actualizaciones <strong>de</strong> ranura <strong>de</strong> E/S.<br />

El estado pre<strong>de</strong>terminado se borra (0). Para <strong>de</strong>terminar la latencia <strong>de</strong> interrupción<br />

con S:33/8 puesto a cero, <strong>de</strong>be calcular el tiempo <strong>de</strong> ejecución <strong>de</strong> cada renglón en su<br />

programa. Refiérase al apéndice B para obtener más información acerca <strong>de</strong> cómo<br />

calcular la latencia <strong>de</strong> interrupción.<br />

Las priorida<strong>de</strong>s <strong>de</strong> interrupción para los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 son:<br />

1. La rutina <strong>de</strong> fallo <strong>de</strong> usuario<br />

2. La interrupción <strong>de</strong> entrada discreta (DII)<br />

3. La subrutina STI<br />

4. La subrutina <strong>de</strong> interrupción <strong>de</strong> E/S<br />

La ejecución <strong>de</strong> una subrutina <strong>de</strong> interrupción sólo pue<strong>de</strong> ser interrumpida por la<br />

rutina <strong>de</strong> fallo.<br />

Datos <strong>de</strong> archivo <strong>de</strong> estado guardados<br />

Los datos en las palabras siguientes se guardan cuando entran en la subrtuina DII y<br />

se vuelven a escribir cuando salen <strong>de</strong> la subrutina DII.<br />

• Indicadores aritméticos S:0<br />

• Registro matemático S:13 y S:14<br />

• Registro <strong>de</strong> índice S:24<br />

11–23


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Reconfigurabilidad<br />

Ejemplo<br />

11–24<br />

Pue<strong>de</strong> reconfigurar la DII total o parcialmente, según el (los) parámetro(s) que<br />

seleccione. Pue<strong>de</strong> reconfigurar algunos <strong>de</strong> los parámetros simplemente por medio<br />

<strong>de</strong> sobrescribir el valor anterior usando el valor nuevo. Otros valores le requieren<br />

que establezcan el bit <strong>de</strong> reconfiguración a<strong>de</strong>más <strong>de</strong> escribir el valor nuevo. La DII<br />

es no retentiva y siempre se reconfigura al entrar en el modo <strong>de</strong> marcha REM.<br />

Refiérase a la próxima sección “Parámetros DII” para obtener <strong>de</strong>talles acerca <strong>de</strong><br />

cómo reconfigurar cada parámetro.<br />

La DII pue<strong>de</strong> ser programada para contar artículos en un transportador <strong>de</strong> alta<br />

velocidad. Cada vez que 100 artículos pasan por un fotointerruptor, la subrutina DII<br />

se ejecuta. Luego la subrutina DII usa las <strong>instrucciones</strong> <strong>de</strong> E/S inmediatas para<br />

embalar los productos.<br />

Si <strong>de</strong>sea variar el número <strong>de</strong> artículos que se embalan juntos, simplemente cambie el<br />

número en el parámetro preseleccionado DII usando una instrucción <strong>de</strong><br />

transferencia.


Parámetros DII<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

Los parámetros siguientes son asociados con la función DII. Estos parámetros<br />

tienen direcciones <strong>de</strong> archivo <strong>de</strong> estado que se <strong>de</strong>scriben aquí y en el apéndice B.<br />

• Bit <strong>de</strong> DII pendiente (S:2/11) – Cuando se establece, este bit indica que el<br />

acumulador DII (S:52) es igual a la DII preseleccionada (S:50) y que el número<br />

<strong>de</strong> archivo <strong>de</strong> escalera especificado por el número <strong>de</strong> archivo DII (S:46) espera<br />

su ejecución. Se pone a cero cuando el número <strong>de</strong> archivo DII (S:46) comienza<br />

a ejecutarse o cuando sale <strong>de</strong>l modo <strong>de</strong> marcha REM o prueba REM.<br />

• Bit <strong>de</strong> habilitación DII (S:2/12) – Para programar esta característica, use la<br />

función <strong>de</strong> monitor <strong>de</strong> datos para establecer/poner a cero este bit o direccione<br />

este bit con su programa <strong>de</strong> escalera. Este bit se establece en su condición<br />

pre<strong>de</strong>terminada. Si se establece, permite la ejecución <strong>de</strong> la subrutina DII si el<br />

archivo DII (s:46) no es cero. Si se pone a cero, cuando ocurre la interrupción,<br />

la subrutina DII no se ejecuta y el bit <strong>de</strong> DII pendiente se establece. La función<br />

DII continúa funcionando cuando el archivo DII (S:46) no sea cero. Si el bit<br />

pendiente se establece, el bit <strong>de</strong> habilitación se examina al próximo final <strong>de</strong><br />

escán.<br />

• Bit <strong>de</strong> ejecución DII (S:2/13) – Cuando se establece, este bit indica que la<br />

interrupción DII ha ocurrido y que la subrutina DII se está ejecutando. Este bit<br />

se pone a cero al finalizarse la rutina DII, encendido o entrada en el modo <strong>de</strong><br />

marcha REM.<br />

• Bit <strong>de</strong> overflow DII (S:5/12) – Este bit se establece siempre que la<br />

interrupción DII ocurra cuando todavía está ejecutando la subrutina DII o<br />

cuando la interrupción DII ocurra mientras esté pendiente o inhabilitada.<br />

• Bit <strong>de</strong> reconfiguración (S:33/10) – Cuando este bit se establece (1), indica<br />

que en el próximo final <strong>de</strong> escán (END, TND o REF), salida <strong>de</strong> la rutina <strong>de</strong><br />

fallo, salida <strong>de</strong> STI ISR, salida <strong>de</strong>l evento ISR o la próxima salida <strong>de</strong> DII ISR,<br />

ocurrirá lo siguiente:<br />

– El acumulador DII se borra,<br />

– los valores a las palabras <strong>de</strong> estado S:47 a S:50 se aplican,<br />

– el bit pendiente se pone a cero, y<br />

– el bit <strong>de</strong> reconfiguración DII se pone a cero.<br />

• Bit <strong>de</strong> DII perdida (S:36/8) – Este bit se establece si una interrupción DII<br />

ocurre mientras que el bit <strong>de</strong> DII pendiente esté establecido.<br />

• Número <strong>de</strong> archivo (palabra S:46) – Usted introduce un número <strong>de</strong> archivo<br />

(3 a 255) que se usa como la subrutina <strong>de</strong> interrupción <strong>de</strong> entrada discreta.<br />

Escriba un valor <strong>de</strong> 0 para inhabilitar la función. Este valor se aplica al<br />

momento <strong>de</strong> <strong>de</strong>tección <strong>de</strong> un bit <strong>de</strong> reconfiguración DII, cada salida <strong>de</strong> DII ISR<br />

y cada final <strong>de</strong> escán (END, TND o REF). Un cero inhabilita la operación.<br />

11–25


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

11–26<br />

• Número <strong>de</strong> ranura (palabra S:47) – Usted introduce el número <strong>de</strong> ranura (1<br />

a 30) que se usa como la subrutina <strong>de</strong> interrupción <strong>de</strong> entrada discreta. Un valor<br />

<strong>de</strong> cero inhabilita la función. Este valor se aplica al momento <strong>de</strong> <strong>de</strong>tección <strong>de</strong>l<br />

bit <strong>de</strong> reconfiguración DII o a la entrada en el modo <strong>de</strong> marcha REM.<br />

• Máscara <strong>de</strong> bit (palabra S:48) – Usted introduce el valor mapeado por bit<br />

que correspon<strong>de</strong> a los bits que <strong>de</strong>sea monitorizar en el módulo <strong>de</strong> E/S discretas.<br />

Sólo los bits 0 a 7 se usan en la función DII. El establecer un bit indica que<br />

<strong>de</strong>sea incluir el bit en la comparación <strong>de</strong> la configuración <strong>de</strong> bit <strong>de</strong> la tarjeta <strong>de</strong><br />

E/S discretas contra el valor <strong>de</strong> comparación DII (S:49). Este valor se aplica al<br />

momento <strong>de</strong> <strong>de</strong>tección <strong>de</strong>l bit <strong>de</strong> reconfiguración DII, cada salida <strong>de</strong> DII ISR y<br />

cada final <strong>de</strong> escán (END, TND o REF).<br />

• Valor <strong>de</strong> comparación (palabra S:49) – Usted introduce un valor mapeado<br />

<strong>de</strong> bit que correspon<strong>de</strong> a la configuración <strong>de</strong> bit que <strong>de</strong>be ocurrir en la tarjeta <strong>de</strong><br />

E/S discretas para que un conteo o interrupción ocurra. Sólo los 0 a 7 se usan<br />

en la función DII. El bit se <strong>de</strong>be establecer (1) o se <strong>de</strong>be poner a cero (0) para<br />

satisfacer la condición <strong>de</strong> comparación para dicho bit. Una interrupción o<br />

conteo será generada al momento <strong>de</strong> transición <strong>de</strong>l último bit <strong>de</strong>l valor <strong>de</strong><br />

comparación. Este valor se aplica al momento <strong>de</strong> <strong>de</strong>tección <strong>de</strong>l bit <strong>de</strong><br />

reconfiguración DII, cada salida <strong>de</strong> DII ISR y cada final <strong>de</strong> escán (END, TND o<br />

REF).<br />

Para proporcionar protección contra la modificación acci<strong>de</strong>ntal <strong>de</strong>l monitor <strong>de</strong><br />

datos para su selección, programe una instrucción MOV incondicional que<br />

contenga el valor preseleccionado <strong>de</strong> la DII a S:50.<br />

• Valor preseleccionado (palabra S:50) – Cuando este valor es igual a 0 ó 1,<br />

una interrupción es generada cada vez que la comparación especificada en las<br />

palabras S:48 y S:49 se satisface. Cuando este valor es entre 2 y 32767, un<br />

conteo ocurre cada vez que la comparación <strong>de</strong> bit se satisface. Una interrupción<br />

será generada cuando el valor <strong>de</strong> acumulador alcance 1 ó exceda el valor<br />

preseleccionado. Este valor se aplica al momento <strong>de</strong> <strong>de</strong>tección <strong>de</strong>l bit <strong>de</strong><br />

reconfiguración DII, cada salida <strong>de</strong> DII ISR y cada final <strong>de</strong> escán (END, TND o<br />

REF).<br />

Para proporcionar protección conatra la modificacion acci<strong>de</strong>ntal <strong>de</strong>l monitor <strong>de</strong><br />

datos para su selección, programe una instrucción MOV incondicional que<br />

contenga el valor preseleccionado <strong>de</strong> la DII a S:50.<br />

• Máscara <strong>de</strong> retorno (palabra S:51) – La máscara <strong>de</strong> retorno se actualiza<br />

inmediatamente antes <strong>de</strong> entrar en la subrutina DII. Este valor contiene el mapa<br />

<strong>de</strong> bit <strong>de</strong> la última transición <strong>de</strong> bit que causó la interrupción. Si hay más <strong>de</strong><br />

una transición <strong>de</strong> bit durante el mismo período <strong>de</strong> muestreo DII <strong>de</strong> 100 ms, se<br />

incluirá en la máscara <strong>de</strong> retorno. Este bit es puesto a cero por el procesador al<br />

momento <strong>de</strong> salir <strong>de</strong> la subrutina DII. Use este valor para validar la última<br />

transición <strong>de</strong> interrupción que causó que la configuración <strong>de</strong> entrada<br />

correspondiera al valor <strong>de</strong> comparación. O use este valor <strong>de</strong>ntro <strong>de</strong> la DII <strong>de</strong> su<br />

subrutina para ayudar a <strong>de</strong>terminar/validar la posición <strong>de</strong> la secuencia cuando<br />

usted esté reconfigurando (secuenciando) la DII <strong>de</strong> manera dinámica.


Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

• Acumulador (palabra S:52) – El acumulador DII contiene el número <strong>de</strong><br />

conteos que ha ocurrido. Cuando un conteo ocurre y el acumulador es mayor o<br />

igual que el valor preseleccionado, una interrupción DII es generada y el<br />

acumulador se borra.<br />

Para aplicaciones que mi<strong>de</strong>n la velocidad <strong>de</strong> impulsos DII entrantes mientras<br />

que use una STI (interrupción temporizada seleccionable), el <strong>SLC</strong> 5/03 OS301 y<br />

los superiores actualizan el acumulador DII antes <strong>de</strong> ejecutar el primer renglón<br />

<strong>de</strong> la subrutina STI.<br />

11–27


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo <strong>de</strong> aplicación <strong>de</strong> interrupción <strong>de</strong> entrada discreta<br />

11–28<br />

Los ejemplos siguientes muestran cómo usar la interrupción <strong>de</strong> entrada discreta para<br />

controlar una aplicación <strong>de</strong> alta velocidad. En el ejemplo, la DII se usa para<br />

asegurar que todas las botellas que salen <strong>de</strong> una máquina para llenar y tapar tengan<br />

sus tapas instaladas.<br />

El interruptor <strong>de</strong> proximidad <strong>de</strong> botella se usa como la entrada DII. Cuando una<br />

botella pasa el interruptor <strong>de</strong> proximidad, el procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04<br />

ejecuta la subrutina DII. En la subrutina el procesador lee el estado <strong>de</strong>l interruptor<br />

<strong>de</strong> proximidad <strong>de</strong> la tapa. Si la tapa se instala, el solenoi<strong>de</strong> <strong>de</strong>l distribuidor no se<br />

activa, permitiendo así que la botella continúe en la línea. Si la tapa hace falta, el<br />

solenoi<strong>de</strong> <strong>de</strong>l distribuidor se activa y causa que la botella <strong>de</strong>fectuosa se <strong>de</strong>svíe en el<br />

distribuidor hacia el recipiente <strong>de</strong> botellas rechazadas.<br />

Recipiente <strong>de</strong> botellas<br />

rechazadas<br />

Proximidad <strong>de</strong> tapa (I:1/8)<br />

Proximidad <strong>de</strong> botella (I:1/0)<br />

Distribuidor<br />

(O:2/0)<br />

Los parámetros siguientes se usan para programar la DII para la aplicación anterior:<br />

• Bit <strong>de</strong> control <strong>de</strong> latencia <strong>de</strong> interrupción S:33/8 = 1<br />

• Archivo S:46 = 3<br />

• Ranura S:47 = 1<br />

• Máscara S:48 = 00000001<br />

• Comparación S:49 = 00000001<br />

• Preseleccionado S:50 = 1


Diagrama <strong>de</strong> escalera para la aplicación <strong>de</strong> embotelladora<br />

Renglón<br />

3:0<br />

Renglón<br />

3:1<br />

Renglón<br />

3:2<br />

Renglón<br />

3:3<br />

Renglón<br />

3:4<br />

INT<br />

I/O INTERRUPT<br />

END<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

Este renglón recibe el estado <strong>de</strong>l interruptor <strong>de</strong> proximidad para <strong>de</strong>tectar la presencia o ausencia <strong>de</strong> una tapa <strong>de</strong> botella<br />

Si una tapa <strong>de</strong> botella está presente y el distribuidor está en la posición para botellas rechazadas, ponga<br />

el distribuidor en la posición normal.<br />

Si el interr. <strong>de</strong> prox.<br />

<strong>de</strong>tecta una capa <strong>de</strong><br />

botella instalada<br />

I:1.0<br />

] [<br />

8<br />

Y si el distribuidor está en<br />

la posición para botellas<br />

rechazadas<br />

O:2.0<br />

] [<br />

0<br />

Bit 8 es el interruptor <strong>de</strong> proximidad<br />

IIM<br />

IMMEDIATE IN w MASK<br />

Slot I:1.0<br />

Mask 0100<br />

Ponga el distribuidor<br />

en la posición normal<br />

O:2.0<br />

(U)<br />

0<br />

Actualice la posición <strong>de</strong>l distribuidor.<br />

IOM<br />

IMMEDIATE OUT w MASK<br />

Slot O:2.0<br />

Mask 0001<br />

Si no está presente la tapa <strong>de</strong> botella, ponga el distribuidor en la posición para botellas rechazadas.<br />

Ponga el distribuidor en la posi-<br />

Si el interr. <strong>de</strong> prox. <strong>de</strong>tecta<br />

ción para botellas rechazadas<br />

una capa <strong>de</strong> botella faltante<br />

I:1.0<br />

O:2.0<br />

]/[<br />

(L)<br />

8<br />

0<br />

Actualice la posición <strong>de</strong>l distribuidor<br />

IOM<br />

IMMEDIATE OUT w MASK<br />

Slot O:2.0<br />

Mask 0001<br />

RET<br />

RETURN<br />

Refiérase al apéndice H para ver otro ejemplo <strong>de</strong> aplicación usando el DII para<br />

contar impulsos <strong>de</strong>s<strong>de</strong> un codificador (enco<strong>de</strong>r).<br />

11–29


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Descripción general <strong>de</strong> interrupción<br />

<strong>de</strong> E/S<br />

11–30<br />

Esta función permite que un módulo <strong>de</strong> E/S especial interrumpa el ciclo <strong>de</strong><br />

operación normal <strong>de</strong>l procesador para escanear un archivo <strong>de</strong> subrutina<br />

especificado. La operación <strong>de</strong> interrupción para un módulo específico se <strong>de</strong>scribe<br />

en el manual <strong>de</strong> usuario para el módulo.<br />

No todos los módulos <strong>de</strong> E/S especiales tienen la capacidad para generar<br />

interrupciones <strong>de</strong> E/S. Refiérase al manual <strong>de</strong> usuario <strong>de</strong>l módulo <strong>de</strong> E/S especial<br />

específico para ver si proporciona esta característica. Por ejemplo, no pue<strong>de</strong> usar un<br />

módulo <strong>de</strong> E/S discretas estándar para efectuar una interrupción provocada por un<br />

evento <strong>de</strong> E/S.<br />

Esta sección <strong>de</strong>scribe:<br />

• La operación <strong>de</strong> E/S<br />

• Los parámetros <strong>de</strong> interrupción <strong>de</strong> E/S<br />

• Las <strong>instrucciones</strong> IID e IIE<br />

• La instrucción RPI<br />

• La instrucción INT<br />

Procedimiento <strong>de</strong> programación básico para la<br />

función <strong>de</strong> interrupción <strong>de</strong> E/S<br />

• Cuando configura la ranura <strong>de</strong>l módulo <strong>de</strong> E/S especial con el dispositivo <strong>de</strong><br />

programación, asegúrese <strong>de</strong> programar el número <strong>de</strong> archivo <strong>de</strong> programa<br />

“ISR” (subrutina <strong>de</strong> interrupción) (rango <strong>de</strong> 3 a 255) que <strong>de</strong>sea que el<br />

procesador ejecute cuando el módulo genere una interrupción. Los módulos <strong>de</strong><br />

E/S especiales que crean interrupciones se <strong>de</strong>ben configurar en las ranuras <strong>de</strong><br />

E/S con los números más inferiores.<br />

• Cree el archivo <strong>de</strong> subrutina que ha especificado como el número ISR en la<br />

configuración <strong>de</strong> ranura <strong>de</strong>l módulo <strong>de</strong> E/S.


Operación<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

Cuando restaura su programa y entra en el modo <strong>de</strong> marcha REM, la interrupción <strong>de</strong><br />

E/S comienza la operación así:<br />

1. El módulo <strong>de</strong> E/S especial <strong>de</strong>termina que necesita servicio y genera una petición<br />

<strong>de</strong> interrupción al procesador <strong>SLC</strong>.<br />

2. El procesador se interrumpe y el archivo <strong>de</strong> subrutina <strong>de</strong> interrupción (ISR)<br />

especificado se escanea.<br />

3. Cuando el escán SIR se completa, esto se le comunica al módulo <strong>de</strong> E/S<br />

especial. Esto le informa al módulo <strong>de</strong> E/S especial que se permite generar una<br />

interrupción nueva.<br />

4. El procesador reanuda la operación normal en el punto en que se interrumpió.<br />

Contenido <strong>de</strong> la subrutina <strong>de</strong> interrupción (ISR)<br />

La instrucción <strong>de</strong> subrutina <strong>de</strong> interrupción (INT) <strong>de</strong>be ser la primera instrucción en<br />

su ISR. Esta i<strong>de</strong>ntifica el archivo <strong>de</strong> subrutina como una subrutina <strong>de</strong> interrupción<br />

<strong>de</strong> E/S.<br />

La ISR contiene los renglones <strong>de</strong> su lógica <strong>de</strong> aplicación. Pue<strong>de</strong> programar<br />

cualquier instrucción <strong>de</strong>ntro <strong>de</strong> una ISR excepto una instrucción TND, REF o SVC.<br />

Las <strong>instrucciones</strong> IIM o IOM son necesarias en una ISR si su aplicación requiere la<br />

actualización inmediata <strong>de</strong> los puntos <strong>de</strong> entrada o salida. Finalice la ISR con una<br />

instrucción RET (retorno).<br />

La profundidad <strong>de</strong> la pila JSR se limita a 3. Es <strong>de</strong>cir, pue<strong>de</strong> llamar otras subrutinas<br />

hasta un nivel <strong>de</strong> profundidad <strong>de</strong> 3 <strong>de</strong>s<strong>de</strong> una ISR.<br />

Latencia <strong>de</strong> interrupción y coinci<strong>de</strong>ncias <strong>de</strong> interrupción<br />

La latencia <strong>de</strong> interrupción es el intervalo entre la petición <strong>de</strong>l módulo <strong>de</strong> E/S por<br />

servicio y el inicio <strong>de</strong> la subrutina <strong>de</strong> interrupción. Las interrupciones <strong>de</strong> E/S<br />

pue<strong>de</strong>n ocurrir en cualquier punto en su programa, pero no necesariamente en el<br />

mismo punto en interrupciones sucesivas. Las interrupciones sólo pue<strong>de</strong>n ocurrir<br />

entre <strong>instrucciones</strong> en su programa, <strong>de</strong>ntro <strong>de</strong>l escán <strong>de</strong> E/S (entre ranuras) o entre el<br />

servicio <strong>de</strong> los paquetes <strong>de</strong> comuniación. La tabla siguiente muestra la interacción<br />

entre una interrupción y el ciclo <strong>de</strong> operación <strong>de</strong>l procesador.<br />

11–31


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

11–32<br />

Input Scan<br />

Program Scan<br />

Output Scan<br />

Communications<br />

Processor Overhead<br />

Eventos en el ciclo <strong>de</strong><br />

operación <strong>de</strong>l<br />

procesador<br />

Interrupciones <strong>de</strong> E/S<br />

<strong>SLC</strong> 5/02<br />

Entre actualizaciones <strong>de</strong><br />

ranura<br />

Entre actualizaciones <strong>de</strong><br />

instrucción<br />

Entre actualizaciones <strong>de</strong><br />

ranura<br />

Entre paquetes <strong>de</strong><br />

comunicación<br />

Al inicio y al final<br />

Interrupciones <strong>de</strong> E/S<br />

5/03 y 5/04 con el bit<br />

S:33/8 establecido<br />

Entre actualizaciones <strong>de</strong><br />

palabra<br />

Entre actualizaciones <strong>de</strong><br />

palabra<br />

Entre actualizaciones <strong>de</strong><br />

palabra<br />

Entre actualizaciones <strong>de</strong><br />

paquete <strong>de</strong> apalbra<br />

Entre actualizaciones <strong>de</strong><br />

palabra<br />

Interrupciones <strong>de</strong> E/S<br />

5/03 y 5/04 con el bit<br />

S:33/8 puesto a cero<br />

Entre actualizaciones <strong>de</strong><br />

ranura<br />

Entre actualizaciones <strong>de</strong><br />

renglón<br />

Entre actualizaciones <strong>de</strong><br />

ranura<br />

Entre actualizaciones <strong>de</strong><br />

paquetes <strong>de</strong><br />

comunicación<br />

Entre actualizaciones <strong>de</strong><br />

palabra<br />

Anote que el tiempo <strong>de</strong> ejecución ISR se aña<strong>de</strong> directamente al tiempo <strong>de</strong> escan<br />

global. Durante el período <strong>de</strong> latencia, el procesador está realizando operaciones<br />

que no pue<strong>de</strong>n ser perturbadas por la función <strong>de</strong> interrupción STI. Los períodos <strong>de</strong><br />

latencia son:<br />

• Las interrupciones <strong>SLC</strong> 5/02 reciben servicio <strong>de</strong>ntro <strong>de</strong> 2.4 ms máximos.<br />

• Procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – Si una interrupción ocurre mientras que el<br />

procesador esté realizando una actualización <strong>de</strong> ranura <strong>de</strong> palabras múltiples y<br />

su subrutina <strong>de</strong> interrupción obtiene acceso a la misma ranura, la transferencia<br />

<strong>de</strong> palabras múltiples se finaliza antes <strong>de</strong> realizar el acceso a la ranura <strong>de</strong><br />

subrutina <strong>de</strong> interrupción. El bit <strong>de</strong> control <strong>de</strong> latencia <strong>de</strong> interrupción (S:33/8)<br />

funciona así:<br />

– Cuando el bit se establece (1), las interrupciones reciben servicio <strong>de</strong>ntro <strong>de</strong>l<br />

tiempo <strong>de</strong> latencia <strong>de</strong> interrupción. Refiérase al apéndice B para obtener<br />

más información acerca <strong>de</strong> cómo calcular la latencia <strong>de</strong> interrupción.<br />

– Cuando S:33/8 se pone a cero (0), las interrupciones <strong>de</strong> usuario ocurren<br />

entre los renglones y las actualizaciones <strong>de</strong> ranura <strong>de</strong> E/S.<br />

El estado pre<strong>de</strong>terminado se borra (0). Para <strong>de</strong>terminar la latencia <strong>de</strong><br />

interrupción con S:33/8 puesto a cero, <strong>de</strong>be calcular el tiempo <strong>de</strong> ejecución <strong>de</strong><br />

cada renglón en su programa.


Priorida<strong>de</strong>s <strong>de</strong> interrupción<br />

Las priorida<strong>de</strong>s <strong>de</strong> interrupción son las siguientes:<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

Procesador <strong>SLC</strong> 5/02 Procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04<br />

1. Rutina <strong>de</strong> fallo 1. Rutina <strong>de</strong> fallo<br />

2. Subrutina STI 2. Interrupción <strong>de</strong> entrada discreta (DII)<br />

3. Subrutina <strong>de</strong> interrupción <strong>de</strong> E/S (ISR) 3. Subrutina STI<br />

4. Subrutina <strong>de</strong> interrupción <strong>de</strong> E/S (ISR)<br />

La ejecución <strong>de</strong> una interrupción sólo pue<strong>de</strong> ser interrumpida por una interrupción<br />

con una prioridad más alta.<br />

La interrupción <strong>de</strong> E/S no pue<strong>de</strong> interrumpir la ejecución <strong>de</strong> un rutina <strong>de</strong> fallo, la<br />

ejecución <strong>de</strong> una subrutina DII, la ejecución <strong>de</strong> una subrutina STI ni la ejecución <strong>de</strong><br />

una subrutina <strong>de</strong> interrupción <strong>de</strong> E/S. Si una interrupción <strong>de</strong> E/S ocurre durante la<br />

ejecución <strong>de</strong> una rutina <strong>de</strong> fallo, subrutina DII o STI, el procesador espera hasta que<br />

las interrupciones <strong>de</strong> prioridad más alta sean escaneadas completamente. Luego la<br />

subrutina <strong>de</strong> interrupción <strong>de</strong> E/S se escanea.<br />

Nota Específico para <strong>SLC</strong> 5/02 – Es importante compren<strong>de</strong>r que el bit <strong>de</strong> E/S pendiente<br />

asociado con la ranura <strong>de</strong> interrupción permanezca puesto a cero durante el tiempo<br />

que el procesador espera la finalización <strong>de</strong> la rutina <strong>de</strong> fallo o la subrutina STI.<br />

Nota Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – El bit <strong>de</strong> E/S pendiente siempre es establece<br />

cuando la interrupción ocurre. Pue<strong>de</strong> examinar el estado <strong>de</strong> estos bits <strong>de</strong>ntro <strong>de</strong> sus<br />

rutinas <strong>de</strong> interrupción <strong>de</strong> prioridad alta.<br />

Si una fallo mayor ocurre durante la ejecución <strong>de</strong> la subrutina <strong>de</strong> interrupción <strong>de</strong><br />

E/S, la ejecución se cambia inmediatamente a la rutina <strong>de</strong> fallo. Si el fallo fue<br />

recuperado por la rutina <strong>de</strong> fallo, la ejecución se reanuda en el punto en que se<br />

<strong>de</strong>tuvo en la subrutina <strong>de</strong> interrupción <strong>de</strong> E/S. De lo contrario, se entra en el modo<br />

<strong>de</strong> fallo.<br />

Si una interrupción DII ocurre durante la ejecución <strong>de</strong> la subrutina <strong>de</strong> interrupción<br />

<strong>de</strong> E/S, la ejecución se cambia inmediatamente a la subrutina DII. Cuando la<br />

subrutina DII se escanea completamente, la ejecución se reanuda en el punto en que<br />

se <strong>de</strong>tuvo en la subrutina <strong>de</strong> interrupción <strong>de</strong> E/S.<br />

Si el temporizador STI caduca durante la ejecución <strong>de</strong> la subrutina <strong>de</strong> interrupción<br />

<strong>de</strong> E/S, la ejecución se cambia inmediatamente a la subrutina STI. Cuando la<br />

subrutina STI se escanea completamente, la ejecución se reanuda en el punto en que<br />

se <strong>de</strong>tuvo en la subrutina <strong>de</strong> interrupción <strong>de</strong> E/S.<br />

11–33


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

11–34<br />

Si dos o más peticiones <strong>de</strong> interrupción <strong>de</strong> E/S son <strong>de</strong>tectadas por el procesador en<br />

el mismo instante o mientras que éste espera la finalización <strong>de</strong> una subrutina <strong>de</strong><br />

interrupción <strong>de</strong> prioridad más alta o igual, la subrutina <strong>de</strong> interrupción asociada con<br />

el módulo <strong>de</strong> E/S especial en el número <strong>de</strong> ranura más bajo se escanea primero. Por<br />

ejemplo, si la ranura 2 (ISR 20) y la ranura 3 (ISR 11) solicitan el servicio <strong>de</strong><br />

interrupción simultáneamente, el procesador primero escanea ISR 20<br />

completamente, luego escanea ISR 11 completamente.<br />

Datos <strong>de</strong> archivo <strong>de</strong> estado guardados<br />

Los datos en las palabras siguientes se guardan cuando entran en la subrutina <strong>de</strong><br />

interrupción <strong>de</strong> E/S y se vuelven a escribir cuando salen <strong>de</strong> la subrutina <strong>de</strong><br />

interrupción <strong>de</strong> E/S.<br />

• Indicadores aritméticos S:0<br />

• Registro matemático S:13 y S:14<br />

• Registro <strong>de</strong> índice S:24


Parámetros <strong>de</strong> interrupción <strong>de</strong> E/S<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

Los parámetros <strong>de</strong> interrupción <strong>de</strong> E/S siguientes tienen direcciones <strong>de</strong> archivo <strong>de</strong><br />

estado. Se <strong>de</strong>scriben aquí y también en el apéndice B <strong>de</strong> este manual.<br />

• Número ISR – Especifica el número <strong>de</strong> archivo <strong>de</strong> subrutina que se va a<br />

ejecutar cuando una interrupción <strong>de</strong> E/S es generada por un módulo <strong>de</strong> E/S.<br />

Los números ISR no son parte <strong>de</strong>l archivo <strong>de</strong> estado, sino que son parte <strong>de</strong> la<br />

configuración <strong>de</strong> E/S para cada ranura en el sistema <strong>SLC</strong>.<br />

• Habilitaciones <strong>de</strong> ranura <strong>de</strong> E/S (palabras S:11 y S:12) – Estas palabras<br />

son mapeadas <strong>de</strong> bit a 30 ranuras <strong>de</strong> E/S. Los bits S:11/1 a S:12/14 hacen<br />

referencia a ranuras 1 a 30. Los bits S:11/0 y S:12/15 son reservados.<br />

El bit <strong>de</strong> habilitación asociado con una ranura <strong>de</strong> interrupción se <strong>de</strong>be establecer<br />

cuando una interrupción ocurre. De lo contrario, ocurrirá un fallo mayor. Los<br />

cambios efectuados a estos bits usando la función <strong>de</strong>l monitor <strong>de</strong> datos se<br />

activarán durante el próximo final <strong>de</strong> escán.<br />

• Bits <strong>de</strong> interrupción <strong>de</strong> E/S pendiente (palabras S:25 y S:26) – Estas<br />

palabras son mapeadas a las 30 ranuras <strong>de</strong> E/S. Los bits S:25/1 a S:26/14 hacen<br />

referencia a las ranuras 1 a 30. Los bits S:25/0 y S:26/15 son reservados. El bit<br />

<strong>de</strong> pendiente asociado con una ranura <strong>de</strong> interrupción se establece cuando el bit<br />

<strong>de</strong> habilitación <strong>de</strong> interrupción <strong>de</strong> ranura <strong>de</strong> E/S se pone a cero al momento <strong>de</strong><br />

una petición <strong>de</strong> interrupción o cuando una instrucción RPI asociada se ejecuta.<br />

El bit <strong>de</strong> pendiente para la ejecución <strong>de</strong> una subrutina <strong>de</strong> interrupción <strong>de</strong> E/S<br />

permanece puesto a cero cuando la ISR es interrumpida por una rutina DII, STI<br />

o <strong>de</strong> fallo.<br />

Específico para <strong>SLC</strong> 5/02 – De igual manera, el bit <strong>de</strong> pendiente permanece<br />

puesto a cero si el servicio <strong>de</strong> interrupción se solicita al momento en que una<br />

interrupción <strong>de</strong> prioridad más alta o igual se está ejecutando (rutina <strong>de</strong> fallo, STI<br />

u otra ISR).<br />

Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – Este bit se establece si el servicio <strong>de</strong><br />

interrupción se solicita al momento en que una interrupción <strong>de</strong> prioridad más<br />

alta o igual se está ejecutando (rutina <strong>de</strong> fallo, DII, STI u otra ISR).<br />

• Habilitaciones <strong>de</strong> interrupción <strong>de</strong> E/S (palabras S:27 y S:28) – Estas<br />

palabras son mapeadas <strong>de</strong> bit a las 30 ranuras <strong>de</strong> E/S. Los bits S:27/1 a S:28/14<br />

hacen referencia a las ranuras 1 a 30. Los bits S:27/0 y S:28/15 son reservados.<br />

El bit <strong>de</strong> habilitación asociado con una ranura <strong>de</strong> interrupción se <strong>de</strong>be establecer<br />

cuando la interrupción ocurre a fin <strong>de</strong> permitir que la ISR correspondiente se<br />

ejecute. De lo contrario, la ISR no se ejecuta y el bit <strong>de</strong> interrupción <strong>de</strong> ranura<br />

<strong>de</strong> E/S pendiente asociado se establece.<br />

Específico para <strong>SLC</strong> 5/02 – Los cambios efectuados a estos bits usando la<br />

función <strong>de</strong>l monitor <strong>de</strong> datos o instrucción <strong>de</strong> escalera se activan durante el<br />

próximo final <strong>de</strong> escán.<br />

Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – Los cambios efectuados a estos bits<br />

usando la función <strong>de</strong>l monitor <strong>de</strong> datos o instrucción <strong>de</strong> escalera se activan<br />

inmediatamente.<br />

11–35


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

11–36<br />

• Ejecución <strong>de</strong> interrupción <strong>de</strong> E/S (palabra S:32) – Esta palabra contiene el<br />

número <strong>de</strong> ranura <strong>de</strong>l módulo <strong>de</strong> E/S especial que generó la ejecución actual <strong>de</strong><br />

ISR. Este valor se pone a cero cuando la ISR se completa, se entra en el modo<br />

<strong>de</strong> marcha o al momento <strong>de</strong> encendido. Pue<strong>de</strong> interrogar esta palabra <strong>de</strong>ntro <strong>de</strong><br />

su subrutina DII o STI o rutina <strong>de</strong> fallo si <strong>de</strong>sea saber si estas interrupciones <strong>de</strong><br />

prioridad más alta han interrumpido la ejecución <strong>de</strong> ISR. También pue<strong>de</strong> usar<br />

este valor para discernir la i<strong>de</strong>ntidad <strong>de</strong> ranura <strong>de</strong> interrupción cuando realiza<br />

multiplex <strong>de</strong> dos o más interrupciones <strong>de</strong> módulos <strong>de</strong> E/S especiales a la misma<br />

ISR.


Inhabilitación <strong>de</strong> interrupción <strong>de</strong> E/S (IID) y<br />

habilitación <strong>de</strong> interrupción <strong>de</strong> E/S (IIE)<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

Estas <strong>instrucciones</strong> generalmente se usan conjuntamente para evitar que<br />

interrupciones <strong>de</strong> E/S ocurran durante las porciones <strong>de</strong> tiempo crítico o secuencia<br />

crítica <strong>de</strong> su programa principal o subrutina. La función <strong>de</strong> interrupción provocada<br />

por un evento <strong>de</strong> E/S se usa con los módulos <strong>de</strong> E/S especiales que tienen capacidad<br />

<strong>de</strong> generar una interrupción.<br />

Inhabilitación <strong>de</strong> interrupción <strong>de</strong> E/S – IID<br />

Habilitación <strong>de</strong> interrupción <strong>de</strong> E/S – IIE<br />

IID<br />

I/O INTERRUPT DISABLE<br />

Slots: 1,2,7<br />

IIE<br />

I/O INTERRUPT ENABLE<br />

Slots: 1,2,7<br />

Use estas <strong>instrucciones</strong> conjuntamente para crear una zona en su archivo <strong>de</strong><br />

programa <strong>de</strong> escalera principal o archivo <strong>de</strong> subrutina en que las interrupciones <strong>de</strong><br />

E/S no pue<strong>de</strong>n ocurrir. Ambas <strong>instrucciones</strong> se activan inmediatamente al momento<br />

<strong>de</strong> la ejecución. Tiene que especificar una subrutina que <strong>de</strong>be ejecutarse a la<br />

recepción <strong>de</strong> dicha interrupción.<br />

Específico para <strong>SLC</strong> 5/02 – El establecimiento/puesta a cero <strong>de</strong> los bits <strong>de</strong><br />

habilitación <strong>de</strong> interrupción <strong>de</strong> E/S (S:27 y S:28) con un dispositivo <strong>de</strong><br />

programación o instrucción estándar tal como MVM se activa al FINAL <strong>de</strong>l escán<br />

únicamente.<br />

Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – El establecimiento/puesta a cero <strong>de</strong> los bits<br />

<strong>de</strong> habilitación <strong>de</strong> interrupción <strong>de</strong> E/S (S:27 y S:28) con un dispositivo <strong>de</strong><br />

programación o instrucción estándar tal como MVM se activa inmediatamente.<br />

<br />

<br />

<br />

<br />

<br />

11–37


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Operación IID<br />

Operación IIE<br />

11–38<br />

Cuando es verda<strong>de</strong>ra, esta instrucción pone a cero los bits <strong>de</strong> habilitación <strong>de</strong><br />

interrupción <strong>de</strong> E/S (S:27/1 a S:28/14) correspondientes al parámetro <strong>de</strong> ranuras <strong>de</strong><br />

la instrucción (ranuras 1, 2, 7 en el ejemplo anterior). Las subrutinas <strong>de</strong><br />

interrupción <strong>de</strong> las ranuras afectadas no podrán ejecutarse cuando se efectúa una<br />

petición <strong>de</strong> interrupción. En cambio, los bits <strong>de</strong> E/S pendientes (S:25/1 a S:26/14)<br />

se establecen. La ISR no se ejecuta hasta que una instrucción IIE con el mismo<br />

parámetro <strong>de</strong> ranura se ejecute o hasta el final <strong>de</strong>l escán durante el cual usted usa un<br />

dispositivo <strong>de</strong> programación para establecer el bit <strong>de</strong> archivo <strong>de</strong> estado<br />

correspondiente.<br />

Cuando es verda<strong>de</strong>ra, esta instrucción establece los bits <strong>de</strong> habilitación <strong>de</strong><br />

interrupción <strong>de</strong> E/S (S:27/1 a S:28/14) correspondientes al parámetro <strong>de</strong> ranuras <strong>de</strong><br />

la instrucción (ranuras 1, 2, 7 en el ejemplo anterior). Las subrutinas <strong>de</strong><br />

interrupción <strong>de</strong> las ranuras afectadas recuperarán la capacidad <strong>de</strong> ejecutarse cuando<br />

se efectúe una petición <strong>de</strong> interrupción. Si una interrupción estaba pendiente<br />

(S:25/1 a S:26/14) y la ranura pendiente correspon<strong>de</strong> al parámetro <strong>de</strong> ranuras IIE, la<br />

ISR asociada con dicha ranura se ejecutará inmediatamente.


Ejemplo <strong>de</strong> zona IID/IIE<br />

El bit <strong>de</strong> primer paso S:1/15 y la instrucción IIE en el<br />

renglón 0 se incluyen para asegurar que la función <strong>de</strong><br />

interrupción <strong>de</strong> E/S se inicialice <strong>de</strong>spués <strong>de</strong> la<br />

<strong>de</strong>sconexión y reconexión <strong>de</strong> la alimentación eléctrica.<br />

Debe incluir un renglón semejante cuando su programa<br />

contenga una zona IID/IIE o una instrucción IID.<br />

La instrucción IID en el renglón 6 pone a cero los bits <strong>de</strong><br />

habilitación <strong>de</strong> interrupción <strong>de</strong> E/S asociados con las<br />

ranuras 1, 2 y 7 (S:27/1, S:27/2 y S:27/7). La instrucción<br />

IIE en el renglón 12 establece estos mismo bits. Si una<br />

interrupción <strong>de</strong> E/S es <strong>de</strong>tectada por el procesador<br />

mientras éste ejecuta los renglones 7–11, la interrupción<br />

estará marcada como pendiente. (S:25/1, S:25/2 y/o<br />

S:25/7 se establecerán.) Todas las interrupciones<br />

marcadas como pendientes recibirán servicio al<br />

momento <strong>de</strong> ejecución <strong>de</strong>l renglón 12. La ranura con el<br />

número <strong>de</strong> ranura más bajo recibe servicio primero<br />

cuando los bits múltiples pendientes se establecen.<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

En el programa siguiente, las ranuras 1, 2 y 7 tienen la capacidad <strong>de</strong> generar<br />

interrupciones <strong>de</strong> E/S. Las <strong>instrucciones</strong> IID e IIE en los renglones 6 y 12 se<br />

incluyen para evitar que las ISR <strong>de</strong> interrupción <strong>de</strong> E/S se ejecuten como resultado<br />

<strong>de</strong> las peticiones <strong>de</strong> interrupción <strong>de</strong>s<strong>de</strong> las ranuras 1, 2 ó 7. Esto permite que los<br />

renglones 7 a 11 se ejecuten sin interrupción.<br />

La ejecución<br />

ISR no ocurre<br />

entre las<br />

<strong>instrucciones</strong><br />

IID e IIE.<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

17<br />

S:1<br />

] [<br />

15<br />

] [ ] [<br />

] [ ] [<br />

] [ ] [<br />

] [ ] [<br />

Archivo <strong>de</strong> programa 2<br />

IIE<br />

I/O INTERRUPT ENABLE<br />

Slots: 1,2,7<br />

END<br />

( )<br />

IID<br />

I/O INTERRUPT DISABLE<br />

Slots: 1,2,7<br />

( )<br />

( )<br />

IIE<br />

I/O INTERRUPT ENABLE<br />

Slots: 1,2,7<br />

( )<br />

11–39


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Restablecimiento <strong>de</strong><br />

interrupción pendiente (RPI)<br />

RPI<br />

RESET PENDING INTERRUPT<br />

Slots: 1–30<br />

Cómo introducir parámetros<br />

11–40<br />

Esta instrucción restablece el estado pendiente <strong>de</strong> las ranuras especificadas e<br />

informa a los módulos <strong>de</strong> E/S correspondientes que usted ha cancelado las<br />

peticiones <strong>de</strong> interrupción <strong>de</strong> ésos. Esta instruccion no se requiere para configurar<br />

una aplicación <strong>de</strong> interrupción <strong>de</strong> E/S básica.<br />

Cuando es verda<strong>de</strong>ra, esta instrucción pone a cero los bits <strong>de</strong> E/S pendientes (S:25/1<br />

a S:26/14) correspondientes al parámetro <strong>de</strong> ranuras <strong>de</strong> la instrucción. A<strong>de</strong>más, el<br />

procesador comunica a los módulos <strong>de</strong> E/S especiales en dichas ranuras que su<br />

petición <strong>de</strong> interrupción fue cancelada. Después <strong>de</strong> esta comunicación, la ranura<br />

pue<strong>de</strong> volver a solicitar el servicio <strong>de</strong> interrupción. Esta instrucción no afecta los<br />

bits <strong>de</strong> habilitación <strong>de</strong> interrupción <strong>de</strong> ranura <strong>de</strong> E/S (S:27/1 a S:28/14).<br />

Introduzca los números <strong>de</strong> ranura <strong>de</strong> E/S (1 a 30) involucrados. Ejemplos:<br />

6 indica la ranura 6<br />

6,8 indica las ranuras 6 y 8<br />

6–8 indica las ranuras 6, 7 y 8<br />

1–30 indica todas las ranuras


Subrutina <strong>de</strong> interrupción (INT)<br />

INT<br />

INTERRUPT SUBROUTINE<br />

Cómo compren<strong>de</strong>r las rutinas <strong>de</strong> interrupción<br />

Use la instrucción INT en las subrutinas <strong>de</strong> interrupción provocadas por un evento<br />

<strong>de</strong> E/S (ISR) y STI para propósitos <strong>de</strong> i<strong>de</strong>ntificación. El uso <strong>de</strong> esta instrucción es<br />

opcional.<br />

Esta instrucción no tiene bits <strong>de</strong> control y siempre es evaluada como verda<strong>de</strong>ra.<br />

Cuando es usada, la INT <strong>de</strong>be ser programada como la primera instrucción <strong>de</strong>l<br />

primer renglón <strong>de</strong> la ISR.<br />

<br />

<br />

<br />

<br />

<br />

<br />

11–41


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

11–42


Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

12 Cómo compren<strong>de</strong>r los<br />

protocolos <strong>de</strong> comunicación<br />

Use la información en este capítulo para compren<strong>de</strong>r las diferencias en los<br />

protocolos <strong>de</strong> comunicación. Existe capacidad para los protocolos siguientes:<br />

• DH-485<br />

Todos los procesadores <strong>SLC</strong> <strong>500</strong> pue<strong>de</strong>n comunicar en la red DH-485<br />

Existen varios dispositivos <strong>de</strong> puente y gateway para crear un interface <strong>de</strong>l canal<br />

<strong>SLC</strong> <strong>500</strong> DH-485 a otros dispositivos tal como la tarjeta 2760-RB (con el<br />

cartucho <strong>de</strong> protocolo 2760 SFC3), 1770-KF3, <strong>1747</strong>-KE y 1785-KA5. Cuando<br />

usa los dispositivos <strong>de</strong> puente o gateway, refiérase a la documentación <strong>de</strong><br />

usuario específica para configurar su sistema.<br />

• DH+<br />

El <strong>SLC</strong> 5/04 tiene capacidad para la comunicación y conectividad DH+ a una<br />

red DH+.<br />

• Full–duplex DF1 y maestro/esclavo DF1<br />

Los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 y el controlador <strong>MicroLogix</strong> 1000<br />

tienen capacidad para los protocolos DF1 <strong>de</strong>s<strong>de</strong> sus conexiones RS-232.<br />

• ASCII<br />

Los procesadores <strong>SLC</strong> 5/03 OS301, OS302 y <strong>SLC</strong> 5/04 OS400, OS401 tienen<br />

capacidad para el protocolo ASCII <strong>de</strong>finido por el usuario.<br />

• uso <strong>de</strong> las características <strong>de</strong> transferencia<br />

12–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Protocolo <strong>de</strong> comunicación DH-485<br />

12–2<br />

La red DH-485 ofrece:<br />

Protocolo <strong>de</strong> la red DH-485<br />

Rotación <strong>de</strong>l testigo DH-485<br />

<br />

<br />

• la interconexión <strong>de</strong> 32 dispositivos<br />

• capacidad <strong>de</strong> maestros múltiples<br />

• control <strong>de</strong> acceso <strong>de</strong> paso <strong>de</strong> testigo<br />

• la capacidad <strong>de</strong> añadir o eliminar nodos sin perturbar la red<br />

• una longitud <strong>de</strong> red máxima <strong>de</strong> 1219 m (4,000 pies)<br />

La sección siguiente <strong>de</strong>scribe el protocolo usado para controlar transferencias <strong>de</strong><br />

mensaje en la red DH-485. El protocolo tiene capacidad para dos clases <strong>de</strong><br />

dispositivos: iniciadores y contestadores. Todos los iniciadores en la red tienen la<br />

oportunidad <strong>de</strong> iniciar transferencias <strong>de</strong> mensaje. Se usa un algoritmo <strong>de</strong> paso <strong>de</strong><br />

testigo para <strong>de</strong>terminar cuál iniciador tiene el <strong>de</strong>recho <strong>de</strong> transmitir.<br />

Un nodo que retiene el testigo pue<strong>de</strong> enviar paquetes válidos a la red. El parámetro<br />

<strong>de</strong> retención <strong>de</strong> testigo <strong>de</strong>termina el número <strong>de</strong> transmisiones (más reintentos) cada<br />

vez que el nodo recibe el testigo.<br />

Después que un nodo envía un paquete <strong>de</strong> mensaje, intenta dar el testigo a su<br />

sucesor enviando un paquete <strong>de</strong> “paso <strong>de</strong> testigo”. Si no ocurre actividad <strong>de</strong> red, el<br />

iniciador intenta encontrar un sucesor nuevo.<br />

El rango <strong>de</strong> dirección <strong>de</strong> nodo para un iniciador es 0-31. El rango <strong>de</strong> dirección <strong>de</strong><br />

nodo para todos los contestadores es 1-31. Ha <strong>de</strong> existir por lo menos un iniciador<br />

en la red.<br />

Nota La dirección máxima que el iniciador busca antes <strong>de</strong> ajustar la línea<br />

automáticamente a cero es el valor en el parámetro configurable “dirección <strong>de</strong><br />

nodo máxima”. El valor pre<strong>de</strong>terminado <strong>de</strong> este parámetro es 31 para todos los<br />

iniciadores y contestadores.<br />

Nota Los procesadores fijos, <strong>SLC</strong> 5/01, <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 no permiten que<br />

la dirección <strong>de</strong> nodo cero se aplique. Si intenta aplicar un cero, la dirección <strong>de</strong><br />

nodo uno se convierte en la dirección <strong>de</strong> nodo <strong>de</strong>l procesador. La dirección <strong>de</strong> nodo<br />

<strong>de</strong> cero es reservada para un dispositivo <strong>de</strong> programación tal como la terminal<br />

portátil (HHT) o computadora personal utilizando software <strong>de</strong> programación.


Inicialización <strong>de</strong> la red DH-485<br />

Consi<strong>de</strong>raciones <strong>de</strong> software<br />

Número <strong>de</strong> nodos<br />

Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

La inicialización <strong>de</strong> la red comienza cuando un período <strong>de</strong> inactividad exce<strong>de</strong> el<br />

tiempo <strong>de</strong> un “límite <strong>de</strong> tiempo sobrepasado <strong>de</strong> vínculo muerto”. Cuando el “límite<br />

<strong>de</strong> tiempo sobrepasado <strong>de</strong> vínculo muerto” se exce<strong>de</strong>, generalmente el iniciador con<br />

la dirección más baja reclama el testigo.<br />

La construcción <strong>de</strong> una red comienza cuando el iniciador que reclamó el testigo trata<br />

<strong>de</strong> pasar el testigo al nodo sucesor. Si el intento <strong>de</strong> pasar el testigo falla, o si el<br />

iniciador no tiene un sucesor establecido (por ejemplo, al momento <strong>de</strong> encendido),<br />

comienza una búsqueda lineal <strong>de</strong> un sucesor a partir <strong>de</strong>l nodo <strong>de</strong> arriba. Vuelve<br />

automáticamente al nodo 0 cuando alcanza el valor <strong>de</strong> dirección <strong>de</strong> nodo máximo.<br />

Cuando el iniciador encuentra otro iniciador activo, pasa el testigo a dicho nodo, el<br />

cual a su vez repite el proceso hasta que el testigo sea pasado por toda la red al<br />

primer nodo. En ese momento, la red estará en el estado <strong>de</strong> operación normal.<br />

Consi<strong>de</strong>raciones <strong>de</strong> software incluyen la configuración <strong>de</strong> la red y los parámetros<br />

que se pue<strong>de</strong>n establecer según los requisitos específicos <strong>de</strong> la red. A continuación<br />

aparecen factores <strong>de</strong> configuración que tienen un efecto importante en el<br />

rendimiento <strong>de</strong> la red:<br />

• el número <strong>de</strong> nodos en la red<br />

• las direcciones <strong>de</strong> los nodos<br />

• la velocidad en baudios<br />

• la selección <strong>de</strong> dirección <strong>de</strong> nodo máxima<br />

• <strong>SLC</strong> 5/03 solamente – el factor <strong>de</strong> retención <strong>de</strong> testigo<br />

• el número máximo <strong>de</strong> dispositivos <strong>de</strong> comunicación<br />

Las secciones siguientes explican consi<strong>de</strong>raciones <strong>de</strong> la red y <strong>de</strong>scriben maneras<br />

para seleccionar parámetros para el rendimiento <strong>de</strong> red óptimo (velocidad).<br />

El número <strong>de</strong> nodos en la red afecta <strong>de</strong> manera directa el tiempo <strong>de</strong> transferencia <strong>de</strong><br />

datos entre los nodos. Los nodos innecesarios (tal como una segunda terminal <strong>de</strong><br />

programación que no se usa) disminuyen la velocidad <strong>de</strong> transferencia <strong>de</strong> datos. El<br />

número máximo <strong>de</strong> nodos en la red es 32.<br />

12–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Establecimiento <strong>de</strong> direcciones <strong>de</strong> nodo<br />

12–4<br />

El mejor rendimiento <strong>de</strong> red se logra cuando las direcciones <strong>de</strong> nodo comienzan en<br />

0 y son asignadas en or<strong>de</strong>n secuencial. Los procesadores <strong>SLC</strong> <strong>500</strong> retornan a la<br />

dirección <strong>de</strong> nodo pre<strong>de</strong>terminada 1. La dirección <strong>de</strong> nodo se almacena en el<br />

archivo <strong>de</strong> estado <strong>de</strong>l procesador (S:15L). Los procesadores no pue<strong>de</strong>n ser el nodo<br />

0. A<strong>de</strong>más, a los iniciadores tales como las computadoras personales se les <strong>de</strong>ben<br />

asignar las direcciones con los números más bajos a fin <strong>de</strong> minimizar el tiempo<br />

requerido para inicializar la red.<br />

Si algunos <strong>de</strong> los nodos están conectados temporalmente, no les asigne direcciones.<br />

Simplemente cree los nodos según se necesiten y elimínelos cuando ya no sean<br />

necesarios.<br />

Establecimiento <strong>de</strong> la velocidad en baudios <strong>de</strong>l procesador<br />

El mejor rendimiento <strong>de</strong> red se logra a la velocidad en baudios más alta, la cual es<br />

19200 Kbaud. Todos los dispositivos <strong>de</strong>ben tener la mismo velocidad en baudios.<br />

La velocidad en baudios pre<strong>de</strong>terminada para los dispositivos <strong>SLC</strong> <strong>500</strong> es 19200<br />

Kbaud. La velocidad en baudios se almacena en el archivo <strong>de</strong> estado <strong>de</strong>l procesador<br />

(S:15H).<br />

Establecimiento <strong>de</strong> la dirección <strong>de</strong> nodo máxima<br />

El parámetro <strong>de</strong> dirección <strong>de</strong> nodo máxima se <strong>de</strong>be establecer al nivel más bajo<br />

posible. Esto minimiza cantidad <strong>de</strong> tiempo usada para solicitar sucesor al inicializar<br />

la red. Si todos los nodos son direccionados en secuencia <strong>de</strong>s<strong>de</strong> 0, y la dirección <strong>de</strong><br />

nodo máxima es igual a la dirección <strong>de</strong>l nodo direccionado más alto, la rotación <strong>de</strong><br />

testigo se mejora por la cantidad <strong>de</strong> tiempo requerida para transmitir un paquete <strong>de</strong><br />

petición <strong>de</strong> sucesor más el valor <strong>de</strong> límite <strong>de</strong> tiempo sobrepasado <strong>de</strong> la ranura.<br />

Número máximo <strong>de</strong> dispositivos <strong>de</strong> comunicación<br />

Los procesadores fijos <strong>SLC</strong> <strong>500</strong> y <strong>SLC</strong> 5/01 pue<strong>de</strong>n ser seleccionados por un<br />

máximo <strong>de</strong> dos iniciadores simultáneamente. El usar más <strong>de</strong> dos iniciadores para<br />

seleccionar los mismos procesadores fijos <strong>SLC</strong> <strong>500</strong> y <strong>SLC</strong> 5/01 simultáneamente<br />

pue<strong>de</strong>n causar límites <strong>de</strong> tiempo sobrepasados <strong>de</strong> comunicación.


Parámetros <strong>de</strong> configuración DH-485<br />

Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

Cuando el canal 0 ó 1 está configurado para el modo <strong>de</strong> sistema como DH-485<br />

maestro, se pue<strong>de</strong>n cambiar los siguientes parámetros:<br />

Parámetro Descripción<br />

Archivo diagnóstico Reservado para uso futuro.<br />

Velocidad en<br />

baudios<br />

Dirección <strong>de</strong> nodo<br />

Dirección <strong>de</strong> nodo<br />

máxima<br />

Factor <strong>de</strong> retención<br />

<strong>de</strong> testigo<br />

Alterna entre el régimen <strong>de</strong> comunicación <strong>de</strong> 1200, 2400, 9600 y 19200. El<br />

régimen pre<strong>de</strong>terminado es 19200.<br />

Esta es la dirección <strong>de</strong> nodo <strong>de</strong>l procesador en la red DH-485. El rango<br />

válido es 1–31. El valor pre<strong>de</strong>terminado es 1.<br />

Esta es la dirección <strong>de</strong> nodo máxima <strong>de</strong> un procesador activo. El rango<br />

válido es 1–31. El valor pre<strong>de</strong>terminado es 31.<br />

Determina el número <strong>de</strong> transacciones permitidas para efectuar cada<br />

rotación <strong>de</strong> testigo DH-485. El incrementar este valor permite que su<br />

procesador incremente la capacidad <strong>de</strong> tratamiento útil DH-485. El rango<br />

válido es 1–4. El valor pre<strong>de</strong>terminado es 1. Los procesadores <strong>SLC</strong> 5/01 y<br />

<strong>SLC</strong> 5/02 están establecidos en fábrica a 1.<br />

12–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

No. <strong>de</strong> catálogo Descripción<br />

12–6<br />

Los dispositivos siguientes usan la red DH-485:<br />

Requisito <strong>de</strong><br />

instalación<br />

Función Publicación<br />

1746-BAS Módulo BASIC Chasis <strong>SLC</strong> Proporciona un interface para los<br />

dispositivos <strong>SLC</strong> <strong>500</strong> a dispositivos<br />

extranjeros. Programe en BASIC para<br />

crear interface con los 3 puertos (2<br />

RS-232 y 1 DH-485) a impresoras,<br />

mó<strong>de</strong>ms o la red DH-485 para<br />

rcolección <strong>de</strong> datos.<br />

<strong>1747</strong>-KE Módulo <strong>de</strong><br />

interface<br />

DH-485/DF1<br />

1770-KF3 Módulo <strong>de</strong><br />

interface<br />

DH-485/DF1<br />

1784-KR Módulo <strong>de</strong><br />

interface PC<br />

DH-485<br />

1785-KA5 Gateway<br />

DH+/DH485<br />

2760-RB Módulo <strong>de</strong><br />

interface flexible<br />

Chasis <strong>SLC</strong> Proporcionar un interface sin<br />

aislamiento DH-485 para <strong>SLC</strong> <strong>500</strong> a<br />

computadoras principales sobre RS-232<br />

usando el protocolo DF1 <strong>de</strong> duplex total<br />

o medio. Habilita la programación<br />

remota usando su software <strong>de</strong><br />

programación a un procesador <strong>SLC</strong> <strong>500</strong><br />

o la red DH-485 a través <strong>de</strong> mó<strong>de</strong>ms.<br />

Perfecto para aplicaciones RTU/SCADA<br />

<strong>de</strong> bajo costo.<br />

“Escritorio”<br />

autónomo<br />

Bus <strong>de</strong><br />

computadora<br />

IBM XT/AT<br />

Chasis <strong>de</strong> E/S<br />

(1771) PLC<br />

Chasis (1771)<br />

PLC<br />

Proporciona un interface DH-485 aislado<br />

para dispositivos <strong>SLC</strong> <strong>500</strong> a<br />

computadoras principales sobre RS-232<br />

usando el protocolo DF1 <strong>de</strong> fuplex total<br />

o medio. Habilita la programación<br />

remota usando su software <strong>de</strong><br />

programación a un procesador <strong>SLC</strong> <strong>500</strong><br />

o la red DH-485 a través <strong>de</strong> mó<strong>de</strong>ms.<br />

Proporciona un puerto DH-485 aislado<br />

en la parte posterior <strong>de</strong> la computadora.<br />

Cuando se usa con el software APS,<br />

mejora la velocidad <strong>de</strong> comunicación y<br />

elimina el uso <strong>de</strong>l convertidor <strong>de</strong><br />

interface personal (<strong>1747</strong>-PIC). El<br />

variador estándar le permite escribir<br />

programas “C” para aplicaciones <strong>de</strong><br />

adquisición <strong>de</strong> datos.<br />

Proporciona comunicación entre<br />

estaciones en las re<strong>de</strong>s PLC-5 (DH+) y<br />

<strong>SLC</strong> <strong>500</strong> (DH-485).<br />

Proporciona un interface para <strong>SLC</strong> <strong>500</strong><br />

(usando el cartucho <strong>de</strong> protocolo<br />

2760-SFC3) a otros procesadores PLC y<br />

dispositivos <strong>de</strong> A-B. Están disponibles<br />

tres puertos configurables para<br />

proporcionar interface con los sistemas<br />

<strong>de</strong> código <strong>de</strong> barras, visión, RF,<br />

Dataliners y PLC.<br />

1746-6.1ES<br />

1746-6.2ES<br />

1746-6.3ES<br />

<strong>1747</strong>-6.12<br />

1770-6.5.18<br />

1784-2.23ES<br />

6001-6.5.5<br />

1785-6.5.5ES<br />

1785-1.21ES<br />

2760-ND001


Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

Protocolo <strong>de</strong> comunicación <strong>de</strong> Data Highway Plus<br />

Ejemplo<br />

La red Data Highway Plus emplea la comunicación entre dispositivos semejantes<br />

con un sistema <strong>de</strong> paso <strong>de</strong> testigo para rotar el maestro <strong>de</strong>l vínculo entre un máximo<br />

<strong>de</strong> 64 nodos. Puesto que este método no requiere la encuesta (polling), ayuda a<br />

proporcionar un transporte <strong>de</strong> datos fiable y eficiente. Las características <strong>de</strong> la red<br />

DH+:<br />

• programación remota <strong>de</strong> los procesadores PLC-2, PLC-3, PLC-5 y <strong>SLC</strong> <strong>500</strong> en<br />

su red<br />

• conexiones directas a los procesadores PLC-5 y terminales <strong>de</strong> programación<br />

industriales<br />

• reconfiguración y expansión fáciles si <strong>de</strong>sea añadir más nodos en el futuro<br />

• una velocidad <strong>de</strong> comunicación <strong>de</strong> 57.6 Kbaud<br />

La red DH+ usa límites <strong>de</strong> tiempo sobrepasados establecidos en fábrica para<br />

reinicializar la comunicación <strong>de</strong> paso <strong>de</strong> testigo si el testigo se pier<strong>de</strong> <strong>de</strong>bido a un<br />

nodo <strong>de</strong>fectuoso.<br />

El ejemplo siguiente muestra la conectividad <strong>de</strong> un procesador <strong>SLC</strong> 5/04 a un<br />

procesador PLC-5 usando el protocolo DH+. Se usa una velocidad <strong>de</strong> comunicación<br />

<strong>de</strong> 57.6 Kbaud.<br />

Un 386SX compatible con<br />

ISA o PS2 <strong>de</strong> IBM o<br />

superior con cualquiera <strong>de</strong><br />

los siguientes:<br />

• 1784-KT<br />

• 1784-KT2 (PS2)<br />

Controlador <strong>de</strong> E/S<br />

modular <strong>SLC</strong> 5/04<br />

• 1784-KTX<br />

• 1784-KL (T47)<br />

Red DH+<br />

PLC–5/15<br />

12–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo<br />

El ejemplo siguiente muestra un protocolo DH+ usando dos controladores <strong>SLC</strong> 5/04<br />

con las velocida<strong>de</strong>s altas <strong>de</strong> 115.2 Kbaud ó 230 Kbaud.<br />

Nota Las velocida<strong>de</strong>s <strong>de</strong> comunicación DH+ <strong>de</strong> 115.2 Kabaud y 230 Kbaud no están<br />

disponibles para la terminal <strong>de</strong> programación. En el ejemplo siguiente la terminal<br />

<strong>de</strong> programación está conectada al puerto en serie <strong>de</strong>l procesador <strong>SLC</strong> 5/04 para<br />

entrar en la velocidad en baudios más alta. Este método usa la característica <strong>de</strong><br />

transferencia <strong>de</strong> DF1 a DH+. Para obtener más información acerca <strong>de</strong> la<br />

transferencia, vea el capítulo 8.<br />

12–8<br />

Controlador <strong>de</strong> E/S<br />

modular <strong>SLC</strong> 5/04<br />

Red DH+<br />

Controlador <strong>de</strong> E/S<br />

modular <strong>SLC</strong> 5/04


Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

Parámetros <strong>de</strong> configuración <strong>de</strong> canal 1 <strong>de</strong> DH+ (procesadores <strong>SLC</strong> 5/04 únicamente)<br />

Cuando el modo <strong>de</strong> sistema es DH+ para canal 1, los parámetros siguientes se<br />

pue<strong>de</strong>n cambiar:<br />

Velocidad en baudios<br />

Dirección <strong>de</strong> nodo<br />

Parámetro Descripción<br />

Habilitación <strong>de</strong> transmisión <strong>de</strong> palabra<br />

<strong>de</strong> estado global Habilitación <strong>de</strong> recepción <strong>de</strong> palabra <strong>de</strong><br />

estado global Alterna entre la velocidad <strong>de</strong> comunicación <strong>de</strong> 57.6K,<br />

115.2K y 230.4K. El valor pre<strong>de</strong>terminado es 57.6K.<br />

Una terminal <strong>de</strong> programación sólo pue<strong>de</strong> comunicar<br />

en una red DH+ configurada para 57.6 Kbaud.<br />

Asegúrese que todos los dispositivos en su red DH+<br />

estén configurados para la misma velocidad <strong>de</strong><br />

comunicación.<br />

El rango válido es 0–77 octal. El valor pre<strong>de</strong>terminado<br />

es 1.<br />

Alterna entre 0 y 1. El valor pre<strong>de</strong>terminado es 0.<br />

Alterna entre 0 y 1. El valor pre<strong>de</strong>terminado es 0.<br />

Este parámetro está disponible para los procesadores <strong>SLC</strong> 5/04 OS401 solamente.<br />

12–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Descripción general <strong>de</strong> la palabra <strong>de</strong> estado global<br />

12–10<br />

Cuando un procesador pasa el testigo DH+ al próximo nodo, también envía una<br />

palabra <strong>de</strong> 16 bits <strong>de</strong>nominada la palabra <strong>de</strong> estado global (GSW). Cada nodo en la<br />

red observa el mensaje <strong>de</strong> paso <strong>de</strong> testigo, pero solamente el “próximo” nodo en la<br />

red acepta el testigo. Sin embargo, si todos los nodos en la red leen la palabra <strong>de</strong><br />

estado global enviada con cada paso <strong>de</strong> testigo y la guardan en memoria. Cada<br />

procesador en la red DH+ tiene una tabla en memoria en que guardar la(s) palabra(s)<br />

<strong>de</strong> estado global que recibe <strong>de</strong> otros nodos. En cada archivo <strong>de</strong> estado <strong>de</strong>l<br />

procesador <strong>SLC</strong> 5/04, hay un <strong>de</strong>stino para:<br />

• La palabra <strong>de</strong> transmisión global<br />

Esta palabra se ubica en memoria a S:99. Si, en su programa <strong>de</strong> escalera, usted<br />

transfiere datos a esta ubicación <strong>de</strong> memoria, se transmitirán cada vez que el<br />

procesador pasa el testigo DH. Tome nota que todos los otros nodos DH+<br />

observarán estos datos.<br />

• Archivo <strong>de</strong> estado global<br />

Este archivo se ubica en memoria a S:100 a S:163 y representa una ubicación <strong>de</strong><br />

memoria para cada uno <strong>de</strong> los 64 nodos posibles en la red DH+. A medida que<br />

otros nodos vayan transmitiendo información <strong>de</strong> estado global con sus pasos <strong>de</strong><br />

testigo, el procesador <strong>SLC</strong> 5/04 recolecta esta información y la guarda en el<br />

archivo <strong>de</strong> estado global. La ubicación <strong>de</strong> memoria S:100 correspon<strong>de</strong> al nodo<br />

#0 (octal), S:101 correspon<strong>de</strong> al nodo #1 (octal) y S:163 correspon<strong>de</strong> a nodo<br />

#77 (octal).<br />

Una palabra <strong>de</strong>l archivo <strong>de</strong> estado global <strong>de</strong> cada nodo se actualiza durante cada<br />

paso <strong>de</strong> testigo. Esto pue<strong>de</strong> funcionar como mensaje <strong>de</strong> difusión <strong>de</strong> alta velocidad,<br />

el cual es útil para el paso <strong>de</strong> estado y la sincronización <strong>de</strong> procesadores.<br />

Si el bit <strong>de</strong> habilitación <strong>de</strong> transmisión <strong>de</strong> palabra <strong>de</strong> estado global (S:34/3) y el bit<br />

<strong>de</strong> recepción <strong>de</strong> palabra <strong>de</strong> estado global (S:34/4) nunca se establecen, pue<strong>de</strong> usar el<br />

archivo <strong>de</strong> estado global (S:100 a S:163) para otros usos <strong>de</strong> almacenamiento. Si<br />

estos bits se usan y luego se restablecen, el área en el archivo <strong>de</strong> estado <strong>de</strong> sistema<br />

nunca será alterada por el procesador <strong>SLC</strong> 5/04, aun <strong>de</strong>spués <strong>de</strong> una <strong>de</strong>sactivación y<br />

reactivación <strong>de</strong> la alimentación eléctrica <strong>de</strong>l procesador.<br />

Nota El archivo <strong>de</strong> estado <strong>de</strong> sistema <strong>de</strong>be tener una longitud <strong>de</strong> por lo menos 164<br />

palabras para que se realicen transmisiones y recepciones <strong>de</strong> palabra <strong>de</strong> estado<br />

global. Esto significa que un programa <strong>de</strong> usuario para uso con OS400 no tendrá<br />

capacidad para la característica <strong>de</strong> palabra <strong>de</strong> estado global.


Bit <strong>de</strong> habilitación <strong>de</strong> transmisión <strong>de</strong> palabra <strong>de</strong> estado global S:34/3<br />

(<strong>SLC</strong> 5/04 con OS401)<br />

Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

La transmisión <strong>de</strong> la palabra <strong>de</strong> estado global es habilitada estableciendo el bit<br />

S:33/3 en el archivo <strong>de</strong> estado. Si este bit está establecido (1), el procesador<br />

transmite los datos en S:99 con cada paso <strong>de</strong> testigo DH+. Si este bit no está<br />

establecido (0), el procesador pasa el testigo y no aña<strong>de</strong> la palabra <strong>de</strong> estado global.<br />

Este bit es configurable dinámicamente y el posicionamiento pre<strong>de</strong>terminado es<br />

cero. Consi<strong>de</strong>re las pautas siguientes al usar el bit <strong>de</strong> habilitación <strong>de</strong> transmisión <strong>de</strong><br />

palabra <strong>de</strong> estado global:<br />

• Si este bit no está establecido, el paso <strong>de</strong> testigo DH+ transmitido <strong>de</strong>s<strong>de</strong> el canal<br />

1 no contendrá bytes <strong>de</strong> palabra <strong>de</strong> estado global.<br />

• Si este bit está establecido, pero el <strong>SLC</strong> 5/04 no está en el modo <strong>de</strong> MARCHA,<br />

marcha REMota o en uno <strong>de</strong> los tres modos <strong>de</strong> prueba, el paso <strong>de</strong> testigo DH+<br />

transmitido contendrá una palabra <strong>de</strong> estado global a 2 bytes <strong>de</strong> 0x0000.<br />

• Si este bit está establecido y el <strong>SLC</strong> 5/04 está en el modo <strong>de</strong> MARCHA, marcha<br />

REMota o en uno <strong>de</strong> los tres modos <strong>de</strong> prueba, el paso <strong>de</strong> testigo DH+<br />

transmitido contendrá una GSW <strong>de</strong> 2 bytes igual al valor en S:99 (palabra <strong>de</strong><br />

estado global). La palabra también se coloca en el archivo <strong>de</strong> estado global <strong>de</strong><br />

64 palabras (S:100 a S:163) en la ubicación que correspon<strong>de</strong> a la dirección <strong>de</strong><br />

nodo DH+ asociada con el procesador <strong>SLC</strong> 5/04.<br />

Por ejemplo, si el procesador <strong>SLC</strong> 5/04 está funcionando en la dirección octal<br />

22 (18 <strong>de</strong>cimales), la GSW transmitida se escribe a palabra S:118.<br />

• Solamente una palabra <strong>de</strong> estado global <strong>de</strong> 2 bytes se pue<strong>de</strong> transmitir, aun<br />

cuando la red DH+ tiene capacidad hasta para 4 bytes. La longitud no es<br />

seleccionable, sino que tiene 2 bytes para ser compatible 100% con los<br />

procesadores PLC–5.<br />

• La palabra en el archivo <strong>de</strong> estado global correspondiente a la dirección DH+<br />

<strong>de</strong>l procesador <strong>SLC</strong> 5/04 se establecerá a 0x0000 si se efectúa algo para inhibir<br />

la transmisión <strong>de</strong> la palabra <strong>de</strong> estado global <strong>de</strong>s<strong>de</strong> S:99. Esto incluye:<br />

– el borrado <strong>de</strong> S:33/4, bit <strong>de</strong> habilitación <strong>de</strong> transmisión <strong>de</strong> palabra <strong>de</strong><br />

estado global<br />

– la colocación <strong>de</strong>l <strong>SLC</strong> 5/04 en un modo que no sea el modo <strong>de</strong> marcha<br />

ni el modo <strong>de</strong> prueba<br />

– la inhabilitación <strong>de</strong> canal 1<br />

– un error que ocurre en la red DH+ causando que el LED <strong>de</strong> canal 1<br />

parpa<strong>de</strong>e rojo o se haga rojo sólido (esto podrá ser causado por una<br />

dirección <strong>de</strong> nodo duplicada).<br />

– el no tener un programa <strong>de</strong> usuario OS401 cargado al procesador<br />

<strong>SLC</strong> 5/04<br />

• Si S:34/3 no está establecido a partir <strong>de</strong>l tiempo en que el <strong>SLC</strong> 5/04 se encien<strong>de</strong>,<br />

la palabra correspondiente a su dirección DH+ en el archivo <strong>de</strong> estado global<br />

nunca se escribirá durante el final <strong>de</strong> escán.<br />

12–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Bit <strong>de</strong> habilitación <strong>de</strong> recepción <strong>de</strong> palabra <strong>de</strong> estado global (S:34/4<br />

(<strong>SLC</strong> 5/04 con OS401)<br />

12–12<br />

La recepción <strong>de</strong> las palabras <strong>de</strong> estado global <strong>de</strong> otros procesadores en la red se<br />

habilita estableciendo el bit S:33/4 en el archivo <strong>de</strong> estado. Si éste es establecido<br />

(1), el procesador llena el archivo <strong>de</strong> estado global con palabras <strong>de</strong> estado global<br />

transmitidas por otros procesadores en la red. Si este bit no está establecido (0), el<br />

procesador no hace caso <strong>de</strong> la actividad <strong>de</strong> palabra <strong>de</strong> estado global en la red. Este<br />

bit es configurable dinámicamente y el posicionamiento pre<strong>de</strong>terminado es cero.<br />

Tome nota que la transmisión y recepción <strong>de</strong> palabras <strong>de</strong> estado global no <strong>de</strong>pen<strong>de</strong>n<br />

la una <strong>de</strong> la otra.<br />

Consi<strong>de</strong>re las pautas siguientes al usar el bit <strong>de</strong> habilitación <strong>de</strong> recepción <strong>de</strong> palabra<br />

<strong>de</strong> estado global:<br />

• Si este bit no está establecido, el archivo <strong>de</strong> estado global (S:110 a S:163) no se<br />

actualizará con el paso <strong>de</strong> la información <strong>de</strong> la palabra <strong>de</strong> estado global a la red.<br />

• Un error que ocurre en la red DH+ para causar que el LED <strong>de</strong> canal 1 parpa<strong>de</strong>e<br />

rojo o se haga rojo sólido inhabilita las recepciones <strong>de</strong> la palabra <strong>de</strong> estado<br />

global. (Esto podría ser causado por una dirección <strong>de</strong> nodo duplicada.)<br />

• La capacidad para el archivo <strong>de</strong> estado global (S:100–S:163) se habilita cuando<br />

las cuatro condiciones siguientes se cumplen:<br />

– el canal 1 se configura para comunicación <strong>de</strong> protocolo DH+<br />

– el archivo <strong>de</strong> estado <strong>de</strong> sistema tiene una longitud <strong>de</strong> por lo menos 164<br />

palabras<br />

– el bit <strong>de</strong> habilitación <strong>de</strong> recepción <strong>de</strong> palabra <strong>de</strong> estado global (S:34/3)<br />

está establecido<br />

– la operación en la red DH+ está funcionando (LED <strong>de</strong> canal 1 es ver<strong>de</strong>)<br />

• El único modo <strong>de</strong> procesador en que la recepción <strong>de</strong> la palabra <strong>de</strong> estado global<br />

no funcionará es durante la carga <strong>de</strong> un programa.


Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

Tome nota que todas las 164 palabras se actualizarán durante cada final <strong>de</strong> escán.<br />

La tabla siguiente <strong>de</strong>scribe los estados posibles <strong>de</strong> la dirección <strong>de</strong> nodo DH+ y el<br />

valor escrito a la palabra <strong>de</strong> estado global (S:99).<br />

Estado <strong>de</strong> la dirección <strong>de</strong> nodo DH+<br />

El dispositivo no está activo en la red DH+ 0x0000<br />

El dispositivo está activo en la red DH+, pero no<br />

envía los bytes <strong>de</strong> GSW en su paso <strong>de</strong> testigo<br />

El dispositivo está activo en la red DH+ y envía 1<br />

byte <strong>de</strong> datos <strong>de</strong> GSW a su paso <strong>de</strong> testigo<br />

El dispositivo está activo en la red DH+ y envía 2<br />

bytes <strong>de</strong> datos <strong>de</strong> GSW a su paso <strong>de</strong> testigo<br />

El dispositivo está activo en la red DH+ y envía 2<br />

ó 4 bytes <strong>de</strong> datos <strong>de</strong> GSW a su paso <strong>de</strong> testigo<br />

0x0000<br />

Valor escrito en S:99 por el<br />

procesador <strong>SLC</strong> 5/04<br />

El byte alto se establece a 0x00; el byte bajo se<br />

establece igual a 1 byte <strong>de</strong> datos <strong>de</strong> GSW<br />

El byte alto se establece igual al segundo byte;<br />

el byte bajo se establece igual al primer byte (o<br />

los bytes altos y bajos se establecen iguales el<br />

uno al otro)<br />

El byte alto se establece igual al segundo byte;<br />

el byte bajo se establece igual al primer byte, y<br />

no se hace caso <strong>de</strong> los bytes tercero y cuarto<br />

• Si el archivo <strong>de</strong> estado global (S:100-S:163) está funcionando y luego el canal 1<br />

se inhabilita, todo el archivo <strong>de</strong> estado global se pone a cero.<br />

• Si el archivo <strong>de</strong> estado global (S:100-S:163) está funcionando y el bit S:34/4 se<br />

restablece, todo el archivo <strong>de</strong> estado global se pone a cero excepto por la<br />

palabra que correspon<strong>de</strong> a la dirección <strong>de</strong> nodo DH+ <strong>de</strong> canal 1.<br />

• Si el archivo <strong>de</strong> estado global (S:100-S:163) está funcionando y luego ocurre un<br />

error <strong>de</strong> la red DH+, todo el archivo <strong>de</strong> estado global se pone a cero. Si el<br />

procesador <strong>SLC</strong> 5/04 se recupera <strong>de</strong>l error por sí mismo, la actualización <strong>de</strong>l<br />

archivo <strong>de</strong> estado global se reanuda automáticamente.<br />

• Si el archivo <strong>de</strong> estado global (S:100-S:163) está funcionando y luego un<br />

programa <strong>de</strong> usuario con un archivo <strong>de</strong> estado <strong>de</strong> sistema con menos <strong>de</strong> 164<br />

palabras se carga, el procesador <strong>SLC</strong> 5/04 <strong>de</strong>tecta esto antes <strong>de</strong> intentar la<br />

actualización <strong>de</strong>l archivo <strong>de</strong> estado global. Es <strong>de</strong>cir, no resulta ninguna<br />

corrupción <strong>de</strong>l programa <strong>de</strong> usuario si todos los otros criterios se cumplen para<br />

dar capacidad a la característica <strong>de</strong> la tabla <strong>de</strong> recepción <strong>de</strong> GSW.<br />

Nota El procesador <strong>SLC</strong> 5/04 mantiene una tabla <strong>de</strong> palabra <strong>de</strong> estado global corriente a<br />

pesar <strong>de</strong> la habilitación <strong>de</strong> la operación <strong>de</strong> la tabla <strong>de</strong> nodo activo DH+ <strong>de</strong> canal 1<br />

(estableciendo S:34/1). Para ver la tabla <strong>de</strong> palabra <strong>de</strong> estado global usando su<br />

software <strong>de</strong> programación, S:34/1 <strong>de</strong>be estar establecido a<strong>de</strong>más <strong>de</strong> cumplir con<br />

todos los requisitos anteriores.<br />

12–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Comunicación <strong>de</strong> PLC–5 a <strong>SLC</strong> <strong>500</strong> usando los comandos<br />

MSG <strong>de</strong> tipo PLC–2<br />

12–14<br />

Los procesadores <strong>SLC</strong> 5/03 pue<strong>de</strong>n enviar MSG a un procesador <strong>de</strong> dos maneras:<br />

<strong>SLC</strong> 5/03 OS300<br />

Si usa esta versión:<br />

<strong>SLC</strong> 5/03 OS301 y posteriores<br />

Use esta instrucción MSG para<br />

comunicar a un procesador PLC-5:<br />

tipo 485CIF (emulación PLC-2)<br />

Para obtener información, vea esta<br />

sección.<br />

• tipo PLC-5 (el método preferido)<br />

• tipo 485CIF (emulación PLC-2))<br />

Para obtener información, vea la página<br />

12–18<br />

Programe una instrucción <strong>de</strong> mensaje PLC-5 como tipo PLC-2 cuando acceda a un<br />

procesador <strong>SLC</strong> <strong>500</strong>.<br />

Las lecturas y escrituras PLC-2 no protegidas no se emplean realmente como “no<br />

protegidas” en el procesador <strong>SLC</strong>. Están sujetas a los sistemas <strong>de</strong> protección <strong>de</strong><br />

archivo <strong>de</strong>l <strong>SLC</strong>. Por ejemplo, se rechazarán si una carga está en progreso o si el<br />

archivo <strong>de</strong> interface común (CIF) ya está abierto por otro dispositivo. Estos tipos <strong>de</strong><br />

comandos <strong>de</strong> lectura y escritura son <strong>de</strong> alguna manera “universales” ya que se<br />

emplean en muchos otros controladores programables <strong>de</strong> Allen-Bradley.<br />

En realidad, el CIF es como cualquiera <strong>de</strong> los otros archivos <strong>de</strong> datos <strong>SLC</strong> excepto<br />

que es <strong>de</strong>signado como el archivo <strong>de</strong>stino para todos los comandos <strong>de</strong> lectura no<br />

protegida y escritura no protegida <strong>de</strong>l PLC-2 que son recibidos por el <strong>SLC</strong>. Siempre<br />

es archivo #9. El CIF pue<strong>de</strong> ser <strong>de</strong>finido como tipos <strong>de</strong> bit, entero, temporizador,<br />

contador o datos <strong>de</strong> control. Sin embargo, solamente los archivos <strong>de</strong> bit o entero se<br />

<strong>de</strong>ben usar para facilitar el direccionamiento.<br />

Usted no pue<strong>de</strong> usar la instrucción <strong>de</strong> mensaje <strong>SLC</strong> 5/02 para enviar un mensaje a<br />

través <strong>de</strong>l módulo 1785-KA5. No obstante, pue<strong>de</strong> usar la instrucción <strong>de</strong> mensaje<br />

<strong>SLC</strong> 5/03 para enviar un mensaje al módulo 1785-KA5. El procesador <strong>SLC</strong> 5/03<br />

tiene la capacidad <strong>de</strong> respon<strong>de</strong>r a peticiones <strong>de</strong> lectura/escritura <strong>de</strong> datos cuando el<br />

1785-KA5 está en el “modo <strong>de</strong> encaminador”. Los procesadores fijo <strong>SLC</strong> <strong>500</strong>, <strong>SLC</strong><br />

5/01 y <strong>SLC</strong> 5/02 no pue<strong>de</strong>n respon<strong>de</strong>r a peticiones <strong>de</strong> lectura/escritura <strong>de</strong> datos.<br />

Cuando el 1785-KA5 está en el modo <strong>de</strong> gateway, todos los procesadores <strong>SLC</strong> <strong>500</strong><br />

pue<strong>de</strong>n respon<strong>de</strong>r a peticiones <strong>de</strong> lectura/escritura <strong>de</strong> datos <strong>de</strong> Data Highway Plus.<br />

Nota El archivo #9 <strong>de</strong>be ser creado y <strong>de</strong>finido al momento <strong>de</strong> programar el <strong>SLC</strong>. El<br />

archivo #9 también <strong>de</strong>be ser lo suficientemente gran<strong>de</strong> para incluir el espacio <strong>de</strong><br />

direccionamiento <strong>de</strong> lectura y escritura no protegidas. De lo contrario, todas las<br />

lecturas y escrituras no protegidas serán rechazadas por el <strong>SLC</strong>.


Cómo los procesadores PLC-5 direccionan datos<br />

Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

Cuando usted programa cualquier tipo <strong>de</strong> instrucción MSG en el PLC-5, la<br />

“dirección <strong>de</strong> <strong>de</strong>stino” se introduce en octal. El procesador PLC-5 automáticamente<br />

traduce la dirección octal a una dirección <strong>de</strong> byte doblando el equivalente <strong>de</strong>cimal.<br />

Por lo tanto, 0108 se hace 16 y 1778 se hace 254. No pue<strong>de</strong> introducir una dirección<br />

octal con menos <strong>de</strong> 0108 en una instrucción <strong>de</strong> mensaje PLC-5.<br />

Cómo usar el archivo CIF <strong>SLC</strong> <strong>500</strong> (emulación PLC-2)<br />

El CIF se pue<strong>de</strong> consi<strong>de</strong>rar como búfer <strong>de</strong> datos entre todos los otros archivos <strong>de</strong><br />

datos <strong>SLC</strong> y el canal DH-485. El <strong>SLC</strong> <strong>de</strong>be ser programado usando la lógica <strong>de</strong><br />

escalera para transferir datos entre el CIF y los otros archivos <strong>de</strong> datos mostrados<br />

aquí.<br />

Programa <strong>de</strong><br />

escalera <strong>SLC</strong><br />

<strong>SLC</strong> <strong>500</strong><br />

Archivos <strong>de</strong> datos<br />

#0 - #8,<br />

CIF (archivo #9)<br />

#10 - #255<br />

DH-485<br />

Lectura no protegida<br />

Escritura no protegida<br />

El CIF se pue<strong>de</strong> manejar <strong>de</strong>signando áreas a las cuales se <strong>de</strong>be escribir y áreas <strong>de</strong>s<strong>de</strong><br />

las cuales se <strong>de</strong>be leer. Si <strong>de</strong>see saber cuándo los datos han cambiado en el CIF, use<br />

la lógica <strong>de</strong> escalera para programar bits <strong>de</strong> comunicación en sus datos CIF.<br />

Nota Aunque el formato <strong>de</strong> las lecturas y escrituras no protegidas es el mismo que el<br />

usado en otros procesadores PLC, el empleo <strong>de</strong>l parámetro <strong>de</strong> dirección es<br />

diferente. En los productos PLC <strong>de</strong> Allen-Bradley, la dirección es interpretada<br />

como una dirección <strong>de</strong> byte. En algunos productos <strong>SLC</strong> <strong>500</strong>, la dirección es<br />

interpretada como una dirección <strong>de</strong> palabra.<br />

• Los procesadores <strong>SLC</strong> <strong>500</strong> y <strong>SLC</strong> 5/01 usan el direccionamiento <strong>de</strong> palabra<br />

exclusivamente.<br />

• El <strong>SLC</strong> 5/02, antes <strong>de</strong> los procesadores FRN 3 <strong>de</strong> serie C, también usan el<br />

direccionamiento <strong>de</strong> palabra exclusivamente.<br />

• Los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 tienen un bit <strong>de</strong> selección,<br />

S:2/8, que permite la selección <strong>de</strong>l direccionamiento <strong>de</strong> palabra o byte.<br />

• El DTAM para el <strong>SLC</strong> usa el direccionamiento <strong>de</strong> palabra exclusivamente.<br />

12–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Programación para manejar las diferencias <strong>de</strong> direccionamiento <strong>de</strong><br />

palabra/byte<br />

12–16<br />

Los procesadores <strong>SLC</strong> <strong>500</strong> usan el direccionamiento <strong>de</strong> palabra y los procesadores<br />

PLC-5 usan el direccionamiento <strong>de</strong> byte. Un byte en el procesador PLC-5 es el<br />

equivalente <strong>de</strong> dos palabras en el procesador <strong>SLC</strong> <strong>500</strong>.<br />

La sección siguiente <strong>de</strong>scribe las diferencias entre el direccionamiento <strong>de</strong> palabra y<br />

byte cuando se envían mensajes a/<strong>de</strong> un procesador PLC-5 vía comandos PLC-2.<br />

Cómo enviar un mensaje <strong>de</strong> tipo PLC-2 a un procesador PLC-5 usando el<br />

direccionamiento <strong>SLC</strong> <strong>de</strong> “palabra” (S:2/8 = 0)<br />

La “dirección <strong>de</strong> <strong>de</strong>stino” octal <strong>de</strong> la instrucción <strong>de</strong> mensaje PLC-5 <strong>de</strong>be ser entre<br />

0108 y 1778. Este rango correspon<strong>de</strong> a la palabra 16 a la palabra 254 (palabras<br />

pares solamente) cuando S:2/8 es igual a cero.<br />

Cómo enviar un mensaje <strong>de</strong> tipo PLC-2 a un procesador PLC-5 usando el<br />

direccionamiento <strong>de</strong> “byte” (S:2/8 = 1)<br />

Nota El modo <strong>de</strong> direccionamiento <strong>de</strong> byte se selecciona en el <strong>SLC</strong> estableciendo el bit<br />

S:2/8 a 1. El valor pre<strong>de</strong>terminado es S:2/8 = 0 para el direccionamiento <strong>de</strong><br />

palabra. Este bit <strong>de</strong> selección no está disponible en los procesadores fijos <strong>SLC</strong> ni<br />

<strong>SLC</strong> 5/01. Este establecimiento se aplica al byte/palabra <strong>de</strong> offset.<br />

La “dirección <strong>de</strong> <strong>de</strong>stino” octal <strong>de</strong> la instrucción <strong>de</strong> mensaje PLC-5 <strong>de</strong>be ser entre<br />

0108 y 3778. El rango correspon<strong>de</strong> a la palabra 8 a la palabra 254 cuando S:2/8 es<br />

igual a 1.<br />

Dirección <strong>de</strong> <strong>de</strong>stino (octal)<br />

Dirección <strong>SLC</strong><br />

PLC-5 MSG Modo <strong>de</strong> palabra (S:2/8=0) Modo <strong>de</strong> byte (S:2/8=1)<br />

010 N9:16 N9:8<br />

011 N9:18 N9:9<br />

... ... ...<br />

177 N9:254 N9:127<br />

200 N9:128<br />

... ...<br />

377 N9:255<br />

El valor máximo para el parámetro <strong>de</strong> “número <strong>de</strong> elementos” <strong>de</strong> instrucción <strong>de</strong>l<br />

procesador PLC-5 <strong>de</strong> tipo PLC-2 es 41 para un procesador <strong>SLC</strong> 5/02 y 110 para un<br />

procesador <strong>SLC</strong> 5/03 (se suponen elementos <strong>de</strong> 1 palabra).


Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

Ejemplo – Cómo enviar un mensaje <strong>de</strong> tipo PLC-2 a procesadores PLC-5 usando<br />

procesadores <strong>SLC</strong> direccionados por “palabra” (S:2/8 = 0)<br />

Como ejemplo, escriba 10 palabras <strong>de</strong> N7 en un PLC-5 a un <strong>SLC</strong> 5/02:<br />

1. Configure la dirección fuente en la instrucción <strong>de</strong> mensaje como N7:0.<br />

2. Configure el “medir elementos” a 10.<br />

3. Configure el “tipo <strong>de</strong> comando” como “escritura no protegida PLC-2”.<br />

4. Configure la “dirección <strong>de</strong> <strong>de</strong>stino” como 0108. Esto correspon<strong>de</strong> a la dirección<br />

<strong>SLC</strong>, N9:16.<br />

Ya que 10 palabras se escribirán, asegúrese que el archivo N9 en el <strong>SLC</strong> sea creado<br />

por lo menos a N9:25.<br />

Se supone que la instrucción <strong>de</strong> mensaje será configurada para un <strong>de</strong>stino remoto ya<br />

que es necesario que exista un puente entre el PLC-5 y el <strong>SLC</strong> 5/02, tal como un<br />

1784-KA5 (en el modo gateway) vinculando una red DH+ y DH-485.<br />

Ejemplo – Cómo enviar un mensaje <strong>de</strong> tipo PLC-2 a un procesador PLC-5 usando<br />

procesadores direccionados por “byte) (S:2/8 = 1)<br />

Como ejemplo, escriba 10 palabras <strong>de</strong> N7 en un PLC-5 a un <strong>SLC</strong> 5/02:<br />

1. Configure la dirección fuente en la instrucción <strong>de</strong> mensaje como N7:0.<br />

2. Configure el “tamaño en elementos” a 10.<br />

3. Configure el “tipo <strong>de</strong> comando” como “escritura no protegida PLC-2”.<br />

4. Configure la “dirección <strong>de</strong> <strong>de</strong>stino” como 0108. Esto correspon<strong>de</strong> a la dirección<br />

<strong>SLC</strong>, N9:7.<br />

Ya que 10 palabras se escribirán, asegúrese que el archivo N9 en el <strong>SLC</strong> sea creado<br />

por lo menos a N9:17.<br />

12–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 a comunicación PLC-5 usando<br />

comandos MSG <strong>SLC</strong> <strong>500</strong> ó PLC-5<br />

12–18<br />

Los procesadores <strong>SLC</strong> 5/03 OS301 y <strong>SLC</strong> 5/04 OS400 tienen capacidad para los<br />

comandos MSG <strong>de</strong> tipo PLC-5. Esto elimina la necesidad <strong>de</strong> programar MSG <strong>de</strong><br />

tipo PLC-2.<br />

Cuando <strong>de</strong>sea obtener acceso a: Programe la instrucción MSG como:<br />

Procesadores PLC-5<br />

Módulo <strong>de</strong> interface <strong>de</strong> comunicación<br />

1785-KA5<br />

<strong>SLC</strong> 5/03<br />

<strong>SLC</strong> 5/04<br />

tipo PLC-5 MSG<br />

tipo <strong>SLC</strong> <strong>500</strong><br />

Los procesadores <strong>SLC</strong> 5/03 OS301 y <strong>SLC</strong> 5/04 aceptan los comandos MSG <strong>de</strong> tipo<br />

PLC-5 para leer y escribir archivos <strong>de</strong> datos <strong>de</strong> estado, bit, temporizador, control,<br />

entero, punto (coma) flotante, ca<strong>de</strong>na y ASCII. Sin embargo, los procesadores <strong>SLC</strong><br />

5/03 OS301 y <strong>SLC</strong> 5/04 no aceptan comandos MSG <strong>de</strong> tipo PLC-5 para leer o<br />

escribir <strong>de</strong>s<strong>de</strong>/hacia archivos <strong>de</strong> entrada y salida <strong>de</strong>bido a la diferencia entre la<br />

estructura <strong>de</strong> direccionamiento <strong>de</strong> chasis/grupo <strong>de</strong>l procesador PLC-5 y la estructura<br />

<strong>de</strong> direccionamiento <strong>de</strong> ranura/palabra <strong>de</strong>l <strong>SLC</strong> <strong>500</strong>. A<strong>de</strong>más, el procesador PLC-5<br />

actualmente no acepta comandos MSG <strong>de</strong> <strong>SLC</strong> <strong>500</strong>.<br />

Cuando programa una instrucción MSG <strong>de</strong> tipo PLC-5, los tipos <strong>de</strong> datos <strong>de</strong> fuente<br />

y <strong>de</strong>stino <strong>de</strong>ben coincidir. A título <strong>de</strong> consistencia en la transferencia <strong>de</strong> datos, le<br />

recomendamos que los tipos <strong>de</strong> datos <strong>de</strong> <strong>de</strong>stino y fuente coincidan cuando<br />

transfiera datos entre los procesadors PLC-5 y los procesadores <strong>SLC</strong> 5/03 OS301 y<br />

<strong>SLC</strong> 5/04.<br />

Cuando programa una instrucción MSG <strong>SLC</strong>, no tienen que coincidir los tipos <strong>de</strong><br />

datos <strong>de</strong> fuente y <strong>de</strong>stino.<br />

El tipo <strong>de</strong> datos <strong>de</strong> <strong>de</strong>stino <strong>de</strong>termina el número <strong>de</strong> palabras por elemento que se<br />

<strong>de</strong>be transferir. Por ejemplo, el <strong>de</strong>stino T4:0 y la fuente N7:0 con una longitud <strong>de</strong> 3<br />

resultan en una transferencia <strong>de</strong> 9 palabras enteras <strong>de</strong>bido a un tamaño <strong>de</strong> elemento<br />

<strong>de</strong> temporizador <strong>de</strong> 3 palabras por elemento.


Protocolo <strong>de</strong> comunicación RS-232<br />

Protocolo <strong>de</strong> full–duplex DF1<br />

Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

<br />

Los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 tienen capacidad para el protocolo <strong>de</strong><br />

duplex total DF1 y el protocolo maestro/esclavo <strong>de</strong> duplex medio DF1 vía la<br />

conexión RS-232 a una computadora principal (usando canal DF1). Los <strong>de</strong>talles <strong>de</strong><br />

estos protocolos se encuentran en el Manual <strong>de</strong> usuario <strong>de</strong>l juego <strong>de</strong> protocolo y<br />

comando Data Highway/Data Highway Plus/DH-485, publicación 1770-6.5.16ES.<br />

Para obtener más información acerca <strong>de</strong> cómo usar los procesadores <strong>SLC</strong> <strong>500</strong> en<br />

aplicaciones SCADA, vea la:<br />

• Guía <strong>de</strong> selección <strong>de</strong>l sistema SCADA, publicación AG-2.1ES<br />

• Guía <strong>de</strong> aplicación <strong>de</strong>l sistema SCADA, publicacion AG-6.5.8ES<br />

El protocolo full–duplex DF1 (también conocido como protocolo <strong>de</strong> punto a punto<br />

DF1) se proporciona para aplicaciones en que la comunicación <strong>de</strong> punto a punto<br />

RS-232 es necesaria. Este tipo <strong>de</strong> protocolo tiene capacidad para transmisiones<br />

simultáneas entre dos dispositivos en ambas direcciones. Pue<strong>de</strong> usar el canal 0<br />

como puerto <strong>de</strong> programación o como puerto <strong>de</strong> dispositivos semejantes usando la<br />

instrucción MSG.<br />

En el modo full–duplex, el procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 pue<strong>de</strong> enviar y recibir<br />

mensajes. Cuando el procesador envía mensajes, lo hace en forma <strong>de</strong> respuestas<br />

incorporadas, las cuales son símbolos transmitidos <strong>de</strong>ntro <strong>de</strong> un paquete <strong>de</strong> mensaje.<br />

Cuando el procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 recibe mensajes, sirve como dispositivo<br />

final – un dispositivo que <strong>de</strong>tiene la transmisión <strong>de</strong> paquetes <strong>de</strong> datos. El<br />

procesador no hace caso <strong>de</strong> las direcciones <strong>de</strong> <strong>de</strong>stino y fuente recibidas en los<br />

paquetes <strong>de</strong> datos. Sin embargo, el procesador cambia estas direcciones en la<br />

respuesta que transmite como respuesta a cualquier paquete <strong>de</strong> datos <strong>de</strong> comando<br />

que ha recibido.<br />

Ya que los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 se consi<strong>de</strong>ran como “dispositivos<br />

finales” (la transmisión <strong>de</strong>l paquete <strong>de</strong> datos se <strong>de</strong>tiene en el procesador), no se hace<br />

caso <strong>de</strong> las direcciones <strong>de</strong> <strong>de</strong>stino y fuente en el paquete <strong>de</strong> datos. Si usa un mó<strong>de</strong>m<br />

con el canal 0 DF1 en el modofull–duplex, éste <strong>de</strong>be tener capacidad <strong>de</strong> funcionar<br />

en el modo <strong>de</strong> full–duplex. Típicamente, un mó<strong>de</strong>m <strong>de</strong> marcado se usa para la<br />

comunicación por líneas telefónicas.<br />

12–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Parámetros <strong>de</strong> configuración <strong>de</strong> canal 0 <strong>de</strong> duplex total DF1<br />

12–20<br />

Cuando el variador <strong>de</strong>l modo <strong>de</strong> sistema es un duplex total DF1 para canal 0, los<br />

parámetros siguientes se pue<strong>de</strong>n cambiar:<br />

Parámetro Descripción<br />

Archivo diagnóstico Reservado para uso futuro.<br />

Velocidad en<br />

baudios<br />

Alterna entre la velocidad <strong>de</strong> comunicación <strong>de</strong> 110, 300, 600, 1200, 2400,<br />

4800, 9600 y 19200. El valor pre<strong>de</strong>terminado es 1200.<br />

Paridad Alterna entre Ninguna y Par. El valor pre<strong>de</strong>terminado es Ninguna.<br />

Bits <strong>de</strong> <strong>de</strong>tención Alterna entre 1, 1.5 y 2. El valor pre<strong>de</strong>terminado es 1.<br />

Detección <strong>de</strong> Alterna entre inhabilitado y habilitado. El valor pre<strong>de</strong>terminado es<br />

paquete duplicado Habilitado.<br />

Detección <strong>de</strong> error Alterna entre CRC y BCC. El valor pre<strong>de</strong>terminado es CRC.<br />

Límite <strong>de</strong> tiempo El rango válido es 2–65535 (en incrementos <strong>de</strong> 20 ms). El valor<br />

sobrepasado ACK pre<strong>de</strong>terminado es 50.<br />

Reintentos NAK El rango válido es 0–255. El valor pre<strong>de</strong>terminado es 3.<br />

Reintentos ENQ El rango válido es 0–255. El valor pre<strong>de</strong>terminado es 3.<br />

Línea <strong>de</strong> control<br />

Respuestas<br />

incorporadas<br />

ID <strong>de</strong> fuente<br />

Alterna entre Sin comunicación y mó<strong>de</strong>m <strong>de</strong> full–duplex El valor<br />

pre<strong>de</strong>terminado es Sin handshaking.<br />

Alterna entre Habilitado y Detección automática. El valor pre<strong>de</strong>terminado<br />

es Habilitado.<br />

Especifique la dirección <strong>de</strong>l transmisor en este campo. El rango válido es<br />

0–254. El valor pre<strong>de</strong>terminado es 9.


Full–duplex (punto a punto)<br />

Full–duplex (punto a punto)<br />

Full–duplex<br />

Mó<strong>de</strong>m<br />

Protocolo DF1<br />

Canal 1<br />

DH-485<br />

<strong>1747</strong>-CP3<br />

Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

Canal 1<br />

DH-485<br />

<strong>SLC</strong> 5/03 CPU<br />

(<strong>1747</strong>-L532)<br />

<strong>SLC</strong> 5/03 CPU<br />

(<strong>1747</strong>-L532)<br />

Mó<strong>de</strong>m<br />

Canal 0<br />

RS-232<br />

Canal 0<br />

RS-232<br />

12–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

12–22<br />

Full–duplex (red)<br />

Mó<strong>de</strong>m<br />

Acoplador <strong>de</strong><br />

vínculo<br />

(<strong>1747</strong>-AIC)<br />

Computadora principal<br />

con capacidad <strong>de</strong> llamar y<br />

crear interface con una<br />

red a la vez.<br />

<strong>1747</strong>-AIC<br />

<strong>1747</strong>-AIC<br />

Mó<strong>de</strong>m<br />

Módulo <strong>de</strong> interface<br />

(<strong>1747</strong>-KE)<br />

Mó<strong>de</strong>m<br />

Mó<strong>de</strong>m<br />

Canal 1<br />

DH-485<br />

<strong>SLC</strong> 5/03 CPU<br />

(<strong>1747</strong>-L532)<br />

<strong>SLC</strong> 5/03 CPU<br />

(<strong>1747</strong>-L532)<br />

Canal 0<br />

RS-232<br />

Esta configuración permite que la computadora principal llame a más <strong>de</strong> una<br />

red remota. Cada red remota pue<strong>de</strong> tener un máximo <strong>de</strong> 31 nodos <strong>SLC</strong>.


Protocolo maestro/esclavo <strong>de</strong> half–duplex DF1<br />

Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

El protocolo maestro/esclavo <strong>de</strong> half–duplex DF1 proporciona una red <strong>de</strong> múltiples<br />

conexiones <strong>de</strong> un solo maestro/esclavos múltiples. A diferencia <strong>de</strong>l full–duplex<br />

DF1, la comunicación se realiza en una dirección a la vez. Pue<strong>de</strong> usar canal 0 como<br />

puerto <strong>de</strong> programación o como puerto <strong>de</strong> dispositivos semejantes usando la<br />

instrucción MSG.<br />

El dispositivo maestro inicia toda la comunicación “encuestando” cada dispositivo<br />

esclavo. El dispositivo esclavo solamente pue<strong>de</strong> transmitir paquetes <strong>de</strong> datos<br />

cuando es encuestado por el maestro. Es la responsabilidad <strong>de</strong>l maestro encuestar<br />

cada esclavo <strong>de</strong> manera sistemática y secuencial para recolectar datos. Durante una<br />

secuencia <strong>de</strong> encuesta, el maestro encuesta un esclavo repetidamente hasta que el<br />

esclavo indique que ya no tiene paquetes <strong>de</strong> transmitir. Luego el maestro transmite<br />

los paquetes <strong>de</strong> datos por dicho esclavo.<br />

Varios productos <strong>de</strong> Allen-Bradley tienen capacidad para el protocolo maestro <strong>de</strong><br />

half–duplex. Incluyen el módulo 177-KGm (para controladores PLC-2) y los<br />

procesadores PLC-5/11, -5/20, -5/30, -5/40, -5/40L, -5/60, -5/60L, -5/80, -5/20E,<br />

-5/40E y -5/80E. El software ControlView y ControlView 300 también tiene<br />

capacidad para el protocolo maestro <strong>de</strong> half–duplex con la opción SCADA<br />

(6190-SCA).<br />

Típicamente, el maestro tiene dos tablas separadas – una para los esclavos en línea y<br />

otra para los esclavos fuera <strong>de</strong> línea. Los esclavos en línea son encuestados <strong>de</strong><br />

manera sistemática. Los esclavos fuera <strong>de</strong> línea son encuestados <strong>de</strong> vez en cuando<br />

para verificar si uno ha entrado en línea.<br />

Un dispositivo maestro tiene capacidad para el encaminamiento <strong>de</strong> paquetes <strong>de</strong><br />

datos <strong>de</strong>s<strong>de</strong> un esclavo al otro.<br />

El half–duplex DF1 tiene capacidad hasta para 255 dispositivos esclavos (dirección<br />

0 a 254) con dirección 255 reservada para multidifusiones maestras. Los tipos <strong>de</strong><br />

mó<strong>de</strong>m <strong>de</strong> half–duplex o full–duplex se pue<strong>de</strong>n usar para la red <strong>de</strong> half-duplex DF1.<br />

El <strong>SLC</strong> 5/03 tiene capacidad para la recepción <strong>de</strong> multidifusiones. El <strong>SLC</strong> 5/03 no<br />

pue<strong>de</strong> iniciar una multidifusión.<br />

12–23


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Parámetros <strong>de</strong> configuración <strong>de</strong> canal 0 <strong>de</strong>l esclavo <strong>de</strong> half–duplex DF1<br />

12–24<br />

Cuando el modo <strong>de</strong> sistema es el esclavo <strong>de</strong> half–duplex DF1 para el canal 0, los<br />

parámetros siguientes se pue<strong>de</strong>n cambiar:<br />

Parámetro Descripción<br />

Archivo diagnóstico Reservado para uso futuro.<br />

Alterna entre la velocidad <strong>de</strong> comunicación <strong>de</strong> 110, 300, 600,<br />

Velocidad en baudios 1200, 2400, 4800, 9600 y 19200. El valor pre<strong>de</strong>terminado es<br />

1200.<br />

Paridad Alterna entre Ninguna y Par. El valor pre<strong>de</strong>terminado es Ninguna.<br />

Bits <strong>de</strong> <strong>de</strong>tención Alterna entre 1, 1.5 y 2. El valor pre<strong>de</strong>terminado es 1.<br />

Dirección <strong>de</strong> estación El rango válido es 0–254 <strong>de</strong>cimal. El valor pre<strong>de</strong>terminado es 1.<br />

Detección <strong>de</strong> paquete<br />

Alterna entre Habilitada e Inhabilitada. El valor pre<strong>de</strong>terminado es<br />

Habilitada.<br />

Detección <strong>de</strong> error Alterna entre CRC y BCC. El valor pre<strong>de</strong>terminado es CRC.<br />

Retardo <strong>de</strong> <strong>de</strong>sactivación<br />

RTS<br />

Retardo <strong>de</strong> transmisión RTS<br />

Límite <strong>de</strong> tiempo<br />

sobrepasado <strong>de</strong> encuesta<br />

Retardo <strong>de</strong> tiempo <strong>de</strong><br />

transmisión previa<br />

Reintentos <strong>de</strong> mensaje<br />

Línea <strong>de</strong> control<br />

Le permite seleccionar el valor <strong>de</strong> retardo <strong>de</strong> <strong>de</strong>sactivación RTS<br />

en incrementos <strong>de</strong> 20 ms. El rango válido es 0–65535. El valor<br />

pre<strong>de</strong>terminado es 0.<br />

Le permite seleccionar el valor <strong>de</strong> retardo <strong>de</strong> transmisión RTS en<br />

incrementos <strong>de</strong> 20 ms. El rango válido es 0–65535. El valor<br />

pre<strong>de</strong>terminado es 0.<br />

Le permite seleccionar el valor <strong>de</strong> límite <strong>de</strong> tiempo sobrepasado <strong>de</strong><br />

encuesta maestro en incrementos <strong>de</strong> 20 ms. El valor<br />

pre<strong>de</strong>terminado es 50. El rango válido es 0–65535.<br />

Le permite seleccionar el retardo <strong>de</strong> tiempo <strong>de</strong> transmisión previa<br />

RTS en incrementos <strong>de</strong> 20 ms. El rango válido es 0–65535.<br />

Le permite seleccionar el valor <strong>de</strong> reintentos <strong>de</strong> mensaje. El rango<br />

válido es 0–255. El valor pre<strong>de</strong>terminado es 3.<br />

Alterna entre Ninguna comunicación, half–duplex con portadora<br />

continua yhalf–duplex sin portadora continua. El valor<br />

pre<strong>de</strong>terminado es Ninguna comunicación.<br />

Supresión EOT Alterna entre Sí y No. El valor pre<strong>de</strong>terminado es No.


Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

Parámetros <strong>de</strong> configuración <strong>de</strong> canal 0 <strong>de</strong>l maestro <strong>de</strong> half–duplex DF1<br />

Cuando el variador <strong>de</strong>l modo <strong>de</strong> sistema es el maestro <strong>de</strong> medio duplex DF1 para<br />

canal 0, los parámetros siguientes se pue<strong>de</strong>n cambiar:<br />

Parámetro Descripción<br />

Archivo diagnóstico Reservado para uso futuro.<br />

Velocidad en baudios<br />

Alterna entre la velocidad <strong>de</strong> comunicación <strong>de</strong> 110, 300, 600,<br />

1200, 2400, 4800, 9600 y 19200.<br />

Paridad Alterna entre Ninguna y Par. El valor pre<strong>de</strong>terminado es Ninguna.<br />

Bits <strong>de</strong> <strong>de</strong>tención Alterna entre 1, 1.5 y 2. El valor pre<strong>de</strong>terminado es 1.<br />

Dirección <strong>de</strong> estación El rango válido es 0–254 <strong>de</strong>cimal. El valor pre<strong>de</strong>terminado es 1.<br />

Detección <strong>de</strong> paquete<br />

duplicado<br />

Alterna entre Habilitada e Inhabilitada. El valor pre<strong>de</strong>terminado es<br />

Habilitada.<br />

Detección <strong>de</strong> error Alterna entre CRC y BCC. El valor pre<strong>de</strong>terminado es CRC.<br />

Límite <strong>de</strong> tiempo<br />

sobrepasado ACK<br />

Retardo <strong>de</strong> <strong>de</strong>sactivación<br />

RTS<br />

Reintentos <strong>de</strong> mensaje<br />

Retardo <strong>de</strong> transmisión RTS<br />

Retardo <strong>de</strong> tiempo <strong>de</strong><br />

transmisión previa<br />

Línea <strong>de</strong> control<br />

Modo <strong>de</strong> encuesta<br />

Encuesta <strong>de</strong> prioridad – baja<br />

Encuesta normal – baja<br />

Encuesta <strong>de</strong> prioridad – alta<br />

Encuesta normal – alta<br />

Tiempo <strong>de</strong> espera <strong>de</strong>l<br />

mensaje <strong>de</strong> respuesta<br />

Tamaño <strong>de</strong>l grupo <strong>de</strong><br />

encuesta normal<br />

El permite seleccionar el valor <strong>de</strong> límite <strong>de</strong> tiempo sobrepasado<br />

ACK en incrementos <strong>de</strong> 20 ms. El rango válido es 0–65535.<br />

Le permite seleccionar el valor <strong>de</strong> retardo <strong>de</strong> <strong>de</strong>sactivación RTS<br />

en incrementos <strong>de</strong> 20 ms. El rango válido es 0–65535. El valor<br />

pre<strong>de</strong>terminado es 0.<br />

Le permite seleccionar el valor <strong>de</strong> reintentos <strong>de</strong> mensaje. El rango<br />

válido es 0–255. El valor pre<strong>de</strong>terminado es 3.<br />

Le permite seleccionar el valor <strong>de</strong> retardo <strong>de</strong> transmisión RTS en<br />

incrementos <strong>de</strong> 20 ms. El rango válido es 0–65535. El valor<br />

pre<strong>de</strong>terminado es 0.<br />

Le permite seleccionar el valor <strong>de</strong> retardo <strong>de</strong> tiempo <strong>de</strong><br />

transmisión previa RTS en incrementos <strong>de</strong> 20 ms. El rango válido<br />

es 0–65535.<br />

Alterna entre Ninguna comunicación, Mó<strong>de</strong>m <strong>de</strong> full–duplex y<br />

half–duplex sin portadora continua.<br />

Alterna entre Basado en mensaje (no permite que el esclavo inicie<br />

mensajes), Basado en mensaje (permite que el esclavo inicie<br />

mensajes), Estándar (transferencia <strong>de</strong> un solo mensaje por escán<br />

<strong>de</strong> nodo) y Estándar (transferencia <strong>de</strong> mensajes múltiples por<br />

escán <strong>de</strong> nodo)<br />

Le permite seleccionar la dirección baja <strong>de</strong>l rango <strong>de</strong> encuesta <strong>de</strong><br />

prioridad. El rango válido es 0–255.<br />

Le permite seleccionar la dirección baja <strong>de</strong>l rango <strong>de</strong> encuesta<br />

normal. El rango válido es 0–255.<br />

Le permite seleccionar la dirección alta <strong>de</strong>l rango <strong>de</strong> encuesta <strong>de</strong><br />

prioridad. El rango válido es 0–254.<br />

Le permite seleccionar la dirección alta <strong>de</strong>l rango <strong>de</strong> encuesta<br />

normal. El rango válido es 0–254.<br />

Le permite seleccionar el establecimiento <strong>de</strong>l tiempo <strong>de</strong> espera <strong>de</strong>l<br />

mensaje <strong>de</strong> respuesta en incrementos <strong>de</strong> 20 ms. El rango válido<br />

es 0–65535.<br />

Le permite seleccionar el tamaño <strong>de</strong>l grupo <strong>de</strong> encuesta normal.<br />

El rango válido es 0–255.<br />

12–25


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

12–26<br />

RS-232<br />

(protocolo DF1)<br />

Mó<strong>de</strong>m<br />

Mó<strong>de</strong>m Mó<strong>de</strong>m Mó<strong>de</strong>m Mó<strong>de</strong>m Mó<strong>de</strong>m<br />

El controlador<br />

modular <strong>de</strong>l<br />

procesador <strong>SLC</strong> 5/02<br />

con módulo <strong>de</strong><br />

interface <strong>1747</strong>-KE<br />

Controlador modular<br />

<strong>de</strong>l procesador<br />

<strong>SLC</strong> 5/03<br />

ControlView 300 ó software<br />

<strong>de</strong> otros fabricantes<br />

ejecutando el protocolo<br />

DF1 (maestro)<br />

Controlador modular<br />

<strong>de</strong>l procesador<br />

<strong>SLC</strong> 5/03<br />

El controlador<br />

modular <strong>de</strong>l<br />

procesador <strong>SLC</strong> 5/01<br />

con módulo <strong>de</strong><br />

interface <strong>1747</strong>-KE<br />

Controlador <strong>de</strong> E/S<br />

fijo <strong>SLC</strong> <strong>500</strong> con<br />

módulo <strong>de</strong><br />

interface <strong>1747</strong>-KE


Vínculo <strong>de</strong> múltiples<br />

conexiones DH-485<br />

Controlador modular <strong>de</strong>l<br />

procesador <strong>SLC</strong> 5/02 con<br />

módulo <strong>de</strong> interface<br />

<strong>1747</strong>-KE<br />

RS-232<br />

(DF1 protocolo)<br />

Mó<strong>de</strong>m<br />

Acoplador <strong>de</strong> vínculo<br />

<strong>1747</strong>-AIC<br />

Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

Mó<strong>de</strong>m<br />

ControlView 300 ó<br />

software <strong>de</strong> otros fabricantes<br />

ejecutando el<br />

protocolo DF1<br />

(maestro)<br />

Módulo <strong>de</strong> interface<br />

<strong>1747</strong>-KE<br />

<strong>1747</strong>–AIC <strong>1747</strong>–AIC<br />

Controlador modular <strong>de</strong>l<br />

procesador <strong>SLC</strong> 5/01<br />

12–27


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

12–28<br />

Half–duplex DF1 con<br />

encaminamiento <strong>de</strong><br />

esclavo a esclavo<br />

RS-232<br />

(DF1 protocolo)<br />

Mó<strong>de</strong>m<br />

Mó<strong>de</strong>m Mó<strong>de</strong>m<br />

Controlador modular <strong>de</strong>l<br />

procesador <strong>SLC</strong> 5/03<br />

ControlView 300 ó software<br />

<strong>de</strong> otros fabricantes<br />

ejecutando el<br />

protocolo DF1 (maestro)<br />

Línea arrendada<br />

Controlador modular <strong>de</strong>l<br />

procesador <strong>SLC</strong> 5/03


Half–duplex DF1 con<br />

DH-485 <strong>de</strong> punto a punto<br />

RS-232<br />

(DF1 protocolo)<br />

DF1<br />

Mó<strong>de</strong>m<br />

<strong>1747</strong>–AIC<br />

Mó<strong>de</strong>m<br />

Controlador modular <strong>de</strong>l<br />

procesador <strong>SLC</strong> 5/02 con<br />

módulo <strong>de</strong> interface<br />

<strong>1747</strong>-KE (esclavo)<br />

Módulo <strong>de</strong> interface<br />

<strong>1747</strong>-KE<br />

Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

ControlView 300 ó<br />

software <strong>de</strong> otros<br />

fabricantes ejecutando<br />

el protocolo DF1<br />

(maestro)<br />

<strong>1747</strong>–AIC <strong>1747</strong>–AIC<br />

Controlador modular<br />

<strong>de</strong>l procesador<br />

<strong>SLC</strong> 5/01<br />

Controlador <strong>de</strong> E/S<br />

compacto <strong>SLC</strong> <strong>500</strong><br />

12–29


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Consi<strong>de</strong>raciones cuando comunica como esclavo DF1 en un vínculo <strong>de</strong><br />

múltiples conexiones<br />

12–30<br />

Cuando hay comunicación entre su software <strong>de</strong> programación y un procesador <strong>SLC</strong><br />

5/03 ó entre dos procesadores <strong>SLC</strong> 5/03 vía una conexión <strong>de</strong> esclavo a esclavo en un<br />

vínculo <strong>de</strong> múltiples conexiones, los dispositivos <strong>de</strong>pen<strong>de</strong>n <strong>de</strong> un maestro DF1 para<br />

que les dé a cada uno permiso <strong>de</strong> transmitir oportunamente. A medida que el<br />

número <strong>de</strong> esclavos vaya incrementando en el vínculo (hasta 255) el tiempo entre<br />

las encuestas <strong>de</strong> su software <strong>de</strong> programación o el procesador <strong>SLC</strong> 5/03 también<br />

incrementa. Este incremento <strong>de</strong> tiempo pue<strong>de</strong> aumentar si usa velocida<strong>de</strong>s en<br />

baudios bajas.<br />

A medida que estos períodos <strong>de</strong> tiempo aumentan, pue<strong>de</strong> ser necesario cambiar los<br />

valores siguientes para evitar la pérdida <strong>de</strong> comunicación:<br />

• software <strong>de</strong> programación – valores <strong>de</strong> límite <strong>de</strong> tiempo <strong>de</strong> encuesta<br />

sobrepasado y límite <strong>de</strong> tiempo <strong>de</strong> respuesta sobrepasado<br />

• procesador <strong>SLC</strong> 5/03 – valores <strong>de</strong> límite <strong>de</strong> tiempo <strong>de</strong> encuesta sobrepasado y<br />

límite <strong>de</strong> tiempo sobrepasado <strong>de</strong> propietario <strong>de</strong> recurso/archivo <strong>de</strong> edición<br />

Si usa <strong>instrucciones</strong> MSG entre los procesadores <strong>SLC</strong> 5/03, también es posible que<br />

el valor <strong>de</strong> límite <strong>de</strong> tiempo sobrepasado MSG en el bloque <strong>de</strong> control tenga que ser<br />

cambiado para comunicación <strong>de</strong> esclavo a esclavo fiable en la red <strong>de</strong> múltiples<br />

conexiones.


Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

Cómo usar mó<strong>de</strong>ms que tienen capacidad para<br />

protocolos <strong>de</strong> comunicación DF1<br />

Mó<strong>de</strong>ms <strong>de</strong> línea telefónica<br />

Los tipos <strong>de</strong> mó<strong>de</strong>ms que pue<strong>de</strong> usar con el procesador <strong>SLC</strong> 5/03 incluyen mó<strong>de</strong>ms<br />

<strong>de</strong> línea telefónica, mó<strong>de</strong>ms <strong>de</strong> marcado DTR, controladores <strong>de</strong> línea, mó<strong>de</strong>ms <strong>de</strong><br />

radio y mó<strong>de</strong>ms <strong>de</strong> vínculo por satélite.<br />

Lo siguiente explica cómo usar los mó<strong>de</strong>ms <strong>de</strong> línea telefónica con protocolos <strong>de</strong><br />

comunicación DF1.<br />

Nota Los mó<strong>de</strong>ms <strong>de</strong> línea telefónica tienen capacidad para la comunicación<br />

bidireccional simultánea requerida para el full–duplex DF1. Para la operación<br />

correcta con mó<strong>de</strong>ms <strong>de</strong> full–duplex DF1, siempre seleccione la comunicación <strong>de</strong><br />

mó<strong>de</strong>m <strong>de</strong> full–duplex. Para la operación correcta con el esclavo DF1, seleccione<br />

“mó<strong>de</strong>m <strong>de</strong> half–duplex con portadora continua” a menos que no <strong>de</strong>see cortar la<br />

comunicación automáticamente su usa líneas arrendadas. En tal caso, pue<strong>de</strong> usar<br />

el “mó<strong>de</strong>m <strong>de</strong> half–duplex sin portadora continua”.<br />

Mó<strong>de</strong>ms manuales<br />

Mó<strong>de</strong>ms <strong>de</strong> contestación automática<br />

Estos son típicamente mó<strong>de</strong>ms acoplados acústicamente. La conexión está<br />

establecida por una persona en cada extremo <strong>de</strong> la línea telefónica. Estas personas<br />

insertan los auriculares en un acoplador acústico para finalizar la conexión.<br />

Estos mó<strong>de</strong>ms no atendidos se conectan directamente a las líneas telefónicas. Según<br />

la versatilidad <strong>de</strong>l mó<strong>de</strong>m, es posible que usted pueda programarlo bajo varias<br />

condiciones. Sin embargo, el mó<strong>de</strong>m típicamente <strong>de</strong>be afirmar DSR para indicar<br />

que está conectado al DTE y usted <strong>de</strong>be programarlo para que conteste solamente si<br />

<strong>de</strong>tecta DTR. Una vez que el mó<strong>de</strong>m contesta una llamada y establece una señal <strong>de</strong><br />

portadora con el mó<strong>de</strong>m remoto, es posible que active la señal DCD.<br />

12–31


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Mó<strong>de</strong>ms <strong>de</strong> <strong>de</strong>sconexión automática<br />

Mó<strong>de</strong>ms <strong>de</strong> discado automático<br />

Mó<strong>de</strong>ms con líneas arrendadas<br />

Mó<strong>de</strong>ms con discado DTR<br />

12–32<br />

Típicamente, los mó<strong>de</strong>ms que tienen capacidad para la contestación automática <strong>de</strong><br />

datos también tienen capacidad para la <strong>de</strong>sconexión automática don<strong>de</strong> el DTE pue<strong>de</strong><br />

forzar que el mó<strong>de</strong>m corte la conexión <strong>de</strong>jando caer el DTR por un momento.<br />

Estos mó<strong>de</strong>ms generalment se cuelgan por sí mismos si se pier<strong>de</strong> el vínculo <strong>de</strong><br />

portadora con un mó<strong>de</strong>m <strong>de</strong> distancia. Sin embargo, si un mó<strong>de</strong>m <strong>de</strong>terminado no<br />

se cuelga, el procesador <strong>SLC</strong> 5/03, si está configurado correctamente, forzará la<br />

<strong>de</strong>sconexión interrumpiendo el DTR si DCD se interrumpe (es <strong>de</strong>cir, el vínculo <strong>de</strong><br />

portadora <strong>de</strong>l mó<strong>de</strong>m se pier<strong>de</strong>) durante más <strong>de</strong> 10 segundos. Cuando use el<br />

full–duplex DF1, seleccione la comunicación <strong>de</strong> “mó<strong>de</strong>m <strong>de</strong> full–duplex”. Cuando<br />

use el half–duplex DF1, seleccione la comunicación <strong>de</strong> “mó<strong>de</strong>m <strong>de</strong> half–duplex con<br />

portadora continua” para habilitar esta operación.<br />

Los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 tienen capacidad para la operación <strong>de</strong> discado<br />

automático normal. El discado automático más común se encuentra en el uso <strong>de</strong> los<br />

mó<strong>de</strong>ms Hayes y los mó<strong>de</strong>ms compatibles con Hayes que aceptan ca<strong>de</strong>nas en serie<br />

especiales para su DTE local, que son parte <strong>de</strong>l conjunto <strong>de</strong> comandos Hayes. Estas<br />

ca<strong>de</strong>nas también se pue<strong>de</strong>n usar para iniciar el discado a un número telefónico<br />

especificado a<strong>de</strong>más <strong>de</strong> programar otros parámetros operacionales. Use la instrucción<br />

<strong>de</strong> escritura ASCII para iniciar un marcado automático <strong>de</strong> ca<strong>de</strong>na <strong>de</strong> mó<strong>de</strong>m. El bit <strong>de</strong><br />

archivo <strong>de</strong> estado S:5/14 permite que su programa <strong>de</strong>tecte una conexión. Refiérase a su<br />

manual <strong>de</strong> usuario <strong>de</strong> software <strong>de</strong> programación para obtener más información acerca<br />

<strong>de</strong> las <strong>instrucciones</strong> y bits <strong>de</strong> archivo <strong>de</strong> estado.<br />

También conocidos como conexiones <strong>de</strong> línea privada, estos vínculos <strong>de</strong><br />

comunicación usan una línea <strong>de</strong> teléfono <strong>de</strong>dicada arrendada <strong>de</strong> la compañía<br />

telefónica. Pue<strong>de</strong>n ser vínculos <strong>de</strong> punto a punto o maestro a esclavos múltiples (es<br />

<strong>de</strong>cir, multicaídas).<br />

Estos mó<strong>de</strong>ms inician el discado <strong>de</strong> un número previamente programado cuando<br />

DTR efectúa una transición <strong>de</strong> activado a <strong>de</strong>sactivado. Para programar la ca<strong>de</strong>na <strong>de</strong><br />

inicialización y el número telefónico <strong>de</strong> mó<strong>de</strong>m en la memoria interna <strong>de</strong>l mó<strong>de</strong>m,<br />

use una terminal ficticia (o PC con software <strong>de</strong> emulación <strong>de</strong> terminal tal como<br />

Procomm, Window’s Terminal o PBASE). A continuación aparece un ejemplo <strong>de</strong><br />

cómo programar un mó<strong>de</strong>m <strong>de</strong> discado DTR usando su software <strong>de</strong> programación.


Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

Para programar un Multimo<strong>de</strong>m V32 <strong>de</strong> Multi–Tech Systems, Inc., haga lo siguiente:<br />

1. Establezca los valores en la memoria <strong>de</strong>l mó<strong>de</strong>m a los valores pre<strong>de</strong>terminados.<br />

Introduzca la ca<strong>de</strong>na siguiente:<br />

AT&W1Z<br />

Secuencia <strong>de</strong><br />

ca<strong>de</strong>na<br />

AT Atención<br />

&W1Z<br />

Definida<br />

Establece los valores en la memoria <strong>de</strong>l mó<strong>de</strong>m a los valores<br />

pre<strong>de</strong>terminados.<br />

2. Para inicializar el mó<strong>de</strong>m, introduzca la ca<strong>de</strong>na siguiente:<br />

ATD4140000000TN0$BA0$SB1200$MB1200$D1&W0<br />

Secuencia <strong>de</strong> ca<strong>de</strong>na <strong>de</strong><br />

inicialización<br />

AT Atención<br />

D4140000000TN0<br />

Definida<br />

Almacena números telefónicos en memoria (tono, no.<br />

telefónico, 0).<br />

$BA0 Ajuste <strong>de</strong> baudio <strong>de</strong>sactivado<br />

$SB1200 Establece el puerto en serie a 1200 Baud.<br />

$MB1200 Establece el puerto <strong>de</strong> teléfono a 1200 Baud.<br />

$D1 Habilita el discado DTR.<br />

&W0<br />

Reemplaza “4140000000” con el número telefónico que <strong>de</strong>sea discar.<br />

Almacena <strong>de</strong> modo permanente estos comandos en<br />

memoria <strong>de</strong> mó<strong>de</strong>m.<br />

3. Una vez que usted ha programado el mó<strong>de</strong>m, active la señal DTR para que<br />

disque el número o <strong>de</strong>sactive la señal DTR para terminar la llamada (colgar).<br />

Mó<strong>de</strong>ms controladores <strong>de</strong> línea (corto alcance)<br />

También llamados mó<strong>de</strong>ms <strong>de</strong> corto alcance, estos dispositivos no modulan los<br />

datos <strong>de</strong> serie. En cambio, acondicionan la señal para operar en un medio fisico<br />

diferente (tal como RS-485) para que las longitu<strong>de</strong>s <strong>de</strong> transmisión extensas<br />

(generalmente <strong>de</strong> algunos kilómetros) tengan capacidad. Si un variador <strong>de</strong> línea<br />

tiene capacidad para un puerto compatible <strong>de</strong> RS232-DCE, usted probablemente<br />

pue<strong>de</strong> usarlo con el canal RS-232 <strong>de</strong> los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04.<br />

Si los controladores <strong>de</strong> línea se <strong>de</strong>ben usar con el full–duplex DF1, es necesario que<br />

tengan capacidad para un circuito <strong>de</strong> full–duplex (también conocido como circuito<br />

<strong>de</strong> 4 cables).<br />

12–33


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Mó<strong>de</strong>ms <strong>de</strong> radio<br />

12–34<br />

Los controladores <strong>de</strong> línea con capacidad <strong>de</strong> full–duplex (circuito <strong>de</strong> 4 cables)<br />

también son preferidos con el half–duplex DF1 porque el maestro pue<strong>de</strong> tener su<br />

propio canal <strong>de</strong>dicado para comunicarse con los esclavos.<br />

Si un controlador <strong>de</strong> línea sólo tiene capacidad para circuitos <strong>de</strong> half–duplex<br />

(circuito <strong>de</strong> 2 cables), el maestro así como los esclavos usan la comunicación<br />

RTS/CTS para realizar una transmisión. Esto introduce una <strong>de</strong>mora cuando el<br />

maestro realiza una transmisión.<br />

Típicamente, cuando configure el <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 para el esclavo <strong>de</strong><br />

half–duplex DF1, use el “mó<strong>de</strong>m <strong>de</strong> half–duplex sin portadora continua”.<br />

También pue<strong>de</strong> usar los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 con un vínculo <strong>de</strong> radio<br />

vía mó<strong>de</strong>ms <strong>de</strong> radio. Esto establece un vínculo <strong>de</strong> múltiples conexiones <strong>de</strong>dicado.<br />

Los vínculos <strong>de</strong> radio frecuentemente se usan en zonas don<strong>de</strong> no existe acceso a<br />

líneas telefónicas o don<strong>de</strong> su uso es muy costoso.<br />

Los mó<strong>de</strong>ms <strong>de</strong> radio se pue<strong>de</strong>n comprar como unidad <strong>de</strong> radio/mó<strong>de</strong>m integral o<br />

configurados usando un mó<strong>de</strong>m y radio comprados separadamente. Si se compra<br />

separadamente, la radio necesita una señal <strong>de</strong> entrada para regular el transmisor. En<br />

muchos casos, RTS se pue<strong>de</strong> usar como dicha entrada.<br />

El canal <strong>de</strong> serie <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04, cuando está configurado para el esclavo <strong>de</strong><br />

half–duplex DF1, tiene un retardo ajustable entre el momento en que RTS se<br />

encien<strong>de</strong> y cuando los datos son transmitidos. De este modo se pue<strong>de</strong>n usar los<br />

mó<strong>de</strong>ms <strong>de</strong> radio con una amplia gama <strong>de</strong> requisitos <strong>de</strong> temporización, hasta los<br />

tipos que no proporcionan una señal CTS verda<strong>de</strong>ra al DTE conectado a sí mismos.<br />

El mó<strong>de</strong>m <strong>de</strong> radio que usted escoge para crear un interface con un módulo <strong>de</strong><br />

comunicación RS-232 <strong>de</strong> Allen-Bradley usando el protocolo <strong>de</strong> half–duplex <strong>de</strong>be<br />

poseer las características siguientes. Debe:<br />

• tener capacidad para la comunicación RS-232 estándar <strong>de</strong>scrita anteriormente y<br />

en el manual <strong>de</strong> módulo <strong>de</strong> comunicación RS-232 <strong>de</strong> Allen-Bradley<br />

• tener capacidad para la velocidad <strong>de</strong> transmisión a que opera su módulo <strong>de</strong><br />

comunicación RS-232 <strong>de</strong> Allen-Bradley<br />

• po<strong>de</strong>r operar en un vínculo <strong>de</strong> radio <strong>de</strong> múltiples conexiones <strong>de</strong> half–duplex<br />

• po<strong>de</strong>r crear un interface con un dispositivo <strong>de</strong> comunicación asíncrono<br />

• po<strong>de</strong>r funcionar en un modo “transparente”, que permita que los datos pasen<br />

sobre el vínculo sin ser modificados.


Mó<strong>de</strong>ms <strong>de</strong> vínculo por satélite<br />

Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

Para optimizar el rendimiento, seleccione un mó<strong>de</strong>m que tenga un retardo RTS-CTS<br />

mínimo. Este retardo <strong>de</strong> tiempo es <strong>de</strong>terminado generalmente por el tiempo<br />

necesario para activar el mó<strong>de</strong>m y estabilizar la portadora.<br />

El interface con estos mó<strong>de</strong>ms es semejante a los interfaces <strong>de</strong> mó<strong>de</strong>ms <strong>de</strong> radio.<br />

Operación <strong>de</strong> línea <strong>de</strong> control <strong>de</strong> mó<strong>de</strong>m en los<br />

procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04<br />

Full–duplex DF1<br />

Lo siguiente explica la operación <strong>de</strong> los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 cuando<br />

configura el canal RS232 para las aplicaciones siguientes.<br />

Cuando configura los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 para el full–duplex DF1,<br />

la operación <strong>de</strong> línea <strong>de</strong> control siguiente se realiza:<br />

Comunicación no seleccionada — El DTR siempre está activo y el RTS siempre<br />

está inactivo. Las recepciones y transmisiones toman lugar a pesar <strong>de</strong> los estados <strong>de</strong><br />

entradas DSR, CTS o DCD. Esta selección solamente se <strong>de</strong>be hacer cuando los<br />

procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 están conectados directamente a otro dispositivo<br />

DTE.<br />

Mó<strong>de</strong>m <strong>de</strong> full–duplex seleccionado — El DTR y el RTS siempre están activos<br />

excepto durante los períodos siguientes. Si DSR se activa, DTR y RTS se<br />

interrumpen durante 1 a 2 segundos y luego se reactivan. El bit <strong>de</strong> mó<strong>de</strong>m perdido<br />

(S:5/14) se activa inmediatamente. Mientras DSR esté inactivo, no se hace caso <strong>de</strong>l<br />

estado <strong>de</strong> DCD. No se realizan recepciones ni transmisiones.<br />

Si DCD se <strong>de</strong>sactiva mientras DSR esté activo, las recepciones no se permiten. Si<br />

DCD permanece inactivo durante 9 a 10 segundos, DTR se establece activo hasta<br />

que DSR se <strong>de</strong>sactive. En este momento, el bit <strong>de</strong> mó<strong>de</strong>m perdido también se<br />

establece. Si DSR no se <strong>de</strong>sactiva, DTR se vuelve a levantar <strong>de</strong>ntro <strong>de</strong> 5 a 6<br />

segundos.<br />

La transmisión requiere que todas las tres salidas (CTS, DCD y DSR) estén activas.<br />

Cuando DSR y DCD están activos, el bit <strong>de</strong> mó<strong>de</strong>m perdido se restablece.<br />

12–35


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Half–duplex DF1<br />

12–36<br />

Cuando configura los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 para el half–duplex DF1,<br />

la operación <strong>de</strong> línea <strong>de</strong> control siguiente se realiza:<br />

Handshaking no seleccionadol DTR siempre está activo y RTS siempre está<br />

inactivo. Las recepciones y transmisiones toman lugar a pesar <strong>de</strong> los estados <strong>de</strong><br />

entradas DSR, CTS o DCD. Esta selección solamente se <strong>de</strong>be hacer cuando los<br />

procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 están conectados directamente a otro dispositivo<br />

DTE.<br />

Mó<strong>de</strong>m <strong>de</strong> half–duplex con portadora continua seleccionado — DTR siempre<br />

está activo y RTS solamente está activo durante las transmisiones (y cualesquiera<br />

retardos programados antes o <strong>de</strong>spués <strong>de</strong> transmisiones). El manejo <strong>de</strong> DCD y DSR<br />

es idéntico al manejo <strong>de</strong>l mó<strong>de</strong>m <strong>de</strong> full–duplexl. Las transmisiones requieren que<br />

CTS y DSR estén activos.<br />

Mó<strong>de</strong>m <strong>de</strong> half–duplex sin portadora continua seleccionado — Esto es idéntico<br />

al mó<strong>de</strong>m <strong>de</strong> half–duplex con portadora continua excepto que la monitorización <strong>de</strong><br />

CDC no se realiza. DCD todavía es necesario para las recepciones pero no es<br />

requerido para las transmisiones. Las transmisiones todavía requieren CTS y DSR.<br />

El bit <strong>de</strong> mó<strong>de</strong>m perdido se establece solamente cuando DSR esté inactivo.


Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

Parámetros <strong>de</strong> retardo <strong>de</strong> transmisión RTS y retardo <strong>de</strong><br />

<strong>de</strong>sactivación RTS<br />

Por medio <strong>de</strong> su software <strong>de</strong> programación, los parámetros <strong>de</strong> retardo <strong>de</strong> transmisión<br />

RTS y retardo <strong>de</strong> <strong>de</strong>sactivación RTS le ofrecen la flexibilidad <strong>de</strong> seleccionar el<br />

control <strong>de</strong> mó<strong>de</strong>m durante transmisiones. Estos parámetros se aplican únicamente<br />

cuando usted selecciona un mó<strong>de</strong>m <strong>de</strong> half–duplex con o sin portadora continua.<br />

Para uso con mó<strong>de</strong>ms <strong>de</strong> half–duplex que requieren tiempo suplementario para<br />

“regular” su transmisor aun <strong>de</strong>spués <strong>de</strong> activar CTS, el retardo <strong>de</strong> transmisión RTS<br />

especifica, en incrementos <strong>de</strong> milisegundo, la cantidad <strong>de</strong> tiempo <strong>de</strong> retardo <strong>de</strong>spués<br />

<strong>de</strong> activar RTS que se <strong>de</strong>be esperar antes <strong>de</strong> verificar si CTS ha sido activado por el<br />

mó<strong>de</strong>m. Si CTS todavía no está activo, RTS permanece activo y ocurrirá la<br />

transmisión siempre que CTS se active antes <strong>de</strong> transcurrido un segundo. Después<br />

<strong>de</strong> un segundo, si CTS todavía no se ha activado, RTS se establece inactivo y la<br />

transmisión se cancela.<br />

Para los mó<strong>de</strong>m que no proporcionan ninguna señal CTS, ligue RTS a CTS y use el<br />

retardo más breve posible sin per<strong>de</strong>r la operación segura.<br />

Nota Si se selecciona un retardo <strong>de</strong> transmisión RTS <strong>de</strong> 0, la transmisión comienza<br />

cuando CTS se activa. Si CTS no se activa en menos <strong>de</strong> 1 segundo <strong>de</strong>spués <strong>de</strong>l<br />

levantamiento <strong>de</strong> RTS, RTS se establece inactivo y la transmisión se cancela.<br />

Ciertos mó<strong>de</strong>ms interrumpen su vínculo <strong>de</strong> portadora cuando RTS se pier<strong>de</strong>, aun<br />

cuando la transmisión todavía no se ha terminado. El parámetro <strong>de</strong> retardo <strong>de</strong><br />

<strong>de</strong>sactivación RTS especifica, en incrementos <strong>de</strong> 20 milisegundos, el retardo entre el<br />

momento en que el último carácter en serie se envía al mó<strong>de</strong>m y cuando RTS se<br />

<strong>de</strong>sactiva. Esto le proporciona al mó<strong>de</strong>m tiempo suplementario para transmitir el<br />

último carácter <strong>de</strong> un paquete.<br />

12–37


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Protocolo <strong>de</strong> comunicación ASCII<br />

Los procesadores <strong>SLC</strong> 5/03 OS301, OS302 y <strong>SLC</strong> 5/04 OS400, OS401 tienen<br />

capacidad para protocolo ASCII <strong>de</strong>finido por el usuario configurando RS-232 (canal<br />

0) para el modo <strong>de</strong> usuario. En el modo <strong>de</strong> usuario, todos los datos recibidos se<br />

colocan en un búfer. Para obtener acceso a los datos, use las <strong>instrucciones</strong> ASCII en<br />

su programa <strong>de</strong> escalera. Vea el capítulo 10 para obtener más información acerca <strong>de</strong><br />

las <strong>instrucciones</strong> ASCII. También pue<strong>de</strong> enviar datos <strong>de</strong> ca<strong>de</strong>na ASCII a la mayoría<br />

<strong>de</strong> los dispositivos añadidos que aceptan el protocolo ASCII.<br />

Nota Solamente las <strong>instrucciones</strong> ASCII se pue<strong>de</strong>n usar cuando el modo <strong>de</strong> usuario se<br />

configura. Si usa una instrucción <strong>de</strong> mensaje (MSG) que hace referencia a canal 0,<br />

ocurrirá un error.<br />

Configuración <strong>de</strong> parámetro <strong>de</strong> canal 0 ASCII<br />

12–38<br />

Cuando el controlador <strong>de</strong> modo <strong>de</strong> usuario es ASCII genérico para canal 0, los<br />

parámetros siguientes se pue<strong>de</strong>n cambiar:<br />

Parámetro Descripción<br />

Archivo diagnóstico Reservado para uso futuro.<br />

Velocidad en<br />

baudios<br />

Alterna entre la velocidad <strong>de</strong> comunicación <strong>de</strong> 110, 300, 600, 1200, 2400,<br />

4800, 9600 y 19200. El valor pre<strong>de</strong>terminado es 1200.<br />

Paridad Alterna entre Ninguna, Impar y Par. El valor pre<strong>de</strong>terminado es Ninguna.<br />

Bits <strong>de</strong> <strong>de</strong>tención Alterna entre 1, 1.5 y 2. El valor pre<strong>de</strong>terminado es 1.<br />

Bits <strong>de</strong> datos Alterna entre 7 y 8. El valor pre<strong>de</strong>terminado es 8.<br />

Modo <strong>de</strong> eliminación<br />

Echo<br />

Retardo <strong>de</strong><br />

<strong>de</strong>sactivación RTS<br />

Retardo <strong>de</strong><br />

transmisión RTS<br />

Línea <strong>de</strong> control<br />

XON/XOFF<br />

Terminación 1<br />

Terminación 2<br />

Añadir 1<br />

Añadir 2<br />

Alterna entre Ignorar, CRT e impresora. El valor pre<strong>de</strong>terminado es<br />

Ignorar. Este parámetro <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la habilitación <strong>de</strong>l parámetro Echo.<br />

Alterna entre Habilitado e Inhabilitado. El valor pre<strong>de</strong>terminado es<br />

Inhabilitado.<br />

Le permite seleccionar el valor <strong>de</strong> retardo <strong>de</strong> <strong>de</strong>sactivación RTS en<br />

incrementos <strong>de</strong> 20 ms. El rango válido es 0–65535 (en incrementos <strong>de</strong><br />

20 ms). El valor pre<strong>de</strong>terminado es 0.<br />

Le permite seleccionar el valor <strong>de</strong> retardo <strong>de</strong> transmisión RTS en<br />

incrementos <strong>de</strong> 20 ms. El rango válido es 0–65535 (en incrementos <strong>de</strong><br />

20 ms). El valor pre<strong>de</strong>terminado es 0.<br />

Alterna entre Ninguna comunicación, half–duplex con portadora continua,<br />

half–duplex sin portadora continua y Mó<strong>de</strong>m <strong>de</strong> full–duplex. El valor<br />

pre<strong>de</strong>terminado es Ninguna comunicación.<br />

Alterna entre Habilitado e Inhabilitado. El valor pre<strong>de</strong>terminado es<br />

Inhabilitado.<br />

Especifique FF para carácter sin terminación.<br />

Especifique FF para carácter no añadido.


Cómo compren<strong>de</strong>r los protocolos <strong>de</strong> comunicación<br />

Cómo usar las características <strong>de</strong> transferencia<br />

Hay tres tipos <strong>de</strong> transferencia disponibles en los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong><br />

5/04. Su operación y bits asociados se <strong>de</strong>scriben a continuación.<br />

Transferencia DH+ a DH-485 – (Todos los procesadores <strong>SLC</strong> 5/04)<br />

Este tipo permite que el <strong>SLC</strong> 5/04 sirva como puente entre una red DH+ y una red<br />

DH-485. Cuando el bit S:34/0 se restablece, los paquetes <strong>de</strong> comunicación que<br />

entran en el canal 0 (configurado para DH-485), los cuales no están <strong>de</strong>stinados para<br />

el procesador <strong>SLC</strong> 5/04, vuelven a ser enviados <strong>de</strong>s<strong>de</strong> <strong>de</strong>l canal 1 en la red DH+.<br />

A<strong>de</strong>más, los paquetes <strong>de</strong> comunicación que entran en el canal 1 (DH+), los cuales<br />

no están <strong>de</strong>stinados para el procesador <strong>SLC</strong> 5/04, vuelven a ser enviados <strong>de</strong>s<strong>de</strong> el<br />

canal 0 en la red DH-485. Esta actividad tendrá algún efecto en el tiempo <strong>de</strong> escán<br />

<strong>de</strong>l programa <strong>de</strong> escalera <strong>de</strong>l procesador <strong>SLC</strong> 5/04, pero estos efectos no son<br />

significativos ya que solamente un paquete <strong>de</strong> transferencia es encaminado<br />

nuevamente durante cada escán.<br />

Transferencia DF1 a DH+ – (Procesadores <strong>SLC</strong> 5/04 OS401 y posteriores)<br />

Este tipo le permite conectar una computadora al puerto en serie <strong>de</strong>l procesador <strong>SLC</strong><br />

5/04 (canal 0 configurada para el full–duplex DF1) y acce<strong>de</strong>r a cualquier nodo en la<br />

red DH+ sin importar la velocidad en baudios <strong>de</strong> la red DH+. También pue<strong>de</strong><br />

conectar un mó<strong>de</strong>m al puerto en serie para discar en cualquier nodo en la red DH+.<br />

Transferencia <strong>de</strong> E/S remota (Procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04<br />

OS401)<br />

Este tipo permite que el sistema <strong>SLC</strong> 5/04 sirva como puente entre la red DH+ y la<br />

red <strong>de</strong> E/S remota compatible con el módulo <strong>de</strong> E/S remotas <strong>1747</strong>-SN. La<br />

transferencia se habilita cuando el bit S:34/5 se establece. Esto permite que las<br />

computadoras personales en la red DH+ carguen y <strong>de</strong>scarguen aplicaciones a<br />

dispositivos tales como PanelView 550, PanelView 900 ó Panel View 1200 y<br />

DataLiners en la red <strong>de</strong> E/S remotas.<br />

12–39


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Consi<strong>de</strong>raciones cuando la transferencia DF1 a DH+ se habilita<br />

12–40<br />

Consi<strong>de</strong>re la siguiente información cuando use la transferencia DF1 a DH+.<br />

Cómo entrar en línea con un procesador <strong>SLC</strong> 5/04 usando el full–duplex DF1<br />

Si <strong>de</strong>sea entrar en línea usando el full–duplex DF1, asegúrese que la dirección<br />

<strong>de</strong>stino bajo la pantalla <strong>de</strong> configuración en línea <strong>de</strong> duplex total esté establecida al<br />

canal 1 <strong>de</strong> la dirección <strong>de</strong> nodo DH+ <strong>de</strong>l procesador <strong>SLC</strong> 5/04 <strong>de</strong>stino. Si la dirección<br />

<strong>de</strong>stino no se ha establecido y el procesador <strong>SLC</strong> 5/04 tiene la característica <strong>de</strong><br />

transferencia <strong>de</strong> DF1 a DH+ habilitada, los paquetes <strong>de</strong> comando <strong>de</strong>l software <strong>de</strong><br />

programación pue<strong>de</strong> ir a un procesador diferente <strong>de</strong>l procesador <strong>SLC</strong> 5/04.<br />

Cómo transmitir un mensaje usando el full–duplex DF1 hacia un procesador <strong>SLC</strong> 5/04 con<br />

la transferencia DF1 a DH+ habilitada<br />

Si el procesador <strong>SLC</strong> 5/04 receptor tiene la transferencia habilitada, asegúrese que el<br />

parámetro <strong>de</strong>l nodo <strong>de</strong>stino esté establecido a la dirección DH+ canal 1 <strong>de</strong>l<br />

procesador <strong>SLC</strong> 5/04.<br />

Cómo transmitir un mensaje usando el full–duplex DF1 <strong>de</strong>s<strong>de</strong> un procesador <strong>SLC</strong> 5/04 con<br />

la transferencia DF1 a DH+ habilitada<br />

Si usa un procesador con la transferencia DF1 a DH+ habilitada para transmitir<br />

mensajes <strong>de</strong>s<strong>de</strong> el canal 0 (configurado para el full–duplex DF1), <strong>de</strong>be asegurarse<br />

que la dirección <strong>de</strong>l nodo DH+ <strong>de</strong>l procesador <strong>SLC</strong> 5/04 aparezca en la dirección<br />

fuente DF1 bajo la pantalla <strong>de</strong> configuración <strong>de</strong> modo <strong>de</strong> sistema <strong>de</strong> canal 0. Si la<br />

dirección no se establece correctamente, las respuestas retornando al procesador<br />

<strong>SLC</strong> 5/04 pue<strong>de</strong>n ser enviadas a otros nodos en la red DH+.<br />

Cómo comunicar <strong>de</strong>s<strong>de</strong> un procesador <strong>SLC</strong> 5/04 usando direccionamiento PLC-2<br />

Si usa un procesador <strong>SLC</strong> 5/04 con la transferencia DF1 a DH+ habilitada y trata <strong>de</strong><br />

transmitir un mensaje <strong>de</strong>s<strong>de</strong> el canal 0 usando las <strong>instrucciones</strong> <strong>de</strong> MENSAJE, no<br />

use el tipo <strong>de</strong> mensaje 485 CIF. Use los tipos <strong>de</strong> mensaje <strong>500</strong>CPU o PLC5. Si<br />

intenta usar el tipo <strong>de</strong> mensaje 485 CIF, el procesador <strong>SLC</strong> 5/04 que transmite el<br />

mensaje no recibirá respuestas <strong>de</strong>l nodo con el que está tratando <strong>de</strong> comunicarse.


Cómo localizar y corregir fallos<br />

13 Cómo localizar y corregir fallos<br />

Este capítulo enumera los códigos <strong>de</strong> fallo <strong>de</strong> errores mayores, indica las causas<br />

posibles <strong>de</strong> los fallos y recomienda la acción correctiva. Este capítulo también<br />

explica los fallos <strong>de</strong> carga <strong>de</strong>l sistema <strong>de</strong> operación para los procesadores <strong>SLC</strong> 5/03<br />

y <strong>SLC</strong> 5/04 y los controladores <strong>MicroLogix</strong> 1000.<br />

Cómo borrar fallos automáticamente<br />

La sección siguiente <strong>de</strong>scribe las maneras diferentes para borrar un fallo<br />

automáticamente usando su software <strong>de</strong> programación.<br />

Procesadores <strong>SLC</strong><br />

• Establezca la anulación <strong>de</strong> fallo al bit <strong>de</strong> encendido S:1/8 en el archivo <strong>de</strong><br />

estado para borrar el fallo cuando se <strong>de</strong>sconecta y se vuelve a conectar la<br />

alimentación eléctrica siempre que el programa <strong>de</strong> usuario no esté alterado.<br />

• Establezca uno <strong>de</strong> los bits <strong>de</strong> carga automática S:1/0, S:1/11 ó S:1/12 en el<br />

archivo <strong>de</strong> estado <strong>de</strong>l programa en un EEPROM para transferir<br />

automáticamente un programa nuevo sin fallo <strong>de</strong>s<strong>de</strong> el módulo <strong>de</strong> memoria<br />

hacia el RAM cuando se <strong>de</strong>sconecta y se vuelve a conectar la alimentación<br />

eléctrica.<br />

Refiérase al apéndice B en este manual para obtener más información acerca <strong>de</strong> los<br />

bits <strong>de</strong> estado S:1/13, S:1/8, S:1/10, S:1/11, S:1/12, S:5/0–7 y S:36/0–7.<br />

Nota Usted pue<strong>de</strong> <strong>de</strong>clarar su propio fallo mayor específico para la aplicación<br />

escribiendo su propio valor único a S:6 y luego estableciendo el bit S:1/13.<br />

13–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Controladores <strong>MicroLogix</strong> 1000<br />

13–2<br />

Pue<strong>de</strong> borrar un fallo automáticamente cuando <strong>de</strong>sconecta y vuelve a conectar la<br />

alimentación eléctrica al controlador estableciendo uno o ambos <strong>de</strong> los bits <strong>de</strong><br />

estado siguientes en el archivo <strong>de</strong> estado:<br />

• Anulación <strong>de</strong> fallo al bit <strong>de</strong> encendido (S:1/8)<br />

• Bit <strong>de</strong> marcha permanente (S:1/12)<br />

El borrar un fallo usando el bit <strong>de</strong> marcha permanente (S:1/12) causa que el<br />

controlador entre inmediatamente en el modo <strong>de</strong> marcha REM. Asegúrese <strong>de</strong><br />

enten<strong>de</strong>r completamente el uso <strong>de</strong> este bit antes <strong>de</strong> integrarlo en su programa.<br />

Refiérase a la página A–5 para obtener más información. También refiérase al<br />

capítulo 3 para obtener información relativa a los datos retentivos.<br />

Nota Usted pue<strong>de</strong> <strong>de</strong>clarar su propio fallo mayor específico a la aplicación escribiendo<br />

su propio valor único a S:6 y luego estableciendo el bit S:1/13 para evitar el uso<br />

repetido <strong>de</strong> los códigos <strong>de</strong>finidos por el sistema. La gama <strong>de</strong> valores<br />

recomendados para los fallos <strong>de</strong>finidos por el usuario es FF00 a FFOF.


Cómo localizar y corregir fallos<br />

Cómo borrar fallos manualmente (procesadores <strong>SLC</strong>)<br />

Cómo usar la rutina <strong>de</strong> fallo<br />

Procesadores <strong>SLC</strong><br />

La sección siguiente <strong>de</strong>scribe las maneras diferentes <strong>de</strong> borrar un fallo manualmente<br />

cuando usa un procesador <strong>SLC</strong>.<br />

• Borre manualmente el bit <strong>de</strong> fallo mayor S:1/13 y los bits <strong>de</strong> error menor y<br />

mayor S:5/0–7 en el archivo <strong>de</strong> estado usando un dispositivo <strong>de</strong> programación o<br />

un módulo <strong>de</strong> acceso <strong>de</strong> la tabla <strong>de</strong> datos. Posicione el procesador en el modo<br />

<strong>de</strong> programa REM. Corrija la condición que causa el fallo, luego retorne el<br />

procesador al modo <strong>de</strong> marcha REM o a uno <strong>de</strong> los módos <strong>de</strong> prueba REM.<br />

• Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – Alterne el interruptor <strong>de</strong> llave <strong>de</strong><br />

MARCHA a PROGrama y luego retorne a MARCHA.<br />

Específico para <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – El borrar estos bits con el interruptor <strong>de</strong><br />

llave en la posición MARCHA causa que el procesador entre inmediatamente<br />

en el modo <strong>de</strong> marcha.<br />

Si usted está en línea con un procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 con el<br />

interruptor <strong>de</strong> llave en la posición <strong>de</strong> MARCHA y presiona la tecla <strong>de</strong> función<br />

<strong>de</strong> borrado <strong>de</strong> fallo mayor, se le advierte que el procesador entrará en el modo<br />

<strong>de</strong> marcha un vez borrado el fallo.<br />

Al <strong>de</strong>signar un archivo <strong>de</strong> subrutina, la coinci<strong>de</strong>ncia <strong>de</strong> fallos <strong>de</strong> usuario<br />

recuperables o no recuperables causa que la subrutina <strong>de</strong>signada se ejecute durante<br />

un escán. Si el fallo es recuperable, la subrutina se pue<strong>de</strong> usar para corregir el<br />

problema y poner a cero el bit <strong>de</strong> fallo S:1/13. Luego el procesador continúa en el<br />

modo <strong>de</strong> marcha. Si el fallo no es recuperable, la subrutina pue<strong>de</strong> transmitir un<br />

mensaje por medio <strong>de</strong> la instrucción <strong>de</strong> mensaje a otro nodo DH-485 con<br />

información <strong>de</strong> código <strong>de</strong> error y/o efectúa una parada metódica <strong>de</strong>l proceso.<br />

La subrutina no se ejecuta para los fallos no atribuibles al usuario. La rutina <strong>de</strong> fallo<br />

<strong>de</strong> usuario se trata en el capítulo 11.<br />

13–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

13–4<br />

Controladores <strong>MicroLogix</strong> 1000<br />

Mensajes <strong>de</strong> fallo<br />

La ocurrencia <strong>de</strong> fallos <strong>de</strong> usuario recuperables y no recuperables causa que el<br />

archivo 3 se ejecute. Si el fallo es recuperable, la subrutina se pue<strong>de</strong> usar para<br />

corregir el problema y poner a cero el bit <strong>de</strong> fallo S:1/13. Luego el controlador<br />

continúa en el modo <strong>de</strong> marcha REM. La subrutina no se ejecuta para los fallos no<br />

atribuibles al usuario.<br />

Esta sección contiene mensajes <strong>de</strong> fallo que pue<strong>de</strong> ocurrir durante la operación <strong>de</strong><br />

los controladores <strong>MicroLogix</strong> 1000 y los procesadores <strong>SLC</strong>. Cada tabla enumera la<br />

<strong>de</strong>scripción <strong>de</strong>l código <strong>de</strong> error, la causa probable y la acción correctiva<br />

recomendada.


Fallos <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000<br />

Los fallos <strong>de</strong> controlador se divi<strong>de</strong>n en los tipos siguientes:<br />

• errores <strong>de</strong> encendido<br />

• errores ida a marcha<br />

• errores <strong>de</strong> marcha<br />

• errores <strong>de</strong> carga<br />

Cómo localizar y corregir fallos<br />

13–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Errores <strong>de</strong> encendido<br />

Código <strong>de</strong><br />

error (hex)<br />

0001 DEFAULT PROGRAM<br />

LOADED<br />

13–6<br />

Mensaje <strong>de</strong> advertencia Descripción Acción recomendada<br />

El programa pre<strong>de</strong>terminado se<br />

carga en la memoria <strong>de</strong>l<br />

controlador. Esto ocurre:<br />

• al momento <strong>de</strong> encendido si la<br />

interrupción <strong>de</strong> alimentación<br />

eléctrica ocurrió en medio <strong>de</strong><br />

una carga<br />

• si el programa <strong>de</strong> usuario está<br />

alterado al momento <strong>de</strong><br />

encendido, el programa<br />

pre<strong>de</strong>terminado se carga.<br />

0002 UNEXPECTED RESET El controlador se restableció inesperadamente<br />

<strong>de</strong>bido a un entorno<br />

ruidoso o un fallo <strong>de</strong> hardware interno.<br />

Si el programa <strong>de</strong> usuario<br />

cargado al controlador es válido, los<br />

datos iniciales cargados con el programa<br />

se usan. El bit <strong>de</strong> datos<br />

retentivos perdidos (S:5/8) se establece.<br />

Si el programa <strong>de</strong> usuario es<br />

no válido, el programa pre<strong>de</strong>terminado<br />

se carga.<br />

0003 EEPROM MEMORY IS<br />

CORRUPT<br />

0005 RETENTIVE DATA HAS BEEN<br />

LOST<br />

El programa <strong>de</strong> usuario está<br />

alterado y el programa<br />

pre<strong>de</strong>terminado se carga.<br />

Los archivos <strong>de</strong> datos (entrada,<br />

salida, temporizador, contador,<br />

entero, binario, control y estado)<br />

están alterados.<br />

• Vuelva a cargar el programa y<br />

entre en el modo <strong>de</strong> marcha<br />

REM.<br />

• Comuníquese con su<br />

representante local <strong>de</strong><br />

Allen-Bradley si el error persiste.<br />

• Refiérase a las pautas <strong>de</strong><br />

conexión a tierra correspondientes<br />

en el capítulo 1.<br />

• Comuníquese con su<br />

representante local <strong>de</strong><br />

Allen-Bradley si el error persiste.<br />

• Durante la <strong>de</strong>sconexión y reconexión<br />

<strong>de</strong> la alimentación eléctrica.<br />

es posible que ocurriera un problema<br />

<strong>de</strong> ruido. Trate <strong>de</strong> <strong>de</strong>sconectar<br />

y volver a conectar la<br />

alimentación eléctrica. Su programa<br />

pue<strong>de</strong> ser válido, pero los<br />

datos retentivos serán perdidos.<br />

• Comuníquese con su<br />

representante local <strong>de</strong><br />

Allen-Bradley si el error persiste.<br />

• Desconecte y vuelva conectar la<br />

alim. eléctrica a su unidad.<br />

• Cargue su programa y vuelva a<br />

inicializar los datos necesarios.<br />

• Encienda el sistema.<br />

• Comuníquese con su<br />

representante local <strong>de</strong><br />

Allen-Bradley si el error persiste.


Errores <strong>de</strong> ida a marcha<br />

Código <strong>de</strong><br />

error (hex)<br />

Mensaje <strong>de</strong> advertencia<br />

0008 FATAL INTERNAL<br />

SOFTWARE ERROR<br />

0009 FATAL INTERNAL<br />

HARDWARE ERROR<br />

Descripción<br />

El software <strong>de</strong>l controlador ha<br />

<strong>de</strong>tectado una condición inválida<br />

<strong>de</strong>ntro <strong>de</strong>l hardware o software<br />

<strong>de</strong>spués <strong>de</strong> finalizar el proceso <strong>de</strong><br />

encendido (<strong>de</strong>spués <strong>de</strong> los 2<br />

primeros segundos <strong>de</strong> operación).<br />

El software <strong>de</strong>l controlador ha<br />

<strong>de</strong>tectado una condición inválida<br />

<strong>de</strong>ntro <strong>de</strong>l hardware durante el<br />

proceso <strong>de</strong> encendido (<strong>de</strong>ntro <strong>de</strong><br />

los 2 primeros segundos <strong>de</strong><br />

operación).<br />

0010 INCOMPATIBLE PROCESSOR El programa cargado no ha sido<br />

configurado para un<br />

microcontrolador.<br />

0016 STARTUP PROTECTION<br />

AFTER POWERLOSS;<br />

S:1/9 IS SET<br />

0018 USER PROGRAM IS<br />

INCOMPATIBLE WITH<br />

OPERATING SYSTEM<br />

El sistema se ha encendido en el<br />

modo <strong>de</strong> marcha REM. El bit<br />

S:1/13 está establecido y la rutina<br />

<strong>de</strong> fallo <strong>de</strong> usuario se ejecuta<br />

antes <strong>de</strong> comenzar el primer escán<br />

<strong>de</strong>l programa.<br />

Un programa no compatible se<br />

cargó. El programa no tiene el<br />

número correcto <strong>de</strong> archivos o no<br />

tiene los archivos <strong>de</strong> datos <strong>de</strong><br />

tamaño correcto. El programa<br />

pre<strong>de</strong>terminado se carga.<br />

Cómo localizar y corregir fallos<br />

Acción recomendada<br />

• Desconecte y vuelva conectar la<br />

alimentación eléctrica a su unidad.<br />

• Cargue su programa y vuelva a<br />

inicializar los datos necesarios.<br />

• Encienda el sistema.<br />

• Comuníquese con su representante<br />

local <strong>de</strong> Allen-Bradley si el<br />

error persiste.<br />

• Desconecte y vuelva conectar la<br />

alimentación eléctrica a su<br />

unidad.<br />

• Cargue su programa y vuelva a<br />

inicializar los datos necesarios.<br />

• Encienda el sistema.<br />

• Comuníquese con su<br />

representante local <strong>de</strong><br />

Allen-Bradley si el error persiste.<br />

Si <strong>de</strong>sea usar un microcontrolador<br />

con el programa, vuelva a<br />

configurar su controlador con MPS<br />

o APS (seleccione Bol. 1761).<br />

• Restablezca el bit S:1/9 si es<br />

coherente con los requisitos <strong>de</strong><br />

su aplicación y retorne el modo<br />

a marcha REM o<br />

• ponga a cero S:1/13, el bit <strong>de</strong><br />

fallo mayor.<br />

• Verifique la configuración y<br />

asegúrese que el procesador<br />

correcto haya sido<br />

seleccionado.<br />

• Si <strong>de</strong>sea usar un microcontrolador<br />

con el programa,<br />

vuelva a configurar su<br />

controlador con MPS o APS<br />

(seleccione Bol. 1761).<br />

13–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Errores <strong>de</strong> marcha<br />

Código <strong>de</strong><br />

error (hex)<br />

13–8<br />

Mensaje <strong>de</strong> advertencia<br />

0004 RUNTIME MEMORY<br />

INTEGRITY ERROR<br />

0020 MINOR ERROR AT END OF<br />

SCAN, SEE S:5<br />

0022 WATCHDOG TIMER<br />

EXPIRED, SEE S:3<br />

0024 INVALID STI INTERRUPT<br />

SETPOINT, SEE S:30<br />

0025 TOO MANY JSRs IN STI<br />

SUBROUTINE<br />

0027 TOO MANY JSRs IN FAULT<br />

SUBROUTINE<br />

002A INDEXED ADDRESS TOO<br />

LARGE FOR FILE<br />

Descripción<br />

Mientras que el controlador estaba en<br />

el modo <strong>de</strong> MARCHA o cualquier<br />

modo <strong>de</strong> prueba, el ROM o RAM se<br />

alteró. Si el programa <strong>de</strong> usuario es<br />

válido, el programa y los datos iniciales<br />

cargados al controlador se usan y el<br />

bit <strong>de</strong> datos retentivos perdidos (S:5/8)<br />

se establece. Si el programa <strong>de</strong><br />

usuario es válido, error 0003 ocurre.<br />

Un bit <strong>de</strong> fallo menor (bits 0–7) en<br />

S:5 se estableció al final <strong>de</strong> escán.<br />

El tiempo <strong>de</strong> escán <strong>de</strong> programa<br />

excedió el valor <strong>de</strong>l límite <strong>de</strong><br />

tiempo sobrepasado <strong>de</strong>l<br />

temporizador <strong>de</strong> control<br />

(watchdog) (S:3H).<br />

Un intervalo STI inválido existe (no<br />

entre 0 y 255).<br />

Hay más <strong>de</strong> 3 subrutinas anidadas<br />

en la subrutina STI (archivo 5).<br />

Hay más <strong>de</strong> 3 subrutinas anidadas<br />

en la rutina <strong>de</strong> fallo (archivo 3).<br />

El programa hace referencia a un<br />

elemento más allá <strong>de</strong> un límite <strong>de</strong><br />

archivo a través <strong>de</strong>l direccionamiento<br />

in<strong>de</strong>xado.<br />

002B TOO MANY JSRs IN HSC Hay más <strong>de</strong> 3 subrutinas anidadas<br />

en la rutina <strong>de</strong>l contador <strong>de</strong> alta<br />

velocidad (archivo 4).<br />

0030 SUBROUTINE NESTING<br />

EXCEEDS LIMIT OF 8<br />

Hay más <strong>de</strong> 8 subrutinas anidadas<br />

en el archivo <strong>de</strong> programa principal<br />

(archivo 2).<br />

Acción recomendada<br />

• Desconecte y vuelva a conectar<br />

la alimentación eléctrica a su<br />

unidad.<br />

• Cargue su programa y vuelva a<br />

inicializar los datos necesarios.<br />

• Encienda el sistema.<br />

• Comníquese con su<br />

representante local <strong>de</strong><br />

Allen-Bradley si el error persiste.<br />

Entre en la pantalla <strong>de</strong> archivo <strong>de</strong><br />

estado, borre el fallo y retorne al<br />

modo <strong>de</strong> marcha REM.<br />

• Revise si el programa se ha<br />

atrapado en un lazo y corrija el<br />

problema.<br />

• Incremente el valor <strong>de</strong>l límite <strong>de</strong><br />

tiempo sobrepasado <strong>de</strong>l temporizador<br />

<strong>de</strong> control (watchdog) en<br />

el archivo <strong>de</strong> estado.<br />

Establezca el intervalo STI entre<br />

los valores <strong>de</strong> 0 y 255.<br />

Corrija el programa <strong>de</strong> usuario para<br />

cumplir con los requisitos y<br />

restricciones <strong>de</strong> la instrucción JSR, y<br />

luego vuelva a cargar el programa y<br />

entre en el modo <strong>de</strong> marcha REM.<br />

Corrija el programa <strong>de</strong> usuario para<br />

cumplir con los requisitos y<br />

restricciones <strong>de</strong> la instrucción JSR, y<br />

luego vuelva a cargar el programa y<br />

entre en el modo <strong>de</strong> marcha REM.<br />

Corrija el programa <strong>de</strong> usuario<br />

para que no exceda los límites <strong>de</strong><br />

archivo.<br />

Corrija el programa <strong>de</strong> usuario para<br />

cumplir con los requisitos y<br />

restricciones <strong>de</strong> la instrucción JSR, y<br />

luego vuelva a cargar el programa y<br />

entre en el modo <strong>de</strong> marcha REM.<br />

Corrija el programa <strong>de</strong> usuario para<br />

cumplir con los requisitos y restricciones<br />

para el archivo <strong>de</strong> programa<br />

principal, y luego vuelva a cargar el<br />

programa y entre en el modo <strong>de</strong><br />

marcha REM.


Código <strong>de</strong><br />

error (hex)<br />

Mensaje <strong>de</strong> advertencia<br />

0031 UNSUPPORTED<br />

INSTRUCTION DETECTED<br />

0032 SQO/SQC CROSSED DATA<br />

FILE BOUNDARIES<br />

0033 BSL/BSR/FFL/FFU/LFL/LFU<br />

CROSSED DATA FILE<br />

BOUNDARIES<br />

0034 NEGATIVE VALUE IN TIMER<br />

PRESET OR ACCUMULATOR<br />

0035 ILLEGAL INSTRUCTION<br />

(TND) IN INTERRUPT FILE<br />

0037 INVALID PRESETS LOADED<br />

TO HIGH–SPEED COUNTER<br />

0038 SUBROUTINE RETURN<br />

INSTRUCTION (RET) IN<br />

PROGRAM FILE 2<br />

Descripción<br />

El programa contiene una<br />

instrucción(es) que no es<br />

compatible con el<br />

microcontrolador. Por ejemplo,<br />

MSG, SVC o PID.<br />

Un parámetro <strong>de</strong> longitud/posición<br />

<strong>de</strong> instrucción <strong>de</strong>l secuenciador<br />

indica un punto más allá <strong>de</strong>l final<br />

<strong>de</strong> un archivo <strong>de</strong> datos.<br />

El parámetro <strong>de</strong> longitud <strong>de</strong> una<br />

instrucción BSL, BSR, FFL, FFU,<br />

LFL o LFU indica un punto más<br />

allá <strong>de</strong>l final <strong>de</strong> un archivo <strong>de</strong><br />

datos.<br />

Un valor negativo se cargó a un<br />

valor preseleccionado <strong>de</strong><br />

temporizador o acumulador.<br />

El programa contiene una<br />

instrucción <strong>de</strong> fin temporal (TND)<br />

en archivo 3, 4 ó 5 cuando se usa<br />

como subrutina <strong>de</strong> interrupción.<br />

Un cero (0) o un valor preseleccionado<br />

alto negativo se cargó en el<br />

contador (C5:0) cuando el HSC<br />

era un contador progresivo o el<br />

valor preseleccionado alto era más<br />

bajo o igual que el valor preseleccionado<br />

bajo cuando el HSC era<br />

un contador bidireccional.<br />

Una instrucción RET se encuentra<br />

en el archivo <strong>de</strong> programa principal<br />

(archivo 2).<br />

Cómo localizar y corregir fallos<br />

Acción recomendada<br />

Modifique el programa para que<br />

todas las <strong>instrucciones</strong> sean<br />

respaldadas por el controlador, y<br />

luego vuelva a cargar el programa<br />

y entre en el modo <strong>de</strong> marcha<br />

REM.<br />

Corrija el programa para asegurar<br />

que los parámetros <strong>de</strong> longitud y<br />

posición no indiquen un punto más<br />

allá <strong>de</strong>l archivo <strong>de</strong> datos. Vuelva a<br />

cargar el programa y entre en el<br />

modo <strong>de</strong> marcha REM.<br />

Corrija el programa para asegurar<br />

que el parámetro <strong>de</strong> longitud no<br />

indique un punto más allá <strong>de</strong>l<br />

archivo <strong>de</strong> datos. Vuelva a cargar<br />

el programa y entre en el modo <strong>de</strong><br />

marcha REM.<br />

Si el programa transfiere valores a<br />

la palabra acumulada o<br />

preseleccionada <strong>de</strong> un<br />

temporizador, asegúrese que estos<br />

valores no sean negativos. Corrija<br />

el programa, vuelva a cargar y<br />

entre en el modo <strong>de</strong> marcha REM.<br />

Corrija el programa, vuelva a<br />

cargar y entre en el modo <strong>de</strong><br />

marcha REM.<br />

• Verifique que los valores<br />

preseleccionados sean válidos.<br />

• Corrija el programa, vuelva a<br />

cargar y entre en el modo <strong>de</strong><br />

marcha REM.<br />

Elimine la instrucción RET, vuelva<br />

a cargar el programa y entre en el<br />

modo <strong>de</strong> marcha REM.<br />

13–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Código <strong>de</strong><br />

error (hex)<br />

13–10<br />

Mensaje <strong>de</strong> advertencia<br />

0040 OUTPUT VERIFY WRITE<br />

FAILURE<br />

0041 EXTRA OUTPUT BIT(S)<br />

TURNED ON<br />

Error <strong>de</strong> carga<br />

Código <strong>de</strong><br />

error (hex)<br />

Mensaje <strong>de</strong> advertencia<br />

0018 USER PROGRAM IS<br />

INCOMPATIBLE WITH<br />

OPERATING SYSTEM<br />

Descripción<br />

Cuando las salidas fueron escritas<br />

y leídas por el controlador, la<br />

lectura falló. Es posible que fuera<br />

causado por ruido.<br />

Un bit <strong>de</strong> salida adicional se<br />

estableció cuando se restableció el<br />

bit <strong>de</strong> selección <strong>de</strong> bit adicional<br />

(S:0/8) en el archivo <strong>de</strong> estado.<br />

Para los controladores <strong>de</strong> 16<br />

puntos, esto incluye los bits 6–15.<br />

Para los controladores <strong>de</strong> 32<br />

puntos, esto incluye los bits 12–15.<br />

Descripción<br />

Un programa no compatible se<br />

cargó. El programa no tiene el<br />

número correcto <strong>de</strong> archivos o no<br />

tiene los archivos <strong>de</strong> datos <strong>de</strong><br />

tamaño correcto. El programa<br />

pre<strong>de</strong>terminado se carga.<br />

Acción recomendada<br />

• Refiérase a las pautas <strong>de</strong><br />

conexión a tierra correspondientes<br />

en el capítulo 1.<br />

• Encienda el sistema.<br />

• Comuníquese con su<br />

representante local <strong>de</strong><br />

Allen-Bradley si el error persiste.<br />

• Establezca S:0/8 o cambie su<br />

aplicación para evitar que estos<br />

bits se activen.<br />

• Corrija el programa, vuelva a<br />

cargar y entre en el modo <strong>de</strong><br />

marcha REM.<br />

Acción recomendada<br />

• Verifique la configuración y<br />

asegúrese que el procesador<br />

correcto haya sido<br />

seleccionado.<br />

• Si <strong>de</strong>sea usar un microcontrolador<br />

con el programa, vuelva a<br />

configurar su controlador con<br />

MPS o APS (seleccione Bol.<br />

1761).


Fallos <strong>de</strong>l procesador <strong>SLC</strong><br />

Errores <strong>de</strong> encendido<br />

Código <strong>de</strong><br />

error (hex)<br />

Los fallos <strong>de</strong>l procesador se divi<strong>de</strong>n en los tipos siguientes:<br />

• errores <strong>de</strong> encendido<br />

• errores <strong>de</strong> ida a marcha<br />

• errores <strong>de</strong> marcha<br />

• errores <strong>de</strong> instrucción <strong>de</strong>l programa <strong>de</strong> usuario<br />

Cómo localizar y corregir fallos<br />

Descripción Causa probable Acción recomendada<br />

0001 Error NVRAM. • Ruido,<br />

• relámpago,<br />

• conexión incorrecta a tierra,<br />

• falta <strong>de</strong> supresión <strong>de</strong><br />

sobretensión en las salidas<br />

con cargas inductivas o<br />

• fuente <strong>de</strong> alimentación<br />

eléctrica insuficiente.<br />

• Pérdida <strong>de</strong> batería o<br />

con<strong>de</strong>nsador auxiliar.<br />

0002 Límite <strong>de</strong> tiempo sobrepasado<br />

inesperado <strong>de</strong>l control<br />

(watchdog) <strong>de</strong> hardware<br />

0003 Error <strong>de</strong> memoria <strong>de</strong>l módulo <strong>de</strong><br />

memoria. Este error también<br />

pue<strong>de</strong> ocurrir cuando se entra en<br />

el modo <strong>de</strong> marcha REM.<br />

0007 Fallo durante la transferencia <strong>de</strong>l<br />

módulo <strong>de</strong> memoria.<br />

• Ruido,<br />

• relámpago,<br />

• conexión incorrecta a tierra,<br />

• falta <strong>de</strong> supresión <strong>de</strong><br />

sobretensión en salidas con<br />

cargas inductivas o<br />

• fuente <strong>de</strong> alimentación<br />

eléctrica insuficiente.<br />

El módulo <strong>de</strong> memoria está<br />

alterado.<br />

El módulo <strong>de</strong> memoria está<br />

alterado.<br />

Corrija el problema, vuelva a<br />

cargar el programa y ejecute.<br />

Pue<strong>de</strong> usar la característica <strong>de</strong><br />

carga automática con un módulo<br />

<strong>de</strong> memoria para volver a cargar<br />

automáticamente el programa y<br />

entrar en el modo <strong>de</strong> marcha.<br />

Corrija el problema, vuelva a<br />

cargar el programa y ejecute.<br />

Pue<strong>de</strong> usar la característica <strong>de</strong><br />

carga automática con un módulo<br />

<strong>de</strong> memoria para volver a cargar<br />

automáticamente el programa y<br />

entrar en el modo <strong>de</strong> marcha.<br />

Vuelva a programar el módulo <strong>de</strong><br />

memoria. Si el error persiste,<br />

reemplace el módulo <strong>de</strong><br />

memoria.<br />

Vuelva a programar el módulo <strong>de</strong><br />

memoria. Si el error persiste,<br />

reemplace el módulo <strong>de</strong><br />

memoria.<br />

13–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Código <strong>de</strong><br />

error (hex)<br />

13–12<br />

Descripción Causa probable Acción recomendada<br />

0008 Error <strong>de</strong> software interno. Un error inesperado <strong>de</strong> software<br />

ocurrió <strong>de</strong>bido a:<br />

• Ruido,<br />

• relámpago,<br />

• conexión a tierra incorrecta,<br />

• falta <strong>de</strong> supresión <strong>de</strong><br />

sobretensión en la salida con<br />

cargas inductivas o<br />

• fuente <strong>de</strong> alimentación<br />

insuficiente.<br />

0009 Error <strong>de</strong> hardware interno. Un error inesperado <strong>de</strong> hardware<br />

ocurrió <strong>de</strong>bido a:<br />

• Ruido,<br />

• relámpago,<br />

• conexión incorrecta a tierra,<br />

• falta <strong>de</strong> supresión <strong>de</strong><br />

sobretensión en la salida con<br />

cargas inductivas o<br />

• fuente <strong>de</strong> alimentación<br />

eléctrica insuficiente.<br />

Errores <strong>de</strong> ida a marcha<br />

Código <strong>de</strong><br />

error (hex)<br />

0010 El procesador no cumple con el<br />

nivel <strong>de</strong> revisión requerido.<br />

0011 El archivo <strong>de</strong> programa<br />

ejecutable número 2 está<br />

ausente.<br />

Corrija el problema, vuelva a<br />

cargar el programa y ejecute.<br />

Pue<strong>de</strong> usar la característica <strong>de</strong><br />

carga automática con un módulo<br />

<strong>de</strong> memoria para volver a cargar<br />

automáticamente el programa y<br />

entre en el modo <strong>de</strong> marcha.<br />

Si el problema vuelve a ocurrir,<br />

comníquese con su<br />

representante RSI.<br />

Corrija el problema, vuelva a<br />

cargar el programa y ejecute.<br />

Pue<strong>de</strong> usar la característica <strong>de</strong><br />

carga automática con un módulo<br />

<strong>de</strong> memoria para volver a cargar<br />

automáticamente el programa y<br />

entre en el modo <strong>de</strong> marcha.<br />

Si el problema vuelve a ocurrir,<br />

comuníquese con su<br />

representante A–B.<br />

Descripción Causa probable Acción recomendada<br />

0012 El programa <strong>de</strong> escalera tiene un<br />

error <strong>de</strong> memoria.<br />

0013 • El módulo <strong>de</strong> memoria<br />

requerido está ausente o<br />

• S:1/10 ó S:1/11 no está<br />

establecido según lo requerido<br />

por el programa.<br />

El nivel <strong>de</strong> revisión <strong>de</strong>l procesador<br />

no es compatible con el nivel <strong>de</strong><br />

revisión para el cual el programa<br />

fue <strong>de</strong>sarrollado.<br />

Está presente un programa no<br />

compatible o alterado.<br />

• Ruido,<br />

• relámpago,<br />

• conexión incorrecta a tierra,<br />

• falta <strong>de</strong> supresión <strong>de</strong> sobretensión<br />

en las salidas con<br />

cargas inductivas o<br />

• fuente <strong>de</strong> alimentación<br />

insuficiente.<br />

• Uno <strong>de</strong> estos bits <strong>de</strong> estado<br />

está establecido en el programa<br />

pero el módulo <strong>de</strong> memoria<br />

requerido está ausente o<br />

• el bit <strong>de</strong> estado S:1/10 ó<br />

S:1/11 no está establecido en<br />

el programa almacenado en el<br />

módulo <strong>de</strong> memoria, sino<br />

establecido en el programa en<br />

la memoria <strong>de</strong>l procesador.<br />

Comuníquese con su representante<br />

local <strong>de</strong> A–B para adquirir<br />

un juego <strong>de</strong> actualización para su<br />

procesador.<br />

Vuelva a cargar el programa o<br />

vuelva a programar con software<br />

<strong>de</strong> programación APS aprobado<br />

por RSI.<br />

Corrija el problema, vuelva a<br />

cargar el programa y ejecute. Si<br />

el error persiste, asegúrese <strong>de</strong><br />

usar un softwae <strong>de</strong> programación<br />

APS aprobado por RSI para<br />

<strong>de</strong>sarrollar y cargar el programa.<br />

• Instale un módulo <strong>de</strong> memoria<br />

en el procesador o<br />

• cargue el programa <strong>de</strong>s<strong>de</strong> el<br />

procesador hacia el módulo <strong>de</strong><br />

memoria.


Código <strong>de</strong><br />

error (hex)<br />

Cómo localizar y corregir fallos<br />

Descripción Causa probable Acción recomendada<br />

0014 Error <strong>de</strong> archivo interno. • Ruido,<br />

• relámpago,<br />

• conexión incorrecta a tierra,<br />

• falta <strong>de</strong> supresión <strong>de</strong> sobretensión<br />

en las salidas con<br />

cargas inductivas o<br />

• fuente <strong>de</strong> alim. eléc. insuficiente<br />

0015 Error <strong>de</strong> archivo <strong>de</strong><br />

configuración.<br />

0016 Protección <strong>de</strong> encendido<br />

<strong>de</strong>spués <strong>de</strong> la pérdida <strong>de</strong><br />

alimentación eléctrica. Existe<br />

una condición <strong>de</strong> error durante el<br />

encendido cuando el bit S:1/9 se<br />

establece y ocurre una interrupción<br />

<strong>de</strong>l suministro eléctrico<br />

durante el estado en marcha.<br />

0017 Desigualdad <strong>de</strong>l programa <strong>de</strong><br />

usuario <strong>de</strong>l módulo<br />

NVRAM/memoria .<br />

0018 Programa <strong>de</strong> usuario no compatible.<br />

Desigualdad <strong>de</strong>l tipo <strong>de</strong><br />

sistema <strong>de</strong> operación. Este error<br />

también pue<strong>de</strong> aparecer durante<br />

el encendido.<br />

0019 Un número <strong>de</strong> etiqueta duplicado<br />

se <strong>de</strong>tectó.<br />

Errores <strong>de</strong> marcha<br />

Código <strong>de</strong><br />

error (hex)<br />

001F Un problema <strong>de</strong> integridad <strong>de</strong>l<br />

programa ocurrió durante una<br />

sesión <strong>de</strong> edición en línea.<br />

0004 Un error <strong>de</strong> memoria ocurrió<br />

durante el modo <strong>de</strong> marcha.<br />

• Ruido,<br />

• relámpago,<br />

• conexión incorrecta a tierra,<br />

• falta <strong>de</strong> supresión <strong>de</strong> sobretensión<br />

en las salidas con<br />

cargas inductivas o<br />

• fuente <strong>de</strong> alim. eléc. insuficiente<br />

El bit <strong>de</strong> estado S:1/9 ha sido<br />

establecido por el programa <strong>de</strong><br />

usuario. Refiérase al capítulo 1<br />

para obtener <strong>de</strong>talles acerca <strong>de</strong><br />

la operación <strong>de</strong>l bit <strong>de</strong> estado<br />

S:1/9.<br />

El bit S:2/9 es establecido y el<br />

programa <strong>de</strong> usuario <strong>de</strong>l módulo<br />

<strong>de</strong> memoria no correspon<strong>de</strong> al<br />

programa <strong>de</strong> usuario NVRAM.<br />

El programa <strong>de</strong> usuario es<br />

<strong>de</strong>masiado avanzado y no se<br />

pue<strong>de</strong> ejecutar en el sistema <strong>de</strong><br />

operación actual.<br />

Una instrucción <strong>de</strong> etiqueta<br />

duplicada o faltante se encontró<br />

en una subrutina.<br />

Corrija el problema, vuelva a<br />

cargar el programa y ejecute. Si<br />

el error persiste, asegúrese <strong>de</strong><br />

usar el software <strong>de</strong> programación<br />

APS aprobado por RSI para<br />

<strong>de</strong>sarrollar y cargar el programa.<br />

Corrija el problema, vuelva a<br />

cargar el programa y ejecute. Si<br />

el error persiste, asegúrese <strong>de</strong><br />

usar el software <strong>de</strong> programación<br />

APS aprobado por RSI para<br />

<strong>de</strong>sarrollar y cargar el programa.<br />

• Restablezca el bit S:1/9 si eso<br />

es coherente con los<br />

requisitos <strong>de</strong> aplicación y<br />

retorne el modo a marcha o<br />

• ponga a cero S:1/13, el bit <strong>de</strong><br />

fallo mayor, antes <strong>de</strong> que se<br />

alcance el final <strong>de</strong>l primer<br />

escán <strong>de</strong> programa.<br />

Transfiera el programa <strong>de</strong><br />

módulo <strong>de</strong> memoria a NVRAM y<br />

cambie al modo <strong>de</strong> marcha.<br />

Comníquese con su representante<br />

RSI para obtener información acerca<br />

<strong>de</strong> sistemas <strong>de</strong> operación disponibles<br />

para el procesador 5/03.<br />

• Quite la etiqueta duplicada o<br />

• añada una etiqueta.<br />

Descripción Causa probable Acción recomendada<br />

Un ruido, pérdida <strong>de</strong> comunicación<br />

o <strong>de</strong>sconexión y reconexión <strong>de</strong><br />

alim. eléc. ocurrió durante una<br />

sesión <strong>de</strong> edición en línea.<br />

• Ruido,<br />

• relámpago,<br />

• conexión a tierra,<br />

• falta <strong>de</strong> supresión <strong>de</strong> sobretensión<br />

en las salidas con<br />

cargas inductivas o<br />

• fuente <strong>de</strong> alim. eléc. insuficiente<br />

Vuelva a cargar el programa y<br />

vuelva a introducir los cambios.<br />

Corrija el problema, vuelva a<br />

cargar el programa y ejecute.<br />

Pue<strong>de</strong> usar la característica <strong>de</strong><br />

carga automática con un módulo<br />

<strong>de</strong> memoria para volver a cargar<br />

el programa automáticamente y<br />

entrar en el modo <strong>de</strong> marcha.<br />

13–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Código <strong>de</strong><br />

error (hex)<br />

13–14<br />

0020 Un bit <strong>de</strong> error menor se<br />

establece al final <strong>de</strong>l escán.<br />

Refiérase a los bits <strong>de</strong> error<br />

menor S:5 (byte inferior<br />

solamente).<br />

Descripción Causa probable Acción recomendada<br />

0021 Un fallo <strong>de</strong> alim. eléc. remota <strong>de</strong><br />

un chasis <strong>de</strong> E/S <strong>de</strong> expansión<br />

ha ocurrido.<br />

Nota: Un sistema modular que<br />

encuentra una condición <strong>de</strong><br />

sobretensión o sobreintensidad<br />

en cualquiera <strong>de</strong> sus fuentes <strong>de</strong><br />

alim. eléc. pue<strong>de</strong> provocar<br />

cualquiera <strong>de</strong> los códigos <strong>de</strong><br />

error <strong>de</strong> E/S indicados en las<br />

páginas 13–18 a 13–21 (en vez<br />

<strong>de</strong> código 0021). La condición<br />

<strong>de</strong> sobretensión o sobreintensidad<br />

se indica por un LED <strong>de</strong><br />

fuente <strong>de</strong> alim. eléc. apagado.<br />

!<br />

Procesadores fijos y FRN 1<br />

a 4 <strong>SLC</strong> 5/01 – si el fallo <strong>de</strong><br />

alim. eléc. remota ocurrió<br />

mientras que el procesador<br />

estaba en el modo <strong>de</strong><br />

marcha REM, error 0021<br />

causará que el bit <strong>de</strong> error<br />

mayor <strong>de</strong>tenido (S:1/13) se<br />

ponga a cero durante el<br />

próximo encendido <strong>de</strong>l<br />

chasis local.<br />

Procesador <strong>SLC</strong> 5/02 y<br />

procesadores FRN 5 <strong>SLC</strong><br />

5/01 – no es necesario<br />

<strong>de</strong>sconectar y volver a<br />

conectar la alim. eléc. para<br />

reanudar el modo <strong>de</strong><br />

marcha REM. Una vez que<br />

el chasis está reconectado<br />

a la alim. eléc., el CPU<br />

vuelve a iniciar el sistema.<br />

• Un overflow <strong>de</strong> instrucción<br />

matemática o FRD ha ocurrido,<br />

• un error <strong>de</strong> instrucción <strong>de</strong><br />

registro <strong>de</strong> <strong>de</strong>splazamiento o<br />

secuenciador se <strong>de</strong>tectó,<br />

• un error mayor se <strong>de</strong>tectó<br />

durante la ejecución <strong>de</strong> una<br />

rutina <strong>de</strong> fallo <strong>de</strong> usuario, o<br />

• las direcciones <strong>de</strong> archivo<br />

M0–M1 fueron indicadas en el<br />

programa <strong>de</strong> usuario para una<br />

ranura inhabilitada.<br />

Procesadores compactos y FRN1<br />

A 4 <strong>SLC</strong> 5/01: la alimentación<br />

eléctrica se interrumpió o la<br />

alimentación eléctrica se redujo<br />

momentáneamente bajo los<br />

valores especificados para un<br />

chasis <strong>de</strong> expansión.<br />

Procesadores <strong>SLC</strong> 5/02 y<br />

procesadores FRN 5 <strong>SLC</strong> 5/01:<br />

Este código <strong>de</strong> error está<br />

presente solamente mientras la<br />

alimentación eléctrica no se<br />

aplica a un chasis <strong>de</strong> expansión.<br />

Este es el único código que se<br />

pone a cero automáticamente. El<br />

fallo se borrará cuando la<br />

alimentación eléctrica se vuelva a<br />

aplicar al chasis <strong>de</strong> expansión.<br />

Corrija el problema <strong>de</strong><br />

programación, vuelva a cargar el<br />

programa y entre en el modo <strong>de</strong><br />

marcha. Vea también los bits <strong>de</strong><br />

error menor S:5 en el apéndice B.<br />

Procesadores fijos y FRN 1 a 4<br />

<strong>SLC</strong> 5/01: Desconecte y vuelva<br />

a conectar la alimentación<br />

eléctrica al chasis local.<br />

Procesadores <strong>SLC</strong> 5/02 y<br />

procesadores FRN 5 <strong>SLC</strong> 5/01:<br />

Vuelva a aplicar la alimentación<br />

eléctrica al chasis <strong>de</strong> expansión.


Código <strong>de</strong><br />

error (hex)<br />

0022 El tiempo <strong>de</strong> escán <strong>de</strong> control<br />

(watchdog) <strong>de</strong> usuario ha sido<br />

excedido.<br />

0023 Archivo <strong>de</strong> interrupción STI<br />

inválido o no existente.<br />

0024 Intervalo <strong>de</strong> interrupción STI<br />

inválido (mayor que 2550 ms o<br />

negativo)<br />

0025 Exceso <strong>de</strong> profundidad <strong>de</strong><br />

pila/llamadas JSR para la rutina<br />

STI.<br />

0026 Exceso <strong>de</strong> profundidad <strong>de</strong><br />

pila/llamadas JSR para una<br />

rutina <strong>de</strong> interrupción <strong>de</strong> E/S<br />

0027 Exceso <strong>de</strong> profundidad <strong>de</strong><br />

pila/llamadas JSR para una<br />

rutina <strong>de</strong> fallo <strong>de</strong> usuario.<br />

Cómo localizar y corregir fallos<br />

Descripción Causa probable Acción recomendada<br />

0028 Valor <strong>de</strong> archivo <strong>de</strong> rutina <strong>de</strong> fallo<br />

<strong>de</strong> “protección <strong>de</strong> encendido” no<br />

válido o no existente.<br />

• El tiempo <strong>de</strong> control<br />

(watchdog) se estableció<br />

<strong>de</strong>masiado bajo para el<br />

programa <strong>de</strong> usuario, o<br />

• el programa <strong>de</strong> usuario se<br />

atrapó en un lazo.<br />

• Un número <strong>de</strong> archivo <strong>de</strong><br />

interrupción STI fue asignado<br />

en el archivo estado, pero el<br />

archivo <strong>de</strong> subrutina no fue<br />

creado, o<br />

• el número <strong>de</strong> archivo <strong>de</strong><br />

interrupción STI asignado era<br />

0, 1 ó 2.<br />

El punto <strong>de</strong> ajuste STI se<br />

encuentra fuera <strong>de</strong> los límites<br />

(mayor que 2550 ms o negativo).<br />

Una instrucción JSR está<br />

llamando un número <strong>de</strong> archivo<br />

asignado a una rutina STI.<br />

Una instrucción JSR está<br />

llamando un número <strong>de</strong> archivo<br />

asignado a una rutina <strong>de</strong><br />

interrupción <strong>de</strong> E/S.<br />

Una instrucción JSR está<br />

llamando un número <strong>de</strong> archivo<br />

asignado a una rutina <strong>de</strong> fallo <strong>de</strong><br />

usuario.<br />

• Un número <strong>de</strong> archivo <strong>de</strong><br />

rutina <strong>de</strong> fallo se creó en el<br />

archivo <strong>de</strong> estado, pero el<br />

archivo <strong>de</strong> rutina <strong>de</strong> fallo no<br />

fue creado físicamente, o<br />

• el número <strong>de</strong> archivo creado<br />

era 0, 1 ó 2.<br />

• Incremente el límite <strong>de</strong> tiempo<br />

sobrepasado <strong>de</strong>l control<br />

(watchdog) en el archivo <strong>de</strong><br />

estado (S:3H), o<br />

• corrija el problema <strong>de</strong>l<br />

programa <strong>de</strong> usuario.<br />

• Inhabilite el punto <strong>de</strong> ajuste <strong>de</strong><br />

interrupción STI (S:30) y el no.<br />

<strong>de</strong> archivo (S:31) en el archivo<br />

<strong>de</strong> estado, o<br />

• cree un archivo <strong>de</strong> subrutina <strong>de</strong><br />

interrupción STI para el no. <strong>de</strong><br />

archivo asignado en el archivo<br />

<strong>de</strong> estado (S:31). El no. <strong>de</strong><br />

archivo no <strong>de</strong>be ser 0, 1 ó 2.<br />

• Inhabilite el punto <strong>de</strong> ajuste <strong>de</strong><br />

interrupción STI (S:30) y el no.<br />

<strong>de</strong> archivo (S:31) en el archivo<br />

<strong>de</strong> estado, o<br />

• cree una rutina <strong>de</strong> interrupción<br />

STI para el no. <strong>de</strong> archivo<br />

indicado en el archivo <strong>de</strong><br />

estado (S:31). El no. <strong>de</strong><br />

archivo no <strong>de</strong>be ser 0, 1 ó 2.<br />

Corrija el programa <strong>de</strong> usuario<br />

para cumplir con los requisitos y<br />

restricciones para la instrucción<br />

JSR, y luego vuelva a cargar el<br />

programa y ejecute.<br />

Corrija el programa <strong>de</strong> usuario<br />

para cumplir con los requisitos y<br />

restricciones para la instrucción<br />

JSR, y luego vuelva a cargar el<br />

programa y ejecute.<br />

Corrija el programa <strong>de</strong> usuario<br />

para cumplir con los requisitos y<br />

restricciones para la instrucción<br />

JSR, y luego vuelva a cargar el<br />

programa y ejecute.<br />

• Inhabilite el número <strong>de</strong> archivo<br />

<strong>de</strong> rutina <strong>de</strong> fallo (S:29) en el<br />

archivo <strong>de</strong> estado, o<br />

• cree una rutina <strong>de</strong> fallo para el<br />

número <strong>de</strong> archivo indicado en<br />

el archivo <strong>de</strong> estado (S:29). El<br />

no. <strong>de</strong> archivo no <strong>de</strong>be ser 0,<br />

1 ó 2.<br />

13–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Código <strong>de</strong><br />

error (hex)<br />

13–16<br />

Descripción Causa probable Acción recomendada<br />

0029 La referencia <strong>de</strong> la dirección<br />

in<strong>de</strong>xada está fuera <strong>de</strong> todo el<br />

espacio <strong>de</strong> archivo <strong>de</strong> datos<br />

(rango <strong>de</strong> B3:0 al último<br />

archivo).<br />

El procesador <strong>SLC</strong> 5/02<br />

! usa un valor <strong>de</strong> índice <strong>de</strong><br />

cero para la instrucción<br />

con fallo siguiente a la<br />

recuperación <strong>de</strong> error.<br />

002A La referencia <strong>de</strong> dirección<br />

in<strong>de</strong>xada está fuera <strong>de</strong>l archivo<br />

<strong>de</strong> datos indicado específico.<br />

002B Existe un número <strong>de</strong> archivo no<br />

válido para una dirección<br />

indirecta.<br />

002C El elemento <strong>de</strong> dirección<br />

indirecto indicado está fuera <strong>de</strong><br />

los límites <strong>de</strong>l archivo <strong>de</strong> datos.<br />

002D Existe un subelemento <strong>de</strong><br />

dirección indirecto indicado no<br />

válido.<br />

El programa está haciendo<br />

referencias a un elemento,a<br />

través <strong>de</strong>l direccionamiento<br />

in<strong>de</strong>xado, el cual se encuentra<br />

fuera <strong>de</strong> los límites permitidos.<br />

Los límites son <strong>de</strong> B3:0 al último<br />

elemento <strong>de</strong>l último archivo <strong>de</strong><br />

datos creado por el usuario.<br />

El programa está haciendo<br />

referencias a un elemento, a<br />

través <strong>de</strong>l direccionamiento<br />

in<strong>de</strong>xado, el cual se encuentra<br />

fuera <strong>de</strong>l límite <strong>de</strong> archivo.<br />

El número <strong>de</strong> archivo existe, pero<br />

no es el tipo <strong>de</strong> archivo correcto<br />

o el número <strong>de</strong> archivo no existe.<br />

El elemento indirectamente<br />

indicado no existe, pero el tipo <strong>de</strong><br />

archivo es correcto y existe.<br />

Se hace referencia a un<br />

subelemento incorrectamente o<br />

una referencia indirecta ha sido<br />

efectuada a un archivo M.<br />

002E Ranura <strong>de</strong> entrada DII no válida. La ranura indicada está vacía o<br />

una tarjeta <strong>de</strong> E/S no discreta<br />

está presente.<br />

002F Archivo <strong>de</strong> interrupción DII no<br />

válido o no existente.<br />

• Un número <strong>de</strong> archivo <strong>de</strong><br />

interrupción DII fue asignado<br />

al archivo <strong>de</strong> estado, pero el<br />

archivo <strong>de</strong> subrutina no fue<br />

creado, o<br />

• el número <strong>de</strong> archivo <strong>de</strong><br />

interrupción DII asignado era<br />

0, 1 ó 2.<br />

Corrija y vuelva a cargar el<br />

programa <strong>de</strong> usuario. Este<br />

problema no pue<strong>de</strong> ser corregido<br />

escribiendo a la palabra <strong>de</strong><br />

registro <strong>de</strong> índice (S:24).<br />

Corrija el programa <strong>de</strong> usuario,<br />

asigne más espacio <strong>de</strong> datos<br />

usando el mapa <strong>de</strong> memoria o<br />

vuelva a guardar el programa<br />

permitiendo el cruzado <strong>de</strong> límites<br />

<strong>de</strong> archivo. Vuelva a cargar el<br />

programa <strong>de</strong> usuario. Este<br />

problema no pue<strong>de</strong> ser corregido<br />

escribiendo a la palabra <strong>de</strong><br />

registro <strong>de</strong> índice (S:24).<br />

Verifique el tipo <strong>de</strong> archivo o cree<br />

el número <strong>de</strong> archivo.<br />

Cree el elemento indirectamente<br />

indicado.<br />

Corrija las referencias y reintente.<br />

Cambie la ranura <strong>de</strong> entrada a<br />

una tarjeta <strong>de</strong> E/S discreta.<br />

Inhabilite la función DII<br />

escribiendo un cero a esta<br />

ubicación, o cambie el valor a un<br />

archivo <strong>de</strong> escalera válido<br />

(3–255).


Errores <strong>de</strong> instrucción <strong>de</strong> programa <strong>de</strong> usuario<br />

Código <strong>de</strong><br />

error (hex)<br />

0030 Se intentó saltar un archivo <strong>de</strong><br />

subrutina anidado en exceso.<br />

Este código también pue<strong>de</strong><br />

significar que un problema tiene<br />

posibles rutinas recursivas.<br />

0031 Se <strong>de</strong>tectó una referencia <strong>de</strong><br />

instrucción no compatible.<br />

Cómo localizar y corregir fallos<br />

Descripción Causa probable Acción recomendada<br />

0032 Un parámetro <strong>de</strong> longitud/<br />

posición <strong>de</strong> instrucción <strong>de</strong><br />

secuenciador indica más allá <strong>de</strong>l<br />

final <strong>de</strong> un archivo <strong>de</strong> datos.<br />

0033 El parámetro <strong>de</strong> longitud <strong>de</strong> una<br />

instrucción LFU, LFL, FFU, FFL,<br />

BSL o BSR indica más allá <strong>de</strong>l<br />

final <strong>de</strong> un archivo <strong>de</strong> datos.<br />

0034 Un valor negativo para un<br />

acumulador <strong>de</strong> temporizador o<br />

valor preseleccionado fue<br />

<strong>de</strong>tectado.<br />

Procesadores fijos con entrada<br />

<strong>de</strong> 24 VCC solamente: un HSC<br />

preseleccionado negativo o <strong>de</strong><br />

cero se <strong>de</strong>tectó en una<br />

instrucción HSC.<br />

0034<br />

(relacionado con<br />

la instrucción<br />

fija 5/01 HSC)<br />

Un HSC preseleccionado<br />

negativo o <strong>de</strong> cero se <strong>de</strong>tectó en<br />

una instrucción HSC.<br />

0035 La instrucción TND, SV o REF se<br />

llama <strong>de</strong>ntro <strong>de</strong> una rutina <strong>de</strong><br />

interrupción o fallo <strong>de</strong> usuario.<br />

• Más que el máximo <strong>de</strong> 4 (8 si<br />

usa un procesador 5/02 ó<br />

5/03) niveles <strong>de</strong> subrutinas<br />

anidadas es llamado en el<br />

programa <strong>de</strong> usuario, o<br />

• la(s) subrutina(s) llama(n)<br />

subrutina(s) <strong>de</strong> un nivel<br />

anterior.<br />

El tipo o nivel <strong>de</strong> serie <strong>de</strong>l<br />

procesador no tiene capacidad<br />

para un instrucción que resi<strong>de</strong> en<br />

el programa <strong>de</strong> usuario, o usted<br />

ha programado una constante<br />

como el primer operando <strong>de</strong> una<br />

instrucción <strong>de</strong> comparación.<br />

El programa está haciendo<br />

referencia a un elemento fuera<br />

<strong>de</strong>l límite <strong>de</strong> archivo establecido<br />

por la instrucción <strong>de</strong><br />

secuenciador.<br />

El programa está haciendo<br />

referencia a un elemento fuera<br />

<strong>de</strong>l límite <strong>de</strong> archivo establecido<br />

por la instrucción.<br />

El valor acumulador o preseleccionado<br />

<strong>de</strong> un temporizador en el<br />

programa <strong>de</strong> usuario se <strong>de</strong>tectó<br />

como negativo.<br />

El valor preseleccionado para la<br />

instrucción HSC está fuera <strong>de</strong>l<br />

rango válido. El rango válido es<br />

1–32767.<br />

Una instrucción TND, SVC o REF<br />

se usa en una rutina <strong>de</strong><br />

interrupción o fallo <strong>de</strong> usuario.<br />

Esto es ilegal.<br />

Corrija el programa <strong>de</strong> usuario<br />

para cumplir con los requisitos y<br />

restricciones para la instrucción<br />

JSR y luego vuelva a cargar el<br />

programa y ejecute.<br />

• Reemplace el procesador con<br />

uno que tenga capacidad para<br />

el programa <strong>de</strong> usuario, o<br />

• modifique el programa <strong>de</strong><br />

usuario para que todas las<br />

<strong>instrucciones</strong> sean respaldadas<br />

por el procesador, y luego<br />

vuelva a programar y ejecute.<br />

Corrija el programa <strong>de</strong> usuario o<br />

asigne más espacio <strong>de</strong> archivo<br />

<strong>de</strong> datos usando el mapa <strong>de</strong><br />

memoria, y luego vuelva a cargar<br />

y ejecute.<br />

Corrija el programa <strong>de</strong> usuario o<br />

asigne más espacio <strong>de</strong> archivo<br />

<strong>de</strong> datos usando el mapa <strong>de</strong><br />

memoria, y luego vuelva a cargar<br />

y ejecute.<br />

Si el programa <strong>de</strong> usuario<br />

transfiere valores a la palabra<br />

acumulada o preseleccionada <strong>de</strong><br />

un temporizador, asegúrese que<br />

estos valores no puedan ser<br />

negativos. Corrija el programa<br />

<strong>de</strong> usuario, vuelva a cargar y<br />

ejecute.<br />

Si el programa <strong>de</strong> usuario<br />

transfiere valores a la palabra<br />

acumulada o preseleccionada <strong>de</strong><br />

un temporizador, asegúrese que<br />

estos valores no puedan ser<br />

negativos. Corrija el programa<br />

<strong>de</strong> usuario, vuelva a cargar y<br />

ejecute.<br />

Corrija el programa <strong>de</strong> usuario,<br />

vuelva a cargar y ejecute.<br />

13–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Código <strong>de</strong><br />

error (hex)<br />

13–18<br />

Descripción Causa probable Acción recomendada<br />

0036 Un valor no válido se usa para un<br />

parámetro <strong>de</strong> instrucción PID.<br />

0038 Una instrucción RET se <strong>de</strong>tectó<br />

en un archivo que no es una<br />

subrutina.<br />

xx3A Ocurrió un intento <strong>de</strong> escribir a<br />

un archivo <strong>de</strong> datos protegido.<br />

1f39 Una longitud <strong>de</strong> ca<strong>de</strong>na no válida<br />

se <strong>de</strong>tectó en un archivo <strong>de</strong><br />

ca<strong>de</strong>na.<br />

Un valor no válido se cargó en<br />

una instrucción PID por el<br />

programa <strong>de</strong> usuario o por el<br />

usuario vía la función <strong>de</strong> monitor<br />

<strong>de</strong> datos para esta instrucción.<br />

Una instrucción RET resi<strong>de</strong> en el<br />

programa principal.<br />

Se intentó escribir a una<br />

dirección indirecta ubicada en un<br />

archivo que tiene protección <strong>de</strong><br />

archivo <strong>de</strong> datos constante.<br />

La primera palabra <strong>de</strong> los datos<br />

<strong>de</strong> ca<strong>de</strong>na contiene un valor<br />

negativo, <strong>de</strong> cero o mayor que 82.<br />

El código 0036 se trata en el<br />

capítulo 9 <strong>de</strong> este manual.<br />

Corrija el programa <strong>de</strong> usuario,<br />

vuelva a cargar y ejecute.<br />

Elimine la protección y reintente<br />

la función.<br />

Verifique la primera palabra <strong>de</strong><br />

los elementos <strong>de</strong> datos <strong>de</strong><br />

ca<strong>de</strong>na en busca <strong>de</strong> valor<br />

inválidos y corrija los datos <strong>de</strong><br />

usuario.


Errores <strong>de</strong> E/S<br />

CODIGOS DE ERROR: Los caracteres xx en<br />

los códigos siguientes representan el número<br />

<strong>de</strong> ranura en hexa<strong>de</strong>cimal. Si la ranura precisa<br />

no se pue<strong>de</strong> <strong>de</strong>terminar, los caracteres xx se<br />

convierten en 03 para los controladores fijos y<br />

1F para los controladores modulares. Refiérase<br />

a la tabla a la <strong>de</strong>recha.<br />

FALLOS DE E/S RECUPERABLES<br />

(procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04<br />

solamente): Muchos <strong>de</strong> los fallos <strong>de</strong> E/S son<br />

recuperables. Para recuperarlos, usted <strong>de</strong>be<br />

inhabilitar la ranura xx especificada en la rutina<br />

<strong>de</strong> fallo <strong>de</strong> usuario. Si no inhabilita la ranura xx,<br />

el procesador estará con fallo al final <strong>de</strong>l escán.<br />

Nota: Una tarjeta <strong>de</strong> E/S muy dañada pue<strong>de</strong><br />

causar que el procesador indique la existencia<br />

<strong>de</strong> un error en la ranura 1 aunque la tarjeta<br />

dañada fuera instalada en una ranura distinta<br />

<strong>de</strong> 1.<br />

Código <strong>de</strong><br />

error (hex)<br />

xx50 Un error <strong>de</strong> datos <strong>de</strong> chasis se<br />

<strong>de</strong>tecta.<br />

xx51 Un error <strong>de</strong> tiempo <strong>de</strong> ejecución<br />

“atascado” se <strong>de</strong>tecta en un<br />

módulo <strong>de</strong> E/S.<br />

xx52 Un módulo requerido para el<br />

programa <strong>de</strong> usuario se <strong>de</strong>tecta<br />

como faltante o quitado.<br />

Ran. xx<br />

0 00<br />

1 01<br />

2 02<br />

3 03**<br />

4 04<br />

5 05<br />

6 06<br />

7 07<br />

Ran. xx<br />

8 08<br />

9 09<br />

10 0A<br />

11 0B<br />

12 0C<br />

13 0D<br />

14 0E<br />

15 0F<br />

Cómo localizar y corregir fallos<br />

NUMEROS DE RANURA (xx) EN HEXADECIMAL<br />

Ran. xx<br />

16 10<br />

17 11<br />

18 12<br />

19 13<br />

20 14<br />

21 15<br />

22 16<br />

23 17<br />

Descripción Causa probable Acción recomendada<br />

• Ruido,<br />

• relámpago,<br />

• conexión incorrecta a tierra,<br />

• falta <strong>de</strong> supresión <strong>de</strong> sobretensión<br />

en las salidas con<br />

cargas inductivas, o<br />

• fuente <strong>de</strong> alimentación<br />

eléctrica insuficiente.<br />

Si éste es un módulo <strong>de</strong> E/S<br />

discretas, se trata <strong>de</strong> un<br />

problema <strong>de</strong> ruido. Si éste es un<br />

módulo <strong>de</strong> E/S especial, refiérase<br />

al manual <strong>de</strong> usuario correspondiente<br />

para obtener la causa<br />

probable.<br />

Un módulo <strong>de</strong> E/S configurado<br />

para una ranura <strong>de</strong>terminada<br />

hace falta o ha sido eliminado.<br />

Ran. xx<br />

24 18<br />

25 19<br />

26 1A<br />

27 1B<br />

28 1C<br />

29 1D<br />

30 1E<br />

1F*<br />

Corrija el problema, borre el fallo<br />

y vuelva a entrar en el modo <strong>de</strong><br />

marcha.<br />

Desconecte y vuelva a conectar<br />

la alimentación eléctrica el<br />

sistema. Si eso no corrige el<br />

problema, reemplace el módulo.<br />

• Inhabilite la ranura en el<br />

archivo <strong>de</strong> estado (S:11 y<br />

S:12), o<br />

• inserte el módulo requerido en<br />

la ranura.<br />

13–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Código <strong>de</strong><br />

error (hex)<br />

13–20<br />

Descripción Causa probable Acción recomendada<br />

xx53 Cuando está <strong>de</strong> ida a marcha, un<br />

programa <strong>de</strong>clara una ranura<br />

como no usada y se <strong>de</strong>tecta que<br />

dicha ranura tiene un módulo <strong>de</strong><br />

E/S insertado. Este código<br />

también pue<strong>de</strong> significar que un<br />

módulo <strong>de</strong> E/S se ha<br />

restablecido.<br />

Específico para <strong>SLC</strong> 5/03 – Se<br />

intentó entrar en el modo <strong>de</strong><br />

marcha o prueba con un chasis<br />

vacío.<br />

xx54 Un módulo requerido para el<br />

programa <strong>de</strong> usuario se <strong>de</strong>tecta<br />

que es <strong>de</strong>l tipo incorrecto.<br />

xx55 Un módulo <strong>de</strong> E/S discreto<br />

requerido para el programa <strong>de</strong><br />

usuario se <strong>de</strong>tecta que tiene un<br />

conteo incorrecto <strong>de</strong> E/S.<br />

Este código también pue<strong>de</strong><br />

significar que un variador <strong>de</strong><br />

tarjeta especial es incorrecto.<br />

xx56 La configuración <strong>de</strong> chasis<br />

especificada en el programa <strong>de</strong><br />

usuario se <strong>de</strong>tecta como<br />

incorrecta.<br />

xx57 Un módulo <strong>de</strong> E/S especial no ha<br />

respondido a un comando <strong>de</strong><br />

memoria <strong>de</strong> bloque compartido<br />

<strong>de</strong>ntro <strong>de</strong>l límite <strong>de</strong> tiempo<br />

requerido.<br />

xx58 Un módulo <strong>de</strong> E/S especial ha<br />

generado un fallo genérico. El bit<br />

<strong>de</strong> fallo <strong>de</strong> tarjeta se establece<br />

(1) en el byte <strong>de</strong> estado <strong>de</strong>l<br />

módulo.<br />

• La ranura <strong>de</strong> E/S no está<br />

configurada para un módulo,<br />

pero hay un módulo presente, o<br />

• el módulo <strong>de</strong> E/S se ha<br />

restablecido por sí mismo.<br />

• Inhabilite la ranura en el<br />

archivo <strong>de</strong> estado (S:11 y<br />

S:12), borre el fallo y ejecute,<br />

• quite el módulo, borre el fallo y<br />

ejecute, o<br />

• modifique la configuración <strong>de</strong><br />

E/S para que incluya el<br />

mó<strong>de</strong>m, y luego vuelva a<br />

cargar el programa y ejecute.<br />

• Si usted percibe que el<br />

módulo se ha restablecido,<br />

borre el error mayor y ejecute.<br />

Un chasis sin módulos <strong>de</strong> E/S. Inhabilite todas las ranuras en el<br />

chasis vacío (vea S:11 y S:12).<br />

Un módulo <strong>de</strong> E/S en una ranura<br />

<strong>de</strong>terminada es <strong>de</strong> tipo diferente<br />

que el configurado para dicha<br />

ranura por el usuario.<br />

• Si éste es un módulo <strong>de</strong> E/S<br />

discreto, el conteo <strong>de</strong> E/S es<br />

diferente <strong>de</strong>l conteo<br />

seleccionado en la<br />

configuración <strong>de</strong> E/S.<br />

• Si éste es un módulo <strong>de</strong> E/S<br />

especial, el controlador <strong>de</strong><br />

tarjeta es incorrecto.<br />

La configuración <strong>de</strong> chasis<br />

especificada por el usuario no<br />

correspon<strong>de</strong> al hardware.<br />

El módulo <strong>de</strong> E/S especial no<br />

respon<strong>de</strong> al procesador <strong>de</strong>ntro<br />

<strong>de</strong>l tiempo permitido.<br />

Refiérase al manual <strong>de</strong> usuario<br />

<strong>de</strong>l módulo <strong>de</strong> E/S especial.<br />

• Reemplace el módulo con el<br />

módulo correcto, borre el fallo<br />

y ejecute, o<br />

• cambie la configuración <strong>de</strong><br />

E/S para la ranura, vuelva a<br />

cargar el programa y ejecute.<br />

• Si éste es un módulo <strong>de</strong> E/S<br />

discreto, reemplácelo con un<br />

módulo con el conteo <strong>de</strong> E/S<br />

seleccionado. Luego, borre el<br />

fallo y ejecute, o<br />

• cambie la configuración <strong>de</strong><br />

E/S para que corresponda al<br />

módulo existente, luego<br />

vuelva a cargar el programa y<br />

ejecute.<br />

• Si éste es un módulo <strong>de</strong> E/S<br />

especial, refiérase al manual<br />

<strong>de</strong> usuario para dicho módulo.<br />

Corrija la configuración <strong>de</strong><br />

chasis, vuelva a cargar el<br />

programa y ejecute.<br />

Desconecte y vuelva a conectar<br />

la alim. eléc. al chasis. Si esto<br />

no corrige el problema, refiérase<br />

al manual <strong>de</strong> usuario <strong>de</strong>l módulo<br />

<strong>de</strong> E/S especial. Pue<strong>de</strong> ser<br />

necesario reemplazar el módulo.<br />

Desconecte y vuelva a conectar<br />

la alim. eléc. al chasis. Si esto<br />

no corrige el problema, refiérase<br />

al manual <strong>de</strong> usuario <strong>de</strong>l módulo<br />

<strong>de</strong> E/S especial. Pue<strong>de</strong> ser<br />

necesario reemplazar el módulo.


Código <strong>de</strong><br />

error (hex)<br />

Cómo localizar y corregir fallos<br />

Descripción Causa probable Acción recomendada<br />

xx59 Un módulo <strong>de</strong> E/S especial no ha<br />

respondido a un comando como<br />

finalizado <strong>de</strong>ntro <strong>de</strong>l límite <strong>de</strong><br />

tiempo requerido.<br />

xx5A Problema <strong>de</strong> interrupción <strong>de</strong><br />

hardware.<br />

xx5B Error <strong>de</strong> configuración <strong>de</strong> archivo<br />

G – el tamaño <strong>de</strong>l archivo G <strong>de</strong><br />

programa <strong>de</strong> usuario exce<strong>de</strong> la<br />

capacidad <strong>de</strong>l módulo.<br />

xx5C Error <strong>de</strong> configuración <strong>de</strong> archivo<br />

M0–M1 – el tamaño <strong>de</strong> archivo<br />

M0–M1 <strong>de</strong>l programa <strong>de</strong> usuario<br />

exce<strong>de</strong> la capacidad <strong>de</strong>l módulo.<br />

xx5D El servicio <strong>de</strong> interrupción<br />

solicitado no es comptabile con el<br />

procesador.<br />

xx5E Error <strong>de</strong> controlador (software)<br />

<strong>de</strong>l procesador <strong>de</strong> E/S.<br />

xx60<br />

a<br />

xx6F<br />

xx70<br />

a<br />

xx7F<br />

I<strong>de</strong>ntifica un error mayor<br />

recuperable específico para el<br />

módulo <strong>de</strong> E/S.<br />

I<strong>de</strong>ntifica un error mayor no<br />

recuperable específico para el<br />

módulo <strong>de</strong> E/S.<br />

xx90 Problema <strong>de</strong> interrupción en una<br />

ranura inhabilitada.<br />

xx91 Una ranura inhabilitada ha<br />

fallado.<br />

Un módulo <strong>de</strong> E/S especial no<br />

finalizó un comando <strong>de</strong>s<strong>de</strong> el<br />

procesador <strong>de</strong>ntro <strong>de</strong>l tiempo<br />

permitido.<br />

Si éste es un módulo <strong>de</strong> E/S<br />

discreto, se trata <strong>de</strong> un problema<br />

<strong>de</strong> ruido. Si éste es un módulo<br />

<strong>de</strong> E/S especial, refiérase al<br />

manual <strong>de</strong> usuario <strong>de</strong>l módulo.<br />

El archivo G es incorrecto para el<br />

módulo en esta ranura.<br />

Los archivos M0–M1 son<br />

incorrectos para el módulo en<br />

esta ranura.<br />

El módulo especial <strong>de</strong> E/S ha<br />

solicitado servicio y el procesador<br />

no tiene capacidad para ello.<br />

Software <strong>de</strong> controlador <strong>de</strong> E/S<br />

<strong>de</strong> procesador alterado.<br />

Un módulo especial <strong>de</strong> E/S<br />

solicitó servicio durante la<br />

inhabilitación <strong>de</strong> una ranura.<br />

Un módulo especial <strong>de</strong> E/S en<br />

una ranura inhabilitada ha<br />

fallado.<br />

Refiérase al manual <strong>de</strong> usuario<br />

<strong>de</strong>l módulo <strong>de</strong> E/S especial.<br />

Pue<strong>de</strong> ser necesario reemplazar<br />

el módulo.<br />

Desconecte y vuelva a conectar<br />

la alim. eléc. al chasis. Verifique<br />

si hay un problema <strong>de</strong> ruido y<br />

asegúrese <strong>de</strong> usar las prácticas<br />

<strong>de</strong> conexión a tierra a<strong>de</strong>cuadas.<br />

Si éste es un módulo <strong>de</strong> E/S<br />

especial, refiérase al manual <strong>de</strong><br />

usuario <strong>de</strong>l módulo. Pue<strong>de</strong> ser<br />

necesario reemplazar el módulo.<br />

Refiérase al manual <strong>de</strong> usuario<br />

<strong>de</strong>l módulo <strong>de</strong> E/S especial.<br />

Vuelva a configurar el archivo G<br />

según lo instruido en el manual, y<br />

luego vuelva a cargar y ejecute.<br />

Refiérase al manual <strong>de</strong> usuario <strong>de</strong>l<br />

módulo <strong>de</strong> E/S especial. Vuelva a<br />

configurar el archivo M0–M1 según<br />

lo instruido en el manual, luego<br />

vuelva a cargar y ejecute.<br />

Refiérase al manual <strong>de</strong> usuario <strong>de</strong>l<br />

módulo <strong>de</strong> E/S especial para<br />

<strong>de</strong>terminar cuáles procesadores<br />

tienen capacidad para el uso <strong>de</strong>l<br />

módulo. Cambie el procesador a<br />

uno que tenga capacidad para el<br />

módulo.<br />

Vuelva a cargar el programa<br />

usando software APS aprobado<br />

por RSI.<br />

– –<br />

– –<br />

Refiérase al manual <strong>de</strong> usuario<br />

<strong>de</strong>l módulo especial <strong>de</strong> E/S.<br />

Pue<strong>de</strong> ser necesario reemplazar<br />

el módulo.<br />

Desconecte y vuelva a conectar<br />

la alim. eléc. al chasis. Si esto<br />

no corrige el problema, refiérase<br />

al manual <strong>de</strong> usuario <strong>de</strong>l módulo<br />

especial <strong>de</strong> E/S. Pue<strong>de</strong> ser<br />

necesario reemplazar el módulo.<br />

13–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Código <strong>de</strong><br />

error (hex)<br />

13–22<br />

xx92 Archivo <strong>de</strong> subrutina <strong>de</strong><br />

interrupción (ISR) <strong>de</strong> módulo<br />

inválido o no existente.<br />

xx93 Error mayor específico para el<br />

módulo <strong>de</strong> E/S sin capacidad.<br />

Descripción Causa probable Acción recomendada<br />

xx94 Un módulo ha sido <strong>de</strong>tectado<br />

como insertado con la<br />

alimentación eléctrica conectada<br />

en el modo <strong>de</strong> marcha o prueba.<br />

Esto también pue<strong>de</strong> significar<br />

que un módulo <strong>de</strong> E/S se ha<br />

restablecido.<br />

La información <strong>de</strong>l archivo <strong>de</strong><br />

configuración <strong>de</strong> E/S / ISR para<br />

un módulo <strong>de</strong> E/S especial no es<br />

correcta.<br />

El procesador no reconoce el<br />

código <strong>de</strong> error <strong>de</strong> un módulo <strong>de</strong><br />

E/S especial.<br />

El módulo fue insertado en el<br />

chasis conectado a la<br />

alimentación eléctrica o el<br />

módulo se ha restablecido.<br />

Corrija la información <strong>de</strong> archivo<br />

<strong>de</strong> configuración <strong>de</strong> E/S / ISR<br />

para el módulo <strong>de</strong> E/S especial.<br />

Refiérase al manual <strong>de</strong> usuario<br />

<strong>de</strong>l módulo para obtener la<br />

información <strong>de</strong> archivo ISR<br />

correcta. Luego, vuelva a cargar<br />

el programa y ejecute.<br />

Refiérase al manual <strong>de</strong> usuario<br />

<strong>de</strong>l módulo <strong>de</strong> E/S especial.<br />

Nunca se <strong>de</strong>be insertar un<br />

módulo en un chasis conectado a<br />

la alimentación eléctrica. Si eso<br />

ocurre y el módulo no sale<br />

dañado,<br />

• quite el módulo, borre el fallo y<br />

ejecute, o<br />

• añada el módulo a la<br />

configuración <strong>de</strong> E/S, haga<br />

referencia al módulo en el<br />

programa <strong>de</strong> usuario don<strong>de</strong> se<br />

requiera, vuelva a cargar el<br />

programa y ejecute.


Cómo localizar y corregir fallos<br />

Cómo localizar y corregir fallos <strong>de</strong> los procesadores<br />

<strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04<br />

Cómo encen<strong>de</strong>r la pantalla LED<br />

El único modo <strong>de</strong> comunicación entre usted y el procesador entre el momento en<br />

que usted conecta la alimentación eléctrica al procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 y el<br />

momento en que éste pueda establecer comunicación con un dispositivo <strong>de</strong><br />

programación conectado, es por medio <strong>de</strong> la pantalla LED.<br />

Cuando se aplica la alimentación eléctrica, todos los LED parpa<strong>de</strong>an<br />

momentáneamente y luego se apagan. Esta es parte <strong>de</strong> la secuencia <strong>de</strong> encendido<br />

normal. Luego <strong>de</strong>l autodiagnóstico <strong>de</strong>l procesador, todos los LED volverán a<br />

parpa<strong>de</strong>ar momentáneamente. Si el programa <strong>de</strong> usuario está en un estado <strong>de</strong><br />

marcha, el LED <strong>de</strong> MARCHA se ilumina. Si un fallo existe <strong>de</strong>ntro <strong>de</strong>l procesador,<br />

el LED FLT se ilumina.<br />

Cómo i<strong>de</strong>ntificar errores <strong>de</strong>l procesador durante la <strong>de</strong>scarga <strong>de</strong> un sistema<br />

<strong>de</strong> operación<br />

El proceso <strong>de</strong> <strong>de</strong>scarga dura aproximadamente 45 segundos. Durante este período,<br />

observe la pantalla LED para ver la información <strong>de</strong> estado. Durante el progreso <strong>de</strong><br />

la <strong>de</strong>scarga, los LED <strong>de</strong> MARCHA y FLT permanece apagados. Los LED <strong>de</strong><br />

RS232, DH485 ó DH+, FORCE y BATT se iluminan en una secuencia previamente<br />

<strong>de</strong>finida. Si la <strong>de</strong>scarga se realiza exitosamente, los LED anteriores se iluminan.<br />

Si ocurre un error durante el proceso <strong>de</strong> <strong>de</strong>scarga <strong>de</strong> un módulo <strong>de</strong> memoria <strong>de</strong>l tipo<br />

sistema <strong>de</strong> operación o durante el proceso <strong>de</strong> autodiagnóstico <strong>de</strong> encendido normal,<br />

el LED FLT se ilumina y los cuatro LED se parpa<strong>de</strong>an intermitentemente a una<br />

velocidad <strong>de</strong> 2 segundos.<br />

13–23


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

13–24<br />

La tabla siguiente <strong>de</strong>scribe las posibles combinaciones LED que se muestran<br />

alternadamente cada vez qie los LED se iluminen parpa<strong>de</strong>ando.<br />

Visualización <strong>de</strong> LED ILUMINADO Descripción<br />

FAULT, FORCE, DH485 ó DH+ Existe un error <strong>de</strong> hardware fatal.<br />

FAULT, FORCE, RS232, DH485 ó DH+<br />

Existe un límite <strong>de</strong> tiempo sobrepasado <strong>de</strong> control<br />

(watchdog) <strong>de</strong> hardware.<br />

FAULT, BATT Existe un error NVRAM.<br />

FAULT, BATT, RS232<br />

El contenido <strong>de</strong>l módulo <strong>de</strong> memoria <strong>de</strong>l sistema <strong>de</strong><br />

operación está alterado.<br />

FAULT, BATT, DH485 ó DH+<br />

El sistema <strong>de</strong> operación <strong>de</strong>scargable no es compatible<br />

con el hardware.<br />

FAULT, BATT, RS232, DH485 ó DH+<br />

Se intentó <strong>de</strong>scargar el sistema <strong>de</strong> operación en la<br />

memoria <strong>de</strong> escritura protegida.<br />

FAULT, BATT, FORCE Fallo <strong>de</strong> Flash EEPROM.<br />

FAULT, BATT, FORCE, RS232<br />

Fallo durante la transmisión <strong>de</strong>l sistema <strong>de</strong> operación<br />

<strong>de</strong>scargable.<br />

FAULT, BATT, FORCE, DH485 ó DH+<br />

El sistema <strong>de</strong> operación está ausente o ha sido<br />

alterado.


Archivo <strong>de</strong> estado <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000<br />

A Archivo <strong>de</strong> estado <strong>de</strong>l<br />

controlador <strong>MicroLogix</strong> 1000<br />

Este apéndice enumera:<br />

• el archivo <strong>de</strong> estado <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000<br />

• los tiempos <strong>de</strong> ejecución <strong>de</strong> instrucción y el uso <strong>de</strong> memoria <strong>de</strong> instrucción<br />

Este apéndice trata las funciones <strong>de</strong>l archivo <strong>de</strong> estado <strong>de</strong> los controladores<br />

<strong>MicroLogix</strong> 1000.<br />

A–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Descripción general <strong>de</strong>l archivo <strong>de</strong> estado<br />

El archivo <strong>de</strong> estado le permitir monitorizar cómo funciona el sistema <strong>de</strong> operación<br />

y le permite dirigirlo <strong>de</strong> la manera que usted <strong>de</strong>sea que funcione. Esto se efectúa<br />

usando el archivo <strong>de</strong> estado para establecer bits <strong>de</strong> control y monitorizar los fallos<br />

<strong>de</strong> hardware y software y otra informacióin <strong>de</strong> estado.<br />

Nota No escriba a palabras reservadas en el archivo <strong>de</strong> estado. Si va a escribir a los<br />

datos <strong>de</strong> archivo <strong>de</strong> estado, primero es imprescindible que entienda a fondo la<br />

función.<br />

A–2<br />

El archivo <strong>de</strong> estado S: contiene las palabras siguientes:<br />

Palabra Función Página<br />

S:0 Indicadores aritméticos A–3<br />

S:1L (byte bajo) Estado/control <strong>de</strong>l modo <strong>de</strong> controlador (bajo) A–4<br />

S:1H (byte alto) Estado/control <strong>de</strong>l modo <strong>de</strong> controlador (alto) A–4<br />

S:2L (byte bajo) Estado/control <strong>de</strong>l modo alterno <strong>de</strong> controlador (bajo) A–7<br />

S:2H (byte alto) Estado/control <strong>de</strong>l modo alterno <strong>de</strong> controlador (alto) A–7<br />

S:3L (byte bajo) Tiempo <strong>de</strong> escán actual A–9<br />

S:3H (byte alto) Tiempo <strong>de</strong> escán <strong>de</strong> control (watchdog) A–9<br />

S:4 Base <strong>de</strong> tiempo A–10<br />

S:5 Bits <strong>de</strong> error menor A–10<br />

S:6 Código <strong>de</strong> error mayor A–12<br />

S:7 Código <strong>de</strong> suspensión A–16<br />

S:8 a S:12 Reservado A–16<br />

S:13, S:14 Registro matemático A–16<br />

S:15L (byte bajo) Reservado A–16<br />

S:15H (byte alto) Velocidad en baudios A–16<br />

S:16 a S:21 Reservado A–17<br />

S:22 Tiempo <strong>de</strong> escán observado máximo A–17<br />

S:23 Reservado A–17<br />

S:24 Registro <strong>de</strong> índice A–17<br />

S:25 a S:29 Reservado A–17<br />

S:30 Punto <strong>de</strong> ajuste STI A–17<br />

S:31 y S:32 Reservado A–17


Descripciones <strong>de</strong> archivo <strong>de</strong> estado<br />

Archivo <strong>de</strong> estado <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000<br />

Las tablas siguientes <strong>de</strong>scriben las funciones <strong>de</strong>l archivo <strong>de</strong> estado a partir <strong>de</strong> la<br />

dirección S:0 hasta la dirección S:32.<br />

Cada bit <strong>de</strong> estado se clasifica como uno <strong>de</strong> los siguientes:<br />

• Estado — Use estas palabras, bytes o bits para monitorizar la operación <strong>de</strong>l<br />

controlador o la información <strong>de</strong> estado <strong>de</strong>l controlador. El programa <strong>de</strong> usuario<br />

o el dispositivo <strong>de</strong> programación raras veces escribe a la información (a menos<br />

que usted <strong>de</strong>see restablecer o borrar una función tal como un bit <strong>de</strong> monitor).<br />

• Configuración dinámica — Use estas palabras, bytes o bits para seleccionar<br />

opciones <strong>de</strong> controlador mientras esté en línea con el controlador.<br />

• Configuración estática — Use estas palabras, bytes o bits para seleccionar<br />

opciones <strong>de</strong> controlador mientras que esté en el modo <strong>de</strong> programa fuera <strong>de</strong><br />

línea antes <strong>de</strong> <strong>de</strong>scargar el programar <strong>de</strong> usuario.<br />

Dirección Bit Clasificación Descripción<br />

S:0 Indicadores<br />

aritméticos y<br />

<strong>de</strong> estado <strong>de</strong><br />

escán<br />

Los indicadores aritméticos son evaluados por<br />

el controlador <strong>de</strong>spués <strong>de</strong> la ejecución <strong>de</strong><br />

<strong>de</strong>terminadas <strong>instrucciones</strong> matemáticas y <strong>de</strong><br />

manejo <strong>de</strong> datos. El estado <strong>de</strong> estos bits<br />

permanece válido hasta que se ejecuten<br />

<strong>de</strong>terminadas <strong>instrucciones</strong> matemáticas y <strong>de</strong><br />

manejo <strong>de</strong> datos en el programa.<br />

S:0/0 Acarreo Estado Este bit es establecido por el controlador si un<br />

acarreo o prestado matemático se genera. De<br />

lo contrario, el bit permanece puesto a cero.<br />

Este bit es evaluado como función matemática<br />

sin signo. Cuando una rutina STI, contador <strong>de</strong><br />

alta velocidad o fallo interrumpe la ejecución<br />

normal <strong>de</strong>l programa, el valor original <strong>de</strong> S:0/0<br />

se restaura cuando la ejecución se reanuda.<br />

S:0/1 Overflow Estado Este bit es establecido por el controlador<br />

cuando el resultado <strong>de</strong> una operación<br />

matemática no se adapta a su <strong>de</strong>stino. De lo<br />

contrario, el bit permanece puesto a cero.<br />

Cuando el bit se establece, el bit <strong>de</strong><br />

interrupción por overflow S:5/0 también se<br />

establece, con la excepción <strong>de</strong>l bit ENC.<br />

Refiérase a S:5/0. Cuando una rutina STI,<br />

contador <strong>de</strong> alta velocidad o fallo interrumpe la<br />

ejecución normal <strong>de</strong>l programa, el valor<br />

original <strong>de</strong> S:0/1 se restaura cuando la<br />

ejecución se reanuda.<br />

A–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

A–4<br />

Dirección Bit Clasificación<br />

Descripción<br />

S:0/2 Cero Estado Este bit es establecido por el controlador cuando<br />

el resultado <strong>de</strong> una <strong>de</strong>terminada operación<br />

matemática o <strong>de</strong> manejo <strong>de</strong> datos es cero. De<br />

lo contrario, el bit permanece puesto a cero.<br />

Cuando una rutina STI, contador <strong>de</strong> alta<br />

velocidad o fallo interrumpe la ejecución normal<br />

<strong>de</strong>l programa, el valor original <strong>de</strong> S:0/2 se<br />

restaura cuando la ejecución se reanuda.<br />

S:0/3 Signo Estado Este bit es establecido por el controlador cuando<br />

el resultado <strong>de</strong> una <strong>de</strong>terminada operación<br />

matemática o <strong>de</strong> manejo <strong>de</strong> datos es negativo.<br />

De lo contrario, el bit permanece puesto a cero.<br />

Cuando una rutina STI, contador <strong>de</strong> alta<br />

velocidad o fallo interrumpe la ejecución normal<br />

<strong>de</strong>l programa, el valor original <strong>de</strong> S:0/3 se<br />

restaura cuando la ejecución se reanuda.<br />

S:0/4 a<br />

Reservado<br />

S:0/7<br />

S:0/8 Configuración<br />

<strong>de</strong> E/S <strong>de</strong><br />

extensión<br />

S:0/9 a<br />

S:0/15<br />

Reservado<br />

S:1/0 a Estado/control<br />

S:1/4 <strong>de</strong>l modo <strong>de</strong><br />

controlador<br />

S:1/5 Forzados<br />

habilitados<br />

S:1/6 Forzados<br />

instalados<br />

S:1/7 Comms<br />

activos<br />

S:1/8 Anulación <strong>de</strong><br />

fallo al<br />

encendido<br />

Configuración<br />

estática<br />

Este bit <strong>de</strong>be ser establecido por el usuario<br />

cuando se escribe a salidas no usadas. Si las<br />

salidas restablecidas y no usadas se activan,<br />

el controlador estará con fallo (41H).<br />

Estado Los bits 0–4 funcionan así:<br />

0 0000 = (0) Descarga remota en progreso<br />

0 0001 = (1) Modo <strong>de</strong> programa remoto<br />

0 0011 = (3) Pausa <strong>de</strong> suspen. (operación sido<br />

<strong>de</strong>tenida por la ejec. <strong>de</strong> instr. SUS)<br />

0 0110 = (6) Modo <strong>de</strong> marcha remota<br />

0 0111 = (7) Modo continuo <strong>de</strong> prueba remota<br />

0 1000 = (8) Modo <strong>de</strong> un solo escán <strong>de</strong><br />

prueba remota<br />

Estado Este bit es establecido por el controlador (1) para<br />

indicar que los forzados siempre son habilitados.<br />

Estado Este bit es establecido por el controlador para<br />

indicar que los forzados han sido establecidos<br />

por el usuario.<br />

Estado Este bit es establecido por el controlador<br />

cuando el controlador recibe datos válidos <strong>de</strong><br />

su canal RS-223. Si el controlador no recibe<br />

datos válidos durante 10 segundos a través <strong>de</strong><br />

este canal, el bit se restablece.<br />

Configuración Una vez establecido, este bit causa que el<br />

estática controlador ponga a cero el bit <strong>de</strong> error mayor<br />

<strong>de</strong>tenido S:1/13 y los bits <strong>de</strong> error menor S:5/0 a<br />

S:5/7 al momento <strong>de</strong> encendido si el procesador<br />

había estado anteriormente en el modo <strong>de</strong><br />

marcha REM y había estado con fallo. Luego, el<br />

controlador intenta entrar en el modo <strong>de</strong> marcha<br />

REM. Establezca este bit usando la función <strong>de</strong><br />

monitor <strong>de</strong> datos fuera <strong>de</strong> línea únicamente.


Archivo <strong>de</strong> estado <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000<br />

Dirección Bit Clasificación<br />

Descripción<br />

S:1/9 Fallo <strong>de</strong><br />

protección <strong>de</strong><br />

encendido<br />

S:1/10 a<br />

S:1/11<br />

Reservado<br />

S:1/12 Marcha<br />

permanente<br />

Configuración<br />

estática<br />

Configuración<br />

estática<br />

Cuando este bit se establece y la alimentación<br />

eléctrica se <strong>de</strong>sconecta y se vuelve a conectar<br />

mientras el controlador esté en el modo <strong>de</strong><br />

marcha REM, el controlador ejecuta la rutina<br />

<strong>de</strong> fallo <strong>de</strong> usuario antes <strong>de</strong> la ejecución <strong>de</strong>l<br />

primer escán <strong>de</strong>l programa. Usted tiene la<br />

opción <strong>de</strong> poner a cero el bit <strong>de</strong> error mayor<br />

<strong>de</strong>tenido (S:1/13 para reanudar la operación<br />

en el modo <strong>de</strong> marcha REM. Si la rutina <strong>de</strong><br />

fallo <strong>de</strong> usuario no restablece el bit S:1/13,<br />

resultará el modo <strong>de</strong> fallo.<br />

Programe la lógica <strong>de</strong> rutina <strong>de</strong> fallo <strong>de</strong><br />

usuario en la <strong>de</strong>bida forma. Cuando ejecuta la<br />

rutina <strong>de</strong> fallo <strong>de</strong> protección <strong>de</strong> encendido, S:6<br />

(código <strong>de</strong> fallo <strong>de</strong> error mayor) contiene el<br />

valor 0016H.<br />

Una vez establecido, este bit causa que el<br />

controlador ponga a cero S:1/13 y S:5/0–7<br />

antes <strong>de</strong> intentar entrar en el modo <strong>de</strong><br />

MARCHA cuando la alimentación eléctrica se<br />

aplica u ocurre si un restablecimiento<br />

inesperado. Si este bit no se establece, el<br />

controlador se encien<strong>de</strong> en el modo anterior<br />

en el que se encontraba antes <strong>de</strong> haber<br />

perdido la alimentación eléctrica, a menos que<br />

el controlador estuviera en el modo <strong>de</strong> prueba<br />

REM. Si el controlador estaba en el modo <strong>de</strong><br />

prueba REM cuando se interrumpió la<br />

alimentación eléctrica, el controlador entra en<br />

el modo <strong>de</strong> programa REM cuando se aplica la<br />

alimentación eléctrica.<br />

Este bit anula los fallos existentes al momento<br />

<strong>de</strong> apagar.<br />

!<br />

El establecer el bit <strong>de</strong> marcha<br />

permanente causa que el controlador<br />

entre en el modo <strong>de</strong> marcha REM si<br />

un restablecimiento inesperado<br />

ocurre, in<strong>de</strong>pendientemente <strong>de</strong>l<br />

modo en que el controlador estaba<br />

antes <strong>de</strong> ocurrir el restablecimiento.<br />

Los restablecimientos inesperados<br />

pue<strong>de</strong>n ocurrir <strong>de</strong>bido a ruido<br />

electromagnético, conexión<br />

incorrecta a tierra o un fallo <strong>de</strong><br />

hardware interno <strong>de</strong>l controlador.<br />

Asegúrese que su aplicación haya<br />

sido diseñada para manejar esta<br />

situación <strong>de</strong> manera segura.<br />

A–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

A–6<br />

Dirección Bit Clasificación<br />

Descripción<br />

S:1/13 Error mayor<br />

<strong>de</strong>tenido<br />

Configuración<br />

dinámica<br />

Este bit es establecido por el controlador<br />

cuando se encuentra un error mayor. El<br />

controlador entra en una condición <strong>de</strong> fallo. La<br />

palabra S:6, el código <strong>de</strong> fallo, contendrá un<br />

código que se pue<strong>de</strong> usar para diagnosticar la<br />

condición <strong>de</strong> fallo. Cuando el bit S:1/13 se<br />

establece, el controlador:<br />

• coloca todas las salidas en un estado<br />

seguro (las salidas están <strong>de</strong>sactivadas) y<br />

activa el LED <strong>de</strong> fallo,<br />

• o entra en la rutina <strong>de</strong> fallo <strong>de</strong> usuario con<br />

las salidas activas (si está en el modo <strong>de</strong><br />

marcha REM), permitiendo así que la lógica <strong>de</strong><br />

escalera <strong>de</strong> la rutina <strong>de</strong> fallo intente una<br />

recuperación <strong>de</strong> la condición <strong>de</strong> fallo. Si la<br />

rutina <strong>de</strong> fallo <strong>de</strong> usuario <strong>de</strong>termina que la<br />

recuperación es necesaria, ponga a cero<br />

S:1/13 usando la lógica <strong>de</strong> escalera antes <strong>de</strong><br />

salir <strong>de</strong> la rutina <strong>de</strong> fallo. Si la lógica <strong>de</strong><br />

escalera <strong>de</strong> la rutina <strong>de</strong> fallo no entien<strong>de</strong> el<br />

código <strong>de</strong> fallo, o si la rutina <strong>de</strong>termina que no<br />

es preferible continuar la operación, el<br />

controlador sale <strong>de</strong> la rutina <strong>de</strong> fallo con el bit<br />

S:1/13 establecido. Las salidas se colocan en<br />

un estado seguro y el LED <strong>de</strong> FALLO se<br />

activa.<br />

Cuando usted pone a cero el bit S:1/13 usando<br />

un dispositivo <strong>de</strong> programación, el modo <strong>de</strong><br />

controlador cambia <strong>de</strong> fallo a programa<br />

remoto. Pue<strong>de</strong> mover un valor a S:6, luego<br />

establezca S:1/13 en el programa <strong>de</strong> escalera<br />

para generar un error mayor específico para la<br />

aplicación. Todos los fallos generados por la<br />

aplicación son recuperables<br />

in<strong>de</strong>pendientemente <strong>de</strong>l valor usado.<br />

Nota: Una vez que existe un estado <strong>de</strong> fallo<br />

mayor, usted <strong>de</strong>be corregir la condición que<br />

causó el fallo y también <strong>de</strong>be poner a cero<br />

este bit a fin <strong>de</strong> que el controlador acepte un<br />

intento <strong>de</strong> cambio <strong>de</strong> modo (en marcha REM o<br />

prueba REM). A<strong>de</strong>más ponga a cero S:6 para<br />

evitar tener un codigo <strong>de</strong> error sin condición <strong>de</strong><br />

fallo.<br />

Nota: No vuelva a usar códigos <strong>de</strong> error que<br />

sean <strong>de</strong>finidos más a<strong>de</strong>lante en este apéndice<br />

como códigos <strong>de</strong> error específicos para la<br />

aplicación. En cambio, cree sus propios<br />

códigos únicos. Esto evita que usted confunda<br />

los errores <strong>de</strong> aplicación con los errores <strong>de</strong><br />

sistema. Recomendamos usar los códigos <strong>de</strong><br />

error FFOO a FFOF para indicador los errores<br />

mayores específicos para la aplicación.


Archivo <strong>de</strong> estado <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000<br />

Dirección Bit Clasificación<br />

Descripción<br />

S:1/14 Bloqueo OEM Configuración<br />

estática<br />

Con este bit usted pue<strong>de</strong> controlar el acceso a<br />

un archivo <strong>de</strong> controlador.<br />

Para programar esta característica, seleccione<br />

“Acceso futuro no permitido” cuando guar<strong>de</strong> el<br />

programa.<br />

Una vez que este bit se pone a cero, indica<br />

que todo dispositivo <strong>de</strong> programación<br />

compatible pue<strong>de</strong> acce<strong>de</strong>r al programa <strong>de</strong><br />

escalera (siempre que las condiciones <strong>de</strong><br />

contraseña se cumplan).<br />

S:1/15 Primer paso Estado Use este bit para inicializar el programa según<br />

lo requiera la aplicación. Cuando este bit es<br />

establecido por el controlador, indica que el<br />

primer escán <strong>de</strong>l programa <strong>de</strong> usuario está en<br />

progreso (<strong>de</strong>spués <strong>de</strong>l encendido en el modo<br />

<strong>de</strong> MARCHA o luego <strong>de</strong> entrar en un modo <strong>de</strong><br />

marcha REM o prueba REM). El controlador<br />

pone a cero este bit luego <strong>de</strong>l primer escán.<br />

Este bit se establece durante la ejecución <strong>de</strong> la<br />

rutina <strong>de</strong> fallo <strong>de</strong> protección. Refiérase a S:1/9<br />

para obtener más información.<br />

S:2/0 STI pendiente Estado Una vez establecido, este bit indica que el<br />

temporizaodr STI ha sobrepasado el límite <strong>de</strong><br />

tiempo y que la rutina STI está esperando la<br />

ejecución. El bit se pone a cero cuando<br />

comienza la rutina STI, programa <strong>de</strong> escalera,<br />

salida <strong>de</strong>l modo <strong>de</strong> marcha REM o prueba, o<br />

ejecución <strong>de</strong> una instrucción STS verda<strong>de</strong>ra.<br />

S:2/1 STI habilitado Estado y<br />

configuración<br />

estática<br />

S:2/2 Ejecución <strong>de</strong><br />

STI<br />

S:2/3 a<br />

S:2/13<br />

Reservado<br />

Este bit pue<strong>de</strong> ser establecido o restablecido<br />

usando la instrucción STS, STE o STD. Si es<br />

establecido, permite la ejecución <strong>de</strong> la STI si el<br />

punto <strong>de</strong> ajuste STI S:30 es distinto <strong>de</strong> cero.<br />

Si está puesto a cero, cuando una interrupción<br />

ocurre, la subrutina STI no se ejcuta y el bit <strong>de</strong><br />

STI pendiente se establece. El temporizador<br />

STI continúa funcionando cuando este bit se<br />

inhabilita. La instrucción STD pone a cero este<br />

bit.<br />

Si este bit es establecido o restablecido<br />

editando el archivo <strong>de</strong> estado en línea, la STI<br />

no es afectada. Si este bit se establece, el bit<br />

permite la ejecución <strong>de</strong> la STI. Si este bit se<br />

restablece editando el archivo <strong>de</strong> estado fuera<br />

<strong>de</strong> línea, el bit no permite la ejecución <strong>de</strong> la STI.<br />

Estado Una vez establecido, este bit indica que el<br />

temporizador STI ha sobrepasado el límite <strong>de</strong><br />

tiempo y que la subrutina STI se está<br />

ejecutando. Este bit se pone a cero cuando se<br />

finaliza la rutina STI, progorama <strong>de</strong> escalera o<br />

modo <strong>de</strong> marcha REM o prueba.<br />

A–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

A–8<br />

Dirección Bit Clasificación<br />

Descripción<br />

S:2/14 Selección <strong>de</strong><br />

overflow<br />

matemático<br />

S:2/15 Reservado<br />

Configuración<br />

dinámica<br />

Establezca este bit cuando vaya a usar las<br />

<strong>instrucciones</strong> <strong>de</strong> adición y resta <strong>de</strong> 32 bits.<br />

Cuando S:2/14 es establecido y el resultado<br />

<strong>de</strong> una instrucción ADD, SUB, MUL o DIV no<br />

se pue<strong>de</strong> representar en la dirección <strong>de</strong><br />

<strong>de</strong>stino (un<strong>de</strong>rflow u overflow),<br />

• el bit <strong>de</strong> overflow S:0/1 se establece,<br />

• el bit <strong>de</strong> interrupción por overflow S:5/0 se<br />

establece,<br />

• y la dirección <strong>de</strong> <strong>de</strong>stino contiene los 16<br />

bits sin signo truncados y menos<br />

significativos <strong>de</strong>l resultado.<br />

La condición <strong>de</strong> fallo <strong>de</strong> S:2/14 se restablece<br />

(0). Cuando S:2/14 es restablecido y el<br />

resultado <strong>de</strong> una instrucción ADD, SUB, MUL<br />

o DIV no se pue<strong>de</strong> representar en la dirección<br />

<strong>de</strong> <strong>de</strong>stino (un<strong>de</strong>rflow u overflow),<br />

• el bit <strong>de</strong> overflow S:0/1 se establece,<br />

• el bit <strong>de</strong> interrupción por overflow S:5/0<br />

se establece,<br />

• y la dirección <strong>de</strong> <strong>de</strong>stino contiene 32767 si<br />

el resultado es positivo o –32768 si el<br />

resultado es negativo.<br />

Nota: el estado <strong>de</strong>l bit S:2/14 no afecta la<br />

instrucción DDV. A<strong>de</strong>más, no afecta el<br />

contenido <strong>de</strong>l registro matemático cuando se<br />

usan las <strong>instrucciones</strong> MUL y DIV.<br />

Para programar esta característica, use la<br />

función <strong>de</strong> monitor <strong>de</strong> datos para establecer o<br />

poner a cero este bit. Para proporcionar<br />

protección contra modificaciones acci<strong>de</strong>ntales<br />

<strong>de</strong>l monitor <strong>de</strong> datos <strong>de</strong> su selección,<br />

programe una instrucción OTL incondicional a<br />

la dirección S:2/14 para asegurar la nueva<br />

operación <strong>de</strong> overflow matemático. Programe<br />

una instrucción incondicional OTU a la<br />

dirección S:2/14 para asegurar la operación<br />

original <strong>de</strong> overflow matemático.


Archivo <strong>de</strong> estado <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000<br />

Dirección Bit Clasificación<br />

Descripción<br />

S:3L Tiempo <strong>de</strong><br />

escán actual<br />

S:3H Tiempo <strong>de</strong><br />

escán <strong>de</strong><br />

control<br />

(watchdog)<br />

Estado El valor <strong>de</strong> este byte le informa cuánto tiempo<br />

transcurre durante un ciclo <strong>de</strong> programa. Un<br />

ciclo <strong>de</strong> programa incluye:<br />

• el escán <strong>de</strong>l programa <strong>de</strong> escalera,<br />

• activida<strong>de</strong>s <strong>de</strong> mantenimienbto<br />

• el escán <strong>de</strong> las E/S<br />

• el servicio para el canal <strong>de</strong> comunicación.<br />

Configuración<br />

dinámica<br />

El valor <strong>de</strong> byte es puesto a cero por el<br />

controlador durante cada escán<br />

inmediatamente antes <strong>de</strong> la ejecución <strong>de</strong><br />

renglón 0 <strong>de</strong>l archivo <strong>de</strong> programa 2 (archivo<br />

<strong>de</strong> programa principal). Des<strong>de</strong> ese punto en<br />

a<strong>de</strong>lante, el byte es incrementado cada 10 ms<br />

e indica, en incrementos <strong>de</strong> 10 ms, la cantidad<br />

<strong>de</strong> tiempo transcurrida en cada escán. Si este<br />

valor es igual al valor en el control (watchdog)<br />

S:3H, se <strong>de</strong>clarará un error mayor <strong>de</strong>l control<br />

(watchdog) <strong>de</strong> usuario (código 0022).<br />

La resolución <strong>de</strong>l valor <strong>de</strong> tiempo <strong>de</strong> escán es +0<br />

a 90 ms (–10 ms). Ejemplo: el valor 9 indica que<br />

80–90 ms han transcurrido <strong>de</strong>s<strong>de</strong> el inicio <strong>de</strong>l ciclo<br />

<strong>de</strong> programa.<br />

Este valor <strong>de</strong> byte contiene el número <strong>de</strong> tics<br />

<strong>de</strong> 10 ms que se permite ocurrir durante un<br />

ciclo <strong>de</strong> programa. El valor pre<strong>de</strong>terminado es<br />

10 (100 ms), pero usted pue<strong>de</strong> incrementarlo a<br />

255 (2.55 segundos) o disminuirlo a 1, según<br />

lo requiera la aplicación. Si el valor <strong>de</strong> escán<br />

<strong>de</strong> programa S:3L es igual al valor <strong>de</strong> control<br />

(watchdog), se <strong>de</strong>clarará un error mayor <strong>de</strong><br />

control (watchdog).<br />

A–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

A–10<br />

Dirección Bit Clasificación<br />

Descripción<br />

S:4 Base <strong>de</strong><br />

tiempo<br />

S:5 Bits <strong>de</strong> error<br />

menor<br />

Estado Todos los 16 bits <strong>de</strong> esta palabra son<br />

evaluadas por el controlador. El valor <strong>de</strong> esta<br />

palabra es puesto a cero al momento <strong>de</strong><br />

encendido en el modo <strong>de</strong> marcha REM o<br />

cuando se entra en el modo <strong>de</strong> marcha REM o<br />

prueba REM. Des<strong>de</strong> ese punto en a<strong>de</strong>lante,<br />

se incrementa cada 10 ms.<br />

Nota <strong>de</strong> aplicación: Usted pue<strong>de</strong> escribir<br />

cualquier valor a S:4. Comenzará a<br />

incrementarse a partir <strong>de</strong> dicho valor.<br />

Usted pue<strong>de</strong> usar cualquier bit individual <strong>de</strong><br />

esta palabra en el programa <strong>de</strong> usuario como<br />

bit <strong>de</strong> reloj <strong>de</strong> ciclo <strong>de</strong> trabajo <strong>de</strong> 50%. Las<br />

velocida<strong>de</strong>s <strong>de</strong> reloj para S:4/0 a S:4/15 son:<br />

20, 40, 80, 160, 320, 640, 1280, 2560, 5120,<br />

10240, 20480, 40960, 81920, 163840, 327680 y<br />

655360 ms.<br />

La aplicación que usa el bit <strong>de</strong>be ser evaluada<br />

a una velocidad dos veces más rápida que la<br />

velocidad <strong>de</strong> reloj <strong>de</strong>l bit. En el ejemplo<br />

siguiente, el bit S:4/3 alterna cada 80 ms, lo<br />

cual produce una velocidad <strong>de</strong> reloj <strong>de</strong> 160<br />

ms. Para mantener la exactitud <strong>de</strong> este bit en<br />

su aplicación, la instrucción que usa el bit<br />

S:4/3 (O:1/0 en este caso) <strong>de</strong>be ser evaluada<br />

por lo menos una vez cada 79.999 ms<br />

160 ms<br />

S:4<br />

] [<br />

3<br />

O:1<br />

( )<br />

0<br />

S:4/3 y la salida<br />

ciclo <strong>de</strong> S:4/3 O:1/0 alternan cada<br />

en 160 ms 80 ms. O:1/0 <strong>de</strong>be<br />

ser evaluado por lo<br />

menos una vez cada<br />

79.999 ms.<br />

Los bits <strong>de</strong> esta palabra son establecidos por<br />

el controlador para indicar que ha ocurrido un<br />

error menor en el programa <strong>de</strong> escalera. Los<br />

errores menores, bits 0 a 7, retornan al error<br />

mayor 0020H si un bit se <strong>de</strong>tecta como<br />

establecido al final <strong>de</strong>l escán. Estos bits se<br />

ponen a cero automáticamente durante una<br />

<strong>de</strong>sconexión y reconexión <strong>de</strong> la alimentación<br />

eléctrica.


Archivo <strong>de</strong> estado <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000<br />

Dirección Bit Clasificación<br />

Descripción<br />

S:5/0 Interrupción<br />

por overflow<br />

S:5/1 Reservado<br />

S:5/2 Error <strong>de</strong><br />

registro <strong>de</strong><br />

control<br />

S:5/3 Error mayor<br />

<strong>de</strong>tectado<br />

durante la<br />

ejecución <strong>de</strong> la<br />

rutina <strong>de</strong> fallo<br />

<strong>de</strong> usuario<br />

S:5/4 a<br />

Reservado<br />

S:5/7<br />

S:5/8 Datos<br />

retentivos<br />

perdidos<br />

Configuración<br />

dinámica<br />

Configuración<br />

dinámica<br />

Configuración<br />

dinámica<br />

Cuando este bit es establecido por el controlador,<br />

indica que un overflow matemático ha ocurrido<br />

en el programa <strong>de</strong> escalera. Vea S:0/1 para<br />

obtener más información.<br />

Si este bit se establece al ejecutar la<br />

instrucción END o TND, se <strong>de</strong>clarará el error<br />

mayor (0020). Para evitar la ocurrencia <strong>de</strong><br />

este tipo <strong>de</strong> error mayor, examine el estado <strong>de</strong><br />

este bit <strong>de</strong>spués <strong>de</strong> una instrucción<br />

matemática (ADD, SUB, MUL, DIV, DDV, NEG,<br />

SCL, TOD o FRD), tome la acción más<br />

indicada y luego ponga a cero el bit S:5/0<br />

usando una instrucción OTU con S:5/0.<br />

Las <strong>instrucciones</strong> LFU, LFL, FFU, FFL, BSL,<br />

BSR, SQO, SQC y SQL pue<strong>de</strong>n generar este<br />

error. Cuando el bit S:5/2 es establecido, indica<br />

que el bit <strong>de</strong> error <strong>de</strong> una palabra <strong>de</strong> control<br />

usada por la instrucción ha sido establecido.<br />

Si este bit se establece al ejecutarse la<br />

instrucción END o TND, se <strong>de</strong>clarará el error<br />

mayor (002). Para evitar la coinci<strong>de</strong>ncia <strong>de</strong><br />

este tipo <strong>de</strong> error mayor, examine el estado <strong>de</strong><br />

este bit <strong>de</strong>spués <strong>de</strong> una instrucción <strong>de</strong> registro<br />

<strong>de</strong> control, tome la acción más indicada y<br />

luego ponga a cero el bit S:5/02 usando una<br />

instrucción OTU con S:5/2.<br />

Una vez establecido, este código <strong>de</strong> error<br />

mayor (S:6) representa el error mayor que<br />

ocurrió durante el procesamiento <strong>de</strong> la rutina<br />

<strong>de</strong> fallo <strong>de</strong>bido a otro error mayor.<br />

Estado Este bit es establecido cuando los datos<br />

retentivos se pier<strong>de</strong>n. Este bit permanece<br />

establecido hasta que usted lo ponga a cero.<br />

Mientras sea establecido, este bit causa que el<br />

controlador falle antes <strong>de</strong>l primer escán<br />

verda<strong>de</strong>ro <strong>de</strong>l programa.<br />

S:5/9 Reservado<br />

S:5/10 STI perdido Estado Este bit es establecido cuando el temporizador<br />

STI caduca mientras que la rutina STI se esté<br />

ejecutando o sea inhabilitada y el bit pendiente<br />

(S:2/0) ya es establecido.<br />

S:5/11 a<br />

Reservado<br />

S:5/12<br />

S:5/13 Selec. <strong>de</strong> filtro<br />

<strong>de</strong> entrada<br />

modificada<br />

Estado Este bit es establecido cuando la selección <strong>de</strong><br />

filtro <strong>de</strong> entrada en el controlador se hace<br />

compatible con el hardware.<br />

A–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

A–12<br />

Dirección Bit Clasificación<br />

Descripción<br />

S:5/14 a<br />

S:5/15<br />

Reservado<br />

S:6 Código <strong>de</strong><br />

error mayor<br />

Cada fallo se clasifica como uno <strong>de</strong> los siguientes:<br />

Estado El controlador introduce un código<br />

hexa<strong>de</strong>cimal en esta palabra cuando se<br />

<strong>de</strong>clara el error mayor. Refiérase a S:1/13. El<br />

código <strong>de</strong>fine el tipo <strong>de</strong> fallo, según lo indicado<br />

en las páginas siguientes. Esta palabra no es<br />

borrada por el controlador.<br />

Los códigos <strong>de</strong> error son presentados,<br />

almacenados y mostrados en pantalla en<br />

formato hexa<strong>de</strong>cimal.<br />

Si usted introduce un código <strong>de</strong> fallo como<br />

parámetro en una instrucción en el programa<br />

<strong>de</strong> escalera, <strong>de</strong>be convertir el código en<br />

<strong>de</strong>cimal.<br />

Nota <strong>de</strong> aplicación: Pue<strong>de</strong> <strong>de</strong>clarar su<br />

proprio fallo mayor específico para la<br />

aplicación escribiendo un valor único a S:6 y,<br />

luego, estableciendo el bit S:1/13.<br />

Interrogue el valor <strong>de</strong> S:6 en la rutina <strong>de</strong> fallo<br />

<strong>de</strong> usuario para <strong>de</strong>terminar el tipo <strong>de</strong> fallo que<br />

ha ocurrido.<br />

Clasificaciones <strong>de</strong> fallo: Los fallos se<br />

clasifican como no atribuibles al usuario, no<br />

recuperables y recuperables.<br />

Las <strong>de</strong>scripciones y clasificaciones <strong>de</strong> código<br />

<strong>de</strong> error se enumeran en las páginas<br />

siguientes. Las categorías son:<br />

• errores <strong>de</strong> encendido<br />

• errores <strong>de</strong> ida a marcha<br />

• errores <strong>de</strong> marcha<br />

• errores <strong>de</strong> <strong>de</strong>scarga<br />

• No atribuible al usuario — Un fallo causado por varias condiciones que<br />

<strong>de</strong>tienen la ejecución <strong>de</strong>l programa <strong>de</strong> escalera. La rutina <strong>de</strong> fallo <strong>de</strong> usuario no<br />

se ejecuta cuando este fallo ocurre.<br />

• No recuperable — Un fallo causado por el usuario que se pue<strong>de</strong> recuperar. La<br />

rutina <strong>de</strong> fallo <strong>de</strong> usuario se ejecuta cuando este fallo ocurre. Sin embargo, el<br />

fallo no se pue<strong>de</strong> borrar.<br />

• Recuperable — Un fallo causado por el usuario que se pue<strong>de</strong> recuperar en la<br />

rutina <strong>de</strong> fallo <strong>de</strong> usuario restableciendo el bit <strong>de</strong> error mayor <strong>de</strong>tenido (S:1/13).<br />

La rutina <strong>de</strong> fallo <strong>de</strong> usuario se ejecuta cuando este fallo ocurre.


Dirección<br />

Código<br />

<strong>de</strong> error<br />

(hex)<br />

S:6 0001<br />

Dirección<br />

0002<br />

0003<br />

0008<br />

0009<br />

Código<br />

<strong>de</strong> error<br />

(hex)<br />

S:6 0005<br />

0010<br />

0016<br />

Errores <strong>de</strong> encendido<br />

El programa pre<strong>de</strong>terminado<br />

se cargó.<br />

Un restablecimiento<br />

inesperado ocurrió.<br />

La memoria EEPROM está<br />

alterada.<br />

Un error fatal interno <strong>de</strong><br />

software ocurrió.<br />

Un error fatal interno <strong>de</strong><br />

hardware ocurrió.<br />

Errores <strong>de</strong> ida a marcha<br />

(GTR) <br />

Los datos retentivos se<br />

pier<strong>de</strong>n.<br />

El programa <strong>de</strong> <strong>de</strong>scarga no<br />

es un programa <strong>de</strong><br />

controlador.<br />

Se establece la protección<br />

<strong>de</strong> encendido <strong>de</strong>spués <strong>de</strong><br />

una pérdida <strong>de</strong> alimentación<br />

eléctrica, S:1/9, se<br />

establece. El usuario <strong>de</strong>be<br />

verificar en busca <strong>de</strong> una<br />

condición <strong>de</strong> pérdida <strong>de</strong><br />

datos retentivos si la rutina<br />

<strong>de</strong> fallo <strong>de</strong> usuario se<br />

ejecutó con la protección <strong>de</strong><br />

encendido.<br />

Archivo <strong>de</strong> estado <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000<br />

No<br />

usuario<br />

X<br />

X<br />

X<br />

X<br />

X<br />

No<br />

usuario<br />

X<br />

Clasificación <strong>de</strong> fallo<br />

No<br />

recuperable<br />

Usuario<br />

Clasificación <strong>de</strong> fallo<br />

No<br />

recuperable<br />

Usuario<br />

Recuperable<br />

Recuperable<br />

Los errores <strong>de</strong> ida a marcha ocurren cuando el controlador va <strong>de</strong> cualquier modo al modo <strong>de</strong> marcha REM o <strong>de</strong><br />

cualquier modo <strong>de</strong> no marcha (PRG, SUS) al modo <strong>de</strong> prueba.<br />

X<br />

X<br />

A–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

A–14<br />

Dirección<br />

Código<br />

<strong>de</strong> error<br />

(hex)<br />

S:6 0004<br />

0020<br />

0022<br />

0024<br />

0025<br />

0027<br />

002A<br />

002B<br />

0030<br />

0031<br />

0032<br />

0033<br />

0034<br />

0035<br />

0037<br />

0038<br />

Errores <strong>de</strong> marcha<br />

Un error <strong>de</strong> integridad <strong>de</strong> memoria <strong>de</strong><br />

tiempo <strong>de</strong> ejecución ocurrió.<br />

Un error menor al final <strong>de</strong>l escán.<br />

Refiérase a S:5.<br />

El temporizador <strong>de</strong> control (watchdog)<br />

caducó. Refiérase a S:3H.<br />

Punto <strong>de</strong> ajuste <strong>de</strong> interrupción STI no<br />

válido. Refiérase a S:30.<br />

Hay un exceso <strong>de</strong> JSR en la subrutina<br />

STI (archivo 5).<br />

Hay un exceso <strong>de</strong> JSR en la subrutina<br />

<strong>de</strong> fallo (archivo 3).<br />

La dirección in<strong>de</strong>xada es <strong>de</strong>masiado<br />

gran<strong>de</strong> para el archivo.<br />

Hay un exceso <strong>de</strong> JSR en la subrutina<br />

<strong>de</strong>l contador <strong>de</strong> alta velocidad (archivo<br />

4).<br />

El anidamiento <strong>de</strong> subrutina exce<strong>de</strong> un<br />

límite <strong>de</strong> 8 (archivo 2).<br />

Una instrucción sin capacidad se<br />

<strong>de</strong>tectó.<br />

Una instrucción SQO/SCQ cruzó los<br />

límites <strong>de</strong> archivo <strong>de</strong> datos.<br />

La instrucción LFU, LFL, FFU, FFL, BSL<br />

o BSE cruzó los límites <strong>de</strong> archivo <strong>de</strong><br />

datos.<br />

Un valor negativo para un acumulador<br />

<strong>de</strong> temporizador o valor<br />

preseleccionado se <strong>de</strong>tectó.<br />

Una instrucción ilegal (TND) ocurrió en<br />

el archivo <strong>de</strong> interrupción.<br />

Valores preseleccionados inválidos se<br />

cargaron en el contador <strong>de</strong> alta<br />

velocidad.<br />

Una instrucción RET se <strong>de</strong>tectó en el<br />

archivo <strong>de</strong> programa 2.<br />

No<br />

usuario<br />

X<br />

X<br />

X<br />

Clasificación <strong>de</strong> error<br />

No<br />

recuperable<br />

X<br />

X<br />

X<br />

X<br />

X<br />

X<br />

X<br />

X<br />

Usuario<br />

Recuperable<br />

X<br />

X<br />

X<br />

X<br />

X


Dirección<br />

Dirección<br />

Código<br />

<strong>de</strong> error<br />

(hex)<br />

0040<br />

0041<br />

Código<br />

<strong>de</strong> error<br />

(hex)<br />

S:6 0018<br />

Errores <strong>de</strong> marcha<br />

Una escritura <strong>de</strong> verificación <strong>de</strong> salida<br />

ocurrió.<br />

Bit(s) <strong>de</strong> salida adicional(es) se<br />

activaron.<br />

Errores <strong>de</strong> <strong>de</strong>scarga<br />

El programa <strong>de</strong> usuario no es<br />

compatible con el sistema <strong>de</strong> operación.<br />

Archivo <strong>de</strong> estado <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000<br />

No<br />

usuario<br />

No<br />

usuario<br />

X<br />

Clasificación <strong>de</strong> fallo<br />

No<br />

recuperable<br />

X<br />

X<br />

Usuario<br />

Clasificación <strong>de</strong> fallo<br />

No<br />

recuperable<br />

Usuario<br />

Recuperable<br />

Recuperable<br />

A–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

A–16<br />

Dirección Bit Clasificación Descripción<br />

S:7 Código <strong>de</strong><br />

suspensión<br />

S:8 a S:12 Reservado<br />

S:13 a S:14 Registro<br />

matemático<br />

S:15L Reservado<br />

S:15H Velocidad<br />

en baudios<br />

Estado Cuando un valor distino <strong>de</strong> cero aparece en S:7,<br />

indica que la instrucción SUS i<strong>de</strong>ntificada por<br />

este valor ha sido evaluada como verda<strong>de</strong>ra y<br />

que el modo <strong>de</strong> pausa <strong>de</strong> suspensión está<br />

vigente. Esto precisa las condiciones en la<br />

aplicación que casuaron el modo <strong>de</strong> pausa <strong>de</strong><br />

suspensión. Este valor no es borrado por el<br />

controlador.<br />

Use la instrucción SUS con la localización y<br />

corrección <strong>de</strong> fallos <strong>de</strong> encendido o como<br />

diagnóstico <strong>de</strong> tiempo <strong>de</strong> ejecución para la<br />

<strong>de</strong>tección <strong>de</strong> errores <strong>de</strong> sistema.<br />

Estado Use este registro doble para producir operaciones<br />

<strong>de</strong> división y multiplicación con signo <strong>de</strong> 32 bits,<br />

operaciones <strong>de</strong> división <strong>de</strong> precisión o división<br />

doble y conversiones BCD <strong>de</strong> 5 dígitos.<br />

Estas dos palabras se usan conjuntamente con<br />

las <strong>instrucciones</strong> matemáticas MUL, DIV, DDV,<br />

FRD y TOD. El valor <strong>de</strong> registro matemático es<br />

evaluado a la ejecución <strong>de</strong> la instrucción y<br />

permanece válido hasta la ejecución <strong>de</strong> la<br />

próxima instrucción MUL, DIV, DDV, FRD o TOD<br />

en el programa <strong>de</strong> usuario.<br />

Una explicación <strong>de</strong> cómo funciona el registro<br />

matemático se incluye con las <strong>de</strong>finiciones <strong>de</strong><br />

instrucción.<br />

Si usted almacena valores <strong>de</strong> datos con signo <strong>de</strong><br />

32 bits, <strong>de</strong>be manejar este tipo <strong>de</strong> datos sin<br />

ayuda <strong>de</strong> un tipo <strong>de</strong> datos <strong>de</strong> 32 bits asignado.<br />

Por ejemplo, combine B3:0 y B3:1 para crear un<br />

valor <strong>de</strong> datos con signo <strong>de</strong> 32 bits.<br />

Recomendamos que comience todos los valores<br />

<strong>de</strong> 32 bits en límite <strong>de</strong> palabra par o impar para<br />

facilitar la aplicación y visualización. A<strong>de</strong>más,<br />

recomendamos que diseñe, documente y vea el<br />

contenido <strong>de</strong> los datos con signo <strong>de</strong> 32 bits en la<br />

raíz hexa<strong>de</strong>cimal o binaria.<br />

Cuando una rutina STI, contador <strong>de</strong> alta velocidad<br />

o fallo interrumpe la ejecución normal <strong>de</strong>l programa,<br />

el valor original <strong>de</strong>l registro matemático se restaura<br />

cuando la ejecución se reanuda.<br />

Estado Indica la vel. en baudios actual <strong>de</strong>l controlador:<br />

• 300<br />

• 600<br />

• 1200<br />

• 2400<br />

• 9600 (pre<strong>de</strong>terminado)<br />

• 19200


Archivo <strong>de</strong> estado <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000<br />

Dirección Bit Clasificación<br />

Descripción<br />

S:16 a S:21 Reservado<br />

S:22 Tiempo <strong>de</strong> Configuración Esta palabra indica el intervalo observado<br />

escán<br />

observado<br />

dinámica máximo entre los ciclos <strong>de</strong> programa<br />

consecutivos.<br />

máximo Este valor indica, en incrementos <strong>de</strong> 10 ms, el<br />

tiempo transcurrido en el ciclo <strong>de</strong> programa más<br />

extenso <strong>de</strong>l controlador. Refiérase a S:3L para<br />

obtener más información acerca <strong>de</strong>l ciclo <strong>de</strong><br />

programa. El controlador compara el valor <strong>de</strong><br />

cada último escán al valor contenido en S:22. Si<br />

el controlador <strong>de</strong>termina que el valor <strong>de</strong>l último<br />

escán es mayor que el valor almacenado en<br />

S:22, el valor <strong>de</strong>l último escán se escribe a S:22.<br />

S:23 Reservado<br />

S:24 Registro <strong>de</strong><br />

índice<br />

S:25 to<br />

S:29<br />

Reservado<br />

S:30 Punto <strong>de</strong><br />

ajuste STI<br />

S:31 a S:32 Reservado<br />

La resolución <strong>de</strong>l valor <strong>de</strong> tiempo <strong>de</strong> escán<br />

observado es +0 a ±10 ms. Por ejemplo, el valor<br />

9 indica que 80–90 ms fueron observados como<br />

el ciclo <strong>de</strong> programa más largo.<br />

Interrogue este valor usando la función <strong>de</strong><br />

monitor <strong>de</strong> datos si necesita <strong>de</strong>terminar o<br />

verificar el tiempo <strong>de</strong> escán más extenso <strong>de</strong>l<br />

programa.<br />

Estado Esta palabra indinca el offset <strong>de</strong> elemento usado<br />

en el direccionamiento in<strong>de</strong>xado.<br />

Cuando una rutina STI, contador <strong>de</strong> alta<br />

velocidad o fallo interrumpe la ejecución normal<br />

<strong>de</strong>l programa, el valor original <strong>de</strong> este registro se<br />

restaura cuando la ejecución se reanuda.<br />

Configuración<br />

dinámica<br />

Usted introduce la base <strong>de</strong> tiempo que se va a<br />

usar en la interrupción temporizada seleccionable<br />

(STI). El tiempo pue<strong>de</strong> tener un límite <strong>de</strong> 10 a<br />

2550 ms. (Esto es en incrementos <strong>de</strong> 10 ms, por<br />

lo tanto los valores válidos son <strong>de</strong> 0–255.) Su<br />

rutina STI ejecuta al valor que introdujo. Escriba<br />

un valor <strong>de</strong> cero para inhabilitar la STI.<br />

Para proporcionar protección contra modificaciones<br />

acci<strong>de</strong>ntales <strong>de</strong> monitor <strong>de</strong> datos <strong>de</strong> su selección,<br />

programe una instrucción MOV incondicional que<br />

contenga el valor <strong>de</strong>l punto <strong>de</strong> ajuste <strong>de</strong> su STI a<br />

S:30, o programe una instrucción CLR a S:30 para<br />

evitar la operación STI.<br />

Si la STI se inicia mientras está en el modo <strong>de</strong><br />

marcha REM cargando los registros <strong>de</strong> estado, la<br />

interrupción comienza a temporizar a partir <strong>de</strong>l<br />

final <strong>de</strong>l escán <strong>de</strong> programa en que los registros<br />

<strong>de</strong> estado se cargaron.<br />

A–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

A–18


B Archivo <strong>de</strong> estado <strong>SLC</strong><br />

Este apéndice enumera:<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

• el archivo <strong>de</strong> estado <strong>de</strong>l procesador <strong>SLC</strong><br />

• los tiempos <strong>de</strong> ejecución <strong>de</strong> instrucción y uso <strong>de</strong> memoria <strong>de</strong> instrucción<br />

Este apéndice trata las funciones <strong>de</strong> archivo <strong>de</strong> estado <strong>de</strong> los procesadores fijos,<br />

<strong>SLC</strong> 5/01, <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04. Los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03<br />

y <strong>SLC</strong> 5/04 funcionan como los procesadores compactos y <strong>SLC</strong> 5/01. También<br />

disponen <strong>de</strong> funciones adicionales enumeradas en la tabla <strong>de</strong> la página B–3. Los<br />

procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 disponen <strong>de</strong> funciones adicionales enumeradas<br />

en las tablas <strong>de</strong> las páginas B–3 y B–4.<br />

B–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Descripción general <strong>de</strong>l archivo <strong>de</strong> estado<br />

El archivo <strong>de</strong> estado le permite monitorizar cómo funciona su sistema <strong>de</strong> operación<br />

y le permite dirigir cómo <strong>de</strong>sea que funcione. Esto se realiza usando el archivo <strong>de</strong><br />

estado para configurar interrupciones, cargar programas <strong>de</strong> módulo <strong>de</strong> memoria y<br />

monitorizar los fallos <strong>de</strong> hardware y software.<br />

Nota No escriba a los datos <strong>de</strong> archivo <strong>de</strong> estado a menos que la palabra o bit se<br />

enumera como configuración dinámica/estática en las <strong>de</strong>scripciones siguientes. Si<br />

usted va a escribir a los datos <strong>de</strong> archivo <strong>de</strong> estado, es imprescindible que primero<br />

entienda a fondo la función.<br />

B–2<br />

El archivo <strong>de</strong> estado S: contiene las palabras siguientes:<br />

Palabra<br />

Función (se aplica a todos los<br />

procesadores)<br />

Página<br />

S:0 Indicadores aritméticos B-6<br />

S:1 Estado/control <strong>de</strong>l modo <strong>de</strong> procesador B-8<br />

S:2 Bits STI/comms. DH485 B-17<br />

S:3L Tiempo <strong>de</strong> escán actual/último B-24<br />

S:3H Tiempo <strong>de</strong> escán <strong>de</strong> control (watchdog) B-26<br />

S:4 Reloj <strong>de</strong> marcha libre B-26<br />

S:5 Bits <strong>de</strong> error menor B-27<br />

S:6 Código <strong>de</strong> erro mayor B-33<br />

S:7, S:8 Código <strong>de</strong> suspensión/archivo <strong>de</strong> suspensión B-44<br />

S:9, S:10 Nodos activos (DH-485) B-44<br />

S:11, S;12 Habilitaciones <strong>de</strong> ranura <strong>de</strong> E/S B-45<br />

S:13, S:14 Registro matemático B-47<br />

S:15L Dirección <strong>de</strong> nodo B–48<br />

S:15H Velocidad en baudios B–49


Palabra<br />

S:16, S:17<br />

S:18, S:19<br />

Función (se aplica a los procesadores<br />

<strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 504)<br />

Prueba <strong>de</strong> un paso – Inicio <strong>de</strong>l paso en –<br />

Renglón/archivo<br />

Prueba <strong>de</strong> un paso – Punto <strong>de</strong> interrupción –<br />

Renglón/archivo<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

Página<br />

B<br />

B-51<br />

S:20, S:21 Prueba – Fallo/parada – Renglón/archivo B-52<br />

S:22 Tiempo <strong>de</strong> escán observado máximo B-53<br />

S:23 Tiempo <strong>de</strong> escán promedio B-54<br />

S:24 Registro <strong>de</strong> índice B-54<br />

S:25, S:26 Interrupción <strong>de</strong> E/S pendiente B-55<br />

S:27, S28 Interrupción <strong>de</strong> E/S habilitada B-56<br />

S:29 No. <strong>de</strong> archivo <strong>de</strong> rutina <strong>de</strong> fallo <strong>de</strong> usuario B-56<br />

S:30<br />

Punto <strong>de</strong> ajuste <strong>de</strong> interrupción temporizada<br />

seleccionable<br />

B-57<br />

S:31<br />

No. <strong>de</strong> archivo <strong>de</strong> interrupción temporizada<br />

seleccionable<br />

B-57<br />

S:32 Ejecución <strong>de</strong> interrupción E/O B-58<br />

Palabra<br />

Función (se aplica a los procesadores<br />

<strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04)<br />

Página<br />

S:33 Estado <strong>de</strong> proc.extendido y palabra <strong>de</strong> control B-58<br />

S:34<br />

Transferencia inhabilitada (<strong>SLC</strong> 5/04<br />

solamente)<br />

B–65<br />

S:35 Tiempo <strong>de</strong>l último escán <strong>de</strong> 1 ms B-66<br />

S:36 Bits <strong>de</strong> error menor extendidos B-67<br />

S:37 Reloj/año <strong>de</strong> calendario B-68<br />

S:38 Reloj/mes <strong>de</strong> calendario B-68<br />

S:39 Reloj/día <strong>de</strong> calendario B-68<br />

S:40 Reloj/horas <strong>de</strong> calendario B-68<br />

S:41 Reloj/minutos <strong>de</strong> calendario B-68<br />

S:42 Reloj/segundos <strong>de</strong> calendario B-68<br />

S:43<br />

S:44<br />

Tiempo <strong>de</strong> interrupción STI (<strong>SLC</strong> 5/03 y <strong>SLC</strong><br />

5/04)<br />

Tiempo <strong>de</strong> interrupción <strong>de</strong> evento (<strong>SLC</strong> 5/03 y<br />

<strong>SLC</strong> 5/04)<br />

B–69<br />

B–69<br />

S:45 Tiempo <strong>de</strong> interr. DII (<strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04) B–69<br />

S:46 Interr. <strong>de</strong> entrada discreta – No. <strong>de</strong> archivo B-69<br />

S:47 Interr. <strong>de</strong> entrada discreta – No. <strong>de</strong> ranura B-70<br />

S:48 Interr. <strong>de</strong> entrada discreta – Máscara <strong>de</strong> bit B-70<br />

B–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

B–4<br />

Palabra<br />

S:49<br />

Función (se aplica a los procesadores<br />

<strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04)<br />

Interr. <strong>de</strong> entrada discreta – Valor <strong>de</strong><br />

comparación<br />

Página<br />

B-71<br />

S:50<br />

Interr. <strong>de</strong> entrada discreta – Valor<br />

preseleccionado<br />

B-71<br />

S:51<br />

Interr. <strong>de</strong> entrada discreta – Máscara <strong>de</strong><br />

retorno<br />

B-72<br />

S:52 Interr. <strong>de</strong> entrada discreta – Acumulador B-72<br />

S:53 y S:54 Reservado B–72<br />

S:55 Tiempo <strong>de</strong>l último escán DII B-72<br />

S:56 Tiempo <strong>de</strong> escán DII máximo observado B-72<br />

S:57 Número <strong>de</strong> catálogo <strong>de</strong>l sistema <strong>de</strong> operación B-73<br />

S:58 Serie <strong>de</strong>l sistema <strong>de</strong> operación B-73<br />

S:59 FRN <strong>de</strong>l sistema <strong>de</strong> operación B-73<br />

S:60 Número <strong>de</strong> catálogo <strong>de</strong>l procesador B-73<br />

S:61 Serie <strong>de</strong>l procesador B-73<br />

S:62 Revisión <strong>de</strong>l procesador B-73<br />

S:63 Tipo <strong>de</strong> programa <strong>de</strong> usuario B-73<br />

S:64<br />

Indice <strong>de</strong> funcionabilidad <strong>de</strong>l programa <strong>de</strong><br />

usuario<br />

B-73<br />

S:65 Tamaño <strong>de</strong> RAM <strong>de</strong> usuario B-73<br />

S:66 Tamaño <strong>de</strong> EEPROM rápido B-73<br />

S:67 y S:68 Nodos activos <strong>de</strong> canal 0 B–74<br />

Palabra<br />

Función (se aplica a los<br />

procesadores <strong>SLC</strong> 5/04)<br />

Página<br />

S:69 a S:82 Reservado B–74<br />

S:83 a S:86<br />

Nodos activos DH+ (procesador <strong>SLC</strong> 5/04 <strong>de</strong><br />

canal 1 solamente)<br />

B–74<br />

S:87 a S:98 Reservado B–74<br />

S:99 Palabra <strong>de</strong> estado global B-74<br />

S:100 a S:163 Archivo <strong>de</strong> estado global B-74


Convenciones usadas en las pantallas<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

Las tablas siguientes <strong>de</strong>scriben las funciones <strong>de</strong>l archivo <strong>de</strong> estado, a partir <strong>de</strong> la<br />

dirección S:0 hasta la dirección S:163. Una viñeta () indica que la función se<br />

aplica al procesador especificado.<br />

Las clasificaciones siguientes se usan:<br />

• Estado – Use estas palabras, bytes o bits para monitorizar las opciones <strong>de</strong>l<br />

procesador o información <strong>de</strong> estado <strong>de</strong>l procesador. La información se escribe<br />

raras veces al programa <strong>de</strong> usuario o a los dispositivos <strong>de</strong> programación (a<br />

menos que usted <strong>de</strong>see restablecer o borrar una función tal como un bit <strong>de</strong> error<br />

menor).<br />

• Configuración dinámica – Use estas palabras, bytes o bits para seleccionar<br />

opciones <strong>de</strong>l procesador durante el modo <strong>de</strong> MARCHA.<br />

• Configuración estática – Use estas palabras, bytes o bits para seleccionar<br />

opciones <strong>de</strong>l procesador antes <strong>de</strong> entrar en el modo <strong>de</strong> MARCHA. Note que<br />

algunas opciones se <strong>de</strong>ben seleccionar en el modo <strong>de</strong> programa fuera <strong>de</strong> línea<br />

antes <strong>de</strong> restaurar el programa <strong>de</strong> usuario.<br />

B–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–6<br />

S:0 Indicadores aritméticos<br />

Los indicadores aritméticos son evaluados por<br />

el procesador <strong>de</strong>spués <strong>de</strong> la ejecución <strong>de</strong><br />

cualquier instrucción matemática, lógica o <strong>de</strong><br />

transferencia. El estado <strong>de</strong> estos bits<br />

permanece vigente hasta que la próxima<br />

instrucción matemática, lógica o <strong>de</strong><br />

transferencia en el programa se ejecute.<br />

S:0/0 Estado Bit <strong>de</strong> acarreo<br />

Este bit es establecido por el procesador si un<br />

acarreo o prestado matemático se genera. De<br />

lo contrario, el bit remanece puesto a cero.<br />

Este bit es evaluado como función matemática<br />

sin signo.<br />

Cuando una rutina STI, ranura <strong>de</strong> E/S o fallo<br />

interrumpe la ejecución normal <strong>de</strong>l programa,<br />

el valor original <strong>de</strong> S:0/1 se restaura cuando la<br />

ejecución se reanuda.<br />

S:0/1 Estado<br />

Cuando una DII interrumpe la ejecución<br />

normal <strong>de</strong> su programa, el valor original <strong>de</strong><br />

S:0/0 se restaura cuando la ejecución se<br />

reanuda.<br />

Bit <strong>de</strong> overflow<br />

Este bit es establecido por el procesador<br />

cuando el resultado <strong>de</strong> una operación<br />

matemática no se adapta al <strong>de</strong>stino. De lo<br />

contrario, el bit permance puesto a cero.<br />

Cuando este bit se establece, el bit <strong>de</strong><br />

interrupción por overflow S:5/0 también se<br />

establece. Refiérase a S:5/0.<br />

Cuando una rutina STI, ranura <strong>de</strong> E/S o fallo<br />

interrumpe la ejecución normal <strong>de</strong>l programa,<br />

el valor original <strong>de</strong> S:0/1 se restaura cuando la<br />

ejecución se reanuda.<br />

Cuando una rutina STI, ranura <strong>de</strong> E/S o fallo<br />

interrumpe la ejecución normal <strong>de</strong>l programa,<br />

el valor original <strong>de</strong> S:0/1 se restaura cuando la<br />

ejecución se reanuda.<br />

Comp.,<br />

5/01<br />

5/02 5/03 5/04<br />

• • • •<br />

• • • •<br />

• • •<br />

• •<br />

• • • •<br />

• • •<br />

• •


Dirección Clasificación Descripción<br />

S:0/2 Estado Bit <strong>de</strong> cero<br />

Este bit es establecido por el procesador<br />

cuando el resultado <strong>de</strong> una instrucción<br />

matemática, lógica o <strong>de</strong> transferencia es cero.<br />

De lo contrario, el bit permanece puesto a<br />

cero.<br />

Cuando una rutina STI, ranura <strong>de</strong> E/S o fallo<br />

interrumpe la ejecución normal <strong>de</strong>l programa,<br />

el valor original <strong>de</strong> S:0/2 se restaura cuando la<br />

ejecución se reanuda.<br />

Cuando una rutina STI, ranura <strong>de</strong> E/S o fallo<br />

interrumpe la ejecución normal <strong>de</strong>l programa,<br />

el valor original <strong>de</strong> S:0/2 se restaura cuando la<br />

ejecución se reanuda.<br />

S:0/3 Estado Bit <strong>de</strong> signo<br />

Este bit es establecido por el procesador cuando<br />

el resultado <strong>de</strong> una instrucción matemática,<br />

lógica o <strong>de</strong> transferencia es negativo. De lo<br />

contrario, el bit permanece puesto a cero.<br />

Cuando una rutina STI, ranura <strong>de</strong> E/S o fallo<br />

interrumpe la ejecución normal <strong>de</strong>l programa,<br />

el valor original <strong>de</strong> S:0/3 se restaura cuando la<br />

ejecución se reanuda.<br />

S:0/4 a<br />

S:0/15<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• • • •<br />

• • •<br />

• •<br />

• • • •<br />

• • •<br />

Cuando una rutina STI, ranura <strong>de</strong> E/S o fallo<br />

interrumpe la ejecución normal <strong>de</strong>l programa,<br />

el valor original <strong>de</strong> S:0/3 se restaura cuando la<br />

ejecución se reanuda.<br />

• •<br />

NA Reservado • • • •<br />

B–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–8<br />

S:1/0<br />

a<br />

S:1/4<br />

Estado Modo/estado/control <strong>de</strong> procesador<br />

Los bits 0–4 funcionan así:<br />

0 0000 = (0) Descarga remota en<br />

progreso<br />

0 0001 = (1) Modo <strong>de</strong> programa remoto<br />

(el modo <strong>de</strong> fallo existe<br />

cuando el bit S:1/13 se<br />

establece con el modo<br />

0 0001)<br />

0 0011 = (3) Modo <strong>de</strong> fallo <strong>de</strong> pausa <strong>de</strong><br />

suspensión (la operación ha<br />

sido <strong>de</strong>tenida por la ejecución<br />

<strong>de</strong> una instrucción<br />

SUS) existe cuando el bit<br />

S:1/13 se establece con el<br />

modo 0 0011<br />

0 0110 = (6) Modo <strong>de</strong> marcha remota<br />

0 0111 = (7) Modo continuo <strong>de</strong> prueba<br />

remota<br />

0 1000 = (8) Modo <strong>de</strong> un solo escán <strong>de</strong><br />

prueba remota<br />

0 1001 = (9) Un solo paso <strong>de</strong> prueba<br />

remota (paso hasta)<br />

Nota: Todos los modos en los procesadores compactos,<br />

<strong>SLC</strong> 5/01 y <strong>SLC</strong> 5/02 se consi<strong>de</strong>ran como<br />

remotos porque no tienen un interruptor <strong>de</strong> llave.<br />

1 0000 = (16) Descarga en progreso<br />

(interruptor <strong>de</strong><br />

llave=PROGrama)<br />

1 0001 = (17) Modo <strong>de</strong> PROGrama – el<br />

modo <strong>de</strong> fallo existe cuando<br />

el bit S:1/13 se establece<br />

con el modo 1 0001<br />

1 1011 = (27) Pausa <strong>de</strong> suspensión – el<br />

modo <strong>de</strong> fallo existe cuando<br />

el bit S:1/13 se establece con<br />

el modo 1 1011 (interruptor<br />

<strong>de</strong> llave=MARCHA)<br />

1 1110 = (30) MARCHA – el modo <strong>de</strong> fallo<br />

existe cuando el bit S:1/13<br />

se establece con el modo<br />

1 1110 (interruptor <strong>de</strong><br />

llave=MARCHA)<br />

Todos los otros valores para los bits 0–4 están<br />

reservados.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • • •<br />

• •


Dirección Clasificación Descripción<br />

S:1/5 Estado Bit <strong>de</strong> forzados habilitados<br />

Este bit es establecido por el procesador si<br />

usted ha habilitado forzados en un programa<br />

<strong>de</strong> escalera. De lo contrarior, el bit permance<br />

puesto a cero. El LED <strong>de</strong> forzado <strong>de</strong> E/S <strong>de</strong>l<br />

procesador se ilumina continuamente cuando<br />

los forzados se habilitan.<br />

S:1/6 Estado Bit <strong>de</strong> forzados instalados<br />

Este bit es establecido por el procesador si<br />

usted ha instalado forzados en un programa<br />

<strong>de</strong> escalera. Los forzados pue<strong>de</strong>n estar o no<br />

estar habilitados. De los contrario, el bit<br />

permanece puesto a cero. El LED <strong>de</strong> forzado<br />

<strong>de</strong> E/S <strong>de</strong>l procesador parpa<strong>de</strong>a cuando los<br />

forzados son instalados, pero no habilitados.<br />

S:1/7 Estado Bit <strong>de</strong> comunicación activa (canal 1)<br />

Este bit es establecido por el procesador<br />

cuando hay por lo menos otro nodo presente<br />

en la red añadido al canal 1. De lo contrarior,<br />

el bit permanece puesto a cero. Cuando el<br />

nodo está activo, es un participante reconocido<br />

en una red <strong>de</strong> paso <strong>de</strong> testigo DH-485.<br />

S:1/8 Configuración<br />

dinámica<br />

S:1/9 Configuración<br />

dinámica<br />

Bit <strong>de</strong> anulación <strong>de</strong> fallo al encendido<br />

Cuando es establecido, este bit causa que el<br />

procesador ponga a cero el bit <strong>de</strong> error mayor<br />

<strong>de</strong>tenido S:1/13 y los bits <strong>de</strong> error menor S:5/0 a<br />

S:5/7 al momento <strong>de</strong> encendido; si el procesador<br />

había estado en el modo <strong>de</strong> marcha REM y<br />

había estado con fallo. Luego, el procesador<br />

intenta entrar en el modo <strong>de</strong> marcha REM.<br />

Cuando este bit permanece puesto a cero (valor<br />

pre<strong>de</strong>terminado), el procesador permanece en un<br />

estado <strong>de</strong> fallo mayor al momento <strong>de</strong> encendido.<br />

Para programar esta característica, esta-blezca<br />

este bit usando la función <strong>de</strong> monitor <strong>de</strong> datos.<br />

Bit <strong>de</strong> fallo <strong>de</strong> protección <strong>de</strong> encendido<br />

Cuando este bit se establece y la alim. eléc.<br />

se <strong>de</strong>sconecta y reconecta mientras el<br />

procesador está en el modo <strong>de</strong> marcha REM,<br />

el procesador ejecuta la rutina <strong>de</strong> fallo antes<br />

<strong>de</strong> la ejecución <strong>de</strong>l primer escán <strong>de</strong>l programa.<br />

Entonces usted tiene la opción <strong>de</strong> poner a<br />

cero el bit <strong>de</strong> error mayor <strong>de</strong>tenido S:1/13 para<br />

reanudar la operación en el modo <strong>de</strong> marcha<br />

REM. Si la rutina <strong>de</strong> fallo no restable- ce el bit<br />

S:1/13, resultará el modo <strong>de</strong> fallo.<br />

Para programar esta característica, use la función<br />

<strong>de</strong> monitor <strong>de</strong> datos y programe la lógica <strong>de</strong> ruti-na<br />

<strong>de</strong> fallo en <strong>de</strong>bida forma. Al ejecutar la rutina <strong>de</strong><br />

fallo <strong>de</strong> protección <strong>de</strong> encendido, S:6 (el código <strong>de</strong><br />

fallo <strong>de</strong> error mayor) contrendrá el valor 0016H.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• • • •<br />

• • • •<br />

• • • •<br />

• • • •<br />

• • •<br />

B–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–10<br />

S:1/10 Configuración<br />

estática<br />

Bit <strong>de</strong> carga <strong>de</strong> módulo <strong>de</strong> memoria al<br />

momento <strong>de</strong> ocurrir un error <strong>de</strong> memoria<br />

Usted pue<strong>de</strong> usar este bit para transferir un<br />

programa <strong>de</strong> módulo <strong>de</strong> memoria al<br />

procesador en caso <strong>de</strong> que un error <strong>de</strong><br />

memoria <strong>de</strong> procesador se <strong>de</strong>tecte al<br />

momento <strong>de</strong>l encendido. Un error <strong>de</strong> memoria<br />

significa que el procesador no pue<strong>de</strong> ejecutar<br />

el programa en el RAM porque el programa ha<br />

sido alterado según fue <strong>de</strong>tectado por un error<br />

<strong>de</strong> paridad o suma <strong>de</strong> comprobación. Este<br />

tipo <strong>de</strong> error es causado por el drenado <strong>de</strong> la<br />

batería o <strong>de</strong>l con<strong>de</strong>nsador, ruido o un<br />

problema <strong>de</strong> alimentación eléctrica.<br />

Usted <strong>de</strong>be establecer S:1/10 en el archivo <strong>de</strong><br />

estado <strong>de</strong>l programa en el módulo <strong>de</strong><br />

memoria. Cuando un módulo <strong>de</strong> memoria se<br />

instala que tenga el bit S:1/10 establecido, un<br />

error <strong>de</strong> memoria <strong>de</strong> procesador <strong>de</strong>tectado al<br />

momento <strong>de</strong> encendio causa que el programa<br />

<strong>de</strong> módulo <strong>de</strong> memoria se transfiera al<br />

procesador y que se entre en el modo <strong>de</strong><br />

marcha REM.<br />

Cuando S:1/10 está puesto a cero en el<br />

módulo <strong>de</strong> memoria, el procesador permanece<br />

en una condición <strong>de</strong> fallo mayor si un error <strong>de</strong><br />

memoria se <strong>de</strong>tecta al momento <strong>de</strong><br />

encendido, in<strong>de</strong>pendientemente <strong>de</strong> la<br />

existencia <strong>de</strong> un módulo <strong>de</strong> memoria.<br />

Cuando S:1/10 es establecido en el archivo <strong>de</strong><br />

estado <strong>de</strong>l programa <strong>de</strong> usuario en memoria<br />

RAM, el módulo <strong>de</strong> memoria siempre <strong>de</strong>be ser<br />

instalado para entrar en los modos <strong>de</strong> marcha<br />

REM y prueba REM.<br />

Para programar esta característica, establezca<br />

este bit usando la función <strong>de</strong> monitor <strong>de</strong> datos.<br />

Luego, almacene el programa en el módulo <strong>de</strong><br />

memoria.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • • •


Dirección Clasificación Descripción<br />

S:1/11 Configuración<br />

estática<br />

Bit <strong>de</strong> siempre cargar módulo <strong>de</strong> memoria<br />

Cuando este bit es establecido, usted pue<strong>de</strong><br />

sobrescribir un programa <strong>de</strong> procesador con un<br />

programa <strong>de</strong> módulo <strong>de</strong> memoria <strong>de</strong>sactivando<br />

y volviendo a activar la alimentación eléctrica al<br />

procesador. Un dispositivo <strong>de</strong> programación<br />

no es necesario. A continuación se muestra el<br />

modo <strong>de</strong> procesador <strong>de</strong>spués <strong>de</strong>l encendido<br />

para un procesador <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong><br />

5/04.<br />

Modo antes Modo <strong>de</strong>spués<br />

<strong>de</strong> la parada <strong>de</strong>l encendido<br />

Programa/prueba Programa REM<br />

REM<br />

Marcha REM Marcha REM<br />

Fallo <strong>de</strong>spués <strong>de</strong><br />

programa/prueba<br />

REM<br />

Programa REM<br />

Fallo <strong>de</strong>spués <strong>de</strong> Marcha REM<br />

marcha REM<br />

Pausa REM Programa REM<br />

Descarga REM Programa REM<br />

Modo antes<br />

<strong>de</strong> la parada<br />

Marcha<br />

Programa<br />

Pausa<br />

Fallo <strong>de</strong>spués <strong>de</strong><br />

marcha<br />

Fallo <strong>de</strong>spués <strong>de</strong><br />

fallo<br />

Modo <strong>de</strong>spués <strong>de</strong>l<br />

encendido (misma<br />

posición <strong>de</strong><br />

interruptor <strong>de</strong> llave<br />

MARCHA<br />

PROGrama<br />

MARCHA<br />

MARCHA<br />

PROGrama<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• •<br />

•<br />

•<br />

•<br />

B–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

continuación<br />

<strong>de</strong> S:1/11<br />

B–12<br />

Nota: Todos los modos en los procesadores<br />

compactos, <strong>SLC</strong> 5/01 y <strong>SLC</strong> 5/02 se<br />

consi<strong>de</strong>ran como remotos porque no tienen un<br />

interruptor <strong>de</strong> llave.<br />

El módulo <strong>de</strong> memoria que usted instala en el<br />

procesador <strong>de</strong>be tener el bit <strong>de</strong> archivo <strong>de</strong><br />

estado S:1/11 establecido. La carga se realiza<br />

si la contraseña principal y/o la contraseña en<br />

el módulo <strong>de</strong> procesador y memoria se<br />

correspon<strong>de</strong>n. La carga también se pue<strong>de</strong><br />

realizar si el procesador no tiene ni contraseña<br />

ni contraseña maestra.<br />

Cuando S:1/11 también es establecido en el<br />

archivo <strong>de</strong> estado <strong>de</strong>l programa <strong>de</strong> usuario en<br />

RAM, el módulo <strong>de</strong> memoria siempre <strong>de</strong>be ser<br />

instalado para entrar en los modos <strong>de</strong> marcha<br />

REM o prueba REM.<br />

El proceso <strong>de</strong> sobrescritura,<br />

! incluyendo las tablas <strong>de</strong> datos, se<br />

repite cada vez que usted<br />

<strong>de</strong>sconecta y vuelve a conectar la<br />

alimentación eléctrica.<br />

Para programar esta característica,<br />

establezca este bit usando la función <strong>de</strong><br />

monitor <strong>de</strong> datos. Luego, almacene el<br />

programa en el módulo <strong>de</strong> memoria.<br />

Usted pue<strong>de</strong> elegir no sobrescribir los archivos<br />

<strong>de</strong> datos por archivo.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • • •<br />

• •


Dirección Clasificación Descripción<br />

S:1/12 Configuración<br />

estática<br />

Bit <strong>de</strong> carga <strong>de</strong> módulo <strong>de</strong> memoria y marcha<br />

Con este bit, usted pue<strong>de</strong> sobrescribir un programa<br />

<strong>de</strong> procesador con un programa <strong>de</strong> módulo<br />

<strong>de</strong> memoria <strong>de</strong>sconectando y volviendo a conectar<br />

la alim. eléc. al procesador. Un dispositivo <strong>de</strong><br />

programación no es necesario. El procesador<br />

intentará entrar en el modo <strong>de</strong> mar- cha REM, in<strong>de</strong>pendientemente<br />

<strong>de</strong>l modo que estaba vigente<br />

antes <strong>de</strong> la <strong>de</strong>sconexión y reconexión <strong>de</strong> la alim.<br />

eléc.<br />

Modo antes<br />

<strong>de</strong> la parada<br />

Prueba REM/prog rem<br />

Marcha REM/fallo rem<br />

Pausa REM/<strong>de</strong>sc. rem<br />

Modo antes<br />

<strong>de</strong> la parada<br />

Marcha<br />

Pausa<br />

Programa/<strong>de</strong>scarga<br />

Fallo <strong>de</strong>spués<br />

<strong>de</strong> marcha<br />

Fallo <strong>de</strong>spués<br />

<strong>de</strong> programa<br />

Modo <strong>de</strong>spués<br />

<strong>de</strong>l encendido<br />

Marcha REM<br />

Marcha REM<br />

Marcha REM<br />

Modo <strong>de</strong>spués <strong>de</strong>l encendido<br />

(misma posición<br />

<strong>de</strong> interr. <strong>de</strong> llave<br />

MARCHA<br />

Marcha<br />

PROGrama<br />

MARCHA<br />

PROGrama<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• •<br />

•<br />

•<br />

•<br />

B–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

continuación<br />

<strong>de</strong> S:1/12<br />

B–14<br />

Nota: Todos los modos en los procesadores<br />

fijos, <strong>SLC</strong> 5/01 y <strong>SLC</strong> 5/02 se consi<strong>de</strong>ran<br />

como remotos porque no tienen un interruptor<br />

<strong>de</strong> llave.<br />

El módulo <strong>de</strong> memoria que usted instala en el<br />

procesador <strong>de</strong>be tener el bit <strong>de</strong> archivo <strong>de</strong><br />

estado S:1/12 establecido. La carga se realiza<br />

si la contraseña principal y/o la contraseña en<br />

el módulo <strong>de</strong> procesador y memoria se<br />

correspon<strong>de</strong>n. La carga también se pue<strong>de</strong><br />

realizar si el procesador no tiene contraseña ni<br />

contraseña maestra.<br />

Cuando S:1/12 también es establecido en el<br />

archivo <strong>de</strong> estado <strong>de</strong>l programa <strong>de</strong> usuario en<br />

RAM, el módulo <strong>de</strong> memoria siempre <strong>de</strong>be ser<br />

instalado para entrar en los modos <strong>de</strong> marcha<br />

REM o prueba REM.<br />

Ejemplo <strong>de</strong> aplicación: Establezca S:1/11 y<br />

S:1/12 para que se carguen automáticamente<br />

y se ejecuten durante cada <strong>de</strong>sconexión y<br />

reconexión <strong>de</strong> alimentación eléctrica a<strong>de</strong>más<br />

<strong>de</strong> que exijan la presencia <strong>de</strong>l módulo <strong>de</strong><br />

memoria para entrar en los modos <strong>de</strong> marcha<br />

REM o prueba REM.<br />

!<br />

Si usted <strong>de</strong>ja el módulo <strong>de</strong> memoria<br />

instalado, el proceso <strong>de</strong> sobrescritura,<br />

incluyendo las tablas <strong>de</strong> datos,<br />

se repite cada vez que <strong>de</strong>sconecta y<br />

vuelve a conectar la alimentación<br />

eléctrica. El modo se cambia a<br />

marcha REM durante cada<br />

<strong>de</strong>sconexión y reconexión <strong>de</strong> la<br />

alimentación eléctrica.<br />

Para programar esta característica,<br />

establezca este bit usando la función <strong>de</strong><br />

monitor <strong>de</strong> datos. Luego, almacene el<br />

programa en el módulo <strong>de</strong> memoria. Esta<br />

característica es especialmente útil<br />

cuando usted localiza y corrige fallos <strong>de</strong><br />

hardware con repuestos (módulos <strong>de</strong><br />

repuesto). Use esta característica para<br />

facilitar las actualizaciones <strong>de</strong> lógica <strong>de</strong><br />

aplicación en el campo sin dispositivo <strong>de</strong><br />

programación.<br />

Usted pue<strong>de</strong> elegir no sobrescribir los archivos<br />

<strong>de</strong> datos por archivo.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • • •<br />

• •


Dirección Clasificación Descripción<br />

S:1/13 Configuración<br />

dinámica<br />

Bit <strong>de</strong> error mayor <strong>de</strong>tenido<br />

Este bit es establecido por el procesador<br />

cuando se encuentra un error mayor. El<br />

procesador entra en una condición <strong>de</strong> fallo.<br />

La palabra S:6, código <strong>de</strong> fallo, contendrá un<br />

código que se pue<strong>de</strong> usar para diagnosticar la<br />

condición <strong>de</strong> fallo. Cuando el bit S:1/13 se<br />

establece, el procesador:<br />

• coloca todas las salidas en un estado<br />

seguro y activa el LED <strong>de</strong> fallo, o<br />

• entra en la rutina <strong>de</strong> fallo <strong>de</strong> usuario con<br />

salidas activas, permitiendo así que la<br />

lógica <strong>de</strong> escalera <strong>de</strong> la rutina <strong>de</strong> fallo<br />

intente recuperarse <strong>de</strong> la condición <strong>de</strong><br />

fallo. Si la rutina <strong>de</strong> fallo <strong>de</strong>termina que la<br />

recuperación es necesaria, ponga a cero<br />

S:1/13 usando la lógica <strong>de</strong> escalera antes<br />

<strong>de</strong> salir <strong>de</strong> la rutina <strong>de</strong> fallo. Si la lógica <strong>de</strong><br />

escalera <strong>de</strong> la rutina <strong>de</strong> fallo no entien<strong>de</strong> el<br />

código <strong>de</strong> fallo o si la rutina <strong>de</strong>termina que<br />

es preferible no continuar la operación,<br />

salga <strong>de</strong> la rutina <strong>de</strong> fallo con el bit S:1/13<br />

establecido. Las salidas se colocarán en<br />

un estado seguro y el LED <strong>de</strong> fallo se<br />

activará.<br />

Cuando usted pone a cero el bit S:1/13<br />

usando un dispositivo <strong>de</strong> programación, el<br />

modo <strong>de</strong> procesador cambia <strong>de</strong> fallo a<br />

programa remoto o suspensión <strong>de</strong> pausa<br />

remota, según el modo anterior <strong>de</strong>l<br />

procesador. Usted pue<strong>de</strong> mover un valor a<br />

S:6 y establecer S:1/13 en el programa <strong>de</strong><br />

escalera para generar un error mayor<br />

específico para la aplicación.<br />

Nota: Una vez que existe un estado <strong>de</strong> fallo<br />

mayor, usted <strong>de</strong>be corregir la condición que<br />

causa el fallo y también <strong>de</strong>be poner a cero<br />

este bit para que el procesador acepte un<br />

intento <strong>de</strong> cambio <strong>de</strong> modo (a programa REM,<br />

marcha REM o prueba REM). A<strong>de</strong>más, ponga<br />

a cero S:6 para evitar tener un código <strong>de</strong> error<br />

sin condición <strong>de</strong> fallo.<br />

Nota: No vuelva a usar los códigos <strong>de</strong> error<br />

<strong>de</strong>finidos en la lista <strong>de</strong> códigos <strong>de</strong> error <strong>SLC</strong><br />

en el capítulo 16 como códigos <strong>de</strong> error<br />

específicos para la aplicación. En cambio,<br />

cree sus propios códigos únicos. Esto evita<br />

que usted confunda los errores <strong>de</strong> aplicación<br />

con errores <strong>de</strong> sistema. Recomendamos el<br />

uso <strong>de</strong> los códigos <strong>de</strong> error FFOO a FFOF<br />

para indicar los errores mayores específicos<br />

para la aplicación.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• • • •<br />

• • •<br />

• • • •<br />

B–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

continuación<br />

<strong>de</strong> S:1/13<br />

B–16<br />

Cuando usted pone a cero el bit S:1/13<br />

usando un dispositivo <strong>de</strong> programación, el<br />

modo <strong>de</strong> procesador cambia <strong>de</strong> fallo a<br />

programa, marcha o suspensión <strong>de</strong> pausa<br />

según el modo anterior <strong>de</strong>l procesador. Pue<strong>de</strong><br />

mover un valor a S:6 y establecer S:1/13 en el<br />

programa <strong>de</strong> escalera para generar un error<br />

mayor específico para la aplicación.<br />

Si usted pone a cero este bit con el<br />

! interruptor <strong>de</strong> llave en MARCHA, el<br />

procesador entra inmediatamente en<br />

el modo <strong>de</strong> MARCHA.<br />

Pue<strong>de</strong> borrar los fallos S:1/13 y S:6<br />

<strong>de</strong>sconectando y volviendo a conectar el<br />

interruptor <strong>de</strong> llave PROGrama y luego a<br />

MARCHA.<br />

S:1/14 Estado Bit <strong>de</strong> acceso negado (bloqueo OEM)<br />

Usted pue<strong>de</strong> permitir o negar el acceso futuro<br />

a un archivo <strong>de</strong> procesador. Establezca este<br />

bit para negar el acceso. Esto indica que un<br />

dispositivo <strong>de</strong> programación <strong>de</strong>be disponer <strong>de</strong><br />

una copia correspondiente al archivo <strong>de</strong><br />

procesador en memoria para monitorizar el<br />

programa <strong>de</strong> escalera. Se negará el acceso a<br />

un dispositivo <strong>de</strong> programación que no<br />

disponga <strong>de</strong> una copia correspondiente <strong>de</strong>l<br />

archivo <strong>de</strong> procesador.<br />

Para programar esta característica, seleccione<br />

“Acceso futuro no permitido” al guardar el<br />

programa. Para proporcionar protección<br />

contra modificaciones acci<strong>de</strong>ntales <strong>de</strong> monitor<br />

<strong>de</strong> datos <strong>de</strong> la selección, programe una<br />

instrucción OTL incondicional en la dirección<br />

S:1/14 para negar el acceso futuro. Programe<br />

una instrucción OTU incondicional en la<br />

dirección S:1/14 para permitir el acceso futuro.<br />

Cuando este bit se pone a cero, indica que<br />

todo dispositivo <strong>de</strong> programación compatible<br />

pue<strong>de</strong> acce<strong>de</strong>r al programa <strong>de</strong> escalera<br />

(siempre que las condiciones <strong>de</strong> contraseña<br />

se cumplan).<br />

Cuando el acceso se niega, el dispositivo <strong>de</strong><br />

programación (APS o HHT) pue<strong>de</strong> no acce<strong>de</strong>r<br />

al programa <strong>de</strong> escalera. Las funciones tales<br />

como cambio <strong>de</strong> modo, borrado <strong>de</strong> memoria,<br />

restauración <strong>de</strong> programa y transferencia <strong>de</strong><br />

módulo <strong>de</strong> memoria se permiten in<strong>de</strong>pendientemente<br />

<strong>de</strong> esta selección. Esta función<br />

no afecta un dispositivo como DTAM.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• •<br />

• • • •


Dirección Clasificación Descripción<br />

S:1/15 Estado Bit <strong>de</strong> primer paso<br />

Use este bit para inicializar su programa<br />

según lo requiera la aplicación. Cuando este<br />

bit es establecido por el procesador, indica<br />

que el primer escán <strong>de</strong>l programa <strong>de</strong> usuario<br />

está en progreso (<strong>de</strong>spués <strong>de</strong>l encendido en<br />

el modo <strong>de</strong> MARCHA o la entrada en el modo<br />

<strong>de</strong> marcha REM o prueba REM). El<br />

procesador pone a cero este bit <strong>de</strong>spués <strong>de</strong>l<br />

primer escán.<br />

Cuando este bit se pone a cero, indica que el<br />

programa no está en el primer escán <strong>de</strong> un<br />

modo <strong>de</strong> prueba REM o marcha REM.<br />

Este bit se establece durante la ejecución <strong>de</strong><br />

la rutina <strong>de</strong> fallo <strong>de</strong> protección <strong>de</strong> encendido.<br />

Refiérase a S:1/9 para obtener más<br />

información.<br />

S:2/0 Estado Bit <strong>de</strong> STI (interrupción temporizada<br />

seleccionable) pendiente<br />

Cuando es establecido, este bit indica que el<br />

temporizador STI ha sobrepasado el límite <strong>de</strong><br />

tiempo y que la rutina STI espera la ejecución.<br />

Este bit se pone a cero cuando comienza la<br />

rutina STI, encendido, salida <strong>de</strong>l modo <strong>de</strong><br />

marcha REM o ejecución <strong>de</strong> una instrucción<br />

STS verda<strong>de</strong>ra.<br />

El bit <strong>de</strong> STI pendiente no se establece si el<br />

temporizador STI caduca durante la ejecución<br />

<strong>de</strong> la rutina <strong>de</strong> fallo.<br />

Este bit se establece si el temporizador STI<br />

caduca durante la ejecución <strong>de</strong> la subrutina<br />

DII o rutina <strong>de</strong> fallo.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• • • •<br />

• • •<br />

• • •<br />

•<br />

• •<br />

B–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–18<br />

S:2/1 Configuración<br />

estática<br />

Configuración<br />

dinámica<br />

Bit <strong>de</strong> STI (interrupción temporizada<br />

seleccionable) habilitada<br />

Este bit se establece en su condición pre<strong>de</strong>terminada<br />

o cuando es establecido por la instrucción<br />

STE o STS. Si es establecido, permite la<br />

ejecución <strong>de</strong> la STI si el archivo STI (S:31) y el<br />

punto <strong>de</strong> ajuste STI (S:30) son distintos <strong>de</strong> cero.<br />

Si está puesto a cero, cuando ocurre una interrupción,<br />

la subrutina STI no se ejecuta y el bit<br />

<strong>de</strong> STI pendiente se establece. El temporizador<br />

STI continúa funcionando cuando está inhabilitado.<br />

La instrucción STD pone a cero este bit.<br />

Use la función <strong>de</strong>l monitor <strong>de</strong> datos para establecer<br />

y poner a cero este bit o direccione este bit<br />

con su programa <strong>de</strong> lógica <strong>de</strong> escalera. Este bit<br />

se establece en su condición pre<strong>de</strong>terminada o<br />

cuando es establecido por la instrucción STE o<br />

STS. Si es establecido, permite la ejecución <strong>de</strong><br />

la STI si el archivo STI (palabra 31) y velocidad<br />

STI (palabra 30) son distintos <strong>de</strong> cero. Si está<br />

puesto a cero, la subrutina STI no se ejecuta y el<br />

bit <strong>de</strong> STI pendiente se establece. El<br />

temporizador continúa funcionando. La<br />

instrucción STD pone a cero este bit.<br />

S:2/2 Estdo Bit <strong>de</strong> ejecución STI (interrupción<br />

temporizada seleccionable)<br />

Cuando es establecido, este bit indica que el<br />

temporizador ha sobrepasado el límite <strong>de</strong><br />

tiempo y que la subrutina STI se está ejecutando<br />

actualmente. Este bit se pone a cero<br />

cuando se termina la rutina STI, encendido o a<br />

la entrada en el modo <strong>de</strong> marcha REM.<br />

Ejemplo <strong>de</strong> ejecución: Usted pue<strong>de</strong><br />

examinar este bit en su rutina <strong>de</strong> fallo para<br />

<strong>de</strong>terminar si su STI se estaba ejecutando<br />

cuando ocurrió el fallo.<br />

S:2/3 Configuración<br />

estática<br />

Bit <strong>de</strong> límite <strong>de</strong> archivo <strong>de</strong> dirección. <strong>de</strong> índice<br />

Cuando está puesto a cero, el registro <strong>de</strong> índice<br />

pue<strong>de</strong> in<strong>de</strong>xar solamente <strong>de</strong>ntro <strong>de</strong>l mismo<br />

archivo <strong>de</strong> datos <strong>de</strong> la dirección <strong>de</strong> base especificada.<br />

Cuando es establecido, el registro <strong>de</strong><br />

índice pue<strong>de</strong> in<strong>de</strong>xar en todas partes <strong>de</strong>s<strong>de</strong> el<br />

archivo <strong>de</strong> datos B3:0 al final <strong>de</strong>l último<br />

archivo <strong>de</strong> datos <strong>de</strong>clarado. Este bit se<br />

seleccionado cuando se guarda el programa.<br />

Los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 le<br />

permiten in<strong>de</strong>xar <strong>de</strong>s<strong>de</strong> 0:0 al último archivo <strong>de</strong><br />

datos.<br />

Nota: Recomendamos cambiar este bit en el<br />

modo fuera <strong>de</strong> línea solamente. Guar<strong>de</strong> el<br />

programar <strong>de</strong>spués <strong>de</strong> cambiar el bit.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • •<br />

• •<br />

• • •<br />

• • •<br />

• •


Dirección Clasificación Descripción<br />

S:2/4 Configuración<br />

estática<br />

Bit <strong>de</strong> guardado con prueba <strong>de</strong> un solo paso<br />

habilitado<br />

Cuando se borra, la función <strong>de</strong> modo <strong>de</strong> una<br />

prueba <strong>de</strong> un solo paso no está disponible. El<br />

borrado también indica que los registros <strong>de</strong><br />

<strong>de</strong>puración S:16 a 2:21 no funcionan. Cuando<br />

se establece, el programa pue<strong>de</strong> funcionar en<br />

el modo <strong>de</strong> prueba <strong>de</strong> un solo paso. Vea las<br />

<strong>de</strong>scripciones <strong>de</strong> S:16 a S:21. Cuando es<br />

establecido, su programa requiere 0.375<br />

palabras <strong>de</strong> instrucción (3 bytes) por renglón<br />

<strong>de</strong> memoria adicional. Este bit se selecciona<br />

al guardar el programar.<br />

Nota: Este bit no se aplica a los procesadores<br />

<strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 ya que su funcionabilidad<br />

siempre está disponible y no requiere<br />

selección <strong>de</strong> tiempo <strong>de</strong> compilación especial.<br />

S:2/5 Estado Bit <strong>de</strong> comando entrante pendiente (canal 1)<br />

Este bit se establece cuando el procesador<br />

<strong>de</strong>termina que otro nodo en la red ha<br />

solicitado información o le ha proporcionado<br />

un comando. Este bit se pue<strong>de</strong> establecer en<br />

todo momento. Este bit se pone a cero<br />

cuando el procesador le da servicio a la<br />

petición (o comando).<br />

Use este bit como condición <strong>de</strong> una<br />

instrucción SVC para mejorar la capacidad <strong>de</strong><br />

comunicacion <strong>de</strong>l procesador.<br />

S:2/6 Estado Bit <strong>de</strong> respuesta <strong>de</strong> mensaje pendiente<br />

(canal 1)<br />

Este bit se establece cuando otro nodo en la<br />

red ha proporcionado la información que usted<br />

solicitó en la instrucción MSG <strong>de</strong>l procesador.<br />

Este bit se pone a cero cuando el procesador<br />

almacena la información y actualiza la<br />

instrucción MSG.<br />

Use este bit como condición <strong>de</strong> una<br />

instrucción SVC para mejorar la capacidad <strong>de</strong><br />

comunicación <strong>de</strong>l procesador.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• • •<br />

• •<br />

• • •<br />

• • •<br />

B–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–20<br />

S:2/7 Status Bit <strong>de</strong> comando <strong>de</strong> mensaje <strong>de</strong> salida<br />

pendiente (canal 1)<br />

Este bit se establece cuando hay uno o más<br />

mensajes habilitados y <strong>de</strong> espera en el<br />

programa, pero no se transmite un mensaje. En<br />

cuanto comienza la transmisión <strong>de</strong> un mensaje,<br />

el bit se pone a cero. Después <strong>de</strong> la<br />

transmisión, el bit se vuelve a establecer si hay<br />

otros mensajes <strong>de</strong> espera. Permanece puesto a<br />

cero si no hay más mensajes <strong>de</strong> espera.<br />

Use este bit como condición <strong>de</strong> una instrucción<br />

SVC para mejorar la comunicación <strong>de</strong>l<br />

procesador.<br />

S:2/8 Configuración<br />

dinámica<br />

S:2/9 Configuración<br />

estática<br />

Modo <strong>de</strong> direccionamiento CIF (archivo <strong>de</strong><br />

interface común)<br />

Se aplica a los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong><br />

5/03 y <strong>SLC</strong> 5/04.<br />

Este bit controla el modo usado por los procesadores<br />

<strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 para<br />

direccionar elementos en el archivo CIF (archivo<br />

<strong>de</strong> datos 9) cuando se procesa una petición <strong>de</strong><br />

comunicación.<br />

Modo <strong>de</strong> dirección <strong>de</strong> palabra – vigente cuando<br />

el bit se pone a cero (0): Este es el modo<br />

pre<strong>de</strong>terminado compatible con otros dispositivos<br />

<strong>SLC</strong> <strong>500</strong> en la red DH-485.<br />

Modo <strong>de</strong> dirección <strong>de</strong> byte – vigente cuando el<br />

bit se establece (1): Este modo se usa cuando<br />

los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong><br />

5/04 reciben un mensaje <strong>de</strong>s<strong>de</strong> un dispositivo en<br />

la red, posiblemente por un puente o gate- way.<br />

Este establecimiento es compatible con la<br />

comunicación <strong>de</strong> interprocesador PLC <strong>de</strong><br />

Allen-Bradley.<br />

Comparación <strong>de</strong> programa <strong>de</strong> módulo <strong>de</strong><br />

memoria<br />

Cuando este bit es establecido <strong>de</strong>ntro <strong>de</strong> un<br />

programa válido contenido en un módulo <strong>de</strong><br />

memoria, no se permite la modificación <strong>de</strong> los<br />

archivos <strong>de</strong> programa <strong>de</strong> usuario NVRAM. Esto<br />

incluye los comandos <strong>de</strong> edición en línea,<br />

<strong>de</strong>scarga <strong>de</strong> programa y borrado <strong>de</strong> memoria.<br />

Use esta característica para evitar que un<br />

dispositivo <strong>de</strong> programación modifique el<br />

programa NVRAM <strong>de</strong>s<strong>de</strong> el programa contenido<br />

en el módulo <strong>de</strong> memoria. Si un módulo <strong>de</strong><br />

memoria se instala con este bit establecido y un<br />

programa <strong>de</strong> usuario NVRAM diferente es<br />

contenido en NVRAM, el procesador no entra en<br />

el modo <strong>de</strong> marcha. Usted <strong>de</strong>be transferir el<br />

programa <strong>de</strong> módulo <strong>de</strong> memoria a NVRAM<br />

para entrar en el modo <strong>de</strong> marcha.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • •<br />

• • •<br />

• •


Dirección Clasificación Descripción<br />

S:2/10 Configuración<br />

estática<br />

Bit <strong>de</strong> selección <strong>de</strong> resolución STI<br />

(1 ms ó 10 ms)<br />

Este bit está puesto a cero pre<strong>de</strong>terminadamente.<br />

Cuando está puesto a cero, este bit usa<br />

una base <strong>de</strong> tiempo <strong>de</strong> 10 ms para el valor <strong>de</strong>l<br />

punto <strong>de</strong> ajuste STI (S:30). Por ejemplo, el valor<br />

4 usa un punto <strong>de</strong> ajuste STI <strong>de</strong> 40 ms.<br />

Cuando es establecido, este bit usa una base <strong>de</strong><br />

tiempo <strong>de</strong> 1 ms para el punto <strong>de</strong> ajuste STI<br />

(S:30). Por ejemplo el valor 4 usa un punto <strong>de</strong><br />

ajuste STI <strong>de</strong> 4 ms. Para programar esta<br />

característica, use la función <strong>de</strong> monitor <strong>de</strong> datos<br />

para establecer, poner a cero o direccionar este<br />

bit con el programa <strong>de</strong> escalera.<br />

S:2/11 Estado Bit <strong>de</strong> interrupción <strong>de</strong> entrada discreta<br />

pendiente<br />

Cuando es establecido, este bit indica que el<br />

acumulador DII (S:52) es igual al valor DII<br />

pre<strong>de</strong>terminado (S:50) y que el número <strong>de</strong><br />

archivo <strong>de</strong> escalera especificado por el<br />

número <strong>de</strong> archivo DII (S:46) espera su<br />

ejecución. Se pone a cero cuando el número<br />

<strong>de</strong> archivo DII 9S:46) comienza a ejecutarse o<br />

cuando sale <strong>de</strong>l modo <strong>de</strong> marcha REM o<br />

prueba REM.<br />

S:2/12 Configuración<br />

dinámica<br />

Bit <strong>de</strong> interrupción <strong>de</strong> entrada discreta<br />

habilitada<br />

Para programar esta característica, use la<br />

función <strong>de</strong> monitor <strong>de</strong> datos para establecer,<br />

poner a cero o direccionar este bit con el<br />

programa <strong>de</strong> escalera. Este bit se establece<br />

en su condición pre<strong>de</strong>terminada. Si es<br />

establecido, permite la ejecución <strong>de</strong> la<br />

subrutina DII si el archivo DII (S:46) es distino<br />

<strong>de</strong> cero. Si está puesto a cero, cuando ocurre<br />

la interrupción, la subrutina DII no se ejecuta y<br />

el bit <strong>de</strong> DII pendiente se pier<strong>de</strong>. La función<br />

DII continúa funcionando cuando el archivo DII<br />

(S:46) es distinto <strong>de</strong> cero. Si el bit pendiente<br />

se establece, el bit <strong>de</strong> habilitación se examina<br />

al próximo final <strong>de</strong> escán.<br />

S:2/13 Estado Bit <strong>de</strong> ejec. <strong>de</strong> interrupción <strong>de</strong> entrada discreta<br />

Cuando es establecido, este bit indica que la<br />

interrupción DII ha ocurrido y que la subrutina DII<br />

se está ejecutando. Este bit se pone a cero<br />

cuando se termina la rutina DII, durante el<br />

encendido o a la entrada en el modo <strong>de</strong> marcha<br />

REM.<br />

Ejemplo <strong>de</strong> aplicación: Usted pue<strong>de</strong><br />

examinar este bit en la rutina <strong>de</strong> fallo para<br />

<strong>de</strong>terminar si la DII estaba ejecutándose<br />

cuando ocurrió el fallo.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• •<br />

• •<br />

• •<br />

• •<br />

B–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–22<br />

S:2/14 Configuración<br />

dinámica<br />

Bit <strong>de</strong> selección <strong>de</strong> overflow matemático<br />

Se aplica a los procesadores <strong>SLC</strong> 502, <strong>SLC</strong><br />

5/03 y <strong>SLC</strong> 5/04.<br />

Establezca este bit cuando usted vaya a a<br />

usar la adición o resta <strong>de</strong> 32 bits. Cuando<br />

S:2/14 es establecido y el resultado <strong>de</strong> una<br />

instrucción ADD, SUB, MUL o DIV no se<br />

pue<strong>de</strong> representar en la dirección <strong>de</strong> <strong>de</strong>stino<br />

(un<strong>de</strong>rflow u overflow),<br />

• el bit <strong>de</strong> overflow S:0/1 se establece,<br />

• el bit <strong>de</strong> interrupción por overflow S:5/0 se<br />

establece, y<br />

• la dirección <strong>de</strong> <strong>de</strong>stino contiene los 16 bits<br />

sin signo truncados y menos significativos<br />

<strong>de</strong>l resultado.<br />

La condición pre<strong>de</strong>terminada <strong>de</strong> S:2/14 se<br />

restablece (0). Cuando S:2/14 se restablece y<br />

el resultado <strong>de</strong> una instrucción ADD, SUB,<br />

MUL o DIV no se pue<strong>de</strong> representar en la<br />

dirección <strong>de</strong> <strong>de</strong>stino (un<strong>de</strong>rflow u overflow),<br />

• el bit <strong>de</strong> overflow S:0/1 se establece,<br />

• el bit <strong>de</strong> interrupción por overflow S:5/0 se<br />

establece, y<br />

• la dirección <strong>de</strong> <strong>de</strong>stino contiene 32767 si el<br />

resultado es positivo o –32768 si el<br />

resultado es negativo.<br />

Nota: El estado <strong>de</strong> bit S:2/14 no afecta la<br />

instrucción DDV. A<strong>de</strong>más, no afecta el<br />

contenido <strong>de</strong>l registro matemático cuando se<br />

usan <strong>instrucciones</strong> MUL y DIV.<br />

Para programar esta característica, use la<br />

función <strong>de</strong> monitor <strong>de</strong> datos para establecer o<br />

pone a cero este bit. Para proporcionar<br />

protección contra la modificación acci<strong>de</strong>ntal <strong>de</strong><br />

monitor <strong>de</strong> datos <strong>de</strong> su selección, programe<br />

una instrucción OTL incondicional en la<br />

dirección S:2/14 para asegurar la operación <strong>de</strong><br />

overflow matemático nuevo. Programe una<br />

instrucción incondicional OTU en la dirección<br />

S:2/14 para asegurar la operación <strong>de</strong> overflow<br />

matemático original.<br />

Vea el capítulo 3 <strong>de</strong> este manual para obtener<br />

un ejemplo <strong>de</strong> matemática <strong>de</strong> 32 bits con<br />

signo .<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • •


Dirección Clasificación Descripción<br />

S:2/15 Configuración<br />

dinámica<br />

Bit <strong>de</strong> selección <strong>de</strong> servicio <strong>de</strong><br />

comunicaciones (canal 1 <strong>de</strong> DH+ para <strong>SLC</strong><br />

5/04) (canal 1 DH485 para <strong>SLC</strong> 5/03)<br />

Cuando este bit es establecido, solamente una<br />

petición/comando <strong>de</strong> comunicación pue<strong>de</strong> recibir<br />

servicio por END, TND, REF o SVC. Cuando se<br />

pone a cero, todas las peticiones/comandos <strong>de</strong><br />

comunicación <strong>de</strong> entrada o salida pue<strong>de</strong>n recibir<br />

servicio según END, TND, REF o SVC. Cuando<br />

se pone a cero, la transferencia <strong>de</strong> comunicación<br />

se incrementa. Sin embargo, el tiempo <strong>de</strong> escán<br />

se incrementa si varias peticiones/comandos <strong>de</strong><br />

comunicación se reciben en el mismo escán.<br />

Una petición/comando <strong>de</strong> comunicación consiste<br />

en un comando <strong>de</strong> entrada, una respuesta <strong>de</strong><br />

mensaje o un comando <strong>de</strong> mensaje <strong>de</strong> salida.<br />

Vea S:2/5, S:2/6 y S:2/7 y S:33/7 (procesadores<br />

<strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04).<br />

Para programar esta característica, use la<br />

función <strong>de</strong> monitor <strong>de</strong> datos para establecer o<br />

poner a cero este bit. Para proporcionar<br />

protección contra la modificación acci<strong>de</strong>ntal <strong>de</strong>l<br />

monitor <strong>de</strong> datos <strong>de</strong> su selección, programe una<br />

instrucción OTL incondicional en la dirección<br />

S:2/15 para asegurar la operación <strong>de</strong> una<br />

petición/comando o programe una instrucción<br />

OTU incondicional en la dirección S:2/15 para<br />

asegurar la operación <strong>de</strong> peticiones/comandos<br />

múltiples. Como alternativa, su programa pue<strong>de</strong><br />

cambiar el estado <strong>de</strong> este bit usando la lógica <strong>de</strong><br />

escalera si la aplicación requiere la selección<br />

dinámica <strong>de</strong> esta función.<br />

Ejemplo <strong>de</strong> aplicación: Digamos que usted<br />

tiene un sistema que consiste en un<br />

procesador <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04,<br />

un programador APS y un DTAM. El tiempo<br />

<strong>de</strong> escán <strong>de</strong>l programa para el programa <strong>de</strong><br />

usuario es sumamente extenso. Por eso, el<br />

dispositivo <strong>de</strong> programación o DTAM tarda<br />

muchísimo tiempo para actualizar la pantalla.<br />

Usted pue<strong>de</strong> mejorar este tiempo <strong>de</strong><br />

actualización poniendo a cero S:2/15.<br />

En tal caso, el tiempo adicional tomado por el<br />

procesador para dar servicio a toda la<br />

comunicación al final <strong>de</strong>l escán es <strong>de</strong><br />

insignificante en comparación con el tiempo<br />

requerido para finalizar un escán. Usted<br />

podría incrementar la transferencia <strong>de</strong><br />

comunicación aun más usando una instrucción<br />

SVC. Vea el capítulo 8 en este manual para<br />

obtener más información.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• • •<br />

B–23


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–24<br />

S:3L Estado Tiempo <strong>de</strong> escán <strong>de</strong> 10 ms actual/último<br />

El valor <strong>de</strong> este byte le informa cuánto tiempo<br />

transcurre durante un ciclo <strong>de</strong> programa. Un<br />

ciclo <strong>de</strong> programa incluye:<br />

• el escán <strong>de</strong>l programa <strong>de</strong> escalera,<br />

• la limpieza,<br />

• el escán <strong>de</strong> E/S, y<br />

• el servicio para el puerto <strong>de</strong> comunicación.<br />

El valor <strong>de</strong> byte se pone a cero por el<br />

procesador durante cada escán justo antes <strong>de</strong><br />

la ejecución <strong>de</strong> renglón 0 <strong>de</strong>l archivo <strong>de</strong><br />

programa 2 (archivo <strong>de</strong> programa principal) o<br />

cuando retorna <strong>de</strong> la instrucción REF. Des<strong>de</strong><br />

ese punto en a<strong>de</strong>lante, el byte se incrementa<br />

cada 10 ms, la cantidad <strong>de</strong> tiempo<br />

transcurrido en cada ciclo <strong>de</strong> programa. Si<br />

este valor es igual al valor en el control<br />

(watchdog) S:3H, se <strong>de</strong>clara un error mayor<br />

<strong>de</strong> control (watchdog) <strong>de</strong> usuario (código<br />

0022).<br />

La resolución <strong>de</strong>l valor <strong>de</strong> tiempo <strong>de</strong> escán es<br />

+0 a ±10 ms. Ejemplo: El valor 9 indica que<br />

80–90 ms han transcurrido <strong>de</strong>s<strong>de</strong> el inicio <strong>de</strong>l<br />

ciclo <strong>de</strong> programa.<br />

Nota: Cuando las <strong>instrucciones</strong> SVC o REF<br />

son contenidos en el programa, este valor<br />

parecer ser irregular cuando usted lo<br />

monitoriza con un dispositivo <strong>de</strong><br />

programación. Esto se <strong>de</strong>be a que las<br />

<strong>instrucciones</strong> SVC o REF permiten que este<br />

valor se lea en medio <strong>de</strong>l escán mientras<br />

todavía se está incrementando.<br />

Fijo,<br />

5/01<br />

• •<br />

5/02 5/03 5/04<br />

• • •


Dirección Clasificación Descripción<br />

continuación<br />

<strong>de</strong> S:3L<br />

Ejemplo <strong>de</strong> aplicación: Su aplicación<br />

requiere que cada escán <strong>de</strong> programa se<br />

ejecute <strong>de</strong>ntro <strong>de</strong>l mismo lapso <strong>de</strong> tiempo.<br />

Usted mi<strong>de</strong> los tiempos <strong>de</strong> escán máximo y<br />

mínimo y <strong>de</strong>scubre que son 40 ms y 20 ms.<br />

Pue<strong>de</strong> hacer que cada escán sea<br />

exactamente igual a 50 ms programando los<br />

renglones siguientes como los últimos<br />

renglones <strong>de</strong>l programa.<br />

1<br />

]LBL[<br />

LES<br />

LESS THAN<br />

Source A N7:0<br />

Source B 5<br />

MOV<br />

MOVE<br />

Source S:3<br />

Dest N7:0<br />

AND<br />

BITWISE AND<br />

Source A 255<br />

Source B N7:0<br />

Dest N7:0<br />

1<br />

(JMP)<br />

Este ejemplo asume que el escán <strong>de</strong> E/S y el<br />

servicio para la comunicación toman menos<br />

<strong>de</strong> 10 ms. Si exce<strong>de</strong> 10 ms, la resolución <strong>de</strong>l<br />

tic <strong>de</strong> +0 a ±1 (10 ms) se <strong>de</strong>be añadir al<br />

tiempo <strong>de</strong> escán.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

B–25


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–26<br />

S:3H Configuración<br />

dinámica<br />

Byte <strong>de</strong> tiempo <strong>de</strong> escán <strong>de</strong> control<br />

(watchdog)<br />

Este valor <strong>de</strong> byte contiene el número <strong>de</strong> tics<br />

<strong>de</strong> 10 ms que se permite que ocurran durante<br />

un ciclo <strong>de</strong> programa. El valor pre<strong>de</strong>terminado<br />

es 10 (100 ms), pero usted pue<strong>de</strong> incrementarlo<br />

a 250 (2.5 segundos) o disminuirlo a 2,<br />

según lo requiera la aplicación. Si el valor <strong>de</strong><br />

escán <strong>de</strong> programa S:3L es igual al valor <strong>de</strong><br />

control (watchdog), un error mayor <strong>de</strong> control<br />

(watchdog) se realiza (código 0022). Este<br />

valor se aplica a cada END, TND o REF.<br />

S:4 Estado Reloj <strong>de</strong> marcha libre<br />

Solamente los 8 primeros bytes (valor <strong>de</strong> byte)<br />

<strong>de</strong> esta palabra son evaluados por el<br />

procesador. Este valor se pone a cero al<br />

momento <strong>de</strong> encendido en el modo <strong>de</strong> marcha<br />

REM.<br />

Usted pue<strong>de</strong> usar cualquier bit individual <strong>de</strong><br />

este byte en el programa <strong>de</strong> usuario como bit<br />

<strong>de</strong> reloj <strong>de</strong> ciclo <strong>de</strong> trabajo <strong>de</strong> 50%. Las<br />

velocida<strong>de</strong>s <strong>de</strong> reloj para S:4/0 a S:4/7 son:<br />

20, 40, 80, 160, 320, 640, 1280 y 2560 ms<br />

La aplicación que usa el bit se <strong>de</strong>be evaluar a<br />

una velocidad dos veces más rápida que la<br />

velocidad <strong>de</strong> reloj <strong>de</strong>l bit. Esto se ilustra en el<br />

ejemplo siguiente para los procesadores<br />

<strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • • •<br />


Continuación Clasificación Descripción<br />

continuación<br />

<strong>de</strong> S:4<br />

Configuración<br />

dinámica<br />

Todos los 16 bits <strong>de</strong> esta palabra son<br />

evaluados por el procesador. El valor <strong>de</strong> esta<br />

palabra se pone a cero al momento <strong>de</strong><br />

encendido en el modo <strong>de</strong> marcha REM o<br />

cuando entra en el modo <strong>de</strong> marcha REM o<br />

prueba REM. A partir <strong>de</strong> entonces, se<br />

incrementa cada 10 ms.<br />

Nota <strong>de</strong> aplicación: Usted pue<strong>de</strong> escribir<br />

cualquier valor a S:4. Comenzará a<br />

incrementarse a partir <strong>de</strong> este valor.<br />

Pue<strong>de</strong> usar cualquier bit individual <strong>de</strong> esta<br />

palabra en el programa <strong>de</strong> usuario como bit<br />

<strong>de</strong> reloj <strong>de</strong> ciclo <strong>de</strong> trabajo <strong>de</strong> 50%. Las<br />

velocida<strong>de</strong>s <strong>de</strong> reloj para S:4/0 a S:4/15 son:<br />

20, 40, 80, 160, 320, 640, 1280, 2560,<br />

5120, 10240, 20480, 40960, 81920,<br />

163840, 327680 y 655360 ms<br />

La aplicación que usa el bit se <strong>de</strong>be evaluar a<br />

una velocidad dos veces más rápida que la<br />

velocidad <strong>de</strong> reloj <strong>de</strong>l bit. En el ejemplo<br />

siguiente, el bit S:4/3 alterna cada 80 ms, lo<br />

cual produce una velocidad <strong>de</strong> reloj <strong>de</strong><br />

160 ms. Para mantener la exactitud <strong>de</strong> este<br />

bit en la aplicación, la instrucción que usa el<br />

bit S:4/3 (en este caso O:1/0) se <strong>de</strong>be evaluar<br />

por lo menos una vez cada 79.999 ms.<br />

160 ms<br />

S:4<br />

] [<br />

3<br />

O:1<br />

( )<br />

0<br />

ciclo <strong>de</strong> S:4/3: 160 ms<br />

El S:4/3 y la salida<br />

O:1/0 alternan cada<br />

80 ms. O:1/0 se <strong>de</strong>be<br />

evaluar por lo menos<br />

una vez cada<br />

79.999 ms.<br />

S:5 Bit <strong>de</strong> error menor<br />

Los bits <strong>de</strong> esta palabra son establecidos por<br />

el procesador para indicar que un error menor<br />

ha ocurrido en el programa <strong>de</strong> escalera. Los<br />

errores menores, bits 0 a 7, vuelve a ser el<br />

error mayor 0020H si un bit se <strong>de</strong>tecta como<br />

establecido al final <strong>de</strong>l escán. Al usuario HHT:<br />

Si el procesador está con fallo con el código<br />

<strong>de</strong> error 0020H, <strong>de</strong>be poner a cero los bits <strong>de</strong><br />

error menor S:5/0–7 junto con S:1/13 para<br />

intentar una recuperación <strong>de</strong> error.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• • •<br />

• • • •<br />

B–27


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–28<br />

S:5/0 Configuración<br />

dinámica<br />

Bit <strong>de</strong> interrupción por overflow<br />

Cuando este bit es establecido por el<br />

procesador, indica que un overflow<br />

matemático ha ocurrido en el programa <strong>de</strong><br />

escalera. Vea S:0/1 para obtener más<br />

información.<br />

Si este bit se establece cuando se ejecuta la<br />

instrucción END, TND o REF, un error mayor<br />

(0020) se realiza. Para evitar la coinci<strong>de</strong>ncia<br />

<strong>de</strong> este tipo <strong>de</strong> error mayor, examine el estado<br />

<strong>de</strong> este bit <strong>de</strong>spués <strong>de</strong> una instrucción<br />

matemática (ADD, SUB, MUL, DDV, NEG,<br />

SCL, TOD o FRD), tome la acción más<br />

a<strong>de</strong>cuada y, luego, ponga a cero el bit S:5/0<br />

usando una instrucción OTU con S:5/0 ó una<br />

instrucción CLR con S:5.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • • •<br />

S:5/1 NA Reservado • • • •<br />

S:5/2 Configuración<br />

dinámica<br />

Bit <strong>de</strong> error <strong>de</strong> registro <strong>de</strong> control<br />

Las <strong>instrucciones</strong> LFU, LFL, FFU, FFL, BSL,<br />

BSR, SQO, SQC y SQL son capaces <strong>de</strong><br />

generar este error. Cuando el bit S:5/2 se<br />

establece, indica que el bit <strong>de</strong> error <strong>de</strong> la<br />

instrucción <strong>de</strong> control ha sido establecido.<br />

Si este bit se establece cuando se ejecuta la<br />

instrucción END, TND o REF, el error mayor<br />

(0020) se realiza. Para evitar la coinci<strong>de</strong>ncia<br />

<strong>de</strong> este tipo <strong>de</strong> error mayor, examine el estado<br />

<strong>de</strong> este bit a continuación <strong>de</strong> una instrucción<br />

<strong>de</strong> registro <strong>de</strong> control, tome la acción más<br />

a<strong>de</strong>cuada y, luego, ponga a cero el bit S:5/2<br />

usando una instrucción OTU con S:5/2 ó una<br />

instrucción con S:5.<br />

• • • •


Dirección Clasificación Descripción<br />

S:5/3 Configuración<br />

dinámica<br />

S:5/4 Configuración<br />

dinámica<br />

Bit <strong>de</strong> error mayor <strong>de</strong>tectado durante la<br />

ejecución <strong>de</strong> rutina <strong>de</strong> fallo <strong>de</strong> usuario<br />

Cuando es establecido este bit, el código <strong>de</strong><br />

error mayor (S:6) representa el error mayor<br />

que ocurrió durante el procesamiento <strong>de</strong> la<br />

rutina <strong>de</strong> fallo <strong>de</strong>bido a otro error mayor.<br />

Si este bit se establece cuando se ejecuta la<br />

instrucción END, TND o REF, el error mayor<br />

(0020) se realiza. Para evitar la coinci<strong>de</strong>ncia<br />

<strong>de</strong> este tipo <strong>de</strong> error mayor, examine el estado<br />

<strong>de</strong> este bit <strong>de</strong>ntro <strong>de</strong> la rutina <strong>de</strong> fallo, tome la<br />

acción más a<strong>de</strong>cuada y, luego, ponga a cero<br />

el bit S:5/3 usando una instrucción OTU con<br />

S:5/3 ó una instrucción CLR con S:5.<br />

Ejemplo <strong>de</strong> aplicación: Supongamos que<br />

usted ejecuta una rutina <strong>de</strong> fallo para el código<br />

<strong>de</strong> fallo 0016H <strong>de</strong> protección <strong>de</strong> encendido.<br />

En el renglón 3 <strong>de</strong>ntro <strong>de</strong> esta rutina <strong>de</strong> fallo,<br />

un TON que contiene un valor<br />

preseleccionado negativo se ejecuta. Cuando<br />

el renglón 4 se ejecuta, el código <strong>de</strong> fallo<br />

0016H se sobrescribe para indicar el código<br />

0034H y S:5/3 se establece.<br />

Si su rutina <strong>de</strong> fallo no <strong>de</strong>terminó que S:5/3 se<br />

estableció, el error mayor 0020H se realizaría<br />

al final <strong>de</strong>l primer escán. Para evitar este<br />

problema, examine S:5/3, seguido por S:6,<br />

antes <strong>de</strong> retornar <strong>de</strong> la rutina <strong>de</strong> fallo. Si S:5/3<br />

se establece, tome la acción más a<strong>de</strong>cuada<br />

para remediar el fallo y, luego, ponga a cero<br />

S:5/3.<br />

Bit <strong>de</strong> M0–M1 indicados en ranura<br />

inhabilitada<br />

Este bit se establece cuando una instrucción<br />

hace referencia a un elemento <strong>de</strong> archivo <strong>de</strong><br />

módulo M0 ó M1 para una ranura que se<br />

inhabilitó (vía el bit <strong>de</strong> habilitación <strong>de</strong> ranura<br />

<strong>de</strong> E/S). Cuando es establecido, el bit indica<br />

que una instrucción no se pudo ejecutar<br />

correctamente <strong>de</strong>bido a la falta <strong>de</strong><br />

disponibilidad <strong>de</strong> los datos M0 ó M1<br />

direccionados.<br />

Si este bit se establece cuando se ejecuta la<br />

instrucción END, TND o REF, el error mayor<br />

(0020) se realiza. Para evitar la coinci<strong>de</strong>ncia<br />

<strong>de</strong> este tipo <strong>de</strong> error mayor, examine el estado<br />

<strong>de</strong> este bit <strong>de</strong>spués <strong>de</strong> una instrucción <strong>de</strong><br />

M0–M1 referenciada, tome la acción más<br />

a<strong>de</strong>cuada y, luego, ponga a cero el bit S:5/4<br />

usando una instrucción OTU con S:5/4 ó una<br />

instrucción CLR con S:5.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• • •<br />

• • •<br />

B–29


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–30<br />

S:5/5 a<br />

S:5/7<br />

NA Reservado<br />

Reservado para los errores menores que<br />

vuelven a ser errores mayores al final <strong>de</strong>l<br />

escán.<br />

S:5/8 Estado Bit <strong>de</strong> arranque <strong>de</strong>l módulo <strong>de</strong> memoria<br />

Cuando este bit es establecido por el<br />

procesador, indica que un programa <strong>de</strong> módulo<br />

<strong>de</strong> memoria ha sido transferido al procesador.<br />

Este bit no es puesto a cero por el procesador.<br />

El programa pue<strong>de</strong> examinar el estado <strong>de</strong> este<br />

bit cuando entra en el modo <strong>de</strong> marcha REM<br />

para <strong>de</strong>terminar si el contenido <strong>de</strong>l módulo <strong>de</strong><br />

memoria ha sido transferido. El bit S:1/15 se<br />

establece para indicar la entrada en el modo <strong>de</strong><br />

marcha REM. Esta información es útil cuando<br />

usted tiene una aplicación que contiene datos<br />

retentivos y un módulo <strong>de</strong> memoria con<br />

solamente el bit S:1/10 establecido (módulo <strong>de</strong><br />

memoria <strong>de</strong> carga en el error <strong>de</strong> memoria). Use<br />

este bit para indicar que los datos retentivos se<br />

han perdidos. Este bit también es útil cuando se<br />

usan los bits S:1/11 (módulo <strong>de</strong> memoria <strong>de</strong><br />

carga permanente) o S:1/12 (módulo <strong>de</strong><br />

memoria <strong>de</strong> carga permanente y marcha) para<br />

diferenciar una entrada en el modo <strong>de</strong> marcha<br />

REM al momento <strong>de</strong> encendido <strong>de</strong> una entrada<br />

en el modo <strong>de</strong> programa REM (o prueba REM)<br />

a modo <strong>de</strong> marcha REM.<br />

S:5/9 Estado Bit <strong>de</strong> correspon<strong>de</strong>ncia incorrecta <strong>de</strong><br />

contraseñas <strong>de</strong> módulo <strong>de</strong> memoria<br />

Este bit se establece cuando se entra en el<br />

modo <strong>de</strong> marcha REM cuando la carga <strong>de</strong>s<strong>de</strong><br />

el módulo <strong>de</strong> memoria es especificada<br />

(palabra 1, bits 11 ó 112) y el programa <strong>de</strong><br />

usuario <strong>de</strong>l procesador tiene protección con<br />

contraseña y el programa <strong>de</strong> módulo <strong>de</strong><br />

memoria no correspon<strong>de</strong> a dicha contraseña.<br />

Use este bit para indicarle al programa <strong>de</strong><br />

aplicación que un módulo <strong>de</strong> memoria <strong>de</strong><br />

carga automática se encuentra instalado pero<br />

no se cargó <strong>de</strong>bido a una <strong>de</strong>sigualdad <strong>de</strong><br />

contraseñas.<br />

S:5/10 Estado Bit <strong>de</strong> overflow STI (interr. temporizada<br />

seleccionable)<br />

Este bit es establecido cuando el temporizador<br />

STI caduca durante la ejecución o inhabilit. <strong>de</strong> la<br />

rutina STI y el bit pendiente ya es establecido.<br />

S:5/11 Estado Bit <strong>de</strong> batería baja<br />

Este bit se establece cuando el LED <strong>de</strong><br />

batería baja se ilumina. El bit se pone a cero<br />

cuando el LED <strong>de</strong> batería baja se apaga.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • • •<br />

• • • •<br />

• • • •<br />

• • •<br />

• • •


Dirección Clasificación Descripción<br />

S:5/12 Estado Bit <strong>de</strong> overflow <strong>de</strong> interrupción <strong>de</strong> entrada<br />

discreta<br />

Este bit se establece cuando ocurre la<br />

interrupción DII dudrante la ejecución <strong>de</strong> la<br />

subrutina DII o cuando la interrupción DII<br />

ocurre durante el estado pendiente o<br />

inhabilitado.<br />

S:5/13 Configuración<br />

dinámica<br />

Se intentó carga sin éxito <strong>de</strong>l sistema <strong>de</strong><br />

operación<br />

Este bit se establece cuando se intenta cargar<br />

el módulo <strong>de</strong> memoria <strong>de</strong>l sistema operativo y<br />

ésa resulta sin éxito. Las cargas sin éxito<br />

pue<strong>de</strong>n ocurrir cuando falta el puente <strong>de</strong><br />

protección o está en la posición protegida, o si<br />

el módulo <strong>de</strong> memoria <strong>de</strong>l sistema <strong>de</strong><br />

operación no es compatible con la plataforma<br />

<strong>de</strong> hardware <strong>de</strong> los procesadores <strong>SLC</strong> 5/03 ó<br />

<strong>SLC</strong> 5/04. Examine el estado <strong>de</strong> este bit con<br />

su programa <strong>de</strong> usuario para diagnosticar la<br />

condición.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• •<br />

• •<br />

B–31


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–32<br />

S:5/14 Estado Mó<strong>de</strong>m <strong>de</strong> canal 0 perdido<br />

Este bit indica el estado <strong>de</strong>l mó<strong>de</strong>m conectado<br />

al canal 0 (puerto en serie RS232). El estado<br />

<strong>de</strong> este bit es <strong>de</strong>terminado por:<br />

• el protocolo para el cual el canal 0<br />

ha sido configurado<br />

• la línea <strong>de</strong> control seleccionada<br />

• los estados <strong>de</strong> DCD (<strong>de</strong>tección <strong>de</strong> portador<br />

<strong>de</strong> datos) y DSR (conjunto <strong>de</strong> datos<br />

listo)<br />

Si el bit es establecido, el mó<strong>de</strong>m no está bien<br />

conectado al canal 0 ó está en un estado<br />

don<strong>de</strong> pue<strong>de</strong>n ocurrir cambios <strong>de</strong><br />

comunicación no confiables vía el canal 0.<br />

Las condiciones siguientes se aplican:<br />

• Si el canal 0 se inhabilita o se configura<br />

para DH485, el bit siempre se pone a cero.<br />

• Si el canal 0 se configura para uno <strong>de</strong> los<br />

protocolos DF1 en el modo <strong>de</strong> sistema o modo<br />

<strong>de</strong> usuario <strong>de</strong> ASCII genérico, la selección <strong>de</strong><br />

la línea <strong>de</strong> control <strong>de</strong>termina cómo DCD y<br />

DSR afectan el estado <strong>de</strong> mó<strong>de</strong>m:<br />

– Si la línea <strong>de</strong> control = NINGUNA<br />

COMUNICACION: El bit siempre es<br />

establecido.<br />

– Si la línea <strong>de</strong> control = FULL DUPLEX o<br />

HALF DUPLEX SIN ACARREO CONSTANTE:<br />

El bit se restablece si DSR está inactivo y<br />

puesto a cero cuando DSR se activa. (En este<br />

caso, DCD no afecta el estado <strong>de</strong> mó<strong>de</strong>m.)<br />

S:5/15 Estado Manejo <strong>de</strong> la ca<strong>de</strong>na ASCII<br />

Este bit se aplica a los procesadores <strong>SLC</strong> 5/03<br />

con OS301, OS302 y <strong>SLC</strong> 5/04 con OS400,<br />

OS401.<br />

Este bit se establece a 1 cuando se intenta<br />

procesar una ca<strong>de</strong>na usando una instrucción<br />

ASCII que exceda la longitud <strong>de</strong> 82<br />

caracteres.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• •<br />

• •


Dirección Clasificación Descripción<br />

S:6 Estado Código <strong>de</strong> fallo <strong>de</strong> error mayor<br />

Un código hexa<strong>de</strong>cimal se introduce en esta<br />

palabra por el procesador cuando un error<br />

mayor se realiza. Refiérase a S:1/13. El<br />

código <strong>de</strong>fine el tipo <strong>de</strong> fallo según lo indicado<br />

en las páginas siguientes. Esta palabra no es<br />

borrada por el procesador.<br />

Los códigos <strong>de</strong> error son presentados,<br />

almacenados y mostrados en formato<br />

hexa<strong>de</strong>cimal. Refiérase al apéndice A para<br />

obtener más información acerca <strong>de</strong>l sistema<br />

<strong>de</strong> numeración hexa<strong>de</strong>cimal.<br />

Si usted introduce un código <strong>de</strong> fallo como<br />

parámetro en una instrucción <strong>de</strong>l programa <strong>de</strong><br />

escalera, <strong>de</strong>be convertir el código en <strong>de</strong>cimal.<br />

Por ejemplo, si programa una instrucción EQU<br />

que se haga verda<strong>de</strong>ra cuando ocurra un error<br />

0016, introduzca S:6 como fuente A y 22, el<br />

equivalente <strong>de</strong>cimal <strong>de</strong> 0016H, como fuente B.<br />

EQU<br />

EQUAL<br />

Source A S:6<br />

Source B 22<br />

Fijo<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• • • •<br />

• • •<br />

B–33


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

continuación<br />

<strong>de</strong> S:6<br />

B–34<br />

Ejemplo <strong>de</strong> aplicación: Usted pue<strong>de</strong><br />

<strong>de</strong>clarar su propio fallo mayor específico<br />

para la aplicación escribiendo un valor único<br />

a S:6 y, luego, estableciendo el bit S:1/13.<br />

Al usuario <strong>de</strong>l procesador <strong>SLC</strong> 5/02:<br />

Interrogue el valor <strong>de</strong> S:6 en la rutina <strong>de</strong><br />

fallo para <strong>de</strong>terminar el tipo <strong>de</strong> fallo que<br />

ocurrió. Si el programa se guardó con la<br />

prueba <strong>de</strong> un solo paso habilitada, también<br />

pue<strong>de</strong> interrogar S:20 y S:21 para precisar<br />

el renglón exacto que se ejecutó cuando<br />

ocurrió el fallo.<br />

Clasificaciones <strong>de</strong> fallo: Los fallos se<br />

clasifican como no atribuibles al usuario, no<br />

recuperables y recuperables.<br />

Fallo no<br />

atribuible<br />

al usuario<br />

La rutina<br />

<strong>de</strong> fallo<br />

no se<br />

ejecuta.<br />

Fallo <strong>de</strong> usuario<br />

no recuuperable<br />

La rutina <strong>de</strong> fallo<br />

se ejecuta durante<br />

1 paso. (Usted<br />

pue<strong>de</strong> iniciar una<br />

instrucción MSG a<br />

otro nodo para<br />

i<strong>de</strong>ntificar la<br />

condición <strong>de</strong> fallo<br />

<strong>de</strong>l procesador.)<br />

Fallo <strong>de</strong><br />

usuario<br />

recuperable<br />

La rutina <strong>de</strong><br />

fallo pue<strong>de</strong><br />

borrar el<br />

fallo<br />

poniendo a<br />

cero el bit<br />

S:1/13.<br />

Las <strong>de</strong>scripciones y clasificaciones <strong>de</strong>l<br />

código <strong>de</strong> error aparecen en las páginas<br />

B–35 a B–43. Las categorías son:<br />

• errores <strong>de</strong> encendido<br />

• errores <strong>de</strong> ida a marcha<br />

• errores <strong>de</strong> tiempo <strong>de</strong> ejecución<br />

• errorres <strong>de</strong> instrucción <strong>de</strong>l programa<br />

<strong>de</strong> usuario<br />

• errores <strong>de</strong> E/S<br />

Vea el capítulo 12 <strong>de</strong> este manual para<br />

obtener información acerca <strong>de</strong> la causa y<br />

recuperación <strong>de</strong> fallos.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • • •


Dirección<br />

Código<br />

<strong>de</strong> error<br />

(hex)<br />

Errores <strong>de</strong> encendido<br />

No<br />

usuario<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

Clasificación <strong>de</strong> fallo Procesador<br />

Usuario<br />

No<br />

recuperable<br />

Recuperable<br />

Fijo<br />

5/01<br />

5/02 5/03 5/04<br />

S:6 0001 Error NVRAM. X • • • •<br />

0002<br />

0003<br />

Límite <strong>de</strong> tiempo<br />

sobrepasado <strong>de</strong> control<br />

(watchdog) <strong>de</strong> hardware<br />

inesperado<br />

Error <strong>de</strong> memoria <strong>de</strong>l módulo<br />

<strong>de</strong> memoria: Este error<br />

también pue<strong>de</strong> ocurrir<br />

cuando se entra en el modo<br />

<strong>de</strong> marcha REM.<br />

X • • • •<br />

X • • •<br />

0005 Reservado X • •<br />

0006 Reservado X • •<br />

0007<br />

Fallo durante la transferencia<br />

<strong>de</strong> módulo <strong>de</strong> memoria.<br />

X • •<br />

0008 Error <strong>de</strong> software interno. X • •<br />

0009 Error <strong>de</strong> hardware interno. X • •<br />

B–35


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección<br />

B–36<br />

Código<br />

<strong>de</strong> error<br />

(hex)<br />

S:6 0010<br />

0011<br />

0012<br />

0013<br />

Errores <strong>de</strong> ida a marcha<br />

El procesador no cumple con<br />

el nivel <strong>de</strong> revisión requerido.<br />

El archivo <strong>de</strong> programa<br />

ejecutable no. 2 está austente.<br />

El programa <strong>de</strong> escalera<br />

tiene un error <strong>de</strong> memoria.<br />

• El módulo <strong>de</strong> memoria<br />

requerido está ausente, o<br />

• S:1/10 ó S:1/11 no es<br />

establecido como lo<br />

requiere el programa.<br />

No<br />

usuario<br />

Clasificación <strong>de</strong> fallo Procesador<br />

Usuario<br />

No<br />

recuperable Recup.<br />

Fijo<br />

5/01<br />

5/02 5/03 5/04<br />

X • • • •<br />

X • • • •<br />

X • • • •<br />

X • • • •<br />

0014 Error <strong>de</strong> archivo interno. X • • • •<br />

0015<br />

0016<br />

0017<br />

0018<br />

0019<br />

001F<br />

0004<br />

0020<br />

Error <strong>de</strong> archivo <strong>de</strong><br />

configuración.<br />

Protección <strong>de</strong> encendido<br />

<strong>de</strong>spués <strong>de</strong> la pérdida <strong>de</strong><br />

alim. eléc. Condición <strong>de</strong> error<br />

existe al momento <strong>de</strong><br />

encendido cuando el bit S:1/9<br />

se establece y la interrupción<br />

ocurrió durante la ejecución.<br />

Desigualdad <strong>de</strong>l programa<br />

<strong>de</strong> usuario <strong>de</strong> módulo <strong>de</strong><br />

memoria/NVRAM<br />

Programa <strong>de</strong> usuario no<br />

compatible –Desigualdad <strong>de</strong><br />

tipo <strong>de</strong> sistema operativo.<br />

Este error también pue<strong>de</strong><br />

ocurrir durante el encendido.<br />

Se <strong>de</strong>tectó etiqueta faltante<br />

o duplicada.<br />

Un problema <strong>de</strong> integridad<br />

<strong>de</strong> programa durante una<br />

sesión <strong>de</strong> edición en línea.<br />

Error <strong>de</strong> memoria ocurrió en<br />

el modo <strong>de</strong> marcha.<br />

Un bit <strong>de</strong> error menor se<br />

establece al final <strong>de</strong>l escán.<br />

Refiérase a los bits S:5 <strong>de</strong><br />

error menor.<br />

X • • • •<br />

X • • •<br />

X • •<br />

X • •<br />

X • •<br />

X • •<br />

X • • •<br />

X • • • •


Dirección<br />

Código<br />

<strong>de</strong> error<br />

(hex)<br />

Errores <strong>de</strong> tiempo <strong>de</strong><br />

ejecución<br />

S:6 0021 Fallo <strong>de</strong> alim. eléc. remota<br />

<strong>de</strong> un chasis <strong>de</strong> expansión<br />

<strong>de</strong> E/S ocurrió.<br />

Nota: Un sistema modular<br />

que encuentra una condición<br />

<strong>de</strong> sobretensión o sobrecorriente<br />

en las fuentes <strong>de</strong> alim.<br />

eléc. pue<strong>de</strong>n producir cualquiera<br />

<strong>de</strong> los códigos <strong>de</strong> error<br />

<strong>de</strong> E/S listados en las páginas<br />

B–42 y B–43 (en vez <strong>de</strong><br />

código 0021). La condición<br />

<strong>de</strong> sobretensión o sobrecorriente<br />

se indica por el LED <strong>de</strong><br />

fuente <strong>de</strong> alim. eléc. apagado.<br />

!<br />

Procesadores compactos<br />

y <strong>SLC</strong> 5/01<br />

FRN 1 a 4 – si el fallo<br />

<strong>de</strong> alim. eléc. remota<br />

ocurrió mientras que<br />

el procesador estuviera<br />

en el modo <strong>de</strong><br />

marcha REM, el error<br />

0021 causará que el<br />

bit <strong>de</strong> error mayor<br />

<strong>de</strong>tenido (S:1/13) se<br />

ponga a cero durante<br />

el próximo encendido<br />

<strong>de</strong>l chasis local.<br />

Procesadores <strong>SLC</strong><br />

5/02 y <strong>SLC</strong> 5/01 FRN<br />

5 – No es necesario<br />

<strong>de</strong>sconectar y volver<br />

a conectar la alim.<br />

eléc. al chasis local<br />

para reanudar el<br />

modo <strong>de</strong> marcha<br />

REM. Una vez que el<br />

chasis remoto se<br />

reactiva, la CPU<br />

vuelve a iniciar el<br />

sistema.<br />

0022<br />

0023<br />

El tiempo <strong>de</strong> escán <strong>de</strong> control<br />

(watchdog) <strong>de</strong> usuario ha sido<br />

sobrepasado.<br />

Archivo <strong>de</strong> interrupción STI<br />

inválida o no existente.<br />

No<br />

usuario<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

Clasificación <strong>de</strong> fallo Procesador<br />

Usuario<br />

No<br />

recuperable Recup.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

X • • • •<br />

X • • • •<br />

X • • •<br />

B–37


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección<br />

B–38<br />

Código<br />

<strong>de</strong> error<br />

(hex)<br />

S:6 0024<br />

0025<br />

0026<br />

0027<br />

0028<br />

0029<br />

002A<br />

002B<br />

Errores <strong>de</strong> tiempo <strong>de</strong><br />

ejecución<br />

Intervalo <strong>de</strong> interrupción STI<br />

no válido (mayor que 2550<br />

ms o negativo).<br />

Exceso <strong>de</strong> profundidad <strong>de</strong><br />

pila/llamadas JSR para la<br />

rutina STI.<br />

Exceso <strong>de</strong> profundidad <strong>de</strong><br />

pila/llamadas JSR para la<br />

rutina <strong>de</strong> interrupción <strong>de</strong> E/S.<br />

Exceso <strong>de</strong> profundidad <strong>de</strong><br />

pila/llamadas JSR para la<br />

rutina <strong>de</strong> fallo <strong>de</strong> usuario.<br />

Valor <strong>de</strong> archivo <strong>de</strong> rutina <strong>de</strong><br />

fallo <strong>de</strong> “protección <strong>de</strong><br />

encendido” inválido o no<br />

existente.<br />

Referencia <strong>de</strong> dirección<br />

in<strong>de</strong>xada fuera <strong>de</strong> todo el<br />

espacio <strong>de</strong> archivo <strong>de</strong> datos<br />

(límite <strong>de</strong> B3:0 al último<br />

archivo).<br />

!<br />

El procesador<br />

<strong>SLC</strong> 5/02 usa un<br />

valor <strong>de</strong> índice<br />

<strong>de</strong> cero para la<br />

instrucción con<br />

fallo <strong>de</strong>spués <strong>de</strong><br />

la recuperación<br />

<strong>de</strong> error.<br />

La referencia <strong>de</strong> dirección<br />

in<strong>de</strong>xada se encuentra fuera<br />

<strong>de</strong> los límites <strong>de</strong>l archivo <strong>de</strong><br />

datos referenciado<br />

específico.<br />

El número <strong>de</strong> archivo existe,<br />

pero no es el tipo <strong>de</strong> archivo<br />

correcto o el número <strong>de</strong><br />

archivo no existe.<br />

No<br />

usuario<br />

Clasificación <strong>de</strong> fallo Procesador<br />

Usuario<br />

No<br />

recuperable Recup.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

X • • •<br />

X • • •<br />

X • • •<br />

X • • •<br />

X • • •<br />

X •<br />

X • •<br />

X • • •<br />

X • •


Dirección<br />

Código<br />

<strong>de</strong> error<br />

(hex)<br />

S:6 002C<br />

002D<br />

002E<br />

002F<br />

Errores <strong>de</strong> tiempo <strong>de</strong><br />

ejecución<br />

El elemento con referencia<br />

indirecta no existe, pero el<br />

tipo <strong>de</strong> archivo es correcto y<br />

existe. Por ejemplo<br />

T4:[N7:0] N7:0=10, pero T4<br />

solamente va hasta T4:9.<br />

Un subelemento tiene una<br />

referencia incorrecta o se ha<br />

realizado una referencia<br />

indirecta a un archivo M.<br />

Ranura <strong>de</strong> entrada DII no<br />

válida.<br />

Archivo <strong>de</strong> interrupción DII<br />

no válida o no existente.<br />

No<br />

usuario<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

Clasificación <strong>de</strong> fallo Procesador<br />

Usuario<br />

No<br />

recuperable Recup.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

X • •<br />

X • •<br />

X • •<br />

X • •<br />

B–39


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Errores <strong>de</strong> E/S<br />

CODIGOS DE ERROR: Los caracteres xx en los códigos<br />

siguientes representan el número <strong>de</strong> ranura en hexa<strong>de</strong>cimal.<br />

Si la ranura exacta no se pue<strong>de</strong> <strong>de</strong>terminar, los caracteres xx<br />

se convierten en 1F.<br />

FALLOS RECUPERABLES (Procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong><br />

5/03 y <strong>SLC</strong> 5/04): Muchos fallos <strong>de</strong> E/S son recuperables.<br />

Para recuperalos, usted <strong>de</strong>be inhabilitar la ranura<br />

especificada, xx, en la rutina <strong>de</strong> fallo <strong>de</strong> usuario. Si no<br />

inhabilita la ranura xx, el procesador estará con fallo al final<br />

<strong>de</strong>l escán.<br />

* Este valor indica que la ranura no se encontró (procesadores<br />

Nota: Una tarjeta <strong>de</strong> E/S que está muy dañada, pue<strong>de</strong> <strong>SLC</strong> 501, <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04).<br />

causar que el procesador indique la existencia <strong>de</strong> un error en<br />

el renglón 1 aunque la tarjeta dañada se encuentre ** Este valor indica que la ranura no se encontró (controlador<br />

instalada en un renglón distinto <strong>de</strong> 1.<br />

fijo <strong>500</strong>).<br />

Dirección<br />

B–40<br />

Código<br />

<strong>de</strong> error<br />

(hex)<br />

S:6 0030<br />

0031<br />

0032<br />

0033<br />

Errores <strong>de</strong> instrucción <strong>de</strong>l<br />

programa <strong>de</strong> usuario<br />

Se intentó saltar a un archivo<br />

<strong>de</strong> subrutina anidado en<br />

exceso <strong>de</strong> uno. Este código<br />

también pue<strong>de</strong> significar que<br />

un programa tiene rutinas<br />

posiblemente recursivas.<br />

Se <strong>de</strong>tectó una referencia <strong>de</strong><br />

instrucción no soportada.<br />

Una parámetro <strong>de</strong> longitud/<br />

posición <strong>de</strong> secuenciador<br />

indica más allá <strong>de</strong>l final <strong>de</strong><br />

un archivo <strong>de</strong> datos.<br />

La longitud <strong>de</strong> una<br />

instrucción LFU, LFL, FFU,<br />

FFL, BSL o BSR indica más<br />

allá <strong>de</strong>l final <strong>de</strong> un archivo <strong>de</strong><br />

datos.<br />

No<br />

usuario<br />

Ran. xx<br />

0 00<br />

1 01<br />

2 02<br />

** 3 03<br />

4 04<br />

5 05<br />

6 06<br />

7 07<br />

NUMEROS DE RANURA (xx) EN HEXADECIMAL<br />

Ran. xx<br />

8 08<br />

9 09<br />

10 0A<br />

11 0B<br />

12 0C<br />

13 0D<br />

14 0E<br />

15 0F<br />

Ran. xx<br />

16 10<br />

17 11<br />

18 12<br />

19 13<br />

20 14<br />

21 15<br />

22 16<br />

23 17<br />

Clasificación <strong>de</strong> fallo Procesador<br />

Usuario<br />

No<br />

recuperable Recup.<br />

Fijo,<br />

5/01<br />

Ran. xx<br />

24 18<br />

25 19<br />

26 1A<br />

27 1B<br />

28 1C<br />

29 1D<br />

30 1E<br />

* 1F<br />

5/02 5/03 5/04<br />

X • • • •<br />

X • • • •<br />

X • • • •<br />

X • • • •


Dirección<br />

Código<br />

<strong>de</strong> error<br />

(hex)<br />

S:6 0034<br />

0035<br />

0036<br />

0038<br />

xx3A<br />

1f39<br />

xx50<br />

xx51<br />

xx52<br />

Errores <strong>de</strong> instrucción <strong>de</strong>l<br />

programa <strong>de</strong> usuario<br />

Se <strong>de</strong>tectó un valor negativo<br />

para un acumulador <strong>de</strong><br />

temporizador o valor<br />

preseleccionado.<br />

Los procesadores fijos con<br />

entradas dd 24 VCC<br />

solamente: Se <strong>de</strong>tectó un<br />

HSC preseleccionado<br />

negativo o <strong>de</strong> cero en una<br />

instrucción HSC.<br />

Instrucción TND, SVC o REF<br />

se llama <strong>de</strong>ntro <strong>de</strong> una rutina<br />

<strong>de</strong> interrupción o fallo <strong>de</strong><br />

usuario.<br />

Un valor no válido se usa<br />

para un parámetro <strong>de</strong><br />

instrucción PID.<br />

Una instrucción RET se<br />

<strong>de</strong>tectó en un archivo que no<br />

es una subrutina.<br />

Se intentó escribir una<br />

dirección indirecta ubicada<br />

en un archivo que tiene la<br />

protección constante <strong>de</strong><br />

archivo <strong>de</strong> datos.<br />

Una longitud <strong>de</strong> ca<strong>de</strong>na no<br />

válida se <strong>de</strong>tectó en un<br />

archivo <strong>de</strong> ca<strong>de</strong>na.<br />

Un error <strong>de</strong> chasis <strong>de</strong> datos<br />

se <strong>de</strong>tecta.<br />

Un error <strong>de</strong> tiempo <strong>de</strong><br />

ejecución “atascado” se<br />

<strong>de</strong>tecta en un módulo <strong>de</strong><br />

E/S.<br />

Un módulo requerido para el<br />

programa <strong>de</strong> usuario se<br />

<strong>de</strong>tecta como faltante o<br />

eliminado.<br />

No<br />

usuario<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

Clasificación <strong>de</strong> fallo Procesador<br />

Usuario<br />

No<br />

recuperable Recup.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

X • • • •<br />

X •<br />

X • • •<br />

X • • •<br />

X • • • •<br />

X • •<br />

X • •<br />

X • • • •<br />

X • • • •<br />

X • • • •<br />

B–41


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección<br />

B–42<br />

Código<br />

<strong>de</strong> error<br />

(hex)<br />

S:6 xx53<br />

xx54<br />

xx55<br />

xx56<br />

xx57<br />

xx58<br />

xx59<br />

xx5A<br />

Errores <strong>de</strong> E/S<br />

Cuando está en ida a marcha,<br />

un programa <strong>de</strong> usuario<br />

<strong>de</strong>clara una ranura como no<br />

usada y dicha ranura se<br />

<strong>de</strong>tecta como si tuviera un<br />

módulo <strong>de</strong> E/S insertado.<br />

Esto también pue<strong>de</strong> significar<br />

que un módulo <strong>de</strong> E/S se ha<br />

restablecido.<br />

Se intentó entrar en el modo<br />

<strong>de</strong> marcha o prueba con un<br />

chasis vacío.<br />

Un módulo requerido para el<br />

programa <strong>de</strong> usuario se <strong>de</strong>tecta<br />

como el tipo incorrecto.<br />

Un módulo <strong>de</strong> E/S discretas<br />

requerido para el programa<br />

<strong>de</strong> usuario se <strong>de</strong>tecta como<br />

si tuviera el conteo <strong>de</strong> E/S<br />

incorrecto. Este código<br />

también pue<strong>de</strong> significar que<br />

un variador <strong>de</strong> tarjeta<br />

especial es erróneo.<br />

La configuración <strong>de</strong> chasis<br />

especificado en el programa<br />

<strong>de</strong> usuario se <strong>de</strong>tecta como<br />

errónea.<br />

Un módulo <strong>de</strong> E/S especial no<br />

ha respondido a un comando<br />

<strong>de</strong> memoria compartida <strong>de</strong><br />

bloqueo <strong>de</strong>ntro <strong>de</strong>l límite <strong>de</strong><br />

tiempo requerido.<br />

Un módulo <strong>de</strong> E/S especial<br />

ha generado un fallo<br />

genérico. El bit <strong>de</strong> fallo <strong>de</strong><br />

tarjeta se establece (1) en el<br />

byte <strong>de</strong> estado <strong>de</strong>l módulo.<br />

Un módulo <strong>de</strong> E/S especial<br />

no ha respondido a un<br />

comando como finalizado<br />

<strong>de</strong>ntro <strong>de</strong>l límite <strong>de</strong> tiempo<br />

requerido.<br />

Problema <strong>de</strong> interrupción <strong>de</strong><br />

hardware.<br />

No<br />

usuario<br />

Clasificación <strong>de</strong> fallo Procesador<br />

Usuario<br />

No<br />

recuperable Recup.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

X • • • •<br />

X • •<br />

X • • • •<br />

X • • • •<br />

X • • • •<br />

X • • • •<br />

X • • • •<br />

X • • • •<br />

X • • •


Dirección<br />

Código<br />

<strong>de</strong> error<br />

(hex)<br />

S:6 xx5B<br />

xx5C<br />

xx5D<br />

xx5E<br />

xx60<br />

a<br />

xx6F<br />

xx70<br />

a<br />

xx7F<br />

xx90<br />

xx91<br />

xx92<br />

xx93<br />

xx94<br />

Errores <strong>de</strong> E/S<br />

Error <strong>de</strong> configuración <strong>de</strong><br />

archivo G – el tamaño <strong>de</strong><br />

archivo G <strong>de</strong> programa <strong>de</strong><br />

usuario exce<strong>de</strong> la capacidad<br />

<strong>de</strong>l módulo.<br />

Error <strong>de</strong> configuración <strong>de</strong><br />

archivo M0–M1 – el tamaño<br />

<strong>de</strong> archivo <strong>de</strong> programa<br />

M0–M1 exce<strong>de</strong> la capacidad<br />

<strong>de</strong>l módulo.<br />

El procesador no tiene<br />

capacidad para el servicio <strong>de</strong><br />

interrupción solicitado.<br />

Error <strong>de</strong> variador <strong>de</strong> E/S <strong>de</strong>l<br />

procesador (software).<br />

I<strong>de</strong>ntifica un error mayor<br />

recuperable específico para el<br />

módulo <strong>de</strong> E/S. Refiérase al<br />

manual <strong>de</strong> usuario proporcionado<br />

con el módulo especial.<br />

I<strong>de</strong>ntifica un error mayor no<br />

recuperable específico para el<br />

módulo <strong>de</strong> E/S. Refiérase al<br />

manual <strong>de</strong> usuario proporcionado<br />

con el módulo especial.<br />

Problema <strong>de</strong> interrupción en<br />

una ranura inhabilitada.<br />

Una ranura inhabilitada está<br />

con fallo.<br />

Un archivo <strong>de</strong> subrutina <strong>de</strong><br />

interrupción 9ISR) <strong>de</strong> módulo<br />

no válido o no existente.<br />

Error <strong>de</strong> mayor específico<br />

para el módulo <strong>de</strong> E/S no<br />

soportado.<br />

En el modo <strong>de</strong> marcha REM<br />

o prueba REM, un módulo<br />

ha sido <strong>de</strong>tectado como<br />

insertado con la alim. eléc.<br />

conectada. También pue<strong>de</strong><br />

significar que un módulo <strong>de</strong><br />

E/S se ha restablecido.<br />

No<br />

usuario<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

Clasificación <strong>de</strong> fallo Procesador<br />

Usuario<br />

No<br />

recuperable Recup.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

X • • •<br />

X • • •<br />

X • • •<br />

X • • •<br />

X • • •<br />

X • • •<br />

X • • •<br />

X • • •<br />

X • • •<br />

X • • •<br />

X • • •<br />

B–43


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–44<br />

S:7<br />

y<br />

S:8<br />

S:9<br />

y<br />

S:10<br />

Estado<br />

Código <strong>de</strong> suspensión/archivo <strong>de</strong> suspensión<br />

Cuando un valor distinto <strong>de</strong> cero aparece en<br />

S:7, indica que la instrucción SUS i<strong>de</strong>ntificada<br />

por este valor ha sido evaluada como verda<strong>de</strong>ra<br />

y que el modo <strong>de</strong> pausa <strong>de</strong> suspensión es<br />

vigente. Esto <strong>de</strong>scribe precisamentelas<br />

condiciones en la aplicación que causaron el<br />

modo <strong>de</strong> pausa <strong>de</strong> suspensión. Este valor no<br />

se borrado por el procesador.<br />

La palabra S:8 contiene el número <strong>de</strong> archivo<br />

<strong>de</strong> programa en que se ubica una instrucción<br />

SUS verda<strong>de</strong>ra. Este valor no es borrado por<br />

el procesador.<br />

Use la instrucción SUS con la localización y<br />

corrección <strong>de</strong> fallos <strong>de</strong> encendido o como<br />

diagnósticos <strong>de</strong> tiempo <strong>de</strong> ejecución para la<br />

<strong>de</strong>tección <strong>de</strong> errores <strong>de</strong>l sistema.<br />

Ejemplo <strong>de</strong> aplicación: Usted consi<strong>de</strong>ra que<br />

los interruptores <strong>de</strong> final <strong>de</strong> carrera conectados<br />

a I:1/0 e I:1/1 no se pue<strong>de</strong>n activar<br />

simultánea- mente, pero el programa <strong>de</strong><br />

aplicación se comporta como si eso fuera<br />

posible. Para <strong>de</strong>terminar la existencia <strong>de</strong> un<br />

problema <strong>de</strong>l interruptor <strong>de</strong> final <strong>de</strong> carrera o<br />

problema <strong>de</strong> lógica <strong>de</strong> escalera, añada el<br />

renglón siguiente al programa:<br />

I:1.0<br />

] [<br />

0<br />

I:1.0<br />

] [<br />

1<br />

SUS<br />

SUSPEND<br />

Suspend ID 1<br />

Si el programa entra en el modo <strong>de</strong> pausa <strong>de</strong><br />

SUS para el código 1 cuando usted ejecuta el<br />

programa, tiene un problema <strong>de</strong>l interruptor <strong>de</strong><br />

final <strong>de</strong> carrera; si el modo <strong>de</strong> pausa <strong>de</strong> SUS<br />

para el código 1 no ocurre, tiene un problema<br />

<strong>de</strong> lógica <strong>de</strong> escalera.<br />

Estado Nodos activos (canal 1–procesadores<br />

<strong>SLC</strong> 5/03)<br />

Estas dos palabras son mapeadas en bits para<br />

representar los 32 nodos posibles en una red<br />

DH-485. S:9/0 a S:10/15 representan las<br />

direcciones <strong>de</strong> nodo 0–31. Estos bits son<br />

establecidos por el procesador cuando un nodo<br />

existe en la red DH-485 al cual está conectado<br />

el procesador. Los bits son borrados cuando un<br />

nodo no está presente en la red.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • • •<br />

• • •


Dirección Clasificación Descripción<br />

S:11<br />

y<br />

S:12<br />

Configuración<br />

dinámica<br />

Habilitaciones <strong>de</strong> ranuras <strong>de</strong> E/S<br />

Estas dos palabras son mapeadas con bits<br />

para representar las 30 ranuras posibles <strong>de</strong><br />

E/S en un sistema <strong>SLC</strong> <strong>500</strong>. S:11/0<br />

representa la ranura 0 <strong>de</strong> E/S para los<br />

sistemas <strong>de</strong> E/S fijas. (La ranura 0 se usa<br />

para la computadora en sistemas modulares.)<br />

S:11/1 a S:12/14 representan las ranuras <strong>de</strong><br />

E/S 1–30. S:12/15 no se usa.<br />

Cuando un bit se establece (condición<br />

pre<strong>de</strong>terminada), permite que el módulo <strong>de</strong><br />

E/S contenido en la ranura referida se<br />

actualice en el escán <strong>de</strong> E/S <strong>de</strong>l ciclo <strong>de</strong><br />

operación <strong>de</strong>l procesador.<br />

Cuando se pone a cero el bit, se ignora el<br />

módulo <strong>de</strong> E/S en la ranura referida. Es <strong>de</strong>cir,<br />

un valor <strong>de</strong> habilitación <strong>de</strong> ranura <strong>de</strong> E/S <strong>de</strong> 0<br />

causa que los datos <strong>de</strong> imagen <strong>de</strong> entrada <strong>de</strong><br />

un módulo <strong>de</strong> entrada se inmovilicen en su<br />

último valor. A<strong>de</strong>más, las salidas <strong>de</strong> un<br />

módulo <strong>de</strong> salida se inmovilizarán, in<strong>de</strong>pendientemente<br />

<strong>de</strong> los valores contenidos en la<br />

imagen <strong>de</strong> salida. Las salidas permanecen<br />

inmovilizadas hasta que:<br />

• la alim. eléc. se <strong>de</strong>sconecte,<br />

• se salga <strong>de</strong>l modo <strong>de</strong> marcha REM, o<br />

• un fallo mayor ocurra.<br />

En ese momento las salidas se ponen a cero<br />

hasta que la ranura se vuelva a habilitar<br />

(establecer).<br />

Las ranuras inhabilitadas no <strong>de</strong>ben<br />

armonizarse con la configuración <strong>de</strong> programa<br />

<strong>de</strong> usuario.<br />

!<br />

Asegúrese <strong>de</strong> haber examinado<br />

bien a fondo los efectos <strong>de</strong><br />

inhabilitar (poner a cero) un bit <strong>de</strong><br />

habilitación <strong>de</strong> ranura antes <strong>de</strong><br />

hacerlo en la aplicación.<br />

Nota: Los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03<br />

y <strong>SLC</strong> 5/04 informan a cada módulo <strong>de</strong> E/S<br />

especial que se ha habilitado/inhabilitado.<br />

Algunos módulos <strong>de</strong> E/S pue<strong>de</strong>n efectuar<br />

otras acciones cuando se inhabilitan o vuelven<br />

a habilitarse. Refiérase a la información para<br />

el usuario proporcionada con el módulo <strong>de</strong> E/S<br />

especial para ver las posibles diferencias <strong>de</strong><br />

las <strong>de</strong>scripciones anteriores.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• • • •<br />

• • •<br />

B–45


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

continuación<br />

<strong>de</strong> S:11 y S:12<br />

B–46<br />

!<br />

La instrucción DII no hace caso <strong>de</strong>l<br />

estado <strong>de</strong> habilitación/inhabilitación <strong>de</strong><br />

ranura. No ejecute la DII en una ranura<br />

con fallo. Si aplica la DII en una ranura<br />

inhabilitada, la interrupción ocurrirá.<br />

Sin embargo, la imagen <strong>de</strong> entrada no<br />

reflejará el estado actual <strong>de</strong> la tarjeta.<br />

Este bit se aplica al momento <strong>de</strong><br />

<strong>de</strong>tección <strong>de</strong> un bit <strong>de</strong><br />

reconfiguración DII, cada salida <strong>de</strong><br />

ISR DII y al final <strong>de</strong> cada escán<br />

(END, TND o REF).<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• •


Dirección Clasificación Descripción<br />

S:13<br />

y<br />

S:14<br />

Configuración<br />

<strong>de</strong> estado y<br />

dinámica<br />

Registro matemático<br />

Use este registro doble para producir<br />

operaciones <strong>de</strong> 32 bits <strong>de</strong> división y<br />

multiplicación con signo, operaciones <strong>de</strong><br />

división precisa o división doble y<br />

conversiones BCD <strong>de</strong> 5 dígitos.<br />

Estas dos palabras se usan conjuntamente<br />

con las <strong>instrucciones</strong> matemáticas MUL, DIV,<br />

DDV, FRD y TOD. El valor <strong>de</strong> registro<br />

matemático es evaluado al momento <strong>de</strong><br />

ejecución <strong>de</strong> la instrucción y permanece válido<br />

hasta que la próxima instrucción MUL, DIV,<br />

DDV, FRD o TOD se ejecute en el programa<br />

<strong>de</strong> usuario.<br />

Una explicación <strong>de</strong> cómo funciona el registro<br />

matemático se incluye con las <strong>de</strong>finiciones <strong>de</strong><br />

instrucción.<br />

Si usted almacena valores <strong>de</strong> datos <strong>de</strong> 32 bits<br />

con signo (ejemplo en la página 3–9), <strong>de</strong>be<br />

manejar este tipo <strong>de</strong> datos sin ayuda <strong>de</strong> un<br />

tipo <strong>de</strong> datos <strong>de</strong> 32 bits asignados. Por<br />

ejemplo, combine B10:0 y B10:1 para crear un<br />

valor <strong>de</strong> datos con signo <strong>de</strong> 32 bits.<br />

Recomendamos que mantenga todos los<br />

datos con signo <strong>de</strong> 32 bits en un archivo <strong>de</strong><br />

datos único y que comience todos los valores<br />

<strong>de</strong> 32 bits en un límite <strong>de</strong> palabra par o impar<br />

para facilitar la aplicación y la visualización.<br />

A<strong>de</strong>más, recomendamos que diseñe,<br />

documente y vea el contenido <strong>de</strong> datos <strong>de</strong> 32<br />

bits con signo en la raíz hexa<strong>de</strong>cimal o binaria.<br />

Vea el capítulo 3 para obtener más<br />

información acerca <strong>de</strong> cómo cada instrucción<br />

afecta el registro matemático.<br />

Cuando una rutina <strong>de</strong> fallo STI, ranura <strong>de</strong> E/S<br />

o fallo interrumpe la ejecución normal <strong>de</strong>l<br />

programa, el valor original <strong>de</strong>l registro<br />

matemático se restaura cuando la ejecución<br />

se reanuda. Note que S:13 y S:14 no se usan<br />

cuando la fuente o <strong>de</strong>stino se <strong>de</strong>fine como<br />

datos <strong>de</strong> punto (coma) flotante.<br />

Cuando una DII interrumpe la ejecución<br />

normal <strong>de</strong>l programa, el valor original <strong>de</strong>l<br />

registro matemático se restaura cuando la<br />

ejecución se reanuda.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• • • •<br />

• • •<br />

• •<br />

B–47


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–48<br />

S:15L Configuración<br />

estática<br />

Dirección <strong>de</strong> nodo<br />

Este valor <strong>de</strong> byte contiene la dirección <strong>de</strong><br />

nodo <strong>de</strong>l procesador en la red DH-485 ó DH+.<br />

Cada dispositivo en la red DH-485 <strong>de</strong>be tener<br />

una dirección única entre los valores<br />

<strong>de</strong>cimales <strong>de</strong> 0–31. Cada dispositivo en la red<br />

DH+ <strong>de</strong>be tener una dirección única entre los<br />

valores <strong>de</strong>cimales <strong>de</strong> 0–163. Para cambiar la<br />

dirección <strong>de</strong> nodo <strong>de</strong> un procesador, escriba<br />

un valor entre 1–31 para DH-485 y 1–63 para<br />

DH+ usando el monitor <strong>de</strong> datos o la función<br />

<strong>de</strong> nodo <strong>de</strong>l programador, luego <strong>de</strong>sconecte y<br />

vuelva a conectar la alimentación eléctrica al<br />

procesador..<br />

La dirección <strong>de</strong> nodo pre<strong>de</strong>terminada <strong>de</strong> un<br />

procesador es 1. La dirección <strong>de</strong> nodo<br />

pre<strong>de</strong>terminada <strong>de</strong> APS y el programador<br />

HHT es 0. Para proporcionar protección <strong>de</strong><br />

tiempo <strong>de</strong> ejecución contra la modificación<br />

acci<strong>de</strong>ntal <strong>de</strong>l monitor <strong>de</strong> datos <strong>de</strong> su<br />

selección, programe este valor usando una<br />

instrucción MVM incondicional. Use la<br />

instrucción MOV en lugar <strong>de</strong> MVM si también<br />

<strong>de</strong>sea proteger la velocidad en baudios. El<br />

ejemplo siguiente muestra la protección <strong>de</strong><br />

tiempo <strong>de</strong> ejecución <strong>de</strong> la dirección <strong>de</strong> nodo 3.<br />

MOV<br />

MOVE<br />

Source 3<br />

Dest N7:100<br />

MVM<br />

MASKED MOVE<br />

Source N7:100<br />

Mask 00FF<br />

Dest S:15<br />

Cuando un comando <strong>de</strong> canal <strong>de</strong><br />

configuración se recibe para el canal 1, la<br />

dirección <strong>de</strong> nodo se sobrescribe con el valor<br />

contenido en la configuración <strong>de</strong> canal.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • • •<br />

• •


Dirección Clasificación Descripción<br />

S:15H Configuración<br />

estatica<br />

Velocidad en baudios<br />

Este valor <strong>de</strong> byte contiene un código usado<br />

para seleccionar la velocidad en baudios <strong>de</strong>l<br />

procesador en la red DH-485.<br />

Los procesadores <strong>SLC</strong> 5/01 y fijos<br />

proporcionan una velocidad en baudios <strong>de</strong><br />

19200 ó 9600 solamente.<br />

Los procesadores <strong>SLC</strong> 5/02 proporcionan<br />

una velocidad en baudios <strong>de</strong> 19200, 9600,<br />

2400 ó 1200.<br />

Los procesadores <strong>SLC</strong> 5/04 OS401<br />

proporcionan una velocidad en baudios <strong>de</strong><br />

57.6, 115.2 y 230.4.<br />

Para cambiar la velocidad en baudios <strong>de</strong>l<br />

valor pre<strong>de</strong>terminado <strong>de</strong> 19200, use el<br />

monitor <strong>de</strong> datos o la función <strong>de</strong> baudios <strong>de</strong>l<br />

programador. El procesador usa el código 1<br />

para 1200 baudios, código 2 para 2400<br />

baudios, código 3 para 9600 baudios,<br />

código 4 para 19200 baudios, código 11<br />

para 57.6 baudios, código 12 para 115.2<br />

baudios y código 13 para 230.4 baudios.<br />

Ejemplo que muestra la protección <strong>de</strong><br />

tiempo <strong>de</strong> ejecución <strong>de</strong> velocidad en<br />

baudios <strong>de</strong> 19200 (código 4):<br />

MOV<br />

MOVE<br />

Source 1024<br />

Dest N7:100<br />

MVM<br />

MASKED MOVE<br />

Source N7:100<br />

Mask FF00<br />

Dest S:15<br />

S:15H es igual a 4<br />

= 1024 <strong>de</strong>cimal = 0400 hex<br />

= 0000 0100 0000 0000 binario<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • • •<br />

B–49


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

S:15H<br />

(cont.)<br />

B–50<br />

S:16<br />

y<br />

S:17<br />

Ejemplo que muestra la protección <strong>de</strong> tiempo<br />

<strong>de</strong> ejecución para la velocidad en baudios <strong>de</strong><br />

19200 (código 4) y la dirección <strong>de</strong> nodo 3:<br />

MOV<br />

MOVE<br />

Source 1027<br />

Dest S:15<br />

S:15H es igual a 4 y S:15L es igual a 3<br />

= 1027 <strong>de</strong>cimal = 0403 hex = 0000 0100 0000<br />

0011 bario<br />

Cuando un comando <strong>de</strong> canal <strong>de</strong><br />

configuración se recibe para el canal 1, la<br />

velocidad en baudios se sobrescribe con el<br />

valor contenido en la configuración <strong>de</strong> canal.<br />

Estado Prueba <strong>de</strong> un solo paso – Inicie el paso en –<br />

Renglón/archivo<br />

Estos registros indican el número <strong>de</strong> renglón<br />

(palabra S:16) y archivo (palabra S:17)<br />

ejecutable que el procesador ejecutará<br />

próximamente cuando funcione en el modo <strong>de</strong><br />

prueba <strong>de</strong> un solo paso. Para habilitar esta<br />

característica, usted <strong>de</strong>be seleccionar la<br />

opción <strong>de</strong> prueba <strong>de</strong> un solo paso al momento<br />

en que guarda el programa.<br />

Estos valores se actualizan a la finalización <strong>de</strong><br />

cada renglón. Refiérase a la palabra S:2/4<br />

para obtener más información. El dispositivo<br />

<strong>de</strong> programación interroga este valor y<br />

proporcionar información <strong>de</strong> línea <strong>de</strong> estado<br />

<strong>de</strong> “inicie el paso en archivo x, renglón y”. No<br />

existe ningún uso conocido para esta<br />

característica cuando es direccionada por el<br />

programa <strong>de</strong> escalera.<br />

Esta característica se incorpora en los<br />

procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04. La<br />

selección no es necesaria.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• •<br />

• • •<br />

• •


Dirección Clasificación Descripción<br />

S:18<br />

y<br />

S:19<br />

Configuración<br />

<strong>de</strong> estado y<br />

dinámica<br />

Prueba <strong>de</strong> un solo paso – Punto <strong>de</strong><br />

interrupción – Renglón/archivo<br />

Estos registros indican el número <strong>de</strong> renglón<br />

(palabra S:18) y archivo (palabra S:19)<br />

ejecutable <strong>de</strong>lante <strong>de</strong>l cual el procesador se<br />

<strong>de</strong>be <strong>de</strong>tener al ejecutar el modo <strong>de</strong> prueba <strong>de</strong><br />

un solo paso. Para habilitar esta<br />

característica, usted <strong>de</strong>be seleccionar la<br />

opción <strong>de</strong> prueba <strong>de</strong> un solo paso al momento<br />

<strong>de</strong> guardar el programa.<br />

Si los números <strong>de</strong> renglón y archivo son 0, el<br />

procesador pasará al próximo renglón<br />

solamente; si no, el procesador continuará<br />

hasta encontrar un renglón/archivo que sea<br />

igual al valor S:18/S:19.<br />

El procesador se <strong>de</strong>tiene y pone a cero S:18 y<br />

S:19 cuando encuentra una correspon<strong>de</strong>ncia<br />

durante su permanencia en el modo <strong>de</strong> prueba<br />

<strong>de</strong> un solo paso. El procesador funcionará<br />

in<strong>de</strong>finidamente si no encuentra el final <strong>de</strong><br />

renglón/archivo que usted ha introducido.<br />

Funciona hasta encontrar una igualdad, recibir<br />

un cambio <strong>de</strong> modo o apagarse. Vea S:2/4.<br />

El dispositivo <strong>de</strong> programación interroga este<br />

valor cuando proporcionar la información <strong>de</strong><br />

línea <strong>de</strong> estado <strong>de</strong> “termine el paso antes <strong>de</strong>l<br />

archivo x, renglón y”. También el dispositivo<br />

<strong>de</strong> progamación escribe este valor cuando le<br />

da el comando “establezca el renglón final”.<br />

No existe ningún uso conocido para esta<br />

característica cuando es direccionada por el<br />

programa <strong>de</strong> escalera.<br />

Esta característica se incorpora en los<br />

procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04. La<br />

selección no es necesaria.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• • •<br />

• •<br />

B–51


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–52<br />

S:20<br />

y<br />

S:21<br />

Estado Prueba – Fallo/apagado – Renglón/archivo<br />

Estos registros indican el número <strong>de</strong> renglón<br />

(palabra S:20) y archivo (palabra S:21)<br />

ejecutable que el procesador ejecutó<br />

últimamente antes <strong>de</strong> ocurrir un error mayor o<br />

apagado. Para habilitar esta característica,<br />

usted <strong>de</strong>be seleccionar la opción <strong>de</strong> prueba <strong>de</strong><br />

un solo paso al momento <strong>de</strong> guardar el<br />

programa. Pue<strong>de</strong> usar estos registros para<br />

<strong>de</strong>scribir con precisión el punto <strong>de</strong> ejecución<br />

<strong>de</strong>l procesador a la última entrada en la rutina<br />

<strong>de</strong> apagado o fallo. Esta función también está<br />

activa en el modo <strong>de</strong> marcha REM. Vea S:2/4.<br />

Ejemplo <strong>de</strong> aplicación: Supongamos que el<br />

programa contiene varias <strong>instrucciones</strong> TON.<br />

TON T4:6 en el archivo 2, renglón 25, a veces<br />

obtienen un valor preseleccionado negativo.<br />

La recuperación <strong>de</strong>l fallo preseleccionado<br />

negativo es posible colocando el valor<br />

preseleccionado a 100 y volviendo a<br />

establecer el temporizador.<br />

Coloque el renglón siguiente en la rutina <strong>de</strong><br />

fallo para realizar lo anterior. El bit B3/0 está<br />

enclavado como evi<strong>de</strong>ncia <strong>de</strong> que una<br />

recuperación <strong>de</strong> aplicación ha sido iniciada.<br />

EQU<br />

EQUAL<br />

Source A S:6<br />

Source B 52<br />

El valor 52 es igual a 0034<br />

hex. Este es el código <strong>de</strong><br />

error para un valor<br />

preseleccionado negativo <strong>de</strong>l<br />

temporizador.<br />

Esta característica se incorpora en los<br />

procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04. No es<br />

necesiario seleccionarla.<br />

EQU<br />

EQUAL<br />

Source A S:20<br />

Source B 25<br />

No. <strong>de</strong> renglón<br />

EQU<br />

EQUAL<br />

Source A S:21<br />

Source B 2<br />

No. <strong>de</strong> archivo<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • •<br />

MOV<br />

MOVE<br />

Source 100<br />

Dest T4:6.PRE<br />

T4:6<br />

(RES)<br />

B3<br />

(L)<br />

0<br />

S:1<br />

(U)<br />

13<br />

(RET)<br />

• •


Dirección Clasificación Descripción<br />

S:22 Estado Tiempo <strong>de</strong> escán máximo observado<br />

Esta palabra indica el intervalo máximo<br />

observado entre escanes consecutivos.<br />

Los escanes consecutivos se <strong>de</strong>finen como<br />

intervalos entre el archivo 2/renglón 0 y la<br />

instrucción END, TND o REF. Este valor<br />

indica, en incrementos <strong>de</strong> 10 ms, el tiempo<br />

transcurrido en el ciclo <strong>de</strong> programa más largo<br />

<strong>de</strong>l procesador. El procesador compara cada<br />

valor <strong>de</strong>l último escán con el valor contenido<br />

en S:22. Si el procesador <strong>de</strong>termina que el<br />

valor <strong>de</strong>l último escán es mayor que el valor<br />

almacenado en S:22, el valor <strong>de</strong>l último escán<br />

se escribe a S:22.<br />

La resolución <strong>de</strong>l valor <strong>de</strong> tiempo <strong>de</strong> escán<br />

máximo observado es +0 a ±10 ms. Por<br />

ejemplo, el valor 9 indica que 80–90 ms fueron<br />

observados como el ciclo <strong>de</strong> programa más<br />

largo.<br />

Interrogue este valor usando la función <strong>de</strong>l<br />

monitor <strong>de</strong> datos si usted tiene que <strong>de</strong>terminar<br />

o verificar el tiempo <strong>de</strong> escán más largo <strong>de</strong>l<br />

ciclo <strong>de</strong> programa.<br />

Nota: El escán <strong>de</strong> E/S, overhead <strong>de</strong>l<br />

procesador y servicio <strong>de</strong> comunicación no se<br />

incluyen en esta medición.<br />

El bit <strong>de</strong> selección <strong>de</strong>l tiempo <strong>de</strong> escán<br />

(S:33/13) <strong>de</strong>termina la base <strong>de</strong> tiempo usada<br />

para los tiempos <strong>de</strong> escán promedios y<br />

máximos. Cuando se pone a cero, la<br />

operación es como se <strong>de</strong>scribe anteriormente.<br />

Cuando se establece, la base <strong>de</strong> tiempo se<br />

expresa en incrementos <strong>de</strong> 1 ms (en vez <strong>de</strong><br />

incrementos <strong>de</strong> 10 ms). Cuando S:33/13 se<br />

establece, el valor <strong>de</strong> la resolución <strong>de</strong>l tiempo<br />

<strong>de</strong> escán máximo observado es +0 a ±1 ms.<br />

Por ejemplo, el valor 9 indica que 8 a 9 ms<br />

fueron observados como el ciclo <strong>de</strong> programa<br />

más largo.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• • •<br />

• •<br />

B–53


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–54<br />

S:23 Estado Tiempo <strong>de</strong> escán promedio<br />

Esta palabra indica un tiempo promedio<br />

pon<strong>de</strong>rado <strong>de</strong> ejecución. El valor indica, en<br />

incrementos <strong>de</strong> 10 ms, el tiempo transcurrido<br />

en el ciclo <strong>de</strong> programa promedio <strong>de</strong>l<br />

procesador. Para cada escán t :<br />

Prom. = (prom. * 7) + escán t<br />

8<br />

La resolución <strong>de</strong>l valor <strong>de</strong> tiempo <strong>de</strong> escán<br />

promedio es +0 a ±10 ms. Por ejemplo, el<br />

valor 2 indica que 10 a 20 ms fueron<br />

calculados como el ciclo <strong>de</strong> programa<br />

promedio.<br />

Nota: El escán <strong>de</strong> E/S, overhead <strong>de</strong>l<br />

procesador y servicio <strong>de</strong> comunicación no se<br />

incluyen en esta medición.<br />

S:24 Configuración<br />

dinámica<br />

El bit <strong>de</strong> selección <strong>de</strong> tiempo <strong>de</strong> escán S:33/13<br />

<strong>de</strong>termina la base <strong>de</strong> tiempo usada para el<br />

tiempo <strong>de</strong> escán promedio. Cuando se pone a<br />

cero, la operación es como se <strong>de</strong>scribe<br />

anteriormente. Cuando se establece, la base<br />

<strong>de</strong> tiempo se expresa en incrementos <strong>de</strong> 1 ms<br />

(en vez <strong>de</strong> incrementos <strong>de</strong> 10 ms). Cuando<br />

S:33/13 se establece, la resolución <strong>de</strong>l valor<br />

<strong>de</strong> tiempo <strong>de</strong> escán promedio es +0 –1 ms.<br />

Por ejemplo, el valor 2 indica que 1 a 2 ms<br />

fueron calculados como el ciclo <strong>de</strong> programa<br />

promedio.<br />

Registro <strong>de</strong> índice<br />

Esta palabra indica el offset <strong>de</strong> elemento<br />

usado en el direccionamiento in<strong>de</strong>xado.<br />

Cuando una rutina STI, ranura <strong>de</strong> E/S o fallo<br />

interrumpe la ejecución normal <strong>de</strong>l programa,<br />

el valor original <strong>de</strong> este registro se restaura<br />

cuando la ejecución se reanuda.<br />

Cuando una DII interrumpe la ejecución<br />

normal <strong>de</strong>l programa, el valor original <strong>de</strong> este<br />

registro se restaura cuando la ejecución se<br />

reanuda.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • •<br />

• •<br />

• • •<br />

• •


Dirección Clasificación Descripción<br />

S:25<br />

y<br />

S:26<br />

Estado Interrupción <strong>de</strong> E/S pendiente<br />

Estas dos palabras son mapeadas en bits a<br />

las 30 ranuras <strong>de</strong> E/S. Los bits S:25/1 a<br />

S:26/14 hacen referencia a las ranuras 1–30.<br />

Los bits S:25/0 y S:26/14 están reservadas.<br />

El bit pendiente asociado con una ranura <strong>de</strong><br />

interrupción se establece cuando el bit <strong>de</strong><br />

habilitación <strong>de</strong> interrupción <strong>de</strong> ranura <strong>de</strong> E/S<br />

correspondiente se pone a cero al momento<br />

<strong>de</strong> una petición <strong>de</strong> interrupción. Se pone a<br />

cero cuando el bit <strong>de</strong> habilitación <strong>de</strong> interrupción<br />

<strong>de</strong> evento <strong>de</strong> E/S se establece o cuando<br />

una instrucción RPI asociada se ejecuta.<br />

El bit pendiente para la ejecución <strong>de</strong> una<br />

subrutina <strong>de</strong> interrupción <strong>de</strong> E/S permanece<br />

puesto a cero cuando la ISR es interrumpida<br />

por una STI o rutina <strong>de</strong> fallo. De manera<br />

semejante, el bit pendiente permanece puesto<br />

a cero si el servicio <strong>de</strong> interrupción se solicita<br />

al momento en que una interrupción <strong>de</strong><br />

prioridad mayor o igual se está ejecutando<br />

(rutina <strong>de</strong> fallo, STI u otra ISR).<br />

Las interrupciones <strong>de</strong> E/S se tratan en el<br />

capítulo 11 <strong>de</strong> este manual.<br />

El bit pendiente asociado con una ranura <strong>de</strong><br />

interrupción se establece cuando el bit <strong>de</strong><br />

habilitación <strong>de</strong> interrupción <strong>de</strong> ranura <strong>de</strong> E/S<br />

se pone a cero al momento <strong>de</strong> una petición <strong>de</strong><br />

interrupción. Se pone a cero cuando el bit <strong>de</strong><br />

habilitación <strong>de</strong> interrupción <strong>de</strong> evento <strong>de</strong> E/S<br />

correspondiente se establece o cuando una<br />

instrucción RPI asociada se ejecuta. El bit<br />

pendiente siempre será establecido cuando el<br />

servicio <strong>de</strong> interrupción se solicita y el<br />

procesador está ejecutando una interrupción<br />

<strong>de</strong> prioridad igual o mayor. La prioridad <strong>de</strong><br />

interrupción no afecta el establecimiento <strong>de</strong><br />

estos bits.<br />

Por ejemplo, durante la ejecución <strong>de</strong> una<br />

subrutina STI, la ranura 5 solicita una<br />

interrupción <strong>de</strong> evento <strong>de</strong> E/S. La STI la<br />

ejecutará hasta el final; sin embargo, el bit <strong>de</strong><br />

ranura 6 pendiente (S:25/6) no se establecerá<br />

<strong>de</strong>ntro <strong>de</strong> la ejecución <strong>de</strong> la STI. Examine el<br />

estado <strong>de</strong> estos bits <strong>de</strong>ntro <strong>de</strong> las subrutinas<br />

<strong>de</strong> interrupción si la aplicación requiere esta<br />

información.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• • •<br />

• •<br />

B–55


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–56<br />

S:27<br />

y<br />

S:28<br />

Estado Interrupción <strong>de</strong> E/S habilitada<br />

Estas dos palabras son mapeadas con bits a<br />

las 30 ranuras <strong>de</strong> E/S. Los bits S:27/1 a<br />

S:28/14 correspon<strong>de</strong>n a las ranuras 1–30.<br />

Los bits S:27/0 y S:28/15 están reservadas.<br />

El valor pre<strong>de</strong>terminado <strong>de</strong> cada bit es 1<br />

(establecido). El bit <strong>de</strong> habilitación asociado<br />

con una ranura <strong>de</strong> interrupción se <strong>de</strong>be<br />

establecer cuando la interrupción ocurre para<br />

permitir que la ISR correspondiente se<br />

ejecute. De lo contrario, la ISR no se<br />

ejecutará y el bit <strong>de</strong> interrupción <strong>de</strong> ranura <strong>de</strong><br />

E/S pendiente asociado no se establecerá.<br />

Los cambios efectuados a estos bits usando la<br />

función <strong>de</strong>l monitor <strong>de</strong> datos o <strong>instrucciones</strong><br />

<strong>de</strong> escalera que son distintas <strong>de</strong> IID o IIE<br />

entran en vigencia en el siguiente final <strong>de</strong><br />

escán.<br />

Las interrupciones <strong>de</strong> E/S se tratan en el<br />

capítulo 11 <strong>de</strong> este manual.<br />

Configuración<br />

dinámica<br />

S:29 Configuración<br />

dinámica<br />

Estos bits pue<strong>de</strong>n ser<br />

establecidos/restablecidos por el programa <strong>de</strong><br />

usuario, comms. o con la instrucción IIE o IID.<br />

Los cambios efectuados a estos bits cuando la<br />

función <strong>de</strong>l monitor <strong>de</strong> datos <strong>de</strong> la terminal <strong>de</strong><br />

programación o toda instrucción <strong>de</strong> escalera<br />

entrarán en vigencia inmediatamente.<br />

Número <strong>de</strong> archivo <strong>de</strong> rutina <strong>de</strong> fallo <strong>de</strong><br />

usuario<br />

Usted introduce un número <strong>de</strong> archivo <strong>de</strong><br />

programa (3–255) que se <strong>de</strong>be usar en todos<br />

los errores mayores recuperables y no<br />

recuperables. Programe la lógica <strong>de</strong> escalera<br />

<strong>de</strong> la rutina <strong>de</strong> fallo en el archivo que ha<br />

especificado. Escriba un valor <strong>de</strong> 0 para<br />

inhabilitar la rutina <strong>de</strong> fallo.<br />

Para proporcionar protección contra la<br />

modificación acci<strong>de</strong>ntal <strong>de</strong>l monitor <strong>de</strong> datos<br />

<strong>de</strong> la selección, programe una instrucción<br />

MOV incondicional que contenga el número <strong>de</strong><br />

archivo <strong>de</strong> programa <strong>de</strong> la rutina <strong>de</strong> fallo a<br />

S:29 o programe una instrucción CLR en S:29<br />

para evitar la operación <strong>de</strong> la rutina <strong>de</strong> fallo.<br />

La rutina <strong>de</strong> fallo se trata en el capítulo 11 <strong>de</strong><br />

este manual.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• • •<br />

• •<br />

• • •


Dirección Clasificación Descripción<br />

S:30 Configuración<br />

dinámica<br />

S:31 Configuración<br />

dinámica<br />

Interrupción temporizada seleccionable –<br />

Punto <strong>de</strong> ajuste<br />

Usted introduce la base <strong>de</strong> tiempo, en<br />

décimos <strong>de</strong> milisegundos, que se <strong>de</strong>be usar<br />

en la interrupción temporizada seleccionable.<br />

La rutina STI se ejecuta según el valor que<br />

introduce. Escriba un valor <strong>de</strong> cero para<br />

inhabilitar la STI.<br />

Para proporcionar protección contra la<br />

modificación acci<strong>de</strong>ntal <strong>de</strong>l monitor <strong>de</strong> datos<br />

<strong>de</strong> la selección, programe una instrucción<br />

MOV incondicional que contiene el valor <strong>de</strong><br />

punto <strong>de</strong> ajuste <strong>de</strong> la STI en S:30 o programe<br />

una instrucción CLR en S:30 para evitar la<br />

operación STI.<br />

Si la STI se inicia durante el modo <strong>de</strong> marcha<br />

REM cargando los registros <strong>de</strong> estado, la<br />

interrupción comienza a temporizar a partir <strong>de</strong>l<br />

final <strong>de</strong>l escán <strong>de</strong> programa en que los<br />

registros <strong>de</strong> estado se cargaron.<br />

Las interrupciones temporizadas<br />

seleccionables se tratan en el capítulo 11 <strong>de</strong><br />

este manual.<br />

La base <strong>de</strong> tiempo <strong>de</strong>l punto <strong>de</strong> ajuste STI<br />

pue<strong>de</strong> ser 10 ms ó 1 ms según el valor <strong>de</strong>l bit<br />

<strong>de</strong> selección <strong>de</strong> punto <strong>de</strong> ajuste STI S:2/10.<br />

Cuando se pone a cero, la operación es como<br />

se <strong>de</strong>scribe anteriormente. Cuando se<br />

establece, la base <strong>de</strong> tiempo se expresa en<br />

incrementos <strong>de</strong> 1 ms. La STE habilita la<br />

instrucción STI y la STD la inhabilita.<br />

Interrupción temporizada seleccionable –<br />

Número <strong>de</strong> archivo<br />

Usted introduce un número <strong>de</strong> archivo <strong>de</strong><br />

programa (3–255) que se <strong>de</strong>be usar como la<br />

subrutina <strong>de</strong> interrupción temporizada<br />

seleccionable. Escriba un valor <strong>de</strong> 0 para<br />

inhabilitar la STI.<br />

Para proporcionar protección contra la<br />

modificación acci<strong>de</strong>ntal <strong>de</strong>l monitor <strong>de</strong> datos<br />

<strong>de</strong> la selección, programe una instrucción<br />

MOV incondicional que contenga el valor <strong>de</strong><br />

número <strong>de</strong> archivo <strong>de</strong> la STI en S:31 ó<br />

programe una instrucción CLR en S:31 para<br />

evitar la operación STI.<br />

Las interrupciones temporizadas<br />

seleccionables se tratan en el capítulo 11 <strong>de</strong><br />

este manual.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• • •<br />

• •<br />

• • •<br />

B–57


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–58<br />

S:32 Estado Ejecución <strong>de</strong> interrupción <strong>de</strong> E/S<br />

Esta palabra indica el número <strong>de</strong> ranura <strong>de</strong>l<br />

módulo <strong>de</strong> E/S especial que generó la<br />

ejecución actual <strong>de</strong> ISR. Este valor se borra<br />

cuando la entrada en el modo ISR, marcha<br />

REM se finaliza o al momento <strong>de</strong> encendido.<br />

Usted pue<strong>de</strong> interrogar esta palabra <strong>de</strong>ntro <strong>de</strong><br />

la subrutina STRI o rutina <strong>de</strong> fallo si <strong>de</strong>sea<br />

saber si estas interrupciones <strong>de</strong> prioridad<br />

mayor han interrumpido la ejecución <strong>de</strong> una<br />

ISR. También pue<strong>de</strong> usar este valor para<br />

diferenciar la i<strong>de</strong>ntidad <strong>de</strong> la ranura <strong>de</strong><br />

interrupción al multiplexar dos o más<br />

interrupciones <strong>de</strong> módulo <strong>de</strong> E/S especial a la<br />

misma ISR.<br />

Las interrupciones <strong>de</strong> E/S se tratan en el<br />

capítulo 11 <strong>de</strong> este manual.<br />

Usted pue<strong>de</strong> interrogar esta palabra <strong>de</strong>ntro <strong>de</strong><br />

la subrutina DII si <strong>de</strong>sea saber si estas<br />

interrupciones <strong>de</strong> prioridad mayor han<br />

interrumpido la ejecución <strong>de</strong> ISR. También<br />

pue<strong>de</strong> usar este valor para diferenciar la<br />

i<strong>de</strong>ntidad <strong>de</strong> la ranura <strong>de</strong> interrupción al<br />

multiplexar dos o más interrupciones <strong>de</strong><br />

módulo <strong>de</strong> E/S especial es a la misma ISR.<br />

S:33/0 Estado Comando <strong>de</strong> entrada pendiente (canal 0)<br />

Este bit se establece cuando el procesador<br />

<strong>de</strong>termina que otro nodo en la red <strong>de</strong> canal 0<br />

ha solicitado información o ha proporcionado<br />

un comando a dicho bit. Este bit pue<strong>de</strong> ser<br />

establecido en todo momento. Este bit se<br />

pone a cero cuando el procesador da servicio<br />

a la petición (o comando).<br />

Use este bit como condición <strong>de</strong> una<br />

instrucción SVC para mejorar la capacidad <strong>de</strong><br />

comunicación <strong>de</strong>l procesador.<br />

S:33/1 Estado Respuesta <strong>de</strong> mensaje pendiente (canal 0)<br />

Este bit se establece cuando otro nodo en la<br />

red <strong>de</strong> canal 0 ha proporcionado la<br />

información que usted ha solicitado en la<br />

instrucción MSG <strong>de</strong>l procesador. Este bit se<br />

pone a cero cuando el procesador almacena<br />

la información y actualiza la instrucción MSG.<br />

Use este bit como condición <strong>de</strong> una<br />

instrucción SVC para mejorar la capacidad <strong>de</strong><br />

comunicación <strong>de</strong>l procesador.<br />

Comp.,<br />

5/01<br />

5/02 5/03 5/04<br />

• • •<br />

• •<br />

• •<br />

• •


Dirección Clasificación Descripción<br />

S:33/2 Estado Comando <strong>de</strong> mensaje saliente pendiente<br />

(canal 0)<br />

Este bit se establece cuando uno o más<br />

mensajes <strong>de</strong> canal 0 en el programa se<br />

habilitan y esperan, pero no se transmite<br />

ningún mensaje en ese momento. En cuanto<br />

comienza la transmisión <strong>de</strong> un mensaje, el bit<br />

se pone a cero. Después <strong>de</strong> la transmisión, el<br />

bit se vuelve a establecer si hay más<br />

mensajes esperando o permanece puesto a<br />

cero si no hay más mensajes esperando.<br />

S:33/3 Estado Estado <strong>de</strong> selección (canal 0)<br />

Cuando se restablece, este bit indica que el<br />

puerto <strong>de</strong> comunicación <strong>de</strong> canal 0 está en el<br />

modo <strong>de</strong> sistema (modo DF1). Cuando es<br />

establecido, este bit indica que el canal 0 está<br />

en el modo <strong>de</strong> usuario (modo ASCII). Use la<br />

utilidad <strong>de</strong> configuración <strong>de</strong> canal <strong>de</strong> los<br />

dispositivos <strong>de</strong> programación para cambiar<br />

esta selección.<br />

S:33/4 Estado Comunicaciones activas (canal 0)<br />

Este bit es establecido por el procesador<br />

cuando por lo menos un nodo más está activo<br />

en el canal 0. De lo contrario, el bit<br />

permanece puesto a cero.<br />

Comp.,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• •<br />

• •<br />

• •<br />

B–59


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–60<br />

S:33/5 Configuración<br />

dinámica<br />

S:33/6 Configuración<br />

dinámica<br />

Selección <strong>de</strong> servicio <strong>de</strong> comunicaciones<br />

(canal 0)<br />

Cuando es establecido, solamente una<br />

petición/comando <strong>de</strong> comunicación <strong>de</strong> canal 0<br />

recibe servicio según la instrucción END, TND,<br />

REF o SVC. Cuando se pone a cero, todas<br />

las peticiones/comandos <strong>de</strong> comunicación<br />

entrantes o salientes, que pue<strong>de</strong>n recibir<br />

servicio, lo reciben según la instrucción END,<br />

TND REF o SVC.<br />

Una petición/comando <strong>de</strong> comunicación<br />

consiste en un comando entrante <strong>de</strong> canal 0,<br />

respuesta <strong>de</strong> mensaje <strong>de</strong> canal 0 ó comando<br />

<strong>de</strong> mensaje saliente <strong>de</strong> canal 0. Refiérase a<br />

las palabras S:33/0, S:33/1, S:33/2 y S:33/6<br />

para obtener más información.<br />

Nota: Cuando se pone a cero, la<br />

transferencia <strong>de</strong> comunicación se incrementa.<br />

El tiempo <strong>de</strong> escán también se incrementa si<br />

varios comandos/peticiones <strong>de</strong> comunicación<br />

se reciben en el mismo escán.<br />

Para programar esta característica, use la<br />

función <strong>de</strong>l monitor <strong>de</strong> datos para establecer y<br />

poner a cero este bit. Para proporcionar<br />

protección contra la modificación acci<strong>de</strong>ntal<br />

<strong>de</strong>l monitor <strong>de</strong> datos <strong>de</strong> la selección, programe<br />

una instrucción OTL incondicional en la<br />

dirección S:33/5 para asegurar la operación <strong>de</strong><br />

una petición/comando o programe una<br />

instrucción OTU incondicional en la dirección<br />

S:33/5 para asegurar la operación <strong>de</strong><br />

peticiones/comandos múltiples. Como<br />

alternativa, el programa pue<strong>de</strong> cambiar el<br />

estado <strong>de</strong> este bit usando la lógica <strong>de</strong> esclera<br />

si la aplicación requiere la selección dinámica<br />

<strong>de</strong> esta función.<br />

Selección <strong>de</strong> servicio <strong>de</strong> mensaje (canal 0)<br />

Este bit solamente es válido cuando la<br />

selección <strong>de</strong> servicio <strong>de</strong> comunicaciones<br />

(S:33/5) <strong>de</strong>l canal 0 se borran (lo cual<br />

selecciona todos los comandos <strong>de</strong> servicio).<br />

Cuando S:33/6 se establece y S:33/5 se pone<br />

a cero, todas las <strong>instrucciones</strong> MSG salientes<br />

<strong>de</strong> canal 0 reciben servicio según la<br />

instrucción END, TND, SVC o REF. De lo<br />

contrarior, solamente un comando o respuesta<br />

MSG saliente <strong>de</strong> canal 0 recibirá servicio<br />

según la instrucción END, TND, SVC o REF.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• •<br />

• •


Dirección Clasificación Descripción<br />

S:33/7 Configuración<br />

dinámica<br />

S:33/8 Configuración<br />

estática<br />

Selección <strong>de</strong> servicio <strong>de</strong> mensaje (canal 1)<br />

Este bit solamente es válido cuando el bit <strong>de</strong><br />

selección <strong>de</strong> servicio <strong>de</strong> comunicaciones (S:2/15)<br />

<strong>de</strong>l canal 1 se pone a cero (el cual selecciona los<br />

comandos <strong>de</strong> servicio total). Cuando S:33/7 es<br />

establecido y S:2/15 está puesto a cero, todas las<br />

<strong>instrucciones</strong> MSG <strong>de</strong> canal 1 salientes reciben<br />

servicio según la instrucción END, TND, SVC o<br />

REF. De lo contrario, solamente un comando o<br />

respuesta MSG <strong>de</strong> canal 1 saliente recibe servicio<br />

según la instrucción END, TND, SVC o REF.<br />

Bit <strong>de</strong> control <strong>de</strong> latencia <strong>de</strong> interrupción<br />

Cuando se establece, la latencia <strong>de</strong> interrupción<br />

ocurre para interrupciones <strong>de</strong> usuario (DII, STI y<br />

evento <strong>de</strong> E/S). Esto significa que cuando<br />

ocurre una interrupción, se le garantiza estar en<br />

el renglón 0 <strong>de</strong> la subrutina <strong>de</strong> interrupción<br />

<strong>de</strong>ntro <strong>de</strong>l período <strong>de</strong> latencia <strong>de</strong> interrupción<br />

<strong>de</strong>clarado (siempre que una interrupción <strong>de</strong><br />

prioridad igual o mayor se esté ejecutando).<br />

Usted <strong>de</strong>be seleccionarlo al guardar el<br />

programa. Refiérase al apéndice B en el Manual<br />

<strong>de</strong> usuario <strong>de</strong> software <strong>de</strong> programación<br />

avanzada, publicación <strong>1747</strong>-6.4ES para obtener<br />

información acerca <strong>de</strong> cómo calcular la latencia<br />

<strong>de</strong> interrupción.<br />

Cuando se pone a cero, las interrupciones <strong>de</strong><br />

usuario solamente pue<strong>de</strong>n interrumpir el<br />

procesador a puntos pre<strong>de</strong>finidos <strong>de</strong> ejecución<br />

en el ciclo <strong>de</strong> programa <strong>de</strong> usuario. La<br />

latencia <strong>de</strong> interrupción se <strong>de</strong>fine como el<br />

período <strong>de</strong> tiempo más largo que pue<strong>de</strong><br />

transcurrir entre dos puntos pre<strong>de</strong>finidos.<br />

Cuando S:33/8 se pone a cero, usted <strong>de</strong>be<br />

analizar cada programa <strong>de</strong> usuario. El bit se<br />

pone a cero pre<strong>de</strong>terminadamente.<br />

Los puntos siguientes son los únicos puntos<br />

en que se permite que las subrutinas <strong>de</strong><br />

interrupción <strong>de</strong> usuario se ejecuten cuando<br />

S:33/8 se pone a cero:<br />

• al inicio <strong>de</strong> cada renglón<br />

• <strong>de</strong>spués <strong>de</strong> dar servicio a la comunicación<br />

• entre ranuras durante la actualización <strong>de</strong> la<br />

imagen <strong>de</strong> entrada o salida o cualquier<br />

tarjeta <strong>de</strong> E/S especial<br />

S:33/9 Estado Bit <strong>de</strong> alternador <strong>de</strong> escán<br />

Este bit se pone a cero al momento <strong>de</strong> entrar<br />

en el modo <strong>de</strong> MARCHA. Este bit cambia <strong>de</strong><br />

estado durante cada ejecución <strong>de</strong> una<br />

instrucción END, TND o REF. Use este bit en<br />

el programa <strong>de</strong> usuario para aplicaciones tal<br />

como la ejeución <strong>de</strong> subrutina <strong>de</strong> multiplex.<br />

Comp.,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• •<br />

• •<br />

• •<br />

B–61


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–62<br />

S:33/10 Configuración<br />

dinámica<br />

Bit <strong>de</strong> reconfiguración <strong>de</strong> interrupción <strong>de</strong><br />

entrada discreta<br />

Establezca este bit con el programa <strong>de</strong><br />

usuario o la terminal <strong>de</strong> programación para<br />

causar que la función DII se reconfigure en la<br />

próxima ocurrencia <strong>de</strong> interrupción o al final <strong>de</strong><br />

cada escán (END, TND o REF). Este bit se<br />

aplica a la salida <strong>de</strong> DII ISR, rutina <strong>de</strong> fallo,<br />

STI ISR o ISR <strong>de</strong> evento.<br />

Lo siguiente ocurre cuando la DII se<br />

reconfigura:<br />

1. El acumulador DII se borra (S:52).<br />

2. Los parámetros DII ubicados en las<br />

palabras S:46 a S:50 se aplican.<br />

3. El bit <strong>de</strong> reconfiguración DII está puesto a<br />

cero por el procesador.<br />

Por ejemplo, use la estructura <strong>de</strong> escalera<br />

siguiente para provocar una reconfiguración<br />

DII <strong>de</strong>s<strong>de</strong> el archivo <strong>de</strong> escalera principal cada<br />

vez que la entrada 0 se <strong>de</strong>sconecte y se<br />

vuelva a conectar.<br />

I:1/0<br />

] [<br />

B3/0<br />

[OSR]<br />

S:33/10<br />

(L)<br />

Use la estructura <strong>de</strong> escalera siguiente para<br />

provocar una reconfiguración DII <strong>de</strong>s<strong>de</strong> una<br />

subrutina basada en evento. La subrutina se<br />

ejecuta solamente una vez, cada vez que es<br />

posible la reconfiguración DII.<br />

I:1/0<br />

] [<br />

S:33/10<br />

(L)<br />

Comp.,<br />

5/01<br />

5/02 5/03 5/04<br />

• •


Dirección Clasificación Descripción<br />

S:33/11 y<br />

S:33/12<br />

S:33/13 Configuración<br />

estática<br />

Estado Estado <strong>de</strong> edición en línea<br />

Estos dos bits representan los cuatro estados<br />

<strong>de</strong> edición en línea posibles:<br />

Bit 12 Bit 11 Estado <strong>de</strong><br />

edición<br />

en línea<br />

0 0 No existen<br />

ediciones en<br />

línea<br />

0 1 La edición<br />

en línea<br />

inhabilitada<br />

1 1 Prueba <strong>de</strong><br />

ediciones<br />

en línea<br />

1 0 no usado<br />

Examine el estado <strong>de</strong> estos bits con el<br />

programa <strong>de</strong> usuario para contar el número<br />

<strong>de</strong> sesiones <strong>de</strong> edición en línea, indicar una<br />

alarma o colocar la aplicación en un estado<br />

especial diseñado para sesiones <strong>de</strong> edición<br />

en línea.<br />

Selección <strong>de</strong> base <strong>de</strong> tiempo <strong>de</strong>l tiempo <strong>de</strong><br />

escán<br />

Este bit <strong>de</strong>termina la base <strong>de</strong> tiempo usada para<br />

promediar el tiempo <strong>de</strong> escán (S:23) y el tiempo<br />

<strong>de</strong> escán máximo (S:22). Cuando se pone a<br />

cero, el valor contenido en los tiempos <strong>de</strong> escán<br />

promedio y máximo representan el número <strong>de</strong><br />

incrementos <strong>de</strong> 10 ms que han ocurrido.<br />

Cuando se establece, el valor contenido en los<br />

tiempos <strong>de</strong> escán promedio y máximo representan<br />

el número <strong>de</strong> incrementos <strong>de</strong> 1 ms que han<br />

ocurrido. Este valor se borra pre<strong>de</strong>terminadamente<br />

(base <strong>de</strong> tiempo <strong>de</strong> 10 ms).<br />

Comp.,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• •<br />

• •<br />

B–63


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–64<br />

S:33/14 Configuración<br />

dinámica<br />

S:33/15 Configuración<br />

dinámica<br />

Bit <strong>de</strong> control DTR (canal 0)<br />

Este bit se usa para habilitar el discado DTR.<br />

Cuando se pone a cero, la señal DTR <strong>de</strong> canal<br />

0 (pin 4) es controlada directamente por el<br />

variador <strong>de</strong> comunicación estándar. Cuando<br />

se establece, se pue<strong>de</strong> efectuar el discado<br />

DTR escribiendo a S:33/15, bit <strong>de</strong> forzados<br />

DTR.<br />

El bit S:33/14 se examina y se aplica al final<br />

<strong>de</strong> cada escán (END, TND o REF). Cuando<br />

está en el modo <strong>de</strong> programa, suspensión o<br />

fallo, DTR está habilitado y permanece<br />

habilitado hasta que una secuencia <strong>de</strong><br />

<strong>de</strong>sconexión automática sea <strong>de</strong>tectada por el<br />

controlador <strong>de</strong> comunicación.<br />

Una <strong>de</strong>sconexión automática ocurre si el<br />

controlador <strong>de</strong> comunicación <strong>de</strong>tecta que la<br />

señal CD <strong>de</strong> canal 0 (pin 1) ha estado ausente<br />

durante más <strong>de</strong> 10 segundos o si la señal<br />

DSR <strong>de</strong> canal 0 (pin 6) se ha inhabilitado.<br />

Refiérase al bit <strong>de</strong> mó<strong>de</strong>m perdido <strong>de</strong> canal 0<br />

S:5/14 para obtener más información.<br />

Durante una <strong>de</strong>sconexión automática, el<br />

variador <strong>de</strong> comunicación estándar mantiene<br />

el DTR inhabilitado hasta que se habilite la<br />

señal DSR <strong>de</strong> canal 0 ó transcurran 5<br />

segundos.<br />

Notea Cuando el canal 0 está configurado<br />

para DH485, S;33/14 se <strong>de</strong>be poner a cero<br />

para un funcionamiento a<strong>de</strong>cuado.<br />

Bit <strong>de</strong> forzados DTR (canal 0)<br />

Este bit se usa para forzar el pin DTR alto o<br />

bajo. Cuando S:33/14 se establece, la señal<br />

DTR <strong>de</strong> canal 0 (pin 4) se aplica al final <strong>de</strong><br />

cada escán (END, TND o REF) usando el<br />

estado <strong>de</strong> S:33/15. Cuando S:33/14 se pone<br />

a cero, este bit no afecta DTR.<br />

Cuando S:33/15 se establece, DTR es forzado<br />

alto. Cuando se pone a cero (pre<strong>de</strong>terminado),<br />

DTR es forzado bajo. Cuando está en el modo<br />

<strong>de</strong> prueba REM o marcha REM, este bit se<br />

aplica solamente al final <strong>de</strong> escán (END, TND o<br />

REF). Cuando está en el modo <strong>de</strong> programa,<br />

suspensión o fallo (o al momento <strong>de</strong> encendido),<br />

DTR se establece a menos que el controlador<br />

<strong>de</strong> comunicación esté efectuando una<br />

<strong>de</strong>sconexión automática.<br />

Comp.,<br />

5/01<br />

5/02 5/03 5/04<br />

• •<br />

• •


Dirección Clasificación Descripción<br />

S:34/0 Configuración<br />

estática<br />

S:34/1 Configuración<br />

estática<br />

S:34/2 Configuración<br />

dinámica<br />

Bit <strong>de</strong> transferencia <strong>de</strong> DH+ a DH-485<br />

inhabilitada<br />

Este bit proporciona la capacidad <strong>de</strong> transferir<br />

paquetes recibidos entre canales. Cuando se<br />

establece, el procesador no tiene capacidad<br />

para la transferencia. Cuando se restablece,<br />

el procesador permite que los paquetes se<br />

transfieran <strong>de</strong> un canal a otro. El canal 0<br />

(RS-232) se <strong>de</strong>be configurar para el protocolo<br />

DH-485. Solamente los paquetes que<br />

contienen la capa <strong>de</strong> red <strong>de</strong> Internet y cuya<br />

i<strong>de</strong>ntidad <strong>de</strong> vínculo <strong>de</strong> <strong>de</strong>stino es igual al<br />

especificado para el canal opuesto serán<br />

transferidos. El valor pre<strong>de</strong>terminado es el<br />

restablecimiento.<br />

La i<strong>de</strong>ntidad <strong>de</strong>l vínculo pre<strong>de</strong>terminado para<br />

el canal 0 es uno. La i<strong>de</strong>ntidad <strong>de</strong>l vínculo<br />

pre<strong>de</strong>terminado para el canal 1 es dos.<br />

Bit <strong>de</strong> habilitación <strong>de</strong> tabla <strong>de</strong> nodo activo DH+<br />

Este bit habilita el procesamiento <strong>de</strong> la tabla<br />

<strong>de</strong> nodo activo DH+. Cuando se establece, la<br />

tabla <strong>de</strong> nodo activo DH+ se procesa. Cuando<br />

se pone a cero, la tabla <strong>de</strong> nodo activo DH+<br />

no se procesa. El valor pre<strong>de</strong>terminado es<br />

puesto a cero.<br />

Este bit es evaluado durante cada entrada en<br />

el modo <strong>de</strong> marcha REM. Note que el<br />

procesador actualiza las palabras <strong>de</strong> estado<br />

individuales S:83 a S:86.<br />

Bit <strong>de</strong> habilitación <strong>de</strong>l indicador matemático<br />

<strong>de</strong> punto (coma) flotante<br />

Este bit inhabilita el procesamiento <strong>de</strong><br />

indicadores matemáticos cuando se usa el punto<br />

(coma) flotante matemático (F8:). Los<br />

indicadores matemáticos afectados son overflow<br />

(S:0/1), cero (S:0/2), signo (S:0/3) y el bit <strong>de</strong><br />

interrupción por overflow <strong>de</strong> error menor (S:5/0).<br />

Cuando el bit se pone a cero, los indicadores<br />

matemáticos se procesan. Cuando el bit se<br />

establece, los indicadores matemáticos son<br />

borrados excepto por el bit <strong>de</strong> interrupción por<br />

overflow <strong>de</strong> error menor, el cual permanece en<br />

su último estado. El indicador <strong>de</strong> acarreo (S:0/0)<br />

está reservado para uso interno durante todas<br />

las operaciones <strong>de</strong> punto (coma) flotante. El<br />

valor pre<strong>de</strong>terminado es puesto a cero.<br />

Las <strong>instrucciones</strong> afectadas por el punto<br />

(coma) flotante incluyen ADD, SUB, MUL, DIV,<br />

NEG, SQR y MOV. El establecer este bit<br />

reduce los tiempos <strong>de</strong> ejecución <strong>de</strong> las<br />

<strong>instrucciones</strong> anteriores. Este bit es evaluado<br />

durante la ejecución <strong>de</strong> cada instrucción.<br />

Comp.,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

•<br />

•<br />

• •<br />

B–65


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–66<br />

S:34/3 Configuración<br />

dinámica<br />

S:34/4 Configuración<br />

dinámica<br />

S:34/5 Configuración<br />

dinámica<br />

Bit <strong>de</strong> habilitación <strong>de</strong> transmisión <strong>de</strong> palabra<br />

<strong>de</strong> estado global (<strong>SLC</strong> 5/04 OS401 solamente)<br />

Cuando este bit se establece, la palabra <strong>de</strong><br />

estado global a S:99 se transmite con cada<br />

paso <strong>de</strong> testigo DH+. Cuando se pone a cero,<br />

el testigo se pasa sin la palabra <strong>de</strong> estado<br />

global.<br />

Bit <strong>de</strong> habilitación <strong>de</strong> recepción <strong>de</strong> palabra <strong>de</strong><br />

estado global (<strong>SLC</strong> 5/04 OS401 solamente)<br />

Cuando este bit se establece, el procesador<br />

recolecta la palabra <strong>de</strong> estado global<br />

transmitida por otros dispositivos en la red<br />

DH+ y la almacena en el archivo <strong>de</strong> estado<br />

global (S:100–S:163). Cuando se pone a<br />

cero, el procesador no hace caso <strong>de</strong> la<br />

información <strong>de</strong> estado global proveniente <strong>de</strong><br />

otros dispositivos en la red.<br />

Bit <strong>de</strong> transferencia <strong>de</strong> DF1 a DH+ habilitada<br />

(<strong>SLC</strong> 5/04 OS401 solamente)<br />

Cuando este bit se establece, la operación <strong>de</strong><br />

transferencia se habilita entre el canal 0 y el<br />

canal 1. El canal 0 se <strong>de</strong>be configurar para el<br />

protocolo <strong>de</strong> full duplex DF1.<br />

S:35 Estado Tiempo <strong>de</strong>l último escán <strong>de</strong> 1 ms<br />

El valor <strong>de</strong> esta palabra le informa cuánto<br />

tiempo ha transcurrido durante un ciclo <strong>de</strong><br />

programa. Un ciclo <strong>de</strong> programa incluye el<br />

programa <strong>de</strong> escalera, limpieza, escán <strong>de</strong><br />

E/S y servicio al puerto <strong>de</strong> comunicación.<br />

Este valor <strong>de</strong> palabra es actualizado por el<br />

procesador solamente una vez durante cada<br />

escán inmediatamente antes <strong>de</strong> la ejecución<br />

<strong>de</strong>l renglón 0, archivo 2 (o al retorno <strong>de</strong> una<br />

instrucción REF).<br />

S:36/0 a<br />

S:36/7<br />

Comp.,<br />

5/01<br />

5/02 5/03 5/04<br />

•<br />

•<br />

•<br />

• •<br />

NA Reservado • •


Dirección Clasificación Descripción<br />

S:36/8 Estado DII perdido<br />

Este bit se establece cuando ocurre una<br />

interrupción DII y el bit <strong>de</strong> DII pendiente<br />

(S:2/11) también se establece. Cuando esto<br />

ocurre, se le comunica que una interrupción<br />

DII ha sido perdida. Por ejemplo, la<br />

interrupción se perdió <strong>de</strong>bido a que una<br />

interrupción previa ya estaba pendiente y<br />

esperando la ejecución. Examine este bit en<br />

el programa <strong>de</strong> usuario y tome la acción más<br />

a<strong>de</strong>cuada si la aplicación no pue<strong>de</strong> tolerar<br />

esta condición. Luego, ponga a cero este bit<br />

con el programa <strong>de</strong> usuario como preparación<br />

para la próxima ocurrencia posible <strong>de</strong> este<br />

error.<br />

S:36/9 Estado STI perdido<br />

Este bit se establece cuando una interrupción<br />

STI ocurre y el bit <strong>de</strong> STI pendiente (S:2/0)<br />

también se establezca. Cuando esto ocurre,<br />

se le comunica que una interrupción STI ha<br />

sido perdida. Por ejemplo, la interrupción se<br />

perdió <strong>de</strong>bido a que una interrupción previa ya<br />

estaba pendiente y esperando la ejecución.<br />

Examine este bit en el programa <strong>de</strong> usuario y<br />

tome la acción más a<strong>de</strong>cuada si la aplicación<br />

no pue<strong>de</strong> tolerar esta condición. Luego,<br />

ponga a cero este bit con el programa <strong>de</strong><br />

usuario como preparación para la próxima<br />

ocurrencia posible <strong>de</strong> este error.<br />

S:36/10 Estado Protección <strong>de</strong> sobrescritura <strong>de</strong>l archivo <strong>de</strong><br />

datos <strong>de</strong>l módulo <strong>de</strong> memoria<br />

Use este bit para <strong>de</strong>terminar la vali<strong>de</strong>z <strong>de</strong><br />

datos retentivos <strong>de</strong>spués <strong>de</strong> la transferencia<br />

<strong>de</strong>l módulo <strong>de</strong> memoria. Este bit siempre se<br />

establece ccuando una transferencia <strong>de</strong>l<br />

módulo <strong>de</strong> memoria hacia el procesador<br />

ocurre con la protección <strong>de</strong> sobrescritura <strong>de</strong>l<br />

archivo <strong>de</strong> datos seleccionada y los archivos<br />

protegidos se sobrescriben. Los archivos<br />

protegidos son sobrescritos cuando un<br />

programa <strong>de</strong> módulo <strong>de</strong> memoria no coinci<strong>de</strong><br />

con el programa <strong>de</strong>l procesador al momento<br />

<strong>de</strong> la transferencia. Este bit no está puesto a<br />

cero por el procesador.<br />

Comp.,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• •<br />

• •<br />

• •<br />

B–67


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

S:36/11 a<br />

S:36/15<br />

B–68<br />

S:37 Configuración<br />

dinámica<br />

S:38 Configuración<br />

dinámica<br />

S:39 Configuración<br />

dinámica<br />

S:40 Configuración<br />

dinámica<br />

S:41 Configuración<br />

dinámica<br />

S:42 Configuración<br />

dinámica<br />

NA Reservado para errores menores<br />

adicionales.<br />

Reloj/año calendario<br />

Este valor contiene el valor <strong>de</strong>l año en el<br />

reloj/calendario. El límite válido es 0–65535.<br />

Para inhabilitar el reloj/calendario, escriba cero<br />

a todas las palabras <strong>de</strong> reloj/calendario (S:37<br />

a S:42).<br />

Reloj/calendario <strong>de</strong> mes<br />

Este valor contiene el valor <strong>de</strong>l mes <strong>de</strong>l<br />

reloj/calendario. El límite válido es 1–12.<br />

Para inhabilitar el reloj/calendario, escriba<br />

ceros a todas las palabras <strong>de</strong>l reloj o<br />

calendario (S:37 a S:41). Enero es igual al<br />

valor <strong>de</strong> 1.<br />

Reloj/calendario <strong>de</strong> día<br />

Este valor contiene el valor <strong>de</strong> día <strong>de</strong>l<br />

reloj/calendario. El límite válido es 1–31.<br />

Para inhabilitar el reloj/calendario, escriba<br />

ceros a todas las palabras <strong>de</strong> reloj o<br />

calendario (S:37 a S:41). El primer día <strong>de</strong>l<br />

mes es igual al valor <strong>de</strong> 1.<br />

Reloj/calendario <strong>de</strong> horas<br />

Este valor contiene el valor <strong>de</strong> hora <strong>de</strong>l<br />

reloj/calendario. El límite válido es 0–23.<br />

Para inhabilitar el reloj/calendario, escriba<br />

ceros a todas las palabras <strong>de</strong> reloj o<br />

calendario (S:37 a S:41). Las 0000 horas<br />

equivalen al valor <strong>de</strong> 0.<br />

Reloj/calendario <strong>de</strong> minutos<br />

Este valor contiene el valor <strong>de</strong> minuto <strong>de</strong>l<br />

reloj/calendario. El límite válido es 0–59.<br />

Para inhabilitar el reloj/calendario, escriba<br />

ceros a todas las palabras <strong>de</strong> reloj o<br />

calendario (S:37 a S:41).<br />

Reloj/calendario <strong>de</strong> segundos<br />

Este valor contiene el valor <strong>de</strong> segundos el<br />

reloj/calendario. El límite válido es 0–59.<br />

Para inhabilitar el reloj/calendario, escriba cero<br />

a todas las palabras <strong>de</strong> reloj o calendario<br />

(S:37 a S:41).<br />

Comp.,<br />

5/01<br />

5/02 5/03 5/04<br />

• •<br />

• •<br />

• •<br />

• •<br />

• •<br />

• •<br />

• •


Dirección Clasificación Descripción<br />

S:43<br />

S:44<br />

S:45<br />

S:46 Configuración<br />

dinámica<br />

Estado Interrupción temporizada seleccionable –<br />

Temporizador <strong>de</strong> 10 µs<br />

Interrupción <strong>de</strong> evento <strong>de</strong> E/S –<br />

Temporizador <strong>de</strong> 10 µs<br />

Interrupción <strong>de</strong> entrada discreta –<br />

Temporizador 10 µs<br />

Este valor <strong>de</strong> 16 bits es <strong>de</strong> “marcha libre” y se<br />

usa para medir la cantidad <strong>de</strong> tiempo que<br />

transcurre entre las ejecuciones consecutivas<br />

<strong>de</strong> subrutina <strong>de</strong> interrupción (en incrementos<br />

<strong>de</strong> 10 µs). Este valor se actualiza a cada<br />

entrada en la subrutina <strong>de</strong> interrupción. El<br />

temporizador <strong>de</strong> 10 µs indica que el tiempo<br />

máximo que pue<strong>de</strong> transcurrir entre dos<br />

interrupciones sin invalidar una medición <strong>de</strong><br />

tiempo es 0.32767 segundos.<br />

(16 bits con signo 10 µs = 32767 <br />

.00001 = 0.32767 segundos)<br />

El temporizador <strong>de</strong> 10 µs es común a la<br />

interrupción STI, la interrupción <strong>de</strong> E/S <strong>de</strong><br />

evento y la interrupción DII.<br />

Interrupción <strong>de</strong> entrada discreta – Número<br />

<strong>de</strong> archivo<br />

Usted introduce un número <strong>de</strong> archivo <strong>de</strong><br />

programa (3–255) que se <strong>de</strong>be usar como la<br />

subrutina <strong>de</strong> interrupción <strong>de</strong> entrada discreta.<br />

Escriba un valor <strong>de</strong> 0 para inhabilitar la<br />

función. Este valor se aplica durante la<br />

<strong>de</strong>tección <strong>de</strong> un bit <strong>de</strong> reconfiguración DII,<br />

cada salida <strong>de</strong> DII ISR y cada final <strong>de</strong> escán<br />

(END, TND o REF).<br />

A fin <strong>de</strong> proporcionar protección contra la<br />

modificación acci<strong>de</strong>ntal <strong>de</strong>l monitor <strong>de</strong> datos<br />

<strong>de</strong> la selección, programe una instrucción<br />

MOV incondicional que contenga el valor <strong>de</strong><br />

número <strong>de</strong> archivo <strong>de</strong> la DII en S:46 ó<br />

programe una instrucción CLR en S:46 para<br />

evitar la operación DII.<br />

Comp.,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• •<br />

• •<br />

B–69


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–70<br />

S:47 Configuración<br />

dinámica<br />

S:48 Configuración<br />

dinámica<br />

nterrupción <strong>de</strong> entrada discreta – Número <strong>de</strong><br />

ranura<br />

Usted introduce el número <strong>de</strong> ranura (1–30)<br />

que contiene el módulo <strong>de</strong> E/S discretas que<br />

se <strong>de</strong>ben usar como la ranura <strong>de</strong> interrupción<br />

<strong>de</strong> entrada discreta. El procesador estará con<br />

fallo si la ranura está vacía o contiene un<br />

módulo <strong>de</strong> E/S no discretas. Por ejemplo, un<br />

módulo analógico causa que ocurra un fallo <strong>de</strong><br />

procesador. Este bit se aplica al momento <strong>de</strong><br />

<strong>de</strong>tección <strong>de</strong>l bit <strong>de</strong> reconfiguración DII.<br />

Este valor se aplica solamente al momento <strong>de</strong><br />

ejecución <strong>de</strong> la función <strong>de</strong> reconfiguración DII<br />

(estableciendo el bit S:33/10 ó a la entrada en<br />

el modo <strong>de</strong> marcha REM con el bit <strong>de</strong><br />

habilitación DII S:2/12 establecido).<br />

A fin <strong>de</strong> proprocionar protección contra la<br />

modificación acci<strong>de</strong>ntal <strong>de</strong>l monitor <strong>de</strong> datos<br />

<strong>de</strong> su selección, programe una instrucción<br />

MOV incondicional que contenga el valor <strong>de</strong><br />

número <strong>de</strong> ranura <strong>de</strong> la DII en S:47.<br />

Interrupción <strong>de</strong> entrada discreta – Máscara<br />

<strong>de</strong> bit<br />

Usted introduce un valor mapeado con bits<br />

que correspon<strong>de</strong> a los bits que <strong>de</strong>sea<br />

monitorizar en el módulo <strong>de</strong> E/S discretas.<br />

Solamente los bits 0 a 7 se usan en la función<br />

DII. El establecer un bit indica que usted<br />

<strong>de</strong>sea incluir el bit en la comparación <strong>de</strong> la<br />

transición <strong>de</strong> bit <strong>de</strong>l módulo <strong>de</strong> E/S discretas al<br />

valor <strong>de</strong> comparación DII (S:49). El poner a<br />

cero el bit indica que el estado <strong>de</strong> transición<br />

<strong>de</strong>l bit en cuestión constituye un bit <strong>de</strong> “no<br />

importa”. Este valor se aplica al momento <strong>de</strong><br />

<strong>de</strong>tección <strong>de</strong> un bit <strong>de</strong> reconfiguración DII,<br />

cada salida <strong>de</strong> DII ISR y al final <strong>de</strong> cada escán<br />

(END, TND o REF).<br />

A fin <strong>de</strong> proporcionar protección contra la<br />

modificación acci<strong>de</strong>ntal <strong>de</strong>l monitor <strong>de</strong> datos<br />

<strong>de</strong> la selección, programe una instrucción<br />

MOV incondicional que contenga el valor <strong>de</strong><br />

máscara <strong>de</strong> bit <strong>de</strong> la DII en S:48.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• •<br />

• •


Dirección Clasificación Descripción<br />

S:49 Configuración<br />

dinamica<br />

S:50 Configuración<br />

dinámica<br />

Interrupción <strong>de</strong> entrada <strong>de</strong> comparación –<br />

Valor <strong>de</strong> comparación<br />

Usted introduce un valor mapeado con bits<br />

que correspon<strong>de</strong> a las transiciones <strong>de</strong> bit que<br />

<strong>de</strong>ben ocurrir en la tarjeta <strong>de</strong> E/S discretas<br />

para que ocurra un conteo o interrupción.<br />

Solamente los bits 0 a 7 se usan en la función<br />

DII. El establecer un bit indica que el bit <strong>de</strong>be<br />

hacer la transición <strong>de</strong> 0 a 1 para cumplir con la<br />

condición <strong>de</strong> comparación para dicho bit. El<br />

poner a cero el bit indica que el bit <strong>de</strong>be hacer<br />

la transición <strong>de</strong> 1 a 0 para cumplir con la<br />

condición <strong>de</strong> comparación para dicho bit. Una<br />

interrupción o conteo se genera al momento<br />

<strong>de</strong> transición <strong>de</strong>l último bit <strong>de</strong>l valor <strong>de</strong><br />

comparación. Este valor se aplica a la<br />

<strong>de</strong>tección <strong>de</strong> un bit <strong>de</strong> reconfiguración DII,<br />

cada salida <strong>de</strong> DII ISR y cada final <strong>de</strong> escán<br />

(END, TND o REF).<br />

A fin <strong>de</strong> proporcionar protección contra la<br />

modificación acci<strong>de</strong>ntal <strong>de</strong>l monitor <strong>de</strong> datos<br />

<strong>de</strong> la selección, programe una instrucción<br />

MOV incondicional que contenga el valor <strong>de</strong><br />

comparación <strong>de</strong> la DII en S:49.<br />

Interrupción <strong>de</strong> entrada discreta – Valor<br />

preseleccionado<br />

Cuando este valor es igual a 0 ó 1, una<br />

interrupción es generada cada vez que se<br />

satisfacen las palabras especificadas S:48 y<br />

S:49. Cuando este valor está entre 2 y 32767,<br />

un conteo ocurrirá cada vez que la<br />

comparación <strong>de</strong> bit se satisfaga. Una<br />

interrupción será generada cuando el valor <strong>de</strong><br />

acumulador alcance 1 ó exceda el valor<br />

preseleccionado. Este valor se aplica al<br />

momento <strong>de</strong> <strong>de</strong>tección <strong>de</strong>l bit <strong>de</strong><br />

reconfiguración DII, cada salida <strong>de</strong> DII ISR y al<br />

final <strong>de</strong> cada escán (END, TND o REF).<br />

A fin <strong>de</strong> proporcionar protección contra la<br />

modificación acci<strong>de</strong>ntal <strong>de</strong>l monitor <strong>de</strong> datos<br />

<strong>de</strong> la selección, programe una instrucción<br />

MOV incondicional que contenga el valor<br />

preseleccionado <strong>de</strong> la DII en S:50..<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• •<br />

• •<br />

B–71


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–72<br />

S:51 Estado Interrupción <strong>de</strong> entrada discreta – Máscara<br />

<strong>de</strong> retorno<br />

La máscara <strong>de</strong> retorno se actualiza inmediatamente<br />

antes <strong>de</strong> la entrada en la subrutina DII.<br />

Este valor contiene el mapa con bits <strong>de</strong> las<br />

transiciones <strong>de</strong> bits que causaron la interrupción.<br />

El bit se establece si se apareció en la<br />

lista <strong>de</strong> transiciones <strong>de</strong> bits que causaron la<br />

interrupción (especificado para transición en<br />

las comparaciones S:48 y S:49). El bit se<br />

pone a cero si se enmascaró. Este valor es<br />

borrado por el procesador al momento <strong>de</strong> salir<br />

<strong>de</strong> la subrutina DII.<br />

Use este valor para validar las transiciones <strong>de</strong><br />

interrupción. O bien, cuando reconfigure<br />

(secuencie) dinámicamente la DII, usted pue<strong>de</strong><br />

usar este valor <strong>de</strong>ntro <strong>de</strong> la subrutina DII para<br />

facilitar <strong>de</strong>terminar o validar su posición en la<br />

secuencia.<br />

S:52 Estado Interrupción <strong>de</strong> entrada discreta –<br />

Acumulador<br />

El acumulador DII contiene el número <strong>de</strong><br />

conteos que han ocurrido (vea S:50). Cuando<br />

un conteo ocurre y el acumulador es mayor o<br />

igual que el valor preseleccionado, una<br />

interrupción DII se genera.<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

• •<br />

• •<br />

S:53 y S:54 NA Reservado • •<br />

S:55 Estado Ultimo tiempo <strong>de</strong> escán <strong>de</strong> interrupción <strong>de</strong><br />

entrada discreta<br />

Este valor indica, en incrementos <strong>de</strong> 1 ms, el<br />

tiempo transcurrida durante la subrutina DII<br />

más reciente. La resolución <strong>de</strong> este valor es<br />

+0 a ±1 ms.<br />

S:56 Estado Tiempo <strong>de</strong> escán <strong>de</strong> entrada discreta<br />

máximo observado<br />

Este valor indica, en incrementos <strong>de</strong> 1 ms, el<br />

tiempo máximo transcurrido durante una<br />

ejecución <strong>de</strong> subrutina DII. El procesador<br />

compara cada valor <strong>de</strong> último escán DII (S:55)<br />

al valor <strong>de</strong> scán DII máximo contenido en<br />

S:56. Si el procesador <strong>de</strong>termina que el valor<br />

<strong>de</strong>l último escán DII es mayor que el valor<br />

almacenado en S:56, el valor <strong>de</strong>l último escán<br />

(S:55) se escribe a S:56, el cual así se<br />

convierte en el nuevo tiempo <strong>de</strong> escán DII<br />

máximo. La resolución <strong>de</strong> este valor es +0 a<br />

±1 ms.<br />

Interrogue este valor usando una función <strong>de</strong>l<br />

monitor <strong>de</strong> datos <strong>de</strong>l dispositivo <strong>de</strong><br />

programación si necesita <strong>de</strong>terminar o verificar<br />

el tiempo <strong>de</strong> escán más extenso <strong>de</strong>l programa.<br />

• •<br />

• •


Dirección Clasificación Descripción<br />

S:57 Estado Número <strong>de</strong> catálogo <strong>de</strong>l sistema <strong>de</strong> operación<br />

Indica el número <strong>de</strong> catálogo <strong>de</strong>l sistema <strong>de</strong><br />

operación. Por ejemplo, el valor <strong>de</strong> 300 indica<br />

el sistema <strong>de</strong> operación -OS300, el valor <strong>de</strong><br />

301 indica -OS301.<br />

S:58 Estado Serie <strong>de</strong>l sistema <strong>de</strong> operación<br />

Indica la serie <strong>de</strong>l sistema <strong>de</strong> operación. Por<br />

ejemplo, el valor <strong>de</strong> 0 indica una serie A y el<br />

valor <strong>de</strong> 1 indica una serie B.<br />

S:59 Estado FRN <strong>de</strong>l sistema <strong>de</strong> operación<br />

Indica el número <strong>de</strong> versión <strong>de</strong> firmware <strong>de</strong>l<br />

sistema <strong>de</strong> operación. Por ejemplo, el valor<br />

<strong>de</strong> 1 indica FRN1 y el valor <strong>de</strong> 2 indica FRN2.<br />

S:60 Estado Número <strong>de</strong> catálogo <strong>de</strong>l procesador<br />

Indica el número <strong>de</strong> catálogo <strong>de</strong>l procesador.<br />

Por ejemplo, el valor <strong>de</strong> 523 indica -L532 y el<br />

valor <strong>de</strong> 534 indica -L534.<br />

S:61 Estado Serie <strong>de</strong>l procesador<br />

Indica la serie <strong>de</strong>l procesador. Por ejemplo, el<br />

valor <strong>de</strong> 0 indica la serie A y el valor <strong>de</strong> 1<br />

indica la serie B.<br />

S:62 Estado Revisión <strong>de</strong>l procesador<br />

Indica la revisión <strong>de</strong>l procesador. Por ejemplo,<br />

el valor <strong>de</strong> 1 indica REV1 y el valor <strong>de</strong> 2 indica<br />

REV2.<br />

S:63 Estado Tipo <strong>de</strong> programa <strong>de</strong> usuario<br />

Indica el dispositivo <strong>de</strong> programación que creó<br />

el programa <strong>de</strong> usuario.<br />

S:64 Estado Indice <strong>de</strong> funcionabilidad <strong>de</strong>l programa <strong>de</strong><br />

usuario<br />

Indica el nivel <strong>de</strong> funcionabilidad contenido en<br />

un tipo <strong>de</strong> programa <strong>de</strong>terminado.<br />

S:65 Estado Tamaño <strong>de</strong> RAM <strong>de</strong> usuario<br />

Indica el tamaño <strong>de</strong> NVRAM en palabras <strong>de</strong><br />

instrucción. Por ejemplo, el valor 64 es igual a<br />

palabras <strong>de</strong> instrucción <strong>de</strong> 64 K <strong>de</strong> NVRAM.<br />

(Se aplica a los procesadores <strong>SLC</strong> 5/03<br />

OS302 y <strong>SLC</strong> 5/04 OS401.)<br />

S:66 Estado Tamaño <strong>de</strong> Flash EEPROM<br />

Indica el tamaño <strong>de</strong> memoria <strong>de</strong>l sistema<br />

operativo en miles (K) <strong>de</strong> palabras <strong>de</strong> 16 bits.<br />

Por ejemplo, el valor <strong>de</strong> 128 es igual a 128 K<br />

palabras <strong>de</strong> memoria.<br />

Fijo,<br />

5/01<br />

Archivo <strong>de</strong> estado <strong>SLC</strong><br />

5/02 5/03 5/04<br />

• •<br />

• •<br />

• •<br />

• •<br />

• •<br />

• •<br />

• •<br />

• •<br />

• •<br />

• •<br />

B–73


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Dirección Clasificación Descripción<br />

B–74<br />

Fijo,<br />

5/01<br />

5/02 5/03 5/04<br />

S:67 y S:68 Estado Canal 0 <strong>de</strong> nodos activos DH-485 • •<br />

S:69 a S:82 NA Tabla <strong>de</strong> nodo activo <strong>de</strong> half duplex DF1 • •<br />

S:83 a S:86 Estado Canal 1 <strong>de</strong> nodos activos DH+<br />

Estas 4 palabras son mapeadas con bits para<br />

representar los 64 nodos posibles en una red<br />

DH+. S:83 a S:86/15 representan direcciones <strong>de</strong><br />

nodo 0–63 (0–77 octal). Estos bits son<br />

establecidos por el procesador cuando existe un<br />

nodo en la red DH+ a la cual está conectado el<br />

procesador. Estos bits se ponen a cero cuando<br />

un nodo no está presente en la red.<br />

Note que S:34/1 se <strong>de</strong>be establecer a fin que<br />

las palabras anteriores funcionen.<br />

S:87 a S:96 NA Reservado •<br />

S:97 a S: 98 NA Reservado (se aplica los procesadores <strong>SLC</strong><br />

5/04 OS401)<br />

S:99 Configuración<br />

dinámica<br />

S:100 a<br />

S:163<br />

Configuración<br />

estática<br />

Palabra <strong>de</strong> estado global (<strong>SLC</strong> 5/04 OS401<br />

solamente)<br />

Los datos colocados en esta ubicación <strong>de</strong><br />

memoria se transmiten como la palabra <strong>de</strong><br />

estado global <strong>de</strong>l procesador y se envían a<br />

todos los otros dispositivos en la red DH+<br />

cada vez que el procesador pasa el testigo<br />

DH+.<br />

Archivo <strong>de</strong> estado global (<strong>SLC</strong> 5/04 OS401<br />

solamente)<br />

Cuando un procesador pasa el testigo DH+ al<br />

próximo nodo, también envía una palabra <strong>de</strong> 16<br />

bits llamada la palabra <strong>de</strong> estado global (S:99 y<br />

posteriores). Todos los nodos en la red leen la<br />

palabra <strong>de</strong> estado global transmitida por cada<br />

procesador y guardan la palabra en memoria.<br />

Cada procesador tiene una tabla (archivo <strong>de</strong><br />

estado global) en memoria don<strong>de</strong> se<br />

almacenan las palabras <strong>de</strong> estado global <strong>de</strong> los<br />

otros procesadores. Esta tabla se actualiza<br />

completamente durante cada rotación <strong>de</strong><br />

testigo. (Ejemplo: La palabra <strong>de</strong>s<strong>de</strong> el nodo “x”<br />

se coloca en S:100 + x.)<br />

Usted pue<strong>de</strong> usar el archivo <strong>de</strong> estado global<br />

como mensaje <strong>de</strong> difusión <strong>de</strong> alta velocidad<br />

para el paso <strong>de</strong> estado y sincronización <strong>de</strong> los<br />

procesadores.<br />

•<br />

•<br />


Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

C Uso <strong>de</strong> memoria y tiempos <strong>de</strong><br />

ejecución <strong>de</strong> instrucción<br />

Este apéndice proporciona:<br />

• palabras <strong>de</strong> instrucción y tiempos <strong>de</strong> ejecución <strong>de</strong> instrucción para los<br />

controladores <strong>MicroLogix</strong> 1000<br />

• palabras <strong>de</strong> instrucción y tiempos <strong>de</strong> ejecución <strong>de</strong> instrucción para los<br />

procesadores compactos, <strong>SLC</strong> 5/01, <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04<br />

• ejemplos <strong>de</strong> cómo estimar el uso total <strong>de</strong> memoria <strong>de</strong>l sistema para los<br />

controladores <strong>MicroLogix</strong> 1000 y todos los procesadores <strong>SLC</strong><br />

Si usted <strong>de</strong>sear usar:<br />

Vea la<br />

página:<br />

Los controladores <strong>MicroLogix</strong> 1000 C–2<br />

El procesador compacto o<br />

<strong>SLC</strong> 5/01<br />

C–9<br />

El procesador <strong>SLC</strong> 5/02 C–15<br />

El procesador <strong>SLC</strong> 5/03 C–22<br />

El procesador <strong>SLC</strong> 5/04 C–35<br />

C–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Tiempos <strong>de</strong> ejecución <strong>de</strong> instrucción y uso <strong>de</strong> memoria<br />

<strong>de</strong> instrucción<br />

Controladores <strong>MicroLogix</strong> 1000<br />

C–2<br />

Mnemónico<br />

La tabla siguiente lista los tiempos <strong>de</strong> ejecución y uso <strong>de</strong> memoria para las<br />

<strong>instrucciones</strong> <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000. Toda instrucción que tome más <strong>de</strong><br />

15 µs (tiempo <strong>de</strong> ejecución verda<strong>de</strong>ro o falso) para ejecutarse, crea una encuesta<br />

para las interrupciones <strong>de</strong> usuario.<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Tipo <strong>de</strong><br />

instrucción<br />

ADD 6.78 33.09 1.50 Añadir Matemática<br />

AND 6.78 34.00 1.50 Y Manejo <strong>de</strong> datos<br />

BSL 19.80<br />

BSR 19.80<br />

53.71 + 5.24 x<br />

valor <strong>de</strong> posición<br />

53.34 + 3.98 x<br />

valor <strong>de</strong> posición<br />

2.00<br />

2.00<br />

Desplazamiento<br />

<strong>de</strong> bit a la izq.<br />

Desplazamiento<br />

<strong>de</strong> bit a la <strong>de</strong>r.<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

CLR 4.25 20.80 1.00 Borrar Matemática<br />

COP 6.60 27.31 + 5.06/pal. 1.50 Copia <strong>de</strong> archivo Manejo <strong>de</strong> datos<br />

CTD 27.22 32.19 1.00 Conteo regresivo Básica<br />

CTU 26.67 29.84 1.00 Conteo progresivo Básica<br />

DCD 6.78 27.67 1.50<br />

Descodificar 4 a 1<br />

<strong>de</strong> 16<br />

Manejo <strong>de</strong> datos<br />

DDV 6.78 157.06 1.00 División doble Matemática<br />

DIV 6.78 147.87 1.50 División Matemática<br />

ENC 6.78 54.80 1.50<br />

Codificar (enco<strong>de</strong>)<br />

1 a 16 <strong>de</strong> 4<br />

Manejo <strong>de</strong> datos<br />

EQU 6.60 21.52 1.50 Igual Comparativa<br />

FFL 33.67 61.13 1.50 Carga FIFO Manejo <strong>de</strong> datos<br />

FFU 34.90<br />

73.78 + 4.34 x<br />

valor <strong>de</strong> posición<br />

1.50 Descarga FIFO Manejo <strong>de</strong> datos<br />

FLL 6.60 26.86 + 3.62/pal. 1.50 Llenar el archivo Manejo <strong>de</strong> datos<br />

FRD 5.52 56.88 1.00 Convertir <strong>de</strong> BCD Manejo <strong>de</strong> datos<br />

GEQ 6.60 23.60 1.50 Mayor o igual que Comparativa


Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Tipo <strong>de</strong><br />

instrucción<br />

GRT 6.60 23.60 1.50 Mayor que Comparación<br />

HSC 21.00 21.00 1.00<br />

HSD 7.00 8.00 1.25<br />

HSE 7.00 10.00 1.25<br />

HSL 7.00 66.00 1.50<br />

IIM 6.78 35.72 1.50<br />

INT 0.99 1.45 0.50<br />

IOM 6.78 41.59 1.50<br />

Contador <strong>de</strong> alta<br />

velocidad<br />

Inhab. <strong>de</strong> interrupción<br />

<strong>de</strong> contador<br />

<strong>de</strong> alta velocidad<br />

Hab. <strong>de</strong> interrupción<br />

<strong>de</strong> contador<br />

<strong>de</strong> alta velocidad<br />

Carga <strong>de</strong> contador<br />

<strong>de</strong> alta velocidad<br />

Entrada inmediata<br />

con máscara<br />

Subrutina <strong>de</strong><br />

interrupción<br />

Salida inmediata<br />

con máscara<br />

JMP 6.78 9.04 1.00 Saltar a etiqueta<br />

JSR 4.25 22.24 1.00 Saltar a subrutina<br />

LBL 0.99 1.45 0.50 Etiqueta<br />

Contador <strong>de</strong> alta<br />

velocidad<br />

Contador <strong>de</strong> alta<br />

velocidad<br />

Contador <strong>de</strong> alta<br />

velocidad<br />

Contador <strong>de</strong> alta<br />

velocidad<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Específico a la<br />

aplicación<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

LEQ 6.60 23.60 1.50 Menor o igual que Comparativa<br />

LES 6.60 23.60 1.50 Menor que Comparativa<br />

LIM 7.69 36.93 1.50 Prueba lím Comparativa<br />

LFL 33.67 61.13 1.50 Carga LIFO Manejo <strong>de</strong> datos<br />

LFU 35.08 64.20 1.50 Descarga LIFO Manejo <strong>de</strong> datos<br />

MCR 4.07 3.98 0.50<br />

MEQ 7.69 28.39 1.50<br />

Restablecimiento<br />

control maestro<br />

Comparación con<br />

máscara para<br />

igual<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Comparativa<br />

MOV 6.78 25.05 1.50 Mover Manejo <strong>de</strong> datos<br />

MUL 6.78 57.96 1.50 Multiplicación Matemática<br />

C–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

C–4<br />

Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

MVM 6.78 33.28 1.50<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Mover con<br />

máscara<br />

Tipo <strong>de</strong><br />

instrucción<br />

Manejo <strong>de</strong> datos<br />

NEG 6.78 29.48 1.50 Cambio <strong>de</strong> signo Manejo <strong>de</strong> datos<br />

NEQ 6.60 21.52 1.50 Diferente Comparativa<br />

NOT 6.78 28.21 1.00 No Manejo <strong>de</strong> datos<br />

OR 6.78 33.68 1.50 O Manejo <strong>de</strong> datos<br />

OSR 11.48 13.02 1.00<br />

Un frente<br />

ascen<strong>de</strong>nte<br />

Básica<br />

OTE 4.43 4.43 0.75 Activación <strong>de</strong> salida Básica<br />

OTE<br />

(contador <strong>de</strong> alta<br />

velocidad)<br />

7.00 12.00 0.75<br />

Actual. <strong>de</strong> acum.<br />

<strong>de</strong> imagen <strong>de</strong><br />

contador alta vel.<br />

OTL 3.16 4.97 0.75 Enclav. <strong>de</strong> salida Básica<br />

OTU 3.16 4.97 0.75 Desenclav. salida Básica<br />

RAC 6.00 56.00 1.00<br />

RES (temporizador/<br />

contador)<br />

RES (contador <strong>de</strong><br />

alta velocidad)<br />

Acumulador <strong>de</strong><br />

restab. <strong>de</strong> contador<br />

<strong>de</strong> alta vel.<br />

4.25 15.19 1.00 Restablecimiento Básica<br />

6.00 51.00 1.00<br />

RET 3.16 31.11 0.50<br />

RTO 27.49 38.34 1.00<br />

Restabl. <strong>de</strong>l contador<br />

<strong>de</strong> alta vel.<br />

Retorno <strong>de</strong><br />

subrutina<br />

Temporizador<br />

retentivo<br />

SBR 0.99 1.45 0.50 Subrutina<br />

Contador <strong>de</strong> alta<br />

velocidad<br />

Contador <strong>de</strong> alta<br />

velocidad<br />

Contador <strong>de</strong> alta<br />

velocidad<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Básica<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

SCL 6.78 169.18 1.75 Escalar datos Matemática<br />

SQC 27.40 60.52 2.00<br />

Secuenciador <strong>de</strong><br />

comparación<br />

SQL 28.12 53.41 2.00 Carga sec.<br />

SQO 27.40 60.52 2.00<br />

Secuenciador <strong>de</strong><br />

salida<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

SQR 6.78 71.25 1.25 Raíz cuadrada Matemática


Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

STD 3.16 6.69 0.50 Desactivar STI<br />

STE 3.16 10.13 0.50 Activar STI<br />

STS 6.78 24.59 1.25 Comenzar STI<br />

Tipo <strong>de</strong><br />

instrucción<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

SUB 6.78 33.52 1.50 Resta Matemática<br />

SUS 7.87 10.85 1.50 Suspend<br />

TND 3.16 7.78 0.50 Fin temporal<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

TOD 6.78 49.64 1.00 Convertir a BCD Manejo <strong>de</strong> datos<br />

TOF 31.65 39.42 1.00<br />

TON 30.38 38.34 1.00<br />

XIC 1.72 1.54 0.75<br />

Temporizador a la<br />

<strong>de</strong>sconexión<br />

Temporizador a la<br />

conexión<br />

Examina si<br />

cerrado<br />

Básica<br />

Básica<br />

Básica<br />

XIO 1.72 1.54 0.75 Examina si abierto Básica<br />

XOR 6.92 33.64 1.50<br />

Latencia <strong>de</strong> interrupción <strong>de</strong> usuario<br />

Operación O<br />

esclusiva<br />

Manejo <strong>de</strong> datos<br />

La latencia <strong>de</strong> interrupción <strong>de</strong> usuario es el tiempo máximo transcurrido <strong>de</strong>s<strong>de</strong> el<br />

momento en que ocurre una condición <strong>de</strong> interrupción (por ejemplo, la STI caduca o<br />

la HSC preseleccionada se alcanza) hasta el momento en que la subrutina <strong>de</strong><br />

interrupción <strong>de</strong> usuario comience a ejecutarse (se asume la ausencia <strong>de</strong> otras<br />

condiciones <strong>de</strong> interrupción).<br />

Si usted se comunica con el controlador, la latencia <strong>de</strong> interrupción <strong>de</strong> usuario<br />

máxima es 872 µs. Si usted no se comunica con el controlador, la latencia <strong>de</strong><br />

interrupción <strong>de</strong> usuario máxima es 838 µs.<br />

C–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Cómo estimar el uso <strong>de</strong> memoria para el sistema <strong>de</strong> control <strong>MicroLogix</strong> 1000<br />

C–6<br />

Uso <strong>de</strong> memoria<br />

total:<br />

Uso <strong>de</strong> memoria total<br />

(<strong>de</strong> la suma anterior)<br />

Use lo siguiente para calcular el uso <strong>de</strong> memoria para el sistema <strong>de</strong> control<br />

<strong>MicroLogix</strong> 1000.<br />

Memoria total<br />

remanente:<br />

<br />

<br />

<br />

<br />

4. Determine el total <strong>de</strong> palabras <strong>de</strong> instrucción usadas<br />

por las <strong>instrucciones</strong> en el programa e introduzca el<br />

resultado. Refiérase a la tabla en la pág. C–2.<br />

5. Multiplique el no. total <strong>de</strong> renglones entre 0.75 e<br />

introduzca el resultado. No cuente los renglones<br />

END en cada archivo.<br />

6. Para contabilizar el overhead <strong>de</strong>l controlador,<br />

use 177.<br />

7. Para contabilizar los datos <strong>de</strong> aplicación,<br />

use 110.<br />

8. Sume los pasos 1–4. Este es el uso <strong>de</strong> memoria<br />

total estimado <strong>de</strong>l sistema <strong>de</strong> aplicación.<br />

Recuer<strong>de</strong> que se trata <strong>de</strong> un cálculo aproximado.<br />

Los programas reales compilados pue<strong>de</strong>n diferir<br />

un máximo <strong>de</strong> ±12%.<br />

9. Para <strong>de</strong>terminar la cantidad aproximada <strong>de</strong><br />

memoria que resta en el controlador que usted ha<br />

seleccionado, haga lo siguiente:<br />

Reste el uso <strong>de</strong> memoria total <strong>de</strong> 1024.<br />

El resultado <strong>de</strong> este cálculo será la memoria total<br />

aproximada remanente en el controlador<br />

seleccionado.<br />

Nota El uso <strong>de</strong> memoria calculado pue<strong>de</strong> variar <strong>de</strong>l<br />

programa real compilado en ±12%.


Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Hoja <strong>de</strong> trabajo <strong>de</strong> tiempo <strong>de</strong> ejecución <strong>de</strong>l controlador <strong>MicroLogix</strong> 1000<br />

2. Estime el tiempo <strong>de</strong> escán <strong>de</strong>l programa:<br />

Use esta hoja <strong>de</strong> trabajo para calcular el tiempo <strong>de</strong> ejecución <strong>de</strong>l programa <strong>de</strong><br />

escalera.<br />

A. Cuente el número <strong>de</strong> renglones <strong>de</strong> programa en el programa <strong>de</strong> escalera.<br />

B. Sume los tiempos <strong>de</strong> ejecución <strong>de</strong>l programa cuando todas las <strong>instrucciones</strong> sean verda<strong>de</strong>ras. Incluya<br />

rutinas <strong>de</strong> interrupción en este cálculo.<br />

3. Estime el tiempo <strong>de</strong> escán <strong>de</strong>l controlador:<br />

<br />

A. Sin comunicaciones, sume las secciones 1 y 2<br />

B. Con comunicaciones, sume las secciones 1 y 2 y multiplique por 1.05<br />

Procedimiento Tiempo <strong>de</strong> escán máx.<br />

1. Tiempo <strong>de</strong> escán <strong>de</strong> entrada, tiempo <strong>de</strong> escán <strong>de</strong> salida, tiempo <strong>de</strong> mantenimiento y forzados.<br />

4. Divida el tiempo <strong>de</strong> escán <strong>de</strong>l controlador entre 1000 para <strong>de</strong>terminar el tiempo <strong>de</strong> escán máx. en ms.<br />

_________ 210 µs<br />

_________<br />

_________ µs<br />

_________ µs<br />

_________ µs<br />

_________ ms<br />

Si una rubrutina se ejecuta más <strong>de</strong> una vez por escán, incluya el tiempo <strong>de</strong> escán <strong>de</strong> cada ejecución <strong>de</strong> subrutina.<br />

C–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Descripción general <strong>de</strong>l uso <strong>de</strong> memoria para los<br />

procesadores <strong>SLC</strong><br />

C–8<br />

Los controladores <strong>SLC</strong> <strong>500</strong> tienen las capacida<strong>de</strong>s <strong>de</strong> memoria <strong>de</strong> usuario<br />

siguientes:<br />

Tipo <strong>de</strong> procesador Tipo <strong>de</strong> controlador<br />

Compacto y <strong>SLC</strong> 5/01<br />

<strong>SLC</strong> 5/02<br />

<strong>SLC</strong> 5/03<br />

<strong>SLC</strong> 5/04<br />

Controladores <strong>de</strong> E/S fijos<br />

Controladores modulares<br />

<strong>1747</strong>-L511<br />

Controladores modulares<br />

<strong>1747</strong>-L524<br />

Controladores modulares<br />

<strong>1747</strong>-L532<br />

Controladores modulares<br />

<strong>1747</strong>-L541<br />

<strong>1747</strong>-L542<br />

<strong>1747</strong>-L543<br />

Capacidad <strong>de</strong> memoria <strong>de</strong><br />

usuario<br />

1024 palabras <strong>de</strong> instrucción<br />

4096 palabras <strong>de</strong> instrucción<br />

12,288 palabras<br />

20,480 palabras <br />

Cuando el programa <strong>de</strong> escalera es mayor que 12 K palabras, usted <strong>de</strong>be separar el programa en<br />

dos archivos. Se requieren un archivo principal (archivo 2) y por lo menos un archivo <strong>de</strong> subrutina<br />

(3–2155).<br />

Las <strong>de</strong>finiciones siguientes se aplican al calcular el uso <strong>de</strong> memoria:<br />

• compacto, <strong>SLC</strong> 5/02 y <strong>SLC</strong> 5/02 – 1 palabra <strong>de</strong> instrucción = 4 palabras <strong>de</strong><br />

datos = 8 bytes<br />

• <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 – 1 palabra <strong>de</strong> instrucción = 1 palabra <strong>de</strong> datos


Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Tiempos <strong>de</strong> ejecución <strong>de</strong> instrucción y uso <strong>de</strong> memoria<br />

<strong>de</strong> instrucción<br />

Procesadores fijos y <strong>SLC</strong> 5/01<br />

Mnemónico<br />

El número <strong>de</strong> palabras <strong>de</strong> instrucción usadas por una instrucción se indica en la tabla<br />

siguiente. Puesto que el programa es compilado por el programador, sólo es posible<br />

establecer cálculos aproximados para las palabras <strong>de</strong> instrucción usadas por las<br />

<strong>instrucciones</strong> individuales. El uso <strong>de</strong> memoria calculado generalmente es mayor<br />

que el uso <strong>de</strong> memoria real <strong>de</strong>bido a la optimización <strong>de</strong>l compilador.<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Tipo <strong>de</strong><br />

instrucción<br />

ADD 12 122 1.5 Suma Matemática<br />

AND 12 87 1.5 Operador lógico Manejo <strong>de</strong> datos<br />

BSL 12<br />

BSR 12<br />

144 + 24 por<br />

palabra<br />

134 + 24 por<br />

palabra<br />

2.00<br />

2.00<br />

Desplazamiento a<br />

la izquierda<br />

Desplazamiento a<br />

la <strong>de</strong>recha<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

CLR 12 40 1.00 Borrar Matemática<br />

COP 12<br />

45 + 21 por<br />

palabra<br />

1.50 Copiar archivo Manejo <strong>de</strong> datos<br />

CTD 12 111 1.00 Contador – Básica<br />

CTU 12 111 1.00 Contador + Básica<br />

DCD 12 80 1.50<br />

Descodificar 4 a 1<br />

<strong>de</strong> 16<br />

Manejo <strong>de</strong> datos<br />

DDV 12 650 1.00 Doble división Matemática<br />

DIV 12 400 1.50 División Matemática<br />

EQU 12 60 1.50 Igual Comparativa<br />

FLL 12<br />

37 + 14 por<br />

palabra<br />

1.50 Llenar archivo Manejo <strong>de</strong> datos<br />

FRD 12 223 1.00 Convertir <strong>de</strong> BCD Manejo <strong>de</strong> datos<br />

GEQ 12 60 1.50 Mayor o igual que Comparativa<br />

GRT 12 60 1.50 Mayor que Comparativa<br />

HSC 12 60 1.00<br />

Contador <strong>de</strong> alta<br />

velocidad<br />

Contador <strong>de</strong> alta<br />

velocidad<br />

C–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

C–10<br />

Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

IIM 12 372 1.50<br />

IOM 12 475 1.50<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Entrada inmediata<br />

con máscara<br />

Salida inmediata<br />

con máscara<br />

JMP 12 38 1.00 Saltar a etiqueta<br />

JSR 12 46 1.00 Salta a subrutina<br />

LBL 2 2 0.50 Etiqueta<br />

Tipo <strong>de</strong><br />

instrucción<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

LEQ 12 60 1.50 Menor o igual que Comparativa<br />

LES 12 60 1.50 Menor que Comparativa<br />

MCR 10 10 0.50<br />

MEQ 12 75 1.50<br />

Restablecimiento<br />

control maestro<br />

Comparación con<br />

máscara para igual<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Comparativa<br />

MOV 12 20 1.50 Mover Manejo <strong>de</strong> datos<br />

MUL 12 230 1.50 Multiplicación Matemática<br />

MVM 12 115 1.50<br />

Mover con<br />

máscara<br />

Manejo <strong>de</strong> datos<br />

NEG 12 110 1.50 Cambio <strong>de</strong> signo Manejo <strong>de</strong> datos<br />

NEQ 12 60 1.50 Diferente Comparativa<br />

NOT 12 66 1.00<br />

OR 12 87 1.50<br />

OSR 12 34 1.00<br />

OTE 18 18 0.75<br />

Operación Not<br />

lógico<br />

Operación O<br />

lógico<br />

Un frente<br />

ascen<strong>de</strong>nte<br />

Activación <strong>de</strong><br />

salida<br />

Manejo <strong>de</strong> datos<br />

Manejo <strong>de</strong> datos<br />

Básica<br />

Básico<br />

OTL 19 19 0.75 Enclav. salida Básico<br />

OTU 19 19 0.75 Desenclav. salida Básico<br />

RES 12 40 1.00 Restablecimiento Básico


Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

RET 12 34 0.50<br />

RTO 12 140 1.00<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Retorno <strong>de</strong><br />

subrutina<br />

Temporizador<br />

retentivo<br />

SBR 2 2 0.50 Subrutina<br />

SQC 12 225 2.00<br />

SQO 12 225 2.00<br />

Secuenciador <strong>de</strong><br />

comparación<br />

Secuenciador <strong>de</strong><br />

salida<br />

Tipo <strong>de</strong><br />

instrucción<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Básica<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

SUB 12 125 1.50 Resta Matemática<br />

SUS 12 12 1.50 Suspen<strong>de</strong>r<br />

TND 12 32 0.50 Fin temporal<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

TOD 12 200 1.00 Convertir a BCD Manejo <strong>de</strong> datos<br />

TOF 12 140 1.00<br />

TON 12 135 1.00<br />

XIC 4 4 1.00<br />

Temporizador a la<br />

<strong>de</strong>sconexión<br />

Temporizador a la<br />

conexión<br />

Examina si<br />

cerrado<br />

Básica<br />

Básica<br />

Básica<br />

XIO 4 4 1.00 Examina si abierto Básica<br />

XOR 12 87 1.50<br />

Ejemplo<br />

Operador O<br />

exclusivo<br />

Manejo <strong>de</strong> datos<br />

Estas <strong>instrucciones</strong> toman tiempo <strong>de</strong> ejecución cero si hay condiciones que las prece<strong>de</strong>n garantizando el estado <strong>de</strong>l<br />

renglón. La lógica <strong>de</strong> escalera se resuelve <strong>de</strong> izquierda a <strong>de</strong>recha. Las bifurcaciones se resuelven <strong>de</strong> arriba hacia<br />

abajo.<br />

Para el ejemplo <strong>de</strong> renglón siguiente:<br />

1) Si la instrucción 1 es falsa, las <strong>instrucciones</strong> 2, 3, 4,<br />

5, 6, 7 toman tiempo <strong>de</strong> ejecución cero.<br />

Tiempo <strong>de</strong> ejecución =<br />

4 + 18 = 22 microsegundos.<br />

2) Si la instrucción 1 es verda<strong>de</strong>ra, 2 es verda<strong>de</strong>ra y 5<br />

es verda<strong>de</strong>ra, entonces las <strong>instrucciones</strong> 3, 4, 5, 7<br />

toman tiempo <strong>de</strong> ejecución cero. Tiempo <strong>de</strong><br />

ejecución = 4 = 4 = 4 = 18 = 30 microsegundos.<br />

1<br />

] [<br />

2<br />

] [<br />

3<br />

] [<br />

4<br />

] [<br />

5<br />

] [<br />

6<br />

] [<br />

7<br />

] [<br />

8<br />

( )<br />

C–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Cómo estimar el uso <strong>de</strong> memoria total <strong>de</strong>l sistema usando un procesador<br />

compacto o <strong>SLC</strong> 5/01<br />

Total:<br />

C–12<br />

1. Calcule el total <strong>de</strong> palabras <strong>de</strong> instrucción usadas por las <strong>instrucciones</strong> en el<br />

programa e introduzca el resultado. Refiérase a la tabla en la página C–9.<br />

2. Multiplique el no. total <strong>de</strong> renglones por .375 e introduzca el resultado.<br />

3. Multiplique el no. total <strong>de</strong> palabras <strong>de</strong> datos (excluyendo las palabras <strong>de</strong>l archivo<br />

<strong>de</strong> estado y datos <strong>de</strong> E/S) por .25 e introduzca el resultado.<br />

4. Añada 1 palabra por cada archivo <strong>de</strong> tabla <strong>de</strong> datos e introduzca el resultado.<br />

5. Multiplique por 2 el archivo <strong>de</strong> programa con el no. más alto usado e introduzca<br />

el resultado.<br />

6. Multiplique por .75 el no. total <strong>de</strong> palabras <strong>de</strong> datos <strong>de</strong> E/S e introduzca el<br />

resultado.<br />

7. Multiplique el no. total <strong>de</strong> ranuras <strong>de</strong> E/S, usadas o no usadas, por .75 e<br />

introduzca el resultado.<br />

8. Para contabilizar el overhead <strong>de</strong>l procesador, introduzca 65 si usted usa un<br />

controlador fijo; introduzca 67 si usa un <strong>1747</strong>-L511 ó <strong>1747</strong>-L514.<br />

9. Sume los pasos 1 a 8. Este es el uso <strong>de</strong> memoria total aproximado <strong>de</strong>l sistema <strong>de</strong><br />

aplicación. Recuer<strong>de</strong> que se trata <strong>de</strong> un cálculo aproximado. Los programas<br />

reales compilados podrían diferir ±12%.<br />

10. Si usted <strong>de</strong>sea <strong>de</strong>terminar la cantidad <strong>de</strong> memoria aproximada remanente en el<br />

procesador que ha seleccionado, haga lo siguiente:<br />

Si usa un controlador compacto ó <strong>1747</strong>-L511, reste el total <strong>de</strong> 1024. Si usa un<br />

<strong>1747</strong>-L514, reste el total <strong>de</strong> 4096.<br />

El resultado <strong>de</strong> este cálculo será la memoria total aproximada remanente en el<br />

procesador seleccionado.<br />

Nota El uso <strong>de</strong> memoria calculado pue<strong>de</strong> diferir <strong>de</strong>l programa compilado real en ±12%.


Ejemplo<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Continuación <strong>de</strong> procesadores fijos y <strong>SLC</strong> 5/01<br />

Controlador <strong>de</strong> E/S fijo L20B<br />

42 XIC y XIO 42 x 1.00 = 42.00<br />

10 <strong>instrucciones</strong> OTE 10 x 0.75 = 7.50<br />

10 <strong>instrucciones</strong> TON 10 x 1.00 = 10.00<br />

1 instrucción CTU 1 x 1.00 = 1.00<br />

1 instrucción RES 1 x 1.00 = 1.00<br />

Uso <strong>de</strong> <strong>instrucciones</strong> 61.50<br />

21 renglones 21 x.375 = 7.87<br />

37 palabras <strong>de</strong> datos 37 x.250 = 9.25<br />

Total <strong>de</strong>l programa <strong>de</strong> usuario 78.62<br />

2 palabras <strong>de</strong> datos <strong>de</strong> E/S 2 x 0.75 = 1.50<br />

1 ranura 1 x 0.75 = 0.75<br />

Overhead 65.00<br />

Total <strong>de</strong> configuración <strong>de</strong> E/S 67.25<br />

Uso <strong>de</strong> memoria total estimado: 145.87<br />

(redon<strong>de</strong>e a 146)<br />

1024 – 146 = 878 palabras <strong>de</strong> instrucción<br />

remanentes en el procesador<br />

C–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Continuación <strong>de</strong> procesadores fijos y <strong>SLC</strong> 5/01<br />

Ejemplo<br />

C–14<br />

Procesador <strong>1747</strong>-L514, configuración <strong>de</strong> 30 ranuras, (15) 1746-IA16, (10) 1746-OA8, (1)<br />

configuración completa <strong>1747</strong>-DCM, (1) 1746-NI4, (1) 1746-NIO41<br />

50 XIC y XIO 50 x 1.00 = 50.00<br />

15 <strong>instrucciones</strong> OTE 15 x 0.75 = 11.25<br />

5 <strong>instrucciones</strong> TON 5 x 1.00 = 5.00<br />

3 <strong>instrucciones</strong> GRT 3 x 1.50 = 4.50<br />

1 instrucción SCL 1 x 1.75 = 1.75<br />

1 instrucción TOD 1 x 1.00 = 1.00<br />

3 <strong>instrucciones</strong> MOV 3 x 1.50 = 4.50<br />

10 <strong>instrucciones</strong> CTU 10 x 1.00 = 10.00<br />

10 <strong>instrucciones</strong> RES 10 x 1.00 = 10.00<br />

Uso <strong>de</strong> <strong>instrucciones</strong> 98.00<br />

30 renglones 30 x 0.375 = 11.25<br />

100 palabras <strong>de</strong> datos 100 x 0.25 = 25.00<br />

10 es el no. <strong>de</strong> archivo <strong>de</strong> tabla<br />

<strong>de</strong> datos más alto 10 x 1 = 10.00<br />

4 es el no. <strong>de</strong> archivo <strong>de</strong> programa<br />

más alto 4 x 2 = 8.00<br />

Total <strong>de</strong>l programa <strong>de</strong> usuario 163.50<br />

49 palabras <strong>de</strong> datos <strong>de</strong> E/S 49 x 0.75 = 36.75<br />

30 ranuras 30 x 0.75 = 22.50<br />

Overhead 67.00<br />

Total <strong>de</strong> configuración <strong>de</strong> E/S 126.25<br />

Uso <strong>de</strong> memoria total estimado: 289.75<br />

(redon<strong>de</strong>e a 290)<br />

4096 – 290 = 3806 palabras <strong>de</strong> instrucción que<br />

restan en el procesador


Procesador <strong>SLC</strong> 5/02<br />

Mnemónico<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

El número <strong>de</strong> palabras <strong>de</strong> instrucción usadas por una instrucción se indica en la tabla<br />

siguiente. Ya que el programa es compilado por el programador, sólo es posible<br />

establecer cálculos aproximados para las palabras <strong>de</strong> instrucción usadas por las<br />

<strong>instrucciones</strong> individuales. El uso <strong>de</strong> memoria calculado generalmente es mayor<br />

que el uso <strong>de</strong> memoria real <strong>de</strong>bido a la optimización <strong>de</strong>l compilador.<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Tipo <strong>de</strong><br />

instrucción<br />

ADD 7 76 1.5 Suma Matemática<br />

AND 7 55 1.5 Operdor Y lógico Manejo <strong>de</strong> datos<br />

BSL 36 89 +14 por pal. 2.00<br />

BSR 36 83 +14 por pal. 2.00<br />

Desplazamiento a<br />

la izquierda<br />

Desplazamiento a<br />

la <strong>de</strong>recha<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

CLR 7 26 1.00 Borrar Matemática<br />

COP 7 29 + 13 por pal. 1.50 Copiar archivo Manejo <strong>de</strong> datos<br />

CTD 7 69 1.00 Conteo – Básica<br />

CTU 7 69 1.00 Conteo + Básica<br />

DCD 7 50 1.50<br />

Descodificar 4 a 1<br />

<strong>de</strong> 16<br />

Manejo <strong>de</strong> datos<br />

DDV 7 392 1.00 Doble división Matemática<br />

DIV 7 242 1.50 División Matemática<br />

EQU 38 38 1.50 Igual Comparativa<br />

FFL 51 150 1.50 Carga FIFO Manejo <strong>de</strong> datos<br />

FFU 51<br />

150 +11 x valor <strong>de</strong><br />

posición<br />

1.50 Descarga FIFO Manejo <strong>de</strong> datos<br />

FLL 7 25 + 8 por pal. 1.50 Llenar archivo Manejo <strong>de</strong> datos<br />

FRD 7 136 1.00 Convertir <strong>de</strong> BCD Manejo <strong>de</strong> datos<br />

GEQ 38 38 1.50 Mayor o igual que Comparativa<br />

GRT 38 38 1.50 Mayor que Comparativa<br />

IID 7 39 1.25<br />

Interrupción <strong>de</strong><br />

E/S inhabilitar<br />

Comprensión <strong>de</strong><br />

las rutinas <strong>de</strong><br />

interrupción<br />

C–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

C–16<br />

Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

IIE 7 42 1.25<br />

IIM 1 340 1.50<br />

INT 0 0 0.50<br />

IOM 7 465 1.50<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Interrupción <strong>de</strong><br />

E/S habilitar<br />

Entrada inmediata<br />

con máscara<br />

Subrutina <strong>de</strong><br />

interrupción<br />

Salida inmediata<br />

con máscara<br />

JMP 7 23 1.00 Saltar a etiqueta<br />

JSR 7 28 1.00 Saltar a subrutina<br />

LBL 1 4 0.50 Etiqueta<br />

Tipo <strong>de</strong><br />

instrucción<br />

Comprensión <strong>de</strong><br />

las rutinas <strong>de</strong><br />

interrupción<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Específico a la<br />

aplicación<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

LEQ 38 38 1.50 Menor o igual que Comparativa<br />

LES 38 38 1.50 Menor que Comparativa<br />

LIM 7 150 1.50 Prueba lím Comparativa<br />

LFL 51 180 1.50 Carga LIFO Manejo <strong>de</strong> datos<br />

LFU 51 45 1.50 Descarga LIFO Manejo <strong>de</strong> datos<br />

MCR 6 6 0.50<br />

MEQ 7 47 1.50<br />

Restablecimiento<br />

control maestro<br />

Comparación con<br />

máscara para<br />

igual<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Comparativa<br />

MOV 7 14 1.50 Mover Manejo <strong>de</strong> datos<br />

MSG 48 180 34.75 Mensaje Comunicación<br />

MUL 7 140 1.50 Multiplicación Matemática<br />

MVM 7 71 1.50<br />

Mover con<br />

máscara<br />

Manejo <strong>de</strong> datos<br />

NEG 7 68 1.50 Cambio <strong>de</strong> signo Manejo <strong>de</strong> datos<br />

NEQ 38 38 1.50 Diferente Comparativa


Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

NOT 7 42 1.00<br />

OR 7 55 1.50<br />

OSR 11 20 1.00<br />

OTE 11 11 0.75<br />

OTL 11 11 0.75<br />

OTU 11 11 0.75<br />

PID 90 3600 23.25<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Operador Not<br />

lógico<br />

Operador O<br />

inclusivo<br />

Un frente<br />

ascen<strong>de</strong>nte<br />

Activación <strong>de</strong><br />

salida<br />

Enclavamiento <strong>de</strong><br />

salida<br />

Desenclavamiento<br />

<strong>de</strong> salida<br />

Derivada<br />

proporcional<br />

REF 4 240 + 180 por pal. 0.50 Regenerar<br />

Tipo <strong>de</strong><br />

instrucción<br />

Manejo <strong>de</strong> datos<br />

Manejo <strong>de</strong> datos<br />

Básica<br />

Básica<br />

Básica<br />

Básica<br />

RES 7 26 1.00 Restablecimiento Básica<br />

RET 7 20 0.50<br />

RPI 7 240 1.25<br />

RTO 30 30 1.00<br />

Retorno <strong>de</strong><br />

subrutina<br />

Restablecer<br />

interrupción<br />

pendiente<br />

Temporizador<br />

retentivo<br />

SBR 1 4 0.50 Subrutina<br />

PID<br />

Comprensión <strong>de</strong><br />

las rutinas <strong>de</strong><br />

interrupción<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Comprensión <strong>de</strong><br />

las rutinas <strong>de</strong><br />

interrupción<br />

Básica<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

SCL 7 480 1.75 Escalar datos Matemática<br />

SQC 36 137 2.00<br />

SQL 36 135 2.00<br />

Secuenciador <strong>de</strong><br />

comparación<br />

Carga <strong>de</strong><br />

secuenciador<br />

Específico a la<br />

aplicación<br />

Específico a la<br />

aplicación<br />

C–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

C–18<br />

Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

SQO 36 137 2.00<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Secuenciador <strong>de</strong><br />

salida<br />

Tipo <strong>de</strong><br />

instrucción<br />

Específica a la<br />

aplicación<br />

SQR 7 162 1.25 Raíz cuadrada Matemática<br />

STD 4 9 0.50 Desactivar STI<br />

STE 4 9 0.50 Activar STI<br />

STS 7 72 1.25 Comenzar STI<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

Específicoaa la<br />

aplicación<br />

SUB 7 77 1.50 Resta Matemática<br />

SUS 7 7 1.50 Suspend<br />

SVC 4 240<br />

Servicio <strong>de</strong><br />

comunicaciones<br />

TND 7 22 0.50 Fin temporal<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Comunicación<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

TOD 7 122 1.00 Convertir a BCD Manejo <strong>de</strong> datos<br />

TOF 36 86 1.00<br />

TON 36 83 1.00<br />

Temporizador a la<br />

<strong>de</strong>sconexión<br />

Temporizador a la<br />

conexión<br />

Básica<br />

Básica<br />

XIC 2.40 2.4 1.00 Examina si cerrado Básica<br />

XIO 2.40 2.4 1.00 Examina si abierto Básica<br />

XOR 7 55 1.50 Oper. O exclusivo Manejo <strong>de</strong> datos<br />

Ejemplo<br />

Estas <strong>instrucciones</strong> toman tiempo <strong>de</strong> ejecución cero si hay condiciones que las prece<strong>de</strong>n garantizando el estado <strong>de</strong>l<br />

renglón. La lógica <strong>de</strong> renglón se resuelve <strong>de</strong> izquierda a <strong>de</strong>recha. Las bifurcaciones se resuelven <strong>de</strong>s<strong>de</strong> abajo<br />

hacia arriba.<br />

Esto incluye solamente la cantidad <strong>de</strong> tiempo requerida para “configurar” la operación solicitada. No incluye el<br />

tiempo necesario para dar servicio a las comunicaciones mismas.<br />

Para el ejemplo <strong>de</strong> renglón siguiente:<br />

1) Si la instrucción 1 es falsa, las <strong>instrucciones</strong> 2, 3, 4, 5, 6, 7<br />

toman tiempo <strong>de</strong> ejecución cero.<br />

Tiempo <strong>de</strong> ejecución = 2.4 + 11 = 13.4 microsegundos.<br />

2) Si la instrucción 1 es verda<strong>de</strong>ra, 2 es verda<strong>de</strong>ra y 6 es<br />

verda<strong>de</strong>ra, entonces las <strong>instrucciones</strong> 3, 4, 5, 7 toman<br />

tiempo <strong>de</strong> ejecución cero. Tiempo <strong>de</strong><br />

ejecución = 2.4 + 2.4 + 2.4 + 11 = 18.2 microsegundos.<br />

1<br />

] [<br />

2<br />

] [<br />

3<br />

] [<br />

4<br />

] [<br />

5<br />

] [<br />

6<br />

] [<br />

7<br />

] [<br />

8<br />

( )


Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/02<br />

Cómo estimar el uso <strong>de</strong> memoria total <strong>de</strong>l sistema usando un procesador<br />

<strong>SLC</strong> 5/02<br />

Total:<br />

1. Calcule el total <strong>de</strong> palabras <strong>de</strong> instrucción usadas por las <strong>instrucciones</strong> en el<br />

programa e introduzca el resultado. Refiérase a la tabla en la pág. C–15.<br />

2. Multiplique el no. total <strong>de</strong> renglones por .375 e introduzca el resultado.<br />

3. Si usa un <strong>1747</strong>-L524 y ha habilitado el modo <strong>de</strong> prueba <strong>de</strong> un solo paso,<br />

multiplique el no. total <strong>de</strong> renglones por .375 e introduzca el resultado.<br />

4. Multiplique por .25 el no. total <strong>de</strong> palabras <strong>de</strong> datos (excluyendo las<br />

palabras <strong>de</strong>l archivo <strong>de</strong> estado y datos <strong>de</strong> E/S) e introduzca el resultado.<br />

5. Añada 1 palabra por cada archivo <strong>de</strong> tabla <strong>de</strong> datos usada e introduzca el<br />

resultado.<br />

6. Multiplique por 2 el archivo <strong>de</strong> programa con el no. más alto usado e<br />

introduzca el resultado.<br />

7. Multiplique por .75 el no. total <strong>de</strong> palabras <strong>de</strong> datos <strong>de</strong> E/S e introduzca el<br />

resultado.<br />

8. Multiplique por .75 el no. total <strong>de</strong> ranuras <strong>de</strong> E/S, usadas o no usadas, e<br />

introduzca el resultado.<br />

9. Para contabilizar el overhead <strong>de</strong>l procesador, introduzca 204.<br />

10. Sume los pasos 1 a 9. Este es el uso <strong>de</strong> memoria total estimado <strong>de</strong>l sistema<br />

<strong>de</strong> aplicación. Recuer<strong>de</strong> que se trata <strong>de</strong> un cálculo aproximado. Los<br />

programas compilados reales pue<strong>de</strong>n diferir en ±12%.<br />

11. Si usted <strong>de</strong>sea <strong>de</strong>terminar la cantidad <strong>de</strong> memoria aproximada remanente en<br />

el procesador que ha seleccionado, haga lo siguiente:<br />

Si usa un <strong>1747</strong>-L524, reste el total <strong>de</strong> 4096.<br />

El resultado <strong>de</strong> este cálculo será la memoria total aproximada remanente en<br />

el procesador seleccionado.<br />

Nota El uso <strong>de</strong> memoria calculado pue<strong>de</strong> diferir <strong>de</strong>l programa compilado real en ±12%.<br />

C–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/02<br />

Ejemplo<br />

C–20<br />

Procesador <strong>1747</strong>-L524 <strong>de</strong> serie C, configuración <strong>de</strong> 30 ranuras, (15)<br />

1746-IA16,(10) 1746-OA8, (1) <strong>1747</strong>-DCM <strong>de</strong> configuración completa, (1)<br />

1746-NI4, (1) 1746-NIO4I<br />

50 XIC y XIO 50 x 1.00 = 50.00<br />

15 <strong>instrucciones</strong> OTE 15 x 0.75 = 11.25<br />

5 <strong>instrucciones</strong> TON 5 x 1.00 = 5.00<br />

3 <strong>instrucciones</strong> GRT 3 x 1.50 = 4.50<br />

1 instrucción SCL 1 x 1.75 = 1.75<br />

1 instrucción TOD 1 x 1.00 = 1.00<br />

3 <strong>instrucciones</strong> MOV 3 x 1.50 = 4.50<br />

10 <strong>instrucciones</strong> CTU 10 x 1.00 = 10.00<br />

10 <strong>instrucciones</strong> RES 10 x 1.00 = 10.00<br />

Uso <strong>de</strong> instrucción 98.00<br />

30 renglones 30 x 0.375 = 11.25<br />

100 palabras <strong>de</strong> datos 100 x 0.25 = 25.00<br />

10 es el no. <strong>de</strong> archivo <strong>de</strong><br />

tabla <strong>de</strong> datos más alto 10 x 1 = 10.00<br />

4 es el no. <strong>de</strong> archivo <strong>de</strong><br />

programa más alto 4 x 2 = 8.00<br />

Total <strong>de</strong>l programa <strong>de</strong> usuario 163.50<br />

49 palabras <strong>de</strong> datos <strong>de</strong> E/S 49 x 0.75 = 36.75<br />

30 ranuras 30 x 0.75 = 22.50<br />

Overhead 204.00<br />

Total <strong>de</strong> configuración <strong>de</strong> E/S 263.25<br />

Uso <strong>de</strong> memoria total estimado: 426.75<br />

(redon<strong>de</strong>e a 427)<br />

4096 – 427 = 3669 palabras <strong>de</strong> instrucción<br />

remanentes en el procesador


Instrucciones que tienen direcciones in<strong>de</strong>xadas<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/02<br />

Por cada operando que tienen una dirección in<strong>de</strong>xada, añada 30 microsegundos al<br />

tiempo <strong>de</strong> ejecución <strong>de</strong> una instrucción verda<strong>de</strong>ra. Por ejemplo, si una instrucción<br />

MOV tiene una dirección in<strong>de</strong>xada para la fuente y el <strong>de</strong>stino, el tiempo <strong>de</strong><br />

ejecución cuando la instrucción es verda<strong>de</strong>ra es 14 + 30 + 30 = 74 microsegundos.<br />

Instrucciones que tienen direcciones <strong>de</strong> archivo <strong>de</strong> datos M0 y M1<br />

Ejemplo<br />

Por cada instrucción <strong>de</strong> bit o palabra, añada 1157 microsegundos al tiempo <strong>de</strong><br />

ejecución. Por cada instrucción <strong>de</strong> palabras múltiples, añada 950 microsegundos<br />

más 400 microsegundos por palabra.<br />

M0:2.1<br />

] [<br />

1<br />

M1:3.1<br />

]/[<br />

1<br />

COP<br />

COPY FILE<br />

Source #B3:0<br />

Dest #M0:1.0<br />

Length 34<br />

M0:2.1<br />

( )<br />

10<br />

MOV<br />

MOVE<br />

Source M1:10.7<br />

Dest N7:10<br />

Por la instrucción <strong>de</strong> palabras múltiples anterior, añada 950 microsegundos más 400<br />

microsegundos por palabra. En este ejemplo, 34 palabras son copiadas <strong>de</strong>s<strong>de</strong> #B:3.0<br />

hacia M0:1.0. Añada 950 + (400 x 34) = 14550 microsegundos al tiempo <strong>de</strong><br />

ejecución listado en la página C–15. Esto resulta en una suma <strong>de</strong> 471 más 14550 =<br />

15021 microsegundos totales, o bien 15.0 milisegundos.<br />

C–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Procesador <strong>SLC</strong> 5/03<br />

C–22<br />

Mnemónico<br />

El número <strong>de</strong> palabras usadas por una instrucción se indica en la tabla siguiente.<br />

A<strong>de</strong>más, las <strong>instrucciones</strong> que tienen capacidad para el punto (coma) flotante<br />

aparecen en una nota al pie <strong>de</strong> la tabla. Cuando se usa un procesador <strong>SLC</strong> 5/03, es<br />

importante tener en mente que 1 palabra <strong>de</strong> instrucción es igual a 1 palabra <strong>de</strong> datos.<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

ABL 39.70 129.90 2.00<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Búfer <strong>de</strong> prueba<br />

para línea<br />

Tipo <strong>de</strong><br />

instrucción<br />

ABS 0.75 9.95 2.00 Absoluto Matemática<br />

ACB 39.70 140.7 2.00<br />

No. <strong>de</strong> caracteres<br />

en búfer<br />

ASCII<br />

ASCII<br />

ACI 0.22 86.62 2.00 Ca<strong>de</strong>na a entero ASCII<br />

ACL 0.22 367.50 2.00<br />

ACN 0.22 69.4 + (2.1/car.) 3.00<br />

Borrado <strong>de</strong>l búfer<br />

ASCII <strong>de</strong> recepción<br />

y/o transmisión<br />

Concatendado <strong>de</strong><br />

ca<strong>de</strong>nas<br />

ACS 0.75 510.85 2.00 Arco coseno Matemática<br />

ADD 0.75 1.70 3.00, 4.00 Suma Matemática<br />

AEX 0.22 56.2 + (4.7/car.) 4.00<br />

AHL 39.70 138.70 4.00<br />

Extracción <strong>de</strong><br />

ca<strong>de</strong>na<br />

Líneas <strong>de</strong><br />

comunica. ASCII<br />

ASCII<br />

ASCII<br />

ASCII<br />

ASCII<br />

AIC 0.22 103.40 2.00 Entero a ca<strong>de</strong>na ASCII<br />

AND 0.75 1.70 3.00 Operador Y lógico Manejo <strong>de</strong> datos<br />

ARD 39.70 181.8 3.00<br />

ARL 39.70 190.00 3.00<br />

ASC 0.22 53.4 + (1.8/car.) 4.00<br />

Lectura <strong>de</strong><br />

caracteres ASCII<br />

Lectura ASCII <strong>de</strong><br />

línea<br />

Búsqueda <strong>de</strong><br />

ca<strong>de</strong>na<br />

ASN 0.75 483.05 2.00 Arco seno Matemática<br />

ASR 0.22 49.69 3.00<br />

Comparación <strong>de</strong><br />

ca<strong>de</strong>nas<br />

ATN 0.75 387.05 2.00 Arco tangente Matemática<br />

ASCII<br />

ASCII<br />

ASCII<br />

ASCII


Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

AWA 39.7 365.50 3.00<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Escritura ASCII<br />

con anexo<br />

Tipo <strong>de</strong><br />

instrucción<br />

ASCII<br />

AWT 39.7 263.80 3.00 Escritura ASCII ASCII<br />

BSL 15.00 50 + (2.3/palabra) 3.00<br />

BSR 15.00 50 + (2.3/palabra) 3.00<br />

Desplazamiento a<br />

la izquierda<br />

Desplazamiento a<br />

la <strong>de</strong>recha<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

CLR 0.75 1.70 3.00, 1.00 Borrar Matemática<br />

COP 0.75 30 + (2.20/palabra) 3.00 Copiar archivo Manejo <strong>de</strong> datos<br />

COS 0.75 310.90 2.00 Coseno Matemática<br />

CPT 0.75 Calcular Matemática<br />

CTD 1.40 1.40 1.00 Conteo – Básica<br />

CTU 1.40 1.40 1.00 Conteo + Básica<br />

DCD 0.50 10.00 2.00<br />

Descodificar 4 a 1<br />

<strong>de</strong> 16<br />

Manejo <strong>de</strong> datos<br />

DDV 0.50 33.00 2.00 Doble división Matemática<br />

DEG 32.80 2.00 Grados Manejo <strong>de</strong> datos<br />

DIV 0.75 23.00 3.00, 4.00 División Matemática<br />

EQU 1.25 1.25 3.00 Igual Comparativa<br />

FFL 27.00 58.00 3.00 Carga FIFO Manejo <strong>de</strong> datos<br />

FFU 27.00 79 + (2.20/palabra) 4.00 Descarga FIFO Manejo <strong>de</strong> datos<br />

FLL 0.75 28 + (2.00/palabra) 3.00 Llenar archivo Manejo <strong>de</strong> datos<br />

FRD 0.50 31.00 2.00 Convertir <strong>de</strong> BCD Manejo <strong>de</strong> datos<br />

GEQ 1.25 1.25 3.00 Mayor o igual que Comparativa<br />

GRT 1.25 1.25 3.00 Mayor que Comparativa<br />

IID 0.50 0.60 2.00<br />

Interrupción <strong>de</strong><br />

E/S <strong>de</strong>sactiva<br />

Comprensión <strong>de</strong><br />

las rutinas <strong>de</strong><br />

interrupción<br />

C–23


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

C–24<br />

Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

IIE 0.50 16.00 2.00<br />

IIM 0.50 51.85 6.00<br />

INT 0.25 0.25 1.00<br />

IOM 0.50 70.90 6.00<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Interrupción <strong>de</strong><br />

E/S activa<br />

Entrada inmediata<br />

con máscara<br />

Subrutina <strong>de</strong><br />

interrupción<br />

Salida inmediata<br />

con máscara<br />

JMP 0.25 44.45 1.00 Saltar a etiqueta<br />

JSR 0.25 131.00 1.00 Saltar a subrutina<br />

LBL 0.25 0.25 2.00 Etiqueta<br />

Tipo <strong>de</strong><br />

instrucción<br />

Comprensión <strong>de</strong><br />

las rutinas <strong>de</strong><br />

interrupción<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Específico a la<br />

aplicación<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

LEQ 1.25 1.25 3.00 Menor o igual que Comparativa<br />

LES 1.25 1.25 3.00 Menor que Comparativa<br />

LFL 27.00 66.00 3.00 Carga LIFO Manejo <strong>de</strong> datos<br />

LFU 27.00 1.95 3.00 Descarga LIFO Manejo <strong>de</strong> datos<br />

LIM 1.95 58.00 1.00 Prueba lím Comparativa<br />

LN 0.75 392.00 2.00 Logaritmo natural Matemática<br />

LOG 0.75 390.80 2.00<br />

MCR 8.00 4.00 1.00<br />

MEQ 38.00 38.00 4.00<br />

Logaritmo en<br />

base 10<br />

Restablecimiento<br />

control maestro<br />

Comparación con<br />

máscara para<br />

igual<br />

Matemática<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Comparativa<br />

MOV 0.50 1.25 2.00 Mover Manejo <strong>de</strong> datos<br />

MSG 60.00 203.00 20.00 Mensaje Comunicación<br />

MUL 0.75 20.00 3.00 Multiplicación Matemática<br />

MVM 0.75 19.00 3.00, 4.00<br />

Mover con<br />

máscara<br />

Manejo <strong>de</strong> datos


Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Tipo <strong>de</strong><br />

instrucción<br />

NEG 0.75 1.70 3.00 Cambio <strong>de</strong> signo Manejo <strong>de</strong> datos<br />

NEQ 1.25 1.25 3.00 Diferente Comparativa<br />

NOT 0.75 1.70 3.00<br />

OR 0.75 1.70 3.00<br />

OSR 12.00 10.80 2.00<br />

OTE 0.63 0.63 1.00<br />

OTL 0.63 0.63 1.00<br />

OTU 0.63 0.63 1.00<br />

PID 20.00 272.00 26.00<br />

Operador Not<br />

lógico<br />

Operador O<br />

inclusivo<br />

Un frente<br />

ascen<strong>de</strong>nte<br />

Activación <strong>de</strong><br />

salida<br />

Enclavamiento <strong>de</strong><br />

salida<br />

Desenclavamiento<br />

<strong>de</strong> salida<br />

Proporcional/<br />

integral/<strong>de</strong>rivada<br />

Manejo <strong>de</strong> datos<br />

Manejo <strong>de</strong> datos<br />

Básica<br />

Básica<br />

Básica<br />

Básica<br />

RAD 0.75 31.80 2.00 Radianes Manejo <strong>de</strong> datos<br />

REF 0.25 1.00 Regenerar<br />

RES 1.40 1.40 1.00 Restablecimiento Básica<br />

RET 0.25 23.00 1.00<br />

RPI 0.50 78 + (60/ranura) 2.00<br />

RTO 1.40 1.40 1.00<br />

Retorno <strong>de</strong><br />

subrutina<br />

Restabl. interrupción<br />

pendiente<br />

Temporizador<br />

retentivo<br />

SBR 0.25 0.25 1.00 Subrutina<br />

PID<br />

Comprensión <strong>de</strong><br />

rutinas <strong>de</strong> interrup.<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Comprensión <strong>de</strong><br />

rutinas <strong>de</strong> interrup.<br />

Básica<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

SCL 1.00 32.00 4.00 Escalar datos Matemática<br />

SCP 0.75 33.10 6.00<br />

Escalar con<br />

parámetros<br />

Matemática<br />

SIN 0.75 311.95 2.00 Seno Matemática<br />

SQC 13.00 60.00 5.00<br />

SQL 15.00 56.00 4.00<br />

Secuenciador <strong>de</strong><br />

comparación<br />

Carga<br />

secuenciador<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

C–25


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

C–26<br />

Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

SQO 15.00 70.00 5.00<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Secuenciador <strong>de</strong><br />

salida<br />

Tipo <strong>de</strong><br />

instrucción<br />

Específico a la<br />

aplicación<br />

SQR 0.50 32.00 2.00, 3.00 Raíz cuadrada Matemática<br />

STD 0.25 4.00 1.00 Desactivar STI<br />

STE 0.25 5.00 1.00 Activar STI<br />

STS 0.75 58.00 3.00 Comenzar STI<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

SUB 0.75 1.70 3.00 Resta Matemática<br />

SUS 0.50 12.00 2.00 Suspen<strong>de</strong>r<br />

SVC 0.25 1.00<br />

Servicio <strong>de</strong><br />

comunicaciones<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Comunicación<br />

SWP 0.75 24 + 13.09/palabra 2.00 Intercambiar Matemática<br />

TAN 0.75 406.35 2.00 Tangente Matemática<br />

TND 0.25 12.00 1.00 Fin temporal<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

TOD 0.50 38.00 2.00 Convertir a BCD Manejo <strong>de</strong> datos<br />

TOF 1.40 1.40 1.00<br />

TON 1.40 1.40 1.00<br />

Temporizador a la<br />

<strong>de</strong>sconexión<br />

Temporizador a la<br />

conexión<br />

Básica<br />

Básica<br />

XIC 0.44 0.44 1.00 Examina si cerrado Básica<br />

XIO 0.44 0.44 1.00 Examina si abierto Básica<br />

XOR 0.75 1.70 3.00 Oper. O exclusivo Manejo <strong>de</strong> datos<br />

XPY 0.75 699.30 3.00 X a la pot. <strong>de</strong> Y Matemática<br />

Para obtener el tiempo <strong>de</strong> ejecución total para una instrucción CPT, tome el tiempo <strong>de</strong> ejecución CPT más cada<br />

tiempo <strong>de</strong> ejecución <strong>de</strong> instrucción matemática adicional, más el número <strong>de</strong> <strong>instrucciones</strong> matemáticas multiplicados<br />

por 3.01. Por ejemplo, si una instrucción CPT llama una instrucción ADD y una instrucción SUB, el cálculo es: 8.8 +<br />

1.70 + 1.70 + 2(3.01) = 18.22<br />

Para calcular el uso <strong>de</strong> memoria, haga los siguiente: Tome 2 más el no. <strong>de</strong> palabras <strong>de</strong> instrucción para cada<br />

operación realizada más el no. <strong>de</strong> operaciones realizadas en el cálculo. Por ejemplo, 2 + ADD + SUB + 2 = 10.<br />

Estas <strong>instrucciones</strong> toman un tiempo <strong>de</strong> ejecución cero si hay condiciones que las prece<strong>de</strong>n garantizando el estado<br />

<strong>de</strong>l renglón. La lógica <strong>de</strong> renglón se resuelve <strong>de</strong> la izquierda a la <strong>de</strong>recha. Las bifurcaciones se resuelven <strong>de</strong> arriba<br />

hacia abajo.


Ejemplo<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

<br />

Esto sólo incluye la cantidad <strong>de</strong> tiempo necesaria para “configurar” la operación solicitada. No incluye el tiempo<br />

necesario para dar servicio a las comunicaciones mismas.<br />

<br />

Esta instrucción efectúa un final <strong>de</strong> escán completo. Esto incluye un escán <strong>de</strong> entrada/salida, servicio <strong>de</strong><br />

comunicación y limpieza. Vea la hoja <strong>de</strong> trabajo D en el apéndice ** para calcular el tiempo <strong>de</strong> ejecución real.<br />

<br />

canal 1 = 150 µs sin comandos pendientes<br />

canal 2 = 170 µs sin comandos pendientes<br />

Añada 1 ms por cada comando que ha recibido servicio.<br />

<br />

Los tiempos listados se aplican a los módulos <strong>de</strong> E/S discretas. Cuando usted use los módulos <strong>de</strong> E/S <strong>de</strong> 32<br />

puntos, añada los microsegundos siguientes a todas las operaciones IIM e IOM:<br />

• 15 µs IIM cuando es verda<strong>de</strong>ra<br />

• 30 µs IOM cuando es verda<strong>de</strong>ra<br />

<br />

Cuando usted use los módulos siguientes y la instrucción IIM en el programa, añada los<br />

microsegundos siguientes<br />

• Entradas <strong>de</strong>l módulo analógico o termopar, añada 450 a 550 µs<br />

• Entradas <strong>de</strong>l módulo BASIC, añada <strong>500</strong> a 550 µs<br />

• Otras entradas especiales, añada 425 a 957 µs<br />

<br />

Cuando usted use los módulos siguientes y la instrucción IOM en el programa, añada los<br />

microsegundos siguientes<br />

• Entradas <strong>de</strong>l módulo analógico o termopar, añada 390 a 416 µs<br />

• Entradas <strong>de</strong>l módulo BASIC, añada 440 a 466 µs<br />

• Otras entradas especiales, añada 590 a 989 µs<br />

Para el ejemplo <strong>de</strong> renglón siguiente:<br />

1) Si la instrucción 1 es falsa, las <strong>instrucciones</strong> 2, 3, 4, 5, 6, 7 toman un tiempo <strong>de</strong> ejecución cero.<br />

Tiempo <strong>de</strong> ejecución = .44 + .63 = 1.07 microsegundos.<br />

2) Si la instrucción 1 es verda<strong>de</strong>ra, 2 es verda<strong>de</strong>ra y 6 es verda<strong>de</strong>ra, entonces las <strong>instrucciones</strong> 3,<br />

4, 5, 7 toman un tiempo <strong>de</strong> ejecución <strong>de</strong> cero.<br />

Tiempo <strong>de</strong> ejecución = .44 + .44 + .44 + .63 = 1.95 microsegundos.<br />

1<br />

] [<br />

2<br />

] [<br />

3<br />

] [<br />

4<br />

] [<br />

5<br />

] [<br />

6<br />

] [<br />

7<br />

] [<br />

8<br />

( )<br />

C–27


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Tiempos <strong>de</strong> ejecución <strong>de</strong> punto (coma) flotante <strong>de</strong>l procesador <strong>SLC</strong> 5/03<br />

C–28<br />

Mnemónico<br />

Los tiempos <strong>de</strong> punto (coma) flotante se aplican a los procesadores <strong>SLC</strong> 5/03<br />

OS301 y OS302.<br />

Los tiempos matemáticos <strong>de</strong> punto (coma) flotante en la tabla siguiente se aplican<br />

cuando S:34/2 no es establecido. Cuando S:34/2 es establecido, los indicadores<br />

matemáticos se actualizan <strong>de</strong>spués <strong>de</strong> que la instrucción se ha ejecutado y 4–8 µs se<br />

aña<strong>de</strong>n al tiempo <strong>de</strong> ejecución. S:34/2 se pue<strong>de</strong> cambiar dinámicamente (es <strong>de</strong>cir,<br />

por el programa y mientras que el programa se ejecute). Por cada parámetro <strong>de</strong><br />

entero, añada 10 µs en consi<strong>de</strong>ración <strong>de</strong> la conversión <strong>de</strong> entero a punto (coma)<br />

flotante.<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Tipo <strong>de</strong><br />

instrucción<br />

ABS 0.75 5.20 2.00 Absoluto Matemática<br />

ADD 0.22 38.44 4.00 Suma Matemática<br />

CLR 0.22 6.62 1.00 Borrar Matemática<br />

DIV 0.22 57.56 4.00 División Matemática<br />

EQU 0.75 12.94 3.00 Igual Comparativa<br />

GEQ 0.75 14.81 3.00 Mayor o igual que Comparativa<br />

GRT 0.75 14.82 3.00 Mayor que Comparativa<br />

LEQ 0.75 13.19 3.00 Menor o igual que Comparativa<br />

LES 0.75 13.19 3.00 Menor que Comparativa<br />

LIM 0.75 22.81 1.00 Test lím Comparativa<br />

MOV 0.22 12.19 2.00 Mover Manejo <strong>de</strong> datos<br />

MUL 0.22 39.05 3.00 Multiplicación Matemática<br />

NEG 0.22 12.38 3.00 Cambiar el signo Manejo <strong>de</strong> datos<br />

NEQ 0.75 13.25 3.00 Diferente Comparativa<br />

SCP 0.75 196.10 6.00<br />

Escalar con<br />

parámetros<br />

Matemática<br />

SQR 0.22 70.00 3.00 Raíz cuadrada Matemática<br />

SUB 0.22 38.19 4.00 Resta Matemática<br />

Se aplica a los procesadores <strong>SLC</strong> 5/03 OS302 solamente.


Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Si usted necesita realizar operaciones con punto (coma) flotante usando una<br />

combinación <strong>de</strong> parámetros <strong>de</strong> punto (coma) flotante y enteros (valores y<br />

direcciones <strong>de</strong> fuente/<strong>de</strong>stino), calcule la cantidad <strong>de</strong> palabras <strong>de</strong> instrucción según<br />

las pautas siguientes:<br />

1. Comience con la cantidad <strong>de</strong> palabras para la instrucción <strong>de</strong>l punto (coma)<br />

flotante.<br />

2. Añada 2 palabras por el primer parámetro <strong>de</strong> entero (dirección <strong>de</strong> valor o<br />

fuente/<strong>de</strong>stino).<br />

3. Añada 1 palabra por cada parámetro <strong>de</strong> entero subsiguiente.<br />

Estas palabras adicionales son necesarias para las conversiones <strong>de</strong> entero a punto<br />

(coma) flotante.<br />

Por ejemplo, esta instrucción requiere 7 palabras <strong>de</strong> instrucción:<br />

ADD<br />

ADD<br />

Source A F8:8<br />

Source B N7:7<br />

Dest N7:10<br />

• 4 palabras por la instrucción ADD <strong>de</strong> punto (coma) flotante<br />

• +2 palabras por la dirección <strong>de</strong> entero N7:7<br />

• +1 palabra por la segunda dirección <strong>de</strong> entero N7:10<br />

C–29


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/03<br />

Cálculo aproximado <strong>de</strong>l uso <strong>de</strong> memoria <strong>de</strong>l sistema usando un procesador<br />

<strong>SLC</strong> 5/03<br />

Subtotal:<br />

Subtotal:<br />

C–30<br />

Total:<br />

4096<br />

–<br />

(paso 7)<br />

1. Añada el no. total <strong>de</strong> palabras <strong>de</strong> archivo <strong>de</strong> datos usadas (excluyendo las<br />

palabras <strong>de</strong>l archivo <strong>de</strong> estado y datos <strong>de</strong> E/S) e introduzca el resultado.<br />

2. Multiplique por 2 el no. total <strong>de</strong> palabras <strong>de</strong> datos <strong>de</strong> E/S e introduzca el<br />

resultado.<br />

3. Multiplique por 3 el no. total <strong>de</strong> ranuras <strong>de</strong> E/S, usadas o no usadas, e<br />

introduzca el resultado<br />

4. Para contabilizar el overhead <strong>de</strong>l procesador, introduzca 236 e introduzca<br />

el resultado.<br />

5. Multiplique por 5 el archivo <strong>de</strong> tabla <strong>de</strong> datos con el número más alto e<br />

introduzca el resultado.<br />

6. Multiplique por 5 el archivo <strong>de</strong> programa con el número más alto e<br />

introduzca el resultado.<br />

7. Sume los pasos 1 a 6. Introduzca esto como el subtotal (uso <strong>de</strong> palabra<br />

adicional <strong>de</strong> 4K).<br />

8. Reste el valor en el paso 7 <strong>de</strong> 4096; si el resultado es positivo, introduzca<br />

12,288 en el paso 14. Si el resultado es negativo, reste el valor absoluto <strong>de</strong><br />

12,288 e introduzca el resultado en el paso 14. (Esto disminuye el valor.)<br />

9. Calcule el no. total <strong>de</strong> palabras usadas por la instrucción en el programa e<br />

introduzca el resultado. Refiérase a la tabla en la página C–15.<br />

10. Añada el no. total <strong>de</strong> renglones (1 palabra por renglón) e introduzca<br />

el resultado.<br />

11. Añada 1 palabra por cada referencia <strong>de</strong> dirección in<strong>de</strong>xada e introduzca<br />

el resultado.<br />

12. Añada 2 palabras por renglón por cada renglón que contiene una referencia<br />

dirección in<strong>de</strong>xada e introduzca el resultado.<br />

13. Añada los pasos 9 a 12 e introduzca el resultado.<br />

14. Introduzca el resultado <strong>de</strong>l paso 8. Esta es la memoria disponible.<br />

15. Introduzca el resultado <strong>de</strong>l paso 13. Este es el número total <strong>de</strong> palabras<br />

usadas.<br />

16. Reste el paso 15 <strong>de</strong>l paso 14.<br />

Esta es la cantidad <strong>de</strong> memoria disponible en el sistema.


Ejemplo<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/03<br />

Procesador <strong>1747</strong>-L532, configuración <strong>de</strong> 30 ranuras, (15) 1746-IA16,<br />

(10) 1746-OA8, (1) <strong>1747</strong>-DCM <strong>de</strong> configuración completa, (1) 1746-NI4,<br />

(1) 1746-NIO4I<br />

100 palabras <strong>de</strong> datos 100 x 1.00 =100.00<br />

49 palabras <strong>de</strong> datos <strong>de</strong> E/S 49 x 3.00 =147.00<br />

30 ranuras 30 x 3.00 = 90.00<br />

Overhead 236.00<br />

10 es el número <strong>de</strong> tabla <strong>de</strong><br />

datos más alto 10 X 5 = 50.00<br />

4 es el número <strong>de</strong> archivo <strong>de</strong><br />

programa más alto 4 X 5 = 20.00<br />

Subtotal 643.00<br />

Consi<strong>de</strong>re 4K adicionales para espacio <strong>de</strong> datos<br />

4096 – 643 = 3453 (el resultado es positivo;<br />

por lo tanto, 12,288 palabras están<br />

disponibles)<br />

50 XIC y XIO 50 x 1.00 = 50.00<br />

15 <strong>instrucciones</strong> OTE 15 x 1.00 = 15.00<br />

5 <strong>instrucciones</strong> TON 5 x 1.00 = 5.00<br />

3 <strong>instrucciones</strong> GRT 3 x 3.00 = 9.00<br />

1 instrucción SCL 1 x 4.00 = 4.00<br />

1 instrucción TOD 1 x 2.00 = 2.00<br />

3 <strong>instrucciones</strong> MOV 3 x 2.00 = 6.00<br />

10 <strong>instrucciones</strong> CTU 10 x 1.00 = 10.00<br />

10 <strong>instrucciones</strong> RES 10 x 1.00 = 10.00<br />

Uso <strong>de</strong> instrucción 111.00<br />

30 renglones 30 x 1.00 = 30.00<br />

00 dirección in<strong>de</strong>xada = 0.00<br />

00 referencia <strong>de</strong> dirección in<strong>de</strong>xada = 0.00<br />

Subtotal 141.00<br />

Memoria disponible 12,288.00<br />

Palabras usadas – 141.00<br />

Mem. total calculada aprox. disponible: 12,147.00<br />

C–31


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/03<br />

Comparación <strong>de</strong> palabra <strong>de</strong> usuario entre el procesador <strong>SLC</strong> 5/03 ó<br />

<strong>SLC</strong> 5/04 y el procesador <strong>SLC</strong> 5/02<br />

C–32<br />

El procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 y el procesador <strong>SLC</strong> 5/02 acumulan palabras <strong>de</strong><br />

usuario <strong>de</strong> modo diferente durantel a creación <strong>de</strong> un programa <strong>de</strong> usuario. El<br />

procesador <strong>SLC</strong> 5/02 generalmente es más eficiente con respeto al uso <strong>de</strong> palabra<br />

que los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04. Sin embargo, es difícil calcular el uso<br />

<strong>de</strong> palabras <strong>de</strong>l procesador <strong>SLC</strong> 5/02 ya que se encuentra ligado a la arquitectura <strong>de</strong>l<br />

microprocesador.<br />

Los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 acumulan palabras, <strong>de</strong> modo que resulta ser<br />

más fácil <strong>de</strong> compren<strong>de</strong>r y calcular que el procesador <strong>SLC</strong> 5/02. Los procesadores<br />

<strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 acumulan palabras <strong>de</strong> igual manera que un PLC-5. El<br />

procesador <strong>SLC</strong> 5/03 ofrece 12,288 palabras. El procesador SCL 5/04 ofrece<br />

20,480 palabras.<br />

El procesador <strong>SLC</strong> 5/02 ofrece 4096 palabras <strong>de</strong> usuario. Es importante tener en<br />

cuenta <strong>de</strong> que esto no significa que un procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 pue<strong>de</strong><br />

mantener un programa <strong>de</strong> usuario que sea tres veces más gran<strong>de</strong> que un programa<br />

<strong>SLC</strong> 5/02 equivalente. Use la información siguiente para <strong>de</strong>terminar el tamaño <strong>de</strong>l<br />

programa <strong>de</strong> usuario según los programs <strong>SLC</strong> 5/02 existentes.<br />

Palabras <strong>de</strong> instrucción<br />

Algunas <strong>instrucciones</strong> usan la misma cantidad <strong>de</strong> memoria en tanto que otras<br />

<strong>instrucciones</strong> no usan la misma cantidad <strong>de</strong> memoria. Por ejemplo, una instrucción<br />

CTU siempre usa 1 palabra. Sin embargo, una instrucción ADD en un procesador<br />

<strong>SLC</strong> 5/02 usa 1.5 palabra; en un procesador <strong>SLC</strong> 5/03 ó <strong>SLC</strong> 5/04 una instrucción<br />

ADD usa 3 palabras. También note las diferencias adicionales que siguen:<br />

Condición<br />

Palabras<br />

<strong>SLC</strong> 5/02<br />

Palabras<br />

<strong>SLC</strong> 5/03<br />

Palabras<br />

<strong>SLC</strong> 5/04<br />

Cada renglón 0.375 1 1<br />

Cada archivo <strong>de</strong> programa<br />

adicional<br />

Cada archivo <strong>de</strong> datos<br />

adicional<br />

1 5 5<br />

1 5 5<br />

Cada ranura <strong>de</strong> E/S 0.75 3 3<br />

Overhead 216 236 250<br />

El contenido exacto <strong>de</strong>l programa <strong>de</strong>termina la diferencia <strong>de</strong>l tamaño <strong>de</strong> programa.<br />

Un programa <strong>SLC</strong> 5/03 consume el 20% al 150% más <strong>de</strong> palabras <strong>de</strong> instrucción<br />

que un <strong>SLC</strong> 5/02 equivalente.


Palabras <strong>de</strong> datos – Archivos 0 y 1<br />

Palabras <strong>de</strong> datos – Archivo 2<br />

Palabras <strong>de</strong> datos – Archivo 3 a 255<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/03<br />

En el procesador <strong>SLC</strong> 5/02, cada palabra <strong>de</strong> datos <strong>de</strong> E/S consume 0.75 palabras <strong>de</strong><br />

memoria. En el procesador <strong>SLC</strong> 5/03, cada palabra <strong>de</strong> datos <strong>de</strong> E/S consume 3<br />

palabras <strong>de</strong> datos.<br />

El uso <strong>de</strong> palabra <strong>de</strong>l archivo <strong>de</strong> estado está contenido en los valores <strong>de</strong> overhead<br />

para los procesadores <strong>SLC</strong> 5/02 y <strong>SLC</strong> 5/03.<br />

En el procesador <strong>SLC</strong> 5/02, 4 palabras <strong>de</strong> datos consumen la misma cantidad <strong>de</strong><br />

memoria que 1 palabra <strong>de</strong> instrucción. Por eso, se dice que el procesador <strong>SLC</strong> 5/02<br />

ofrece 4K <strong>de</strong> palabras <strong>de</strong> instrucción ó 16K <strong>de</strong> palabras <strong>de</strong> datos. Esta cantidad<br />

dinámica <strong>de</strong> almacenamiento <strong>de</strong> palabras <strong>de</strong> datos se <strong>de</strong>be a la arquitectura <strong>de</strong>l<br />

microprocesador <strong>SLC</strong> 5/02.<br />

C–33


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/03<br />

Instrucciones con direcciones in<strong>de</strong>xadas<br />

C–34<br />

Por cada operando con una dirección in<strong>de</strong>xada, añada 25 microsegundos al tiempo<br />

<strong>de</strong> ejecución para una instrucción verda<strong>de</strong>ra. Por ejemplo, si una instrucción MOV<br />

tiene una dirección in<strong>de</strong>xada para la fuente y el <strong>de</strong>stino, el tiempo <strong>de</strong> ejecución<br />

cuando la instrucción es verda<strong>de</strong>ra es 19 + 25 + 25 = 69 microsegundos.<br />

Instrucciones con direcciones <strong>de</strong> archivo <strong>de</strong> datos M0 y M1<br />

Ejemplo<br />

Los tiempos <strong>de</strong> ejecución <strong>de</strong> las <strong>instrucciones</strong> con direcciones <strong>de</strong> archivo <strong>de</strong> datos<br />

M0 y M1 se varían. Los tiempos <strong>de</strong> ejecución siguientes representan los valores<br />

máximos esperados.<br />

Tipo <strong>de</strong> instrucción<br />

Tiempo <strong>de</strong> ejecución<br />

(µs)<br />

XIC o XIO 782<br />

OTU, OTE u OTL 925<br />

COP al archivo M 772 + 23 por palabra<br />

COP <strong>de</strong>l archivo M 760 + 22 por palabra<br />

FLL 753 + 30 por palabra<br />

MVM al archivo M 894<br />

cualquier dirección <strong>de</strong> archivo M <strong>de</strong> fuente o<br />

<strong>de</strong>stino<br />

COP<br />

COPY FILE<br />

Source #B3:0<br />

Dest #M0:1.0<br />

Length 34<br />

Para la instrucción <strong>de</strong> palabras múltiples anterior, añada 772 microsegundos más 23<br />

microsegundos por palabra. En este ejemplo, 34 palabras se copian <strong>de</strong>s<strong>de</strong> #B3:0<br />

hacia M0:10. Añada 772 + (23 x 34) = 1554 microsegundos al tiempo <strong>de</strong> ejecución<br />

listado en la página ??. Esto resulta en 104.8 (calculado <strong>de</strong> la tabla <strong>de</strong> la página ??)<br />

más 1554 = 1658.8 microsegundos totales, o sea 1.6 milisegundo.<br />

730


Procesador <strong>SLC</strong> 5/04<br />

Mnemónico<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

El número <strong>de</strong> palabras usadas por una instrucción se indica en la tabla siguiente.<br />

A<strong>de</strong>más, las <strong>instrucciones</strong> que tienen capacidad para el punto (coma) flotante<br />

aparecen en notas al pie <strong>de</strong> la tabla. Cuando se usa un procesador <strong>SLC</strong> 5/04, es<br />

importante tener en mente que 1 palabra <strong>de</strong> instrucción es igual a 1 palabra <strong>de</strong> datos.<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

ABL 35.00 156.00 2.00<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Prueba <strong>de</strong> búfer<br />

por línea<br />

Tipo <strong>de</strong><br />

instrucción<br />

ABS 0.562 8.60 2.00 Absoluto Matemática<br />

ACB 35.00 131.00 2.00<br />

No. <strong>de</strong> caracteres<br />

en búfer<br />

ASCII<br />

ASCII<br />

ACI 0.187 56.00 2.00 Ca<strong>de</strong>na a entero ASCII<br />

ACL 0.187 332.80 2.00<br />

ACN 0.187 56 + (2.5/car.) 3.00<br />

Borrado <strong>de</strong>l búfer<br />

ASCII <strong>de</strong> recepción<br />

y/o transmisión<br />

Concatenado <strong>de</strong><br />

ca<strong>de</strong>nas<br />

ACS 0.562 51.90 2.00 Arco coseno Matemática<br />

ADD 0.562 1.50 3.00, 4.00 Suma Matemática<br />

AEX 0.187 43.4 + (4.0/car.) 4.00<br />

Extracción <strong>de</strong><br />

ca<strong>de</strong>na<br />

ASCII<br />

ASCII<br />

ASCII<br />

AHL 35.00 115.10 4.00 Líneas com. ASCII ASCII<br />

AIC 0.187 110.00 2.00 Entero a ca<strong>de</strong>na ASCII<br />

AND 0.562 1.50 3.00 Operdor Y lógico Manejo <strong>de</strong> datos<br />

ARD 35.00 156.00 3.00<br />

ARL 35.00 156.00 3.00<br />

ASC 0.187 43.5 + (2.5/car.) 4.00<br />

Lectura <strong>de</strong> caracteres<br />

ASCII<br />

Lectura ASCII <strong>de</strong><br />

línea<br />

Búsqueda <strong>de</strong><br />

ca<strong>de</strong>na<br />

ASN 0.562 41.45 2.00 Arco seno Matemática<br />

ASR 0.187 43.50 3.00<br />

Comparación <strong>de</strong><br />

ca<strong>de</strong>nas ASCII<br />

ATN 0.562 40.15 2.00 Arco tangente Matemático<br />

AWA 35.00 307.80 3.00<br />

Escritura ASCII<br />

con anexo<br />

ASCII<br />

ASCII<br />

ASCII<br />

ASCII<br />

ASCII<br />

C–35


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

C–36<br />

Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

AWT 35.00 217.30 3.00 Escritura ASCII ASCII<br />

BSL 7.50 31.6 + (2.25/pal.) 3.00<br />

BSR 7.50 31.5 + (2.31/pal.) 3.00<br />

Desplazamiento a<br />

la izquierda<br />

Desplazamiento a<br />

la <strong>de</strong>recha<br />

Tipo <strong>de</strong><br />

instrucción<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

CLR 0.562 1.50 3.00, 1.00 Borrar Matemática<br />

COP 0.562 20.2 + (2.01/pal.) 3.00 Copiar archivo Manejo <strong>de</strong> datos<br />

COS 0.562 37.20 2.00 Coseno Matemática<br />

CPT 0.562 8.80 Calcular Matemática<br />

CTD 1.312 1.312 1.00 Conteo – Básico<br />

CTU 1.312 1.312 1.00 Conteo + Básico<br />

DCD 0.375 8.88 2.00<br />

Descodificar 4 a 1<br />

<strong>de</strong> 16<br />

Manejo <strong>de</strong> datos<br />

DDV 0.375 29.60 2.00 Doble división Matemática<br />

DEG 0.562 24.70 2.00 Grados Manejo <strong>de</strong> datos<br />

DIV 0.562 25.90 3.00, 4.00 División Matemática<br />

EQU 1.25 1.125 3.00 Igual Comparativa<br />

FFL 18.00 40.75 3.00 Carga FIFO Manejo <strong>de</strong> datos<br />

FFU 18.00 60 + (2.0/pal.) 4.00 Descarga FIFO Manejo <strong>de</strong> datos<br />

FLL 0.562 21.9 + (2.50/pal.) 3.00 Llenar archivo Manejo <strong>de</strong> datos<br />

FRD 0.375 23.88 2.00 Convertir <strong>de</strong> BCD Manejo <strong>de</strong> datos<br />

GEQ 1.25 1.125 3.00 Mayor o igual que Comparativa<br />

GRT 1.25 1.125 3.00 Mayor que Comparativa<br />

IID 0.375 5.81 2.00<br />

IIE 0.375 10.44 2.00<br />

IIM 0.375 51.00 6.00<br />

Interrupción <strong>de</strong><br />

E/S <strong>de</strong>sactiva<br />

Interrupción <strong>de</strong><br />

E/S activa<br />

Entrada inmediata<br />

con máscara<br />

Comprensión <strong>de</strong><br />

las rutinas <strong>de</strong><br />

interrupción<br />

Comprensión <strong>de</strong><br />

las rutinas <strong>de</strong><br />

interrupción<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa


Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

INT 0.187 0.187 1.00<br />

IOM 0.375 75.74 6.00<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Subrutina <strong>de</strong><br />

interrupción<br />

Salida inmediata<br />

con máscara<br />

JMP 0.187 37.44 1.00 Saltar a etiqueta<br />

JSR 0.187 112.00 1.00 Saltar a subrutina<br />

LBL 0.187 0.187 1.00 Etiqueta<br />

Tipo <strong>de</strong><br />

instrucción<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

LEQ 1.25 1.125 3.00 Menor o igual que Comparativa<br />

LES 1.25 1.125 3.00 Menor que Comparativa<br />

LFL 18.00 40.70 3.00 Carga LIFO Manejo <strong>de</strong> datos<br />

LFU 18.00 34.70 3.00 Descarga LIFO Manejo <strong>de</strong> datos<br />

LIM 1.95 1.687 1.00 Test lím Comparativa<br />

LN 0.562 51.35 2.00 Logaritmo natural Matemática<br />

LOG 0.562 54.55 2.00<br />

MCR 7.00 3.00 1.00<br />

MEQ NA 22.75 4.00<br />

Logaritmo en base<br />

10<br />

Restablecimiento<br />

control maestro<br />

Comparación con<br />

máscara para<br />

igual<br />

Matemática<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Comparativa<br />

MOV 0.375 1.125 2.00 Mover Manejo <strong>de</strong> datos<br />

MSG NA 183.00 20.00 Mensaje Comunicación<br />

MUL 0.562 17.75 3.00, 4.00 Multiplicación Matemática<br />

MVM 0.562 17.40 3.00<br />

Mover con<br />

máscara<br />

Manejo <strong>de</strong> datos<br />

NEG 0.562 1.50 3.00 Cambio <strong>de</strong> signo Manejo <strong>de</strong> datos<br />

NEQ 1.25 1.125 3.00 Diferente Comparativa<br />

NOT 0.562 1.50 3.00 Oper. Not lógico Manejo <strong>de</strong> datos<br />

OR 0.562 1.50 3.00 Oper. O inclusivo Manejo <strong>de</strong> datos<br />

OSR 5.75 9.10 2.00<br />

Un frente<br />

ascen<strong>de</strong>nte<br />

Básica<br />

C–37


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

C–38<br />

Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

OTE 0.562 0.562 1.00 Activ. <strong>de</strong> salida Básica<br />

OTL 0.562 0.562 1.00 Enclav. salida Básica<br />

OTU 0.562 0.562 1.00 Desenclav. salida Básica<br />

PID 14.31 169.82 26.00<br />

Proporcional/<br />

integral/<strong>de</strong>rivada<br />

PID<br />

Tipo <strong>de</strong><br />

instrucción<br />

RAD 0.562 24.65 2.00 Radianes Manejo <strong>de</strong> datos<br />

REF 0.187 200 1.00 Regenerar<br />

RES 1.312 1.312 1.00 Restablecimiento Básica<br />

RET 0.187 20.00 1.00<br />

RPI 0.375 91 + (56/ranura) 2.00<br />

RTO 1.312 1.312 1.00<br />

Retorno <strong>de</strong><br />

subrutina<br />

Restablecer<br />

interrup. pendiente<br />

Temporizador<br />

retentivo<br />

SBR 0.187 0.187 1.00 Subrutina<br />

Comprensión <strong>de</strong><br />

rutinas <strong>de</strong> interrup.<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Comprensión <strong>de</strong><br />

rutinas <strong>de</strong> interrup.<br />

Básica<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

SCL .748 33.06 4.00 Escalar datos Matemática<br />

SCP 0.562 29.85 6.00<br />

Escalar con<br />

parámetros<br />

Matemática<br />

SIN 0.562 38.05 2.00 Seno Matemática<br />

SQC 7.10 33.20 5.00<br />

SQL 7.10 33.20 4.00<br />

SQO 7.10 44.10 5.00<br />

Secuenciador <strong>de</strong><br />

comparación<br />

Carga<br />

secuenciador<br />

Secuendiador <strong>de</strong><br />

salida<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

SQR 0.375 28.80 2.00, 3.00 Raíz caudrada Matemática<br />

STD 0.187 3.56 1.00 Desactivar STI<br />

STE 0.187 5.00 1.00 Activar STI<br />

STS 0.562 44.38 3.00 Comenzar STI<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

Específica a la<br />

aplicación<br />

SUB 0.562 1.50 3.00, 4.00 Restar Matemática


Mnemónico<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

SUS 0.375 10.31 2.00 Suspen<strong>de</strong>r<br />

SVC 0.187 200 1.00<br />

Servicio <strong>de</strong><br />

comunicaciones<br />

Tipo <strong>de</strong><br />

instrucción<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

Comunicación<br />

SWP 0.562 22.6 + 12.13/pal. 2.00 Intercambiar Matemática<br />

TAN 0.562 43.00 2.00 Tangente Matemática<br />

TND NA 13.05 1.00 Fin temporal<br />

Control <strong>de</strong> flujo <strong>de</strong><br />

programa<br />

TOD 0.375 34.06 2.00 Convertir a BCD Manejo <strong>de</strong> datos<br />

TOF 1.312 1.312 1.00<br />

TON 1.312 1.312 1.00<br />

XIC 0.375 0.375 1.00<br />

Temporizador a la<br />

<strong>de</strong>sconexión<br />

Temporizador a la<br />

conexión<br />

Examina si<br />

cerrado<br />

Básica<br />

Básica<br />

Básica<br />

XIO 0.375 0.375 1.00 Examina si abierto Básica<br />

XOR 0.562 1.50 3.00<br />

Operación O<br />

exclusivo<br />

Manejo <strong>de</strong> datos<br />

XPY 0.562 335.10 3.00 X a la pot. <strong>de</strong> Y Matemática<br />

<br />

Para obtener el tiempo total <strong>de</strong> ejecución para una instrucción CPT, tome el tiempo <strong>de</strong> ejecución CPT más cada<br />

tiempo <strong>de</strong> ejecución <strong>de</strong> instrucción matemática adicional, más el número <strong>de</strong> <strong>instrucciones</strong> matemáticas entre 3.01.<br />

Por ejemplo, si una instrucción CPT llama una instrucción ADD y una instrucción SUB, el cálculo es: 8.8 + 1.70 +<br />

1.70 + 2(3.01) = 18.22.<br />

<br />

Para calcular el uso <strong>de</strong> memoria, haga lo siguiente: Tome 2 más el número <strong>de</strong> palabras <strong>de</strong> instrucción para cada<br />

operación realizada más el número <strong>de</strong> operaciones realizadas en el cálculo. Por ejemplo, 2 + ADD + SUB + 2 = 10.<br />

<br />

Estas <strong>instrucciones</strong> toman tiempo <strong>de</strong> ejecución cero si hay condiciones que las prece<strong>de</strong>n garantizando el estado <strong>de</strong>l<br />

renglón. La lógica <strong>de</strong> renglón se resuelve <strong>de</strong> izquierda a <strong>de</strong>recha. Las bifurcaciones se resuelven <strong>de</strong> arriba hacia<br />

abajo.<br />

<br />

Esto solamente incluye la cantidad <strong>de</strong> tiempo necesaria para “configurar” la operación solicitada. No incluye el<br />

tiempo necesario para dar servicio a las comunicaciones mismas.<br />

<br />

Esta instrucción realiza un fin <strong>de</strong> escán completo. Esto incluye un escán <strong>de</strong> entrada/salida, servicio <strong>de</strong><br />

comunicación y limpieza. Vea la hoja <strong>de</strong> trabajo D en el apéndice ?? para calcular el tiempo <strong>de</strong> ejecución real.<br />

<br />

canal 1 = 150 µs sin comandos pendientes<br />

canal 2 = 170 µs sin comandos pendientes<br />

Añada 1 ms por cada comando que ha recibido servicio.<br />

<br />

Los tiempos listados son para módulos <strong>de</strong> E/S discretas. Cuando use los módulos <strong>de</strong> E/S <strong>de</strong> 32 puntos, añada los<br />

microsegundos siguientes a las <strong>instrucciones</strong> IIM e IOM.<br />

• 15 µs IIM cuando verda<strong>de</strong>ro<br />

• 30 µs IOM cuando verda<strong>de</strong>ro<br />

C–39


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo<br />

C–40<br />

<br />

Cuando use los módulos siguientes y las <strong>instrucciones</strong> IIM en el programa, añada los microsegundos<br />

siguientes<br />

• Entradas <strong>de</strong> módulo analógico o termopar, añada 450 a 550 µs<br />

• Entradas <strong>de</strong> módulo BASIC, añada <strong>500</strong> a 550 µs<br />

• Otras entradas especiales, añada 425 a 957 µs<br />

<br />

Cuando use los módulos siguientes y la instrucción IOM en el programa, añada los microsegundos<br />

siguientes<br />

• Entradas <strong>de</strong> módulo analógico o termopar, añada 390 a 416 µs<br />

• Entradas <strong>de</strong> módulo BASIC, añada 440 a 466 µs<br />

• Otras entradas especiales, añada 590 a 989 µs<br />

Para el ejemplo <strong>de</strong> renglón siguiente:<br />

1) Si la instrucción es falsa, las <strong>instrucciones</strong> 2, 3, 4, 5, 6 ,7 toman un tiempo <strong>de</strong> ejecución cero.<br />

Tiempo <strong>de</strong> ejecución = .375 + .562 = .937 microsegundos.<br />

2) Si las <strong>instrucciones</strong> 1, 2, 6 son verda<strong>de</strong>ras, entonces las <strong>instrucciones</strong> 3, 4, 5, 7 toman un<br />

tiempo <strong>de</strong> ejecución cero. Tiempo <strong>de</strong> ejecución = 0.375 + .375 + .374 + .562 = 1.687<br />

microsegundos.<br />

1<br />

] [<br />

2<br />

] [<br />

3<br />

] [<br />

4<br />

] [<br />

5<br />

] [<br />

6<br />

] [<br />

7<br />

] [<br />

8<br />

( )


Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Tiempos <strong>de</strong> ejecución <strong>de</strong> punto (coma) flotante <strong>de</strong>l procesador <strong>SLC</strong> 5/04<br />

Mnemónico<br />

Los tiempos <strong>de</strong> punto (coma) flotante se aplican a los procesadores <strong>SLC</strong> 5/04<br />

OS400 y OS401.<br />

Los tiempos matemáticos <strong>de</strong> punto (coma) flotante en la tabla siguiente se aplican<br />

cuando S:34/2 no es establecido. Cuando S:34/2 es establecido, los indicadores<br />

matemáticos no se actualizan <strong>de</strong>spués <strong>de</strong> la ejecución <strong>de</strong> la instrucción y <strong>de</strong>spués <strong>de</strong><br />

que 4-8 s se restan <strong>de</strong>l tiempo <strong>de</strong> ejecución. S:34/2 se pue<strong>de</strong> cambiar dinámicamente<br />

(es <strong>de</strong>cir, por el programa durante la ejecución <strong>de</strong>l programa). Por cada<br />

parámetro <strong>de</strong> entero, añada 10 s en consi<strong>de</strong>ración <strong>de</strong> la conversión <strong>de</strong> entero a<br />

punto (coma) flotante.<br />

Tiempo <strong>de</strong><br />

ejecución falso<br />

(aprox.<br />

µsegundos)<br />

Tiempo <strong>de</strong><br />

ejecución<br />

verda<strong>de</strong>ro (aprox.<br />

µsegundos)<br />

Uso <strong>de</strong> memoria<br />

(palabras <strong>de</strong><br />

usuario)<br />

Nombre<br />

Tipo <strong>de</strong><br />

instrucción<br />

ABS 0.75 4.35 2.00 Absoluto Matemática<br />

ADD 0.187 18.22 4.00 Sumar Matemática<br />

CLR 0.187 5.94 1.00 Borrar Matemática<br />

DIV 0.187 23.27 4.00 División Matemática<br />

EQU 0.562 12.50 3.00 Igual Comparativa<br />

GEQ 0.562 14.31 3.00 Mayor o igual que Comparativa<br />

GRT 0.562 12.62 3.00 Mayor que Comparativa<br />

LEQ 0.562 13.93 3.00 Menor o igual que Comparativa<br />

LES 0.562 13.94 3.00 Menor que Comparativa<br />

LIM 0.562 20.19 1.00 Prueba lím Comparativa<br />

MOV 0.187 11.44 2.00 Mover Manejo <strong>de</strong> datos<br />

MUL 0.187 21.94 3.00 Multiplicación Matemática<br />

NEG 0.187 11.87 3.00 Cambiar signo Manejo <strong>de</strong> datos<br />

NEQ 0.562 12.18 3.00 Diferente Comparativa<br />

SCP 0.75 94.15 6.00<br />

Escalar con<br />

parámetros<br />

Matemática<br />

SQR 0.187 18.87 3.00 Raíz cuadrada Matemática<br />

SUB 0.187 19.50 4.00 Restar Matemática<br />

Se aplica a los procesadores <strong>SLC</strong> 5/04 OS401 solamente.<br />

C–41


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

C–42<br />

Si usted necesita realizar operaciones <strong>de</strong> punto (coma) flotante usando una<br />

combinación <strong>de</strong> parámetros <strong>de</strong> punto (coma) flotante y enteros (valores y<br />

direcciones <strong>de</strong> fuente/<strong>de</strong>stino), calcule la cantidad <strong>de</strong> palabras <strong>de</strong> instrucción según<br />

las pautas siguientes:<br />

1. Comience con la cantidad <strong>de</strong> palabras para la instrucción <strong>de</strong> punto (coma)<br />

flotante.<br />

2. Añada 2 palabras para el primer parámetro <strong>de</strong> entero (valor o dirección <strong>de</strong><br />

fuente/<strong>de</strong>stino).<br />

3. Añada 1 palabra por cada parámetro <strong>de</strong> entero subsiguiente.<br />

Estas palabras adicionales son necesarias para las conversiones <strong>de</strong> entero a punto<br />

(coma) flotante.<br />

Por ejemplo, esta instrucción requiere 7 palabras <strong>de</strong> instrucción:<br />

ADD<br />

ADD<br />

Source A F8:8<br />

Source B N7:7<br />

Dest N7:10<br />

• 4 palabras para la instrucción ADD <strong>de</strong> punto (coma) flotante (según la tabla en<br />

la página C–41).<br />

• más 2 palabras para la dirección <strong>de</strong> entero N7:7<br />

• más 1 palabra para segunda direccion <strong>de</strong> entero N7:10


Continuación <strong>de</strong> procesador <strong>SLC</strong> 5/04<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Cálculo aproximado <strong>de</strong>l uso <strong>de</strong> memoria <strong>de</strong>l sistema usando un procesador<br />

<strong>SLC</strong> 5/04<br />

Subtotal:<br />

Subtotal:<br />

Total:<br />

4096<br />

–<br />

(paso 7)<br />

1. Añada el no. total <strong>de</strong> palabras <strong>de</strong> archivo <strong>de</strong> datos usadas (excluyendo las palabras<br />

<strong>de</strong>l archivo <strong>de</strong> estado y datos <strong>de</strong> E/S) e introduzca el resultado.<br />

2. Multiplique por 3 el no. total <strong>de</strong> palabras <strong>de</strong> datos <strong>de</strong> E/S e introduzca el resultado.<br />

3. Multiplique por 3 el no. total <strong>de</strong> ranuras <strong>de</strong> E/S, usadas o no usadas, e introduzca el<br />

resultado.<br />

4. En consi<strong>de</strong>ración <strong>de</strong>l overhead <strong>de</strong>l procesador, introduzca 250 e introduzca el<br />

resultado.<br />

5. Multiplique por 5 el archivo <strong>de</strong> tabla <strong>de</strong> datos con el no. más alto usado e introduzca<br />

el resultado.<br />

6. Multiplique por 5 el archivo <strong>de</strong> programa con el no. más alto usado e introduzca el<br />

resultado.<br />

7. Sume los pasos 1 a 6. Introduzca esto como el subtotal (uso <strong>de</strong> palabra <strong>de</strong> 4K<br />

adicionales).<br />

8. Reste el valor en el paso 7 <strong>de</strong> 4096; si el resultado es positivo, introduzca 20,480 en<br />

el paso 14. Si el resultado es negativo, reste el valor absoluto <strong>de</strong> 20,480 e<br />

introduzca el resultado en el paso 14. (Esto disminuye el valor.)<br />

9. Calcule el no. total <strong>de</strong> palabras usadas por las <strong>instrucciones</strong> <strong>de</strong>l programa e<br />

introduzca el resultado. Refiérase a la tabla en la página C–41.<br />

10. Añada el no. total <strong>de</strong> renglones (1 palabra por renglón) e introduzca el resultado.<br />

11. Añada 1 palabra por cada referencia <strong>de</strong> dirección in<strong>de</strong>xada e introduzca el resultado.<br />

12. Añada 2 palabras por renglón por cada renglón que contiene una referencia <strong>de</strong><br />

dirección in<strong>de</strong>xada e introduzca el resultado.<br />

13. Sume los pasos 9 a 12 e introduzca el resultado.<br />

14. Introduzca el resultado <strong>de</strong>l paso 8. Esta es la memoria disponible.<br />

15. Introduzca el resultado <strong>de</strong>l paso 13. Esta es la cantidad total <strong>de</strong> palabras usadas.<br />

16. Reste el paso 15 <strong>de</strong>l paso 14.<br />

Este número es la cantidad <strong>de</strong> memoria disponible en el sistema.<br />

C–43


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucciones con direcciones in<strong>de</strong>xadas<br />

C–44<br />

<strong>SLC</strong> 5/04 Processor Continued<br />

Por cada operando con una dirección in<strong>de</strong>xada, añada 25 µs al tiempo <strong>de</strong> ejecución<br />

para una instrucción verda<strong>de</strong>ra. Por ejemplo, si una instrucción MOV tiene una<br />

dirección in<strong>de</strong>xada para la fuente y el <strong>de</strong>stino, el tiempo <strong>de</strong> ejecución cuando la<br />

instrucción es verda<strong>de</strong>ra es 19 + 25 + 25 = 69 microsegundos.<br />

Instrucciones con direcciones <strong>de</strong> archivo <strong>de</strong> datos M0 y M1<br />

Ejemplo<br />

Los tiempos <strong>de</strong> ejecución <strong>de</strong> las <strong>instrucciones</strong> con direcciones <strong>de</strong> archivo <strong>de</strong> datos<br />

M0 y M1 varían. Los tiempos <strong>de</strong> ejecución siguientes representan los valores<br />

máximos esperados.<br />

Tipo <strong>de</strong> instrucción<br />

Tiempo <strong>de</strong> ejecución<br />

(µs)<br />

XIC o XIO 743<br />

OTU, OTE o OTL 879<br />

COP a archivo M 735 + 23 por palabra<br />

COP <strong>de</strong> archivo M 722 + 22 por palabra<br />

FLL 716 + 30 por palabra<br />

MVM a archivo M 850<br />

cualquier dirección <strong>de</strong> archivo M <strong>de</strong> fuente o<br />

<strong>de</strong>stino<br />

COP<br />

COPY FILE<br />

Source #B3:0<br />

Dest #M0:1.0<br />

Length 34<br />

Añada 735 microsegundos más 23 segundos por apalbra para la instrucción anterior<br />

<strong>de</strong> palabras múltiples. En este ejemplo, 34 palabras se copian <strong>de</strong> #B3:0 a M0:10.<br />

Añada 735 + (23 x 34) = 1517 microsegundos al tiempo <strong>de</strong> ejecución listado en la<br />

página ??. Este total es 88.54 + 1517 = 1605.5 microsegundos o bien 1.6<br />

milisegundos.<br />

694


Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Instrucciones con direcciones indirectas a nivel <strong>de</strong> palabra<br />

Forma <strong>de</strong><br />

dirección <br />

Busque la forma <strong>de</strong> la dirección indirecta para la mayor parte <strong>de</strong> <strong>instrucciones</strong> con<br />

dirección(es) indirecta(s) y añada aquel tiempo al tiempo <strong>de</strong> ejecución <strong>de</strong> la<br />

instrucción.<br />

Operando <strong>de</strong><br />

fuente (µs)<br />

Operando <strong>de</strong><br />

<strong>de</strong>stino (µs)<br />

Si se usa en una<br />

instrucción <strong>de</strong> tipo <strong>de</strong><br />

archivo<br />

<strong>SLC</strong> 5/03 <strong>SLC</strong> 5/04 <strong>SLC</strong> 5/03 <strong>SLC</strong> 5/04 <strong>SLC</strong> 5/03 <strong>SLC</strong> 5/04<br />

N7:[ * ] 65.1 56.15 63.10 54.20 76.35 66.75<br />

ST12:[ * ].[ * ] 69.45 60.00 67.45 58.05 80.70 70.60<br />

ST12:[ * ].0 74.65 59.60 72.65 57.65 85.90 70.20<br />

ST12:0.[ * ] 74.65 59.60 72.65 57.65 85.90 70.20<br />

N[ * ]:[ * ] 105.90 89.40 131.50 112.55 138.75 118.70<br />

N[ * ]:0 111.10 89.00 136.70 112.15 143.95 118.30<br />

ST[ * ]:[ * ].[ * ] 110.25 93.25 135.85 116.40 143.10 122.55<br />

ST[ * ]:[ * ].0 115.45 92.85 141.05 116.00 148.30 122.15<br />

ST[ * ]:0.[ * ] 115.45 92.85 141.05 116.00 148.30 122.15<br />

ST[ * ]:0.0 120.65 92.45 146.25 115.60 153.50 121.75<br />

#N7:[ * ] 73.05 59.35 64.65 57.30 86.80 69.80<br />

#ST12:[ * ].[ * ] 77.40 63.20 69.00 61.15 91.15 73.65<br />

#ST12:[ * ].0 82.60 62.80 74.20 60.75 96.35 73.25<br />

#ST12:0.[ * ] 82.60 62.80 74.20 60.75 96.35 73.25<br />

#N[ * ]:[ * ] 110.95 92.95 133.40 114.40 146.65 121.35<br />

#N[ * ]:0 116.15 92.55 138.60 114.00 151.85 120.95<br />

#ST[ * ]:[ * ].[ * ] 115.30 96.80 137.75 118.25 151.00 125.20<br />

#ST[ * ]:[ * ].0 120.50 96.40 142.95 117.85 156.20 124.80<br />

#ST[ * ]:0.[ * ] 120.50 96.40 142.95 117.85 156.20 124.80<br />

#ST[ * ]:0.0 125.70 96.00 148.15 117.45 161.40 124.40<br />

[ * ] indica que una referencia indirecta ha sido sustituida.<br />

C–45


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplos<br />

C–46<br />

<strong>SLC</strong> 5/03<br />

<strong>SLC</strong> 5/04<br />

ADD<br />

ADD<br />

Source A N7:[*]<br />

Source B T4:[*].ACC<br />

Dest N7[*]:[*]<br />

BSL<br />

BIT SHIFT LEFT<br />

File #B3[*]:1<br />

Control R6:2<br />

Bit Address B3/[*]<br />

Length 32<br />

(EN)<br />

(DN)<br />

ADD 1.70<br />

Fuente A 65.10<br />

Fuente B 74.65<br />

Destino 131.50<br />

272.95 µs<br />

BSL 31.5 + (2)2.31 = 36.12<br />

Archivo 120.95<br />

Dirección <strong>de</strong> bit 77.80<br />

234.87 µs


Instrucciones con direcciones a nivel <strong>de</strong> bit<br />

Uso <strong>de</strong> memoria y tiempos <strong>de</strong> ejecucion <strong>de</strong> instruccion<br />

Las direcciones <strong>de</strong> bit se basan en la forma <strong>de</strong> la dirección indirecta y el tipo <strong>de</strong><br />

instrucción <strong>de</strong> bit. Use las dos tablas siguientes para calcular el tiempo <strong>de</strong> ejecución<br />

<strong>de</strong> una instrucción <strong>de</strong> bit.<br />

Forma <strong>de</strong> dirección<br />

Tiempo adicional (µs)<br />

<strong>SLC</strong> 5/03 <strong>SLC</strong> 5/04<br />

B3/[ * ] 96.70 77.80<br />

B3:1/[ * ] 96.70 77.80<br />

B3:[ * ]/[ * ] 91.50 72.80<br />

ST12:[ *].[ * ]/[ * ] 100.65 76.65<br />

ST12:[ * ].[ * ]/0 100.85 76.25<br />

ST12:[ *].0/[ * ] 100.85 76.25<br />

ST12:[ * ].0/0 105.85 75.85<br />

ST12:0.[ * ] /0 105.85 75.85<br />

ST12:0.0/[ * ] 105.85 75.85<br />

B[ * ]/[ * ] 171.50 141.40<br />

B[ * ]:1/[ * ] 171.50 141.40<br />

B[ * ]:[ * ]/[ * ] 166.30 141.80<br />

ST[ * ]:[ * ].[ * ]/[ * ] 170.65 145.65<br />

ST[ * ]:[ * ].[ * ]/0 175.85 145.25<br />

ST[ * ]:[ * ].0/[ * ] 175.85 145.25<br />

ST[ * ]:[ * ].0/0 181.05 144.85<br />

ST[ * ]:0.[ * ]/[ * ] 175.85 145.25<br />

ST[ * ]:0.[ * ]/0 181.05 144.85<br />

ST[ * ]:0.0/[ * ] 181.05 144.85<br />

ST[ * ]:0.0/0 186.25 144.45<br />

C–47


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Tiempos <strong>de</strong> ejecución <strong>de</strong> instrucción<br />

Ejemplo<br />

C–48<br />

Instrucción<br />

Tiempo <strong>de</strong> ejecución (µs)<br />

<strong>SLC</strong> 5/03 <strong>SLC</strong> 5/04<br />

XIC 10.20 8.72<br />

XIO 14.65 12.76<br />

OTU 6.30 5.45<br />

OTL 9.35 5.40<br />

OTE 6.25 5.50<br />

OSR 10.50 8.10<br />

Para calcular el tiempo <strong>de</strong> ejecución <strong>de</strong> una instrucción XIC a B3/[N7:0] usando un<br />

procesador <strong>SLC</strong> 5/03, sume lo siguiente:<br />

10.20 + 96.70 = 106.90


D Tiempo <strong>de</strong> escán estimado<br />

Tiempo <strong>de</strong> escán estimado<br />

Este apéndice contiene hojas <strong>de</strong> trabajo que le permiten calcular aproximadamente<br />

el tiempo <strong>de</strong> escán para la configuración y programa su controlador en particular. El<br />

cálculo <strong>de</strong> tiempo <strong>de</strong> escán para un ejemplo <strong>de</strong> controlador y programa se incluye<br />

como ayuda.<br />

Usted utilizará los tieimpos <strong>de</strong> ejecución <strong>de</strong> instrucción enumerados en el apéndice<br />

B.<br />

D–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ciclo <strong>de</strong> operación <strong>de</strong>l procesador<br />

D–2<br />

El diagrama y tabla siguientes separan el ciclo <strong>de</strong> operación <strong>de</strong>l procesador en<br />

eventos. Las <strong>instrucciones</strong> para calcular el tiempo <strong>de</strong> escán <strong>de</strong> estos eventos<br />

aparecen en las hojas <strong>de</strong> trabajo.<br />

Input Scan<br />

Program Scan<br />

Output Scan<br />

Communications<br />

Processor Overhead<br />

Eventos en el ciclo <strong>de</strong> operación <strong>de</strong>l<br />

procesador<br />

Escán <strong>de</strong> entrada<br />

Escán <strong>de</strong> programa<br />

Escán <strong>de</strong> salida<br />

Comunicaciones<br />

Overhead <strong>de</strong>l procesador<br />

Evento Descripción<br />

El estado <strong>de</strong> los módulos <strong>de</strong> entrada se lee y la imagen <strong>de</strong><br />

entrada en el procesador se actualiza con esta información.<br />

El programa <strong>de</strong> escalera se ejecuta. La tabla <strong>de</strong> imagen <strong>de</strong><br />

entrada se evalúa, los renglones <strong>de</strong> escalera se resuelven y la<br />

imagen <strong>de</strong> salida se actualiza. La información todavía no se<br />

transfiere a los módulos <strong>de</strong> salida.<br />

La información <strong>de</strong> imagen <strong>de</strong> salida se transfiere a los<br />

módulos <strong>de</strong> salida.<br />

La comunicación con programadores y otros dispositivos <strong>de</strong> la<br />

red se realiza.<br />

La limpieza interna <strong>de</strong>l procesador se efectúa. Las acciones<br />

incluyen la realización el escán previo <strong>de</strong>l programa y la<br />

actualización <strong>de</strong> la base <strong>de</strong> tiempo interna y el archivo <strong>de</strong><br />

estado.


Tiempos <strong>de</strong> acceso para los datos M0/M1<br />

Tiempo <strong>de</strong> escán estimado<br />

Durante el escán <strong>de</strong> programa, el procesador <strong>de</strong>be acce<strong>de</strong>r a la tarjeta <strong>de</strong> E/S<br />

especial para leer/escribir los datos M0 ó M1. Este tiempo <strong>de</strong> acceso se <strong>de</strong>be añadir<br />

al tiempo <strong>de</strong> ejecución <strong>de</strong> cada instrucción con referencia a los datos M0 ó M1. La<br />

tabla siguiente muestra los tiempos <strong>de</strong> acceso aproximados por instrucción o palabra<br />

<strong>de</strong> datos para los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04.<br />

Procesador<br />

Tiempo <strong>de</strong> acceso por<br />

instrucción <strong>de</strong> bit o palabra<br />

<strong>de</strong> datos<br />

Tiempo <strong>de</strong> acceso por<br />

instrucción <strong>de</strong> palabras<br />

múltiples<br />

<strong>SLC</strong> 5/02 Vea la página C–21. Vea la página C–21.<br />

<strong>SLC</strong> 5/03 OS300, OS301 Vea la página C–34. Vea la página C–34.<br />

<strong>SLC</strong> 5/04 OS400, OS401 Vea la página C–44. Vea la página C–44.<br />

D–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Latencia <strong>de</strong> interrupción<br />

La latencia <strong>de</strong> interrupción es el intervalo entre la <strong>de</strong>tección <strong>de</strong> interrupción y el<br />

comienzo <strong>de</strong> la subrutina <strong>de</strong> interrupción. Durante este plazo <strong>de</strong> tiempo, el<br />

procesador <strong>SLC</strong> <strong>500</strong> realiza operaciones que no se pue<strong>de</strong>n interrumpir.<br />

Nota Si usted usa un procesador <strong>SLC</strong> 5/03 y S:33/8 es restablecido (0), las interrupciones<br />

no pue<strong>de</strong>n recibir servicio <strong>de</strong>ntro <strong>de</strong>l período <strong>de</strong> latencia <strong>de</strong> interrupción calculado.<br />

(Vea la página siguiente.) Esto se aplica a las <strong>instrucciones</strong> siguientes:<br />

D–4<br />

• Interrupción <strong>de</strong> entrada discreta (DII)<br />

• Interrupción temporizada seleccionable (STI)<br />

• Interrupción <strong>de</strong> E/S


Cómo calcular la latencia <strong>de</strong> interrupción para <strong>SLC</strong> 5/03<br />

Tiempo <strong>de</strong> escán estimado<br />

Use la hoja <strong>de</strong> trabajo siguiente para calcular la latencia <strong>de</strong> interrupción. Estos<br />

ejemplos suponen que el bit <strong>de</strong> control <strong>de</strong> latencia <strong>de</strong> interrupción S:33/8 es<br />

establecido.<br />

Interrupción temporizada seleccionable<br />

288 µs<br />

60 µs<br />

326 µs<br />

60 µs<br />

608 µs<br />

60 µs<br />

Tiempo <strong>de</strong> entrada<br />

Overhead fijo<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 0<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 1<br />

Latencia <strong>de</strong> interrupción total (máx.)<br />

Interrupción <strong>de</strong> entrada discreta<br />

Tiempo <strong>de</strong> entrada<br />

Overhead fijo<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 0<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 1<br />

Latencia <strong>de</strong> interrupción total (máx.)<br />

Interrupción <strong>de</strong> evento <strong>de</strong> E/S<br />

Tiempo <strong>de</strong> entrada<br />

Overhead fijo<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 0<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 1<br />

Latencia <strong>de</strong> interrupción total (máx.)<br />

Use los tiempos <strong>de</strong> ejecución siguientes para calcular la latencia <strong>de</strong> interrupción.<br />

Configuración <strong>de</strong> canal Tiempo <strong>de</strong> overhead <strong>de</strong> fondo<br />

DH–485 300 µs<br />

DF1 half–Duplex<br />

maestro/esclavo<br />

650 µs DF1 full–Duplex 655 µs Los tiempos anteriores incluyen la comunicación <strong>de</strong> hardware. Estos tiempos también suponen que existe<br />

comunicación <strong>de</strong> mó<strong>de</strong>m segura. Si las líneas <strong>de</strong> mó<strong>de</strong>m son ruidosas, añada 8 µs al tiempo específico.<br />

D–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Cómo calcular la latencia <strong>de</strong> interrupción para <strong>SLC</strong> 5/04<br />

D–6<br />

Use la hoja <strong>de</strong> trabajo siguiente para calcular la latencia <strong>de</strong> interrupción. Estos<br />

ejemplos suponen que el bit <strong>de</strong> control <strong>de</strong> latencia <strong>de</strong> interrupción S:33/8 es<br />

establecido.<br />

237 µs<br />

60 µs<br />

278 µs<br />

60 µs<br />

472 µs<br />

60 µs<br />

Interrupción temporizada seleccionable<br />

Tiempo <strong>de</strong> entrada<br />

Overhead fijo<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 0<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 1<br />

Latencia <strong>de</strong> interrupción total (máx.)<br />

Interrupción <strong>de</strong> entrada discreta<br />

Tiempo <strong>de</strong> entrada<br />

Overhead fijo<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 0<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 1<br />

Latencia <strong>de</strong> interrupción total (máx.)<br />

Interrupción <strong>de</strong> evento <strong>de</strong> E/S<br />

Tiempo <strong>de</strong> entrada<br />

Overhead fijo<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 0<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 1<br />

Latencia <strong>de</strong> interrupción total (máx.)<br />

Use los siguientes tiempos <strong>de</strong> ejecución para ayudarle a calcular la latencia <strong>de</strong><br />

interrupción<br />

Configuración <strong>de</strong> canal Tiempo <strong>de</strong> overhead <strong>de</strong> fondo<br />

DH–485 220 µs<br />

DF1 half–duplex<br />

maestro/esclavo<br />

553 µs DF1 full–duplex 553 µs DH+ 260 µs<br />

<br />

Los tiempos anteriores incluyen la comunicación <strong>de</strong> hardware. Estos tiempos también asumen que existe<br />

comunicación <strong>de</strong> mó<strong>de</strong>m segura. Si las líneas <strong>de</strong> mó<strong>de</strong>m son ruidosas, añada 8 µs al tiempo específico.


Tiempo <strong>de</strong> escán estimado<br />

Ejemplo – Interrupción temporizada seleccionable <strong>de</strong>l procesador <strong>SLC</strong> 5/03<br />

Configuración: Canal 0 <strong>de</strong>sactivado<br />

Canal 1 DH–485<br />

288 µs Tiempo <strong>de</strong> entrada<br />

60 µs Overhead fijo<br />

0 µs<br />

300 µs<br />

648 µs<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 0<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 1<br />

Latencia <strong>de</strong> interrupción total (máx.)<br />

Ejemplo – Interrupción temporizada seleccionable <strong>de</strong>l procesador <strong>SLC</strong> 5/04<br />

Configuración: Canal 0 DH–485<br />

Canal 1 <strong>de</strong>sactivado<br />

237 µs Tiempo <strong>de</strong> entrada<br />

60 µs Overhead fijo<br />

220 µs<br />

0 µs<br />

517 µs<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 0<br />

Overhead <strong>de</strong> comunicación <strong>de</strong> fondo <strong>de</strong> canal 1<br />

Latencia <strong>de</strong> interrupción total (máx.)<br />

D–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Hojas <strong>de</strong> trabajo <strong>de</strong> tiempo <strong>de</strong> escán<br />

D–8<br />

Las hojas <strong>de</strong> tiempo A, B, C, D y E en las páginas siguientes se <strong>de</strong>ben usar con los<br />

sistemas <strong>SLC</strong> <strong>500</strong> según lo siguiente:<br />

• Hoja <strong>de</strong> trabajo A – Controladores compactos<br />

• Hoja <strong>de</strong> trabajo B – Procesador <strong>1747</strong>-L511 ó <strong>1747</strong>-L514<br />

• Hoja <strong>de</strong> trabajo C – Procesador <strong>1747</strong>-L524<br />

• Hoja <strong>de</strong> trabajo D – Procesador <strong>1747</strong>–L532<br />

• Hoja <strong>de</strong> trabajo E – Procesador <strong>1747</strong>–L542<br />

Estas hojas <strong>de</strong> trabajo se presentan para ayudarle a calcular el tiempo <strong>de</strong> escán <strong>de</strong> la<br />

aplicación. Refiérase al apéndice B para obtener los tiempos <strong>de</strong> ejecución <strong>de</strong><br />

instrucción. Refiérase a la Descripción general <strong>de</strong>l sistema <strong>de</strong> la familia <strong>SLC</strong> <strong>500</strong>,<br />

publicación <strong>1747</strong>-2.30ES, para obtener los números y tamaños <strong>de</strong> piezas <strong>de</strong>l módulo<br />

<strong>de</strong> E/S.<br />

Un ejemplo <strong>de</strong>l cálculo <strong>de</strong> tiempo <strong>de</strong> escán aparece en la página D–25.<br />

Definición <strong>de</strong> terminología <strong>de</strong> la hoja <strong>de</strong> trabajo<br />

Cuando usted trabaje con las hojas <strong>de</strong> trabajo, encontrará los términos siguientes:<br />

Término: Definición:<br />

Comunicación <strong>de</strong> fondo<br />

Comunicación <strong>de</strong> primer plano<br />

Overhead <strong>de</strong> forzado <strong>de</strong><br />

entrada<br />

Overhead <strong>de</strong> forzado <strong>de</strong> salida<br />

Tiempos <strong>de</strong> overhead <strong>de</strong>l<br />

procesador<br />

Ocurre cuando el procesador está conectado a una red activa.<br />

Durante este evento, el procesador acepta caracteres <strong>de</strong> la<br />

red y los coloca en un búfer <strong>de</strong> paquete.<br />

Ocurre solamente cuando hay otro nodo conectado, o cuando<br />

otro procesador envía una instrucción MSG al procesador.<br />

Durante este evento, el procesador realiza los comandos <strong>de</strong><br />

comunicación contenidos en los paquetes finalizados<br />

construidos durante las comunicaciones <strong>de</strong> fondo.<br />

Este valor se incluye en el tiempo <strong>de</strong> escán cuando los<br />

forzados se habilitan en el programa.<br />

Este valor se incluye en el tiempo <strong>de</strong> escán cuando los<br />

forzados se habilitan en el programa.<br />

El mantenimiento interno <strong>de</strong>l procesador se efectúa. Las<br />

acciones incluyen la realización <strong>de</strong>l escán previo <strong>de</strong> programa<br />

y la actualización <strong>de</strong> la base <strong>de</strong> tiempo interna y el archivo <strong>de</strong><br />

estado.


Un solo paso<br />

Término: Definición:<br />

Módulo <strong>de</strong> palabras múltiples<br />

Tiempo <strong>de</strong> escán estimado<br />

Al usar esta función con un procesador <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 ó<br />

<strong>SLC</strong> 5/04, pue<strong>de</strong> ejecutar el programa un renglón o una<br />

sección individualmente. Esta función se usa para propósitos<br />

<strong>de</strong> <strong>de</strong>puración.<br />

Un ejemplo <strong>de</strong> módulos <strong>de</strong> palabras múltiples es DCM,<br />

analógico y DSN.<br />

Hoja <strong>de</strong> trabajo A – Cómo estimar el tiempo <strong>de</strong> escán <strong>de</strong>l controlador fijo<br />

Procedimiento Tiempo <strong>de</strong> escán<br />

mínimo<br />

1. Estime el tiempo <strong>de</strong> escán <strong>de</strong> entrada (µs).<br />

1.1 Determine el tipo <strong>de</strong> controlador que usted tiene<br />

Si tiene un procesador <strong>de</strong> E/S 20, escriba 313 en la línea (A)<br />

Si tiene un procesador <strong>de</strong> E/S 30 ó 40, escriba 429<br />

en la línea (A). A.)________<br />

1.2 Calcule el escán <strong>de</strong> entrada <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> entrada<br />

discreta (es un cero si no se usa el chasis <strong>de</strong> expansión)<br />

No. <strong>de</strong> módulos <strong>de</strong> 8 puntos ________ x 197 = B.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 16 puntos ________ x 313 = C.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 32 puntos ________ x 545 = D.)________<br />

1.3 Calcule el escán <strong>de</strong> entrada <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> E/S<br />

especiales (es un cero si no se usa el chasis <strong>de</strong> expansión)<br />

No. <strong>de</strong> 1/4 DCM o comb. analógica ________ x 652 = E.)________<br />

No. <strong>de</strong> 1/2 DCM, entrada analógica<br />

ó 1746–HS ________ x 1126 = F.) ________<br />

No. <strong>de</strong> 3/4 DCM ________ x 1600 = G.)________<br />

No. <strong>de</strong> DCM lleno, BASIC,<br />

ó <strong>1747</strong>–DSN ________ x 2076 = H.)________<br />

No. <strong>de</strong> <strong>1747</strong>–KE ________ x 443 = I.) ________<br />

No. <strong>de</strong> 1746–NT4 ________ x = J.) ________<br />

1.4 Sume las líneas A a J. Coloque este valor en la línea (K).<br />

Añada 101 al valor en la línea (K).<br />

Esta suma es el tiempo <strong>de</strong> escán <strong>de</strong> entrada mínimo.<br />

K.)________ + 101 = L<br />

1.5 Calcule el tiempo <strong>de</strong> escán <strong>de</strong> entrada mínimo:<br />

Tiempo <strong>de</strong> escán <strong>de</strong> entrada máximo (M) =<br />

Tiempo <strong>de</strong> escán <strong>de</strong> entrada mínimo (K) + (No. <strong>de</strong> módulos <strong>de</strong> E/S especiales x 50)<br />

1.6 Calcule el overhead <strong>de</strong> entrada forzado: Overhead <strong>de</strong> entrada forzado = (N)<br />

(No. <strong>de</strong> módulos <strong>de</strong> entrada x 180) + 140 por palabra adicional para<br />

módulos <strong>de</strong> palabras múltiples (por ej., DMC, analógico, DNS)<br />

Cuando los forzados se inhabilitan, este valor es 0.<br />

L)________<br />

N)________<br />

Tiempo <strong>de</strong> escán<br />

máximo<br />

M)________<br />

N)________<br />

Continúa en la página siguiente<br />

D–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Procedimiento Tiempo <strong>de</strong> escán mín. Tiempo <strong>de</strong> escán máx.<br />

2. Calcule el tiempo <strong>de</strong> escán <strong>de</strong> salida (µs).<br />

2.1 Determine el tipo <strong>de</strong> controlador que usted tiene.<br />

Si tiene un procesador <strong>de</strong> E/S 20, escriba 173 en la línea (A)<br />

Si tiene un proc. <strong>de</strong> E/S 30 ó 40, escriba 272 en la línea (A). A.)________<br />

2.2 Calcule el escán <strong>de</strong> salida <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> salida discreta.<br />

No. <strong>de</strong> módulos <strong>de</strong> 8 puntos ________ x 173 = B.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 16 puntos ________ x 272 = C.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 32 puntos ________ x 470 = D.)________<br />

2.3 Calcule el escán <strong>de</strong> salida <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> E/S especiales.<br />

No. <strong>de</strong> 1/4 DCM ó comb. analógica ________ x 620 = E.)________<br />

No. <strong>de</strong> 1/2 DCM, salida analógica<br />

ó 1746–HS ________ x 1028 = F.) ________<br />

No. <strong>de</strong> 3/4 DCM ________ x 1436 = G.)________<br />

No. <strong>de</strong> DCM completo, BASIC,<br />

ó <strong>1747</strong>–DSN ________ x 1844 = H.)________<br />

2.4 Sume las líneas A a H. Coloque este valor en la línea (I).<br />

Sume 129 al valor en la línea (I). Esta suma es el tiempo <strong>de</strong> escán <strong>de</strong> salida mínimo.<br />

I.)________ + 129 = (J)<br />

2.5 Calcule el tiempo <strong>de</strong> escán <strong>de</strong> salida máximo:<br />

Tiempo <strong>de</strong> escán <strong>de</strong> salida máixmo (K) =<br />

Tiempo <strong>de</strong> escán mínimo (J) + (No. <strong>de</strong> módulos <strong>de</strong> E/S especiales x 50)<br />

2.6 Calcule el overhead <strong>de</strong> salida forzado: Overhead <strong>de</strong> salida forzado = (L)<br />

(No. <strong>de</strong> módulos <strong>de</strong> salida x 172) + 140 por palabra adicional<br />

para módulos <strong>de</strong> palabras múltiples (por ej., DCM, analógico, DSN)<br />

Cuando los forzados se inhabilitan, este valor es 0.<br />

3. Estime el tiempo <strong>de</strong> escán <strong>de</strong> programa. Este cálculo aproximado supone la operación<br />

<strong>de</strong> todas las <strong>instrucciones</strong> una vez por cada escan <strong>de</strong> operación.<br />

3.1 Cuente el no. <strong>de</strong> renglones en el programa APS. Coloque el valor en la línea (A).<br />

3.2 Calcule el tiempo <strong>de</strong> ejecución <strong>de</strong> programa máximo (B) cuando todas las <strong>instrucciones</strong><br />

son verda<strong>de</strong>ras.<br />

3.3 Calcule el tiempo <strong>de</strong> ejecución <strong>de</strong> programa mínimo (C) usando los tiempos asociados<br />

con una instrucción cuando ésta es falsa. (Vea el apéndice A para hacer esto.)<br />

4. Sume los valores en las columnas <strong>de</strong> tiempo <strong>de</strong> escán mínimo y máximo.<br />

5. Añada el tiempo <strong>de</strong> overhead <strong>de</strong>l procesador (178 para tiempo <strong>de</strong> escán mín.; 278 para<br />

tiempo <strong>de</strong> escán máx.) a los subtotales calculados en el paso 4.<br />

Use estos subtotales nuevos para calcular el overhead <strong>de</strong> comunicación en el paso 6.<br />

6. Calcule el overhead <strong>de</strong> comunicación:<br />

6.1 Calcule el overhead <strong>de</strong> comunicación <strong>de</strong> fondo cuando no haya comunicación:<br />

multiplique el subtotal para el tiempo <strong>de</strong> escán mín. (A) (estimado en el paso 5) entre 1;<br />

multiplique el subtotal para el tiempo <strong>de</strong> escán máx. (B) entre 1.140<br />

(el valor máx. toma en cuenta la red activa DH-485) cuando haya comunicación.<br />

6.2 Calcule el overhead <strong>de</strong> comunicación <strong>de</strong> primer plano:<br />

para el tiempo <strong>de</strong> escán mín. (C), añada 0; para el tiempo <strong>de</strong> escán máx. (D), añada<br />

2310.<br />

(El tiempo <strong>de</strong> escán máx. toma en cuenta<br />

6.3 Convierta los µseg. en mseg, divida entre 1000.<br />

D–10<br />

J)_________<br />

L)_________<br />

A)_________<br />

C)__________<br />

__________ subtotal<br />

+ 178<br />

__________<br />

subtotal<br />

A x 1.000<br />

_________ µs<br />

C + 0<br />

_________ µs<br />

/ 1000<br />

K)________<br />

L)________<br />

A)________<br />

B)_________<br />

_________ subtotal<br />

+ 278<br />

_________<br />

subtotal<br />

B x 1.140<br />

________ µs<br />

D + 2310<br />

________ µs<br />

/ 1000


Tiempo <strong>de</strong> escán estimado<br />

Tiempos <strong>de</strong> escán mín. y máx. calculados para la aplicación <strong>de</strong>l controlador fijo: mseg mseg<br />

D–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Hoja <strong>de</strong> trabajo B – Cómo estimar el tiempo <strong>de</strong> escán <strong>de</strong>l procesador<br />

<strong>1747</strong>-L511 ó <strong>1747</strong>-l514<br />

Procedimiento Tiempo <strong>de</strong> escán mín. Tiempo <strong>de</strong> escán máx.<br />

1. Calcule el tiempo <strong>de</strong> escán <strong>de</strong> entrada (µs).<br />

1.1 Calcule el escán <strong>de</strong> entrada <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> entrada discreta.<br />

No. <strong>de</strong> módulos <strong>de</strong> 8 puntos ________ x 197 = A.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 16 puntos ________ x 313 = B.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 32 puntos ________ x 545 = C.)________<br />

1.2 Calcule el escán <strong>de</strong> entrada <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> E/S especiales.<br />

No. <strong>de</strong> 1/4 DCM o comb. analógica ________ x 652 = D.)________<br />

No. <strong>de</strong> 1/2 DC, entrada analógica<br />

ó 1746–HS ________ x 1126 = E.)________<br />

No. <strong>de</strong> 3/4 DCM ________ x 1600 = F)________<br />

No. <strong>de</strong> DCM completo, BASICO<br />

ó <strong>1747</strong>–DSN ________ x 2076 = G.)________<br />

No. <strong>de</strong> <strong>1747</strong>–KE ________ x 443 = H.)________<br />

No. <strong>de</strong> 1746–NT4 ________ x = I.)________<br />

1.3 Sume las líneas A a I. Coloque este valor en la línea (J)<br />

Sume 101 al valor en la línea (J). Esta suma es el tiempo <strong>de</strong> escán <strong>de</strong> entrada mín.<br />

J.)________ + 101 = K<br />

1.4 Calcule el tiempo <strong>de</strong> escán <strong>de</strong> entrada máximo:<br />

Tiempo <strong>de</strong> escán <strong>de</strong> entrada máximo (L) =<br />

Tiempo <strong>de</strong> escán mínimo (K) + (No. <strong>de</strong> módulos <strong>de</strong> E/S especiales x 50)<br />

1.5 Calcule el overhead <strong>de</strong> entrada forzado: Overhead <strong>de</strong> entrada forzado = (M)<br />

(No. <strong>de</strong> módulos <strong>de</strong> entrada x 180) + 140 por palabra adicional para<br />

módulos <strong>de</strong> palabras múltiples (por ej., DMC, analógico, DSN)<br />

2. Estime el tiempo <strong>de</strong> escán <strong>de</strong> salida (µs).<br />

2.1 Calcule el escán <strong>de</strong> salida <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> salida discreta.<br />

No. <strong>de</strong> módulos <strong>de</strong> 8 puntos ________ x 173 = A.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 16 puntos ________ x 272 = B.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 32 puntos ________ x 470 = C.)________<br />

2.2 Calcule el escán <strong>de</strong> salida <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> salida discreta.<br />

No. <strong>de</strong> 1/4 DCM ó comb. analógica ________ x 620 = D.)________<br />

No. <strong>de</strong> 1/2 DCM, salida analógica<br />

ó 1746–HS ________ x 1028 = E.)________<br />

No. <strong>de</strong> 3/4 DCM ________ x 1436 = F) ________<br />

No. <strong>de</strong> DCM completo, BASIC,<br />

ó <strong>1747</strong>–DSN ________ x 1844 = G.)________<br />

2.3 Sume las líneas A a G. Coloque este valor en la línea (H).<br />

Sume 129 al valor en la línea (H). Esta suma es el tiempo <strong>de</strong> escán <strong>de</strong> salida mín.<br />

H)________ + 129 = I<br />

2.4 Calcule el iempo <strong>de</strong> escán <strong>de</strong> salida máximo.<br />

Tiempo <strong>de</strong> escán <strong>de</strong> salida máximo (J) =<br />

Tiempo <strong>de</strong> escán mínimo (I) + (No. <strong>de</strong> módulos <strong>de</strong> E/S especiales x 50)<br />

2.5 Calcule el overhead <strong>de</strong> salida forzado: Overhead <strong>de</strong> salida forzado = K<br />

(No. <strong>de</strong> módulos <strong>de</strong> salida x 172) + 140 por palabra adicional para<br />

módulos <strong>de</strong> palabras múltiples (por ej., DCM, analógico, DSN)<br />

D–12<br />

K)_________<br />

I)________<br />

L)_________<br />

M)_________<br />

J)_________<br />

K)_________<br />

Continúa en la página siguiente


Procedimiento Tiempo <strong>de</strong> escán<br />

mínimo<br />

3. Estime el tiempo <strong>de</strong> escán <strong>de</strong> programa. Este cálculo aproximado supone e la<br />

operación <strong>de</strong> todas las <strong>instrucciones</strong> una vez por cada escán <strong>de</strong> operación.<br />

3.1 Cuente el no. <strong>de</strong> renglones en el programa APS. Coloque el valor en la línea (A).<br />

3.2 Calcule el tiempo <strong>de</strong> ejecución <strong>de</strong> programa (B) cuando todas las <strong>instrucciones</strong> son<br />

verda<strong>de</strong>ras. (Vea el apéndice A para hacer esto.)<br />

4. Sume los valores en las columnas <strong>de</strong> tiempo <strong>de</strong> escán mínimo y máximo.<br />

5. Sume el tiempo <strong>de</strong> overhead <strong>de</strong>l procesador (178 para tiempo <strong>de</strong> escán mínimo; 278<br />

para tiempo <strong>de</strong> escán máximo) a los subtotales estimados en el paso 4.<br />

Use estos subtotales nuevos para calcular el overhead <strong>de</strong> comunicaciones en el paso 6.<br />

6. Calcule el overhead <strong>de</strong> comunicación:<br />

6.1 Calcule el overhead <strong>de</strong> comunicación <strong>de</strong> fondo:<br />

multiplique el subtotal para el tiempo <strong>de</strong> escán mín. (estimado en el paso 5) entre 1;<br />

multiplique el subtotal para el tiempo <strong>de</strong> escán máx. entre 1.140<br />

(el valor máx. toma en cuenta la red activa DH-485)..<br />

6.2 Calcule el overhead <strong>de</strong> comunicación <strong>de</strong> primer plano:<br />

por el tiempo <strong>de</strong> escán mínimo, añada 0;<br />

por el tiempo <strong>de</strong> escán máximo, añada 2310.<br />

(El tiempo <strong>de</strong> escán máximo toma en cuenta que el programador está<br />

conectado al procesador.)<br />

6.3 Convierta µseg a mseg y divida entre 1000.<br />

Los tiempos <strong>de</strong> escán mínimo y máximo estimados <strong>de</strong> la aplicación <strong>de</strong> <strong>1747</strong>-L5100 ó<br />

<strong>1747</strong>-L514:<br />

A)__________<br />

B)__________<br />

___________<br />

subtotal<br />

+ 178<br />

__________<br />

subtotal<br />

x 1.000<br />

__________ µseg<br />

+ 0<br />

__________ µseg<br />

/ 1000<br />

Tiempo <strong>de</strong> escán estimado<br />

Tiempo <strong>de</strong> escán<br />

máximo<br />

A)_________<br />

B)_________<br />

_________<br />

subtotal<br />

+ 278<br />

_________<br />

subtotal<br />

x 1.140<br />

_________ µseg<br />

+ 2310<br />

_________ µseg<br />

/ 1000<br />

mseg mseg<br />

D–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Hoja <strong>de</strong> trabajo C – Cómo estimar el tiempo <strong>de</strong> escán <strong>de</strong>l procesador<br />

<strong>1747</strong>-L524<br />

Procedimiento Tiempo <strong>de</strong> escán<br />

mínimo<br />

1. Calcule el tiempo <strong>de</strong> escán <strong>de</strong> entrada (µs).<br />

1.1 Calcule el escán <strong>de</strong> entrada <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> entrada discreta.<br />

No. <strong>de</strong> módulos <strong>de</strong> 8 puntos ________ x 126 = A.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 16 puntos ________ x 195 = B.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 32 puntos ________ x 335 = C.)________<br />

1.2 Calcule el escán <strong>de</strong> entrada <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> E/S discretas.<br />

No. <strong>de</strong> 1/4 DCM o comb. analógica ________ x 375 = D.)________<br />

No. <strong>de</strong> 1/2 DCM, entrada analógica<br />

ó 1746–HS ________ x 659 = E.)________<br />

No. <strong>de</strong> 3/4 DCM ________ x 944 = F)________<br />

No. <strong>de</strong> DCM completo, config. pequeña BASIC<br />

o DSN <strong>de</strong> 7 bloques ________ x 1228 = G.)________<br />

No. <strong>de</strong> <strong>1747</strong>–KE ________ x 250 = H.)________<br />

No. <strong>de</strong> 1746–NT4 ________ x = I.)_________<br />

1.3 Calcule el escán <strong>de</strong> entrada <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> E/S especiales.<br />

No. <strong>de</strong> config. larga BASIC,<br />

1746–HSCE ________ x 1557 = J.)________<br />

No. <strong>de</strong> DSN <strong>de</strong> escáner RS/O<br />

o <strong>de</strong> 30 bloques ________ x 4970 = K.)________<br />

1.4 Sume las líneas A a K. Coloque este valor en la línea (L).<br />

Sume 121 al valor en la línea (L). Esta suma es el tiempo <strong>de</strong> escán <strong>de</strong> entrada mín.<br />

L.)________ + 121 = M<br />

1.5 Calcule el tiempo <strong>de</strong> escán <strong>de</strong> entrada máximo:<br />

Tiempo <strong>de</strong> escán mín. (M) + (No. <strong>de</strong> módulos <strong>de</strong> E/S especiales en la sección 1.2 x 30) +<br />

(No. <strong>de</strong> módulos <strong>de</strong> E/S especiales en la sección 1.3 x 120) = (N)<br />

1.6 Calcule el overhead <strong>de</strong> entrada forzado ()) = (No. <strong>de</strong> módulos <strong>de</strong> entrada x 108) +<br />

140 por palabra adicional para los módulos <strong>de</strong> palabras múltiples<br />

D–14<br />

M)_________<br />

Tiempo <strong>de</strong> escán<br />

máximo<br />

N)_________<br />

O)_________<br />

Continúa en la página siguiente


Procedimiento Tiempo <strong>de</strong> escán<br />

mínimo<br />

2. Calcule el tiempo <strong>de</strong> escán <strong>de</strong> salida (µs).<br />

2.1 Calcule el escán <strong>de</strong> salida <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> salida discreta.<br />

No. <strong>de</strong> módulos <strong>de</strong> 8 puntos ________ x 104 = A.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 16 puntos ________ x 164 = B.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 32 puntos ________ x 282 = C.)________<br />

2.2 Calcule el escán <strong>de</strong> salida <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> E/S especiales.<br />

No. <strong>de</strong> 1/4 DCM o comb. analógica ________ x 372 = D.)________<br />

No. <strong>de</strong> 1/2 DCM, salida analógica<br />

1746–HS ________ x 617 = E.)________<br />

No. <strong>de</strong> 3/4 DCM ________ x 862 = F.)________<br />

No. <strong>de</strong> DCM completo , config. pequeña BASIC<br />

o DSN <strong>de</strong> 7 bloques ________ x 1047 = G.)________<br />

2.3 Calcule el escán <strong>de</strong> salida <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> E/S especiales.<br />

No. <strong>de</strong> config. largas BASIC,<br />

1746–HSCE ________ x 1399 = H.)________<br />

No. <strong>de</strong> DSN <strong>de</strong> escáner RI/O<br />

o <strong>de</strong> 30 bloques ________ x 4367 = I.)________<br />

2.4 Sume las líneas A a I. Coloque este valor en la línea (J).<br />

Sume 138 al valor en la línea (J). Esta suma es el tiempo <strong>de</strong> escán <strong>de</strong> salida mín.<br />

J.)________ + 138 = K<br />

2.5 Calcule el tiempo <strong>de</strong> escán <strong>de</strong> salida máximo = L<br />

Tiempo <strong>de</strong> escán mínimo (K) + (No. <strong>de</strong> módulos <strong>de</strong> E/S especiales en parte B x 30) +<br />

(No. <strong>de</strong> módulos <strong>de</strong> E/S especiales en parte C x 120)<br />

2.6 Calcule el overhead <strong>de</strong> salida forzado (M)= (No. <strong>de</strong> módulos <strong>de</strong> salida x 104) +<br />

140 por palabra adicional para los módulos <strong>de</strong> palabras múltiples<br />

3. Calcule el tiempo <strong>de</strong> escán <strong>de</strong> programa. Este cálculo aproximado supone la<br />

operación <strong>de</strong> todas las <strong>instrucciones</strong> una vez por cada escán <strong>de</strong> operación.<br />

3.1 Cuente el no. <strong>de</strong> renglones en el programa APS. Coloque el valor en la línea (A).<br />

3.2 Multiplique el valor en la línea (A) entre 6. (Si usted guardó el programa con un<br />

solo paso habilitado, multiplique el valor en la línea (A) entre 66.)<br />

A.)________ x 6 =<br />

3.3 Calcule el tiempo <strong>de</strong> ejecución <strong>de</strong> programa cuando todas las <strong>instrucciones</strong><br />

sean verda<strong>de</strong>ras. (Vea el apéndice A para hacer esto.)<br />

4. Sume los valores en las columnas <strong>de</strong> tiempo <strong>de</strong> escán mínimo y máximo.<br />

5. Añada el tiempo <strong>de</strong> overhead <strong>de</strong> procesador (180 para tiempo <strong>de</strong> escán mín.; 280 para<br />

tiempo <strong>de</strong> escán máx.) a los subtotales calculados en el paso 4.<br />

Use estos subtotales nuevos para calcular el overhead <strong>de</strong> comunicación en el paso 6.<br />

K)_________<br />

A)__________<br />

B)__________<br />

__________<br />

subtotal<br />

+ 180<br />

________subtotal<br />

Tiempo <strong>de</strong> escán estimado<br />

Tiempo <strong>de</strong> escán<br />

máximo<br />

L)_________<br />

M)_________<br />

A)_________<br />

_________<br />

_________<br />

subtotal<br />

+ 280<br />

_________<br />

subtotal<br />

Continúa en la página siguiente<br />

D–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Procedimiento Tiempo <strong>de</strong> escán<br />

mínimo<br />

6. Calcule el overhead <strong>de</strong> comunicación:<br />

6.1 Calcule el overhead <strong>de</strong> comunicación <strong>de</strong> fondo:<br />

multiplique el subtotal para el tiempo <strong>de</strong> escán mín. (estimado en el paso 5) por 1040;<br />

multiplique el subtotal para el tiempo <strong>de</strong> escán máx. por 1140<br />

(el valor máximo toma en cuenta la red activa DH-485).<br />

6.2 Calcule el overhead <strong>de</strong> comunicaciones <strong>de</strong> primer plano:<br />

para el tiempo <strong>de</strong> escán mínimo, añada 0;<br />

para el tiempo <strong>de</strong> escán máximo, añada 2286.<br />

(El tiempo <strong>de</strong> escán máximo toma en cuenta que el programador está<br />

conectado al procesador.)<br />

D–16<br />

x 1040<br />

_________ µseg.<br />

+ 0<br />

__________ µseg<br />

/ 1000<br />

Tiempo <strong>de</strong> escán<br />

máximo<br />

x 1140<br />

_________ µseg<br />

+ 2286<br />

_________ µseg<br />

/ 1000<br />

6.3 Convierta µseg a mseg y divida entre 1000.<br />

Tiempos <strong>de</strong> escán mínimo y máximo calculados <strong>de</strong> la aplicación <strong>1747</strong>-L524: mseg mseg<br />

7. Estime el tiempo <strong>de</strong> escán para la aplicación <strong>1747</strong>-L524 <strong>de</strong> serie B; divida los valores / 0.60<br />

/ 0.60<br />

para la aplicación <strong>de</strong> serie C entre 0.60.<br />

Tiempos <strong>de</strong> escán mínimo y máximo estimados <strong>de</strong> la aplicación <strong>1747</strong>-L524 <strong>de</strong> serie B:<br />

mseg<br />

mseg


Tiempo <strong>de</strong> escán estimado<br />

Hoja <strong>de</strong> trabajo D – Cómo calcular el tiempo <strong>de</strong> escán <strong>de</strong>l procesador<br />

<strong>1747</strong>-L532<br />

Procedimiento Tiempo <strong>de</strong> escán mín. Tiempo <strong>de</strong> escán máx.<br />

1. Tiempo <strong>de</strong> escán <strong>de</strong> entrada (µs).<br />

1.1 Calcule el escán <strong>de</strong> entrada <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> entrada discreta.<br />

No. <strong>de</strong> módulos <strong>de</strong> 8 puntos _______ x 26 = A.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 16 puntos _______ x 26 = B.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 32 puntos _______ x 52 = C.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> comb. <strong>de</strong> E/S _______ x 74 = D.)________<br />

1.2 Calcule el escán <strong>de</strong> entrada <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> E/S especiales.<br />

No. <strong>de</strong> 1746–HS _______ x 332 = E.)________<br />

No. <strong>de</strong> 1/4 DCM _______ x 317 = F.)_________<br />

No. <strong>de</strong> 1/2 DCM _______ x 352 = G.)________<br />

No. <strong>de</strong> 3/4 DCM _______ x 478 = H.)________<br />

No. <strong>de</strong> DCM completo _______ x 420 = I)________<br />

No. <strong>de</strong> <strong>1747</strong>–KE _______ x 443 = J)________<br />

No. <strong>de</strong> 1746–NI4 _______ x 316 = K.)________<br />

No. <strong>de</strong> 1746–NIO4I, NIO4V _______ x 272 = L.)________<br />

No. <strong>de</strong> 1746–NT4 _______ x 385 = M.)________<br />

No. <strong>de</strong> DSN <strong>de</strong> 7 bloques ______ _x 423 = N.)________<br />

No. <strong>de</strong> DSN <strong>de</strong> 30 bloques _______ x 1051 = O.)________<br />

No. <strong>de</strong> 1746–BAS<br />

(configuración <strong>SLC</strong> 5/01) _______ x 451 = P.)________<br />

1.3 No. <strong>de</strong> <strong>1747</strong>–SN _______ x 1218 = Q.)________<br />

No. <strong>de</strong> 1746–HSCE _______ x 506 = R.)________<br />

No. <strong>de</strong> 1746–BAS<br />

(configuración <strong>SLC</strong> 5/02 y <strong>SLC</strong> 5/03) _______ x 605 = S.)________<br />

1.4 Si S:33/8 se ha puesto a cero, sume 92 µs por ranura <strong>de</strong> entrada configurada<br />

_______ x 92 = T.)________<br />

1.5 Sume las líneas A a T. Coloque este valor en la línea (W).<br />

Sume 31 al valor en la línea (W). Este es el escán <strong>de</strong> entrada mínimo.<br />

W.) ______ + 31 = X<br />

1.6 Calcule el tiempo <strong>de</strong> escán máximo <strong>de</strong> entrada <strong>de</strong> E/S especiales:<br />

Tiempo <strong>de</strong> escán <strong>de</strong> entrada (R1) = No. <strong>de</strong> módulos <strong>de</strong> E/S especiales en sec. 1.2 x 50<br />

1.7 Calcule el tiempo <strong>de</strong> escán máximo <strong>de</strong> entrada <strong>de</strong> E/S para la sección 1.3:<br />

Tiempo <strong>de</strong> escán <strong>de</strong> entrada (R2) = No. <strong>de</strong> módulos <strong>de</strong> E/S especiales en sec. 1.3 x 200<br />

1.8 Calcule el overhead <strong>de</strong> entrada forzado:<br />

Overhead <strong>de</strong> entrada forzado = No. <strong>de</strong> módulos <strong>de</strong> entrada discreta a 3.5 µs por pal.<br />

Sume 20 + 4/por palabra por cada módulo <strong>de</strong> E/S especial<br />

(por ejemplo, BASIC tiene 8 entradas = 20 + 4 x 8 = 52) = Y<br />

1.9.0 Sume los valores en las columnas <strong>de</strong> tiempo <strong>de</strong> escán mínimo;<br />

coloque los valores en el subtotal <strong>de</strong>l tiempo <strong>de</strong> escán mínimo.<br />

1.9.1 Sume los valores en las columnas <strong>de</strong> tiempo <strong>de</strong> escán máximo;<br />

coloque los valores en el subtotal <strong>de</strong>l tiempo <strong>de</strong> escán máximo.<br />

X)________<br />

Y)_______<br />

subtotal_______<br />

X)________<br />

R1)_______<br />

R2)______<br />

Y)_______<br />

subtotal_______<br />

Continúa en la página siguiente<br />

D–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Procedure Min Scan Time Max Scan Time<br />

2. Calcule el tiempo <strong>de</strong> escán <strong>de</strong> salida (µs).<br />

2.1 Calcule el escán <strong>de</strong> salida <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> salida discreta.<br />

No. <strong>de</strong> módulos <strong>de</strong> 8 puntos ________ x 31 = A.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 16 puntos ________ x 31 = B.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 32 puntos ________ x 62 = C.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> comb. <strong>de</strong> E/S ________ x 82 = D.)________<br />

2.2 Calcule el escán <strong>de</strong> salida <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> E/S especiales.<br />

No. <strong>de</strong> 1746–HS _______ x 369 = E.)________<br />

No. <strong>de</strong> 1/4 DCM _______ x 335 = F.)________<br />

No. <strong>de</strong> 1/2 DCM _______ x 380 = G.)________<br />

No. <strong>de</strong> 3/4 DCM _______ x 424 = H.)________<br />

No. <strong>de</strong> DCM completo _______ x 469 = I.)________<br />

No. <strong>de</strong> 1746–NIO4I & NIO4V _______ x 297 = J.)________<br />

No. <strong>de</strong> 1746–NO4I & NO4V _______ x 342 = K.)_________<br />

D–18<br />

No. <strong>de</strong> DSN <strong>de</strong> 7 bloques _______ x 469 = L.)________<br />

No. <strong>de</strong> DSN <strong>de</strong> 30 bloques _______ x 1224 = M.)________<br />

No. <strong>de</strong> 1746–BAS<br />

(configuración <strong>SLC</strong> 5/01) _______ x <strong>500</strong> = O.)________<br />

2.3 Calcule el escán <strong>de</strong> salida <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> E/S especiales.<br />

No. <strong>de</strong> <strong>1747</strong>–SN _______ x 1395 = P.)________<br />

No. <strong>de</strong> 1746–HSCE _______ x 394 = Q.)________<br />

No. <strong>de</strong> 1746–BAS<br />

(configuración <strong>SLC</strong> 5/02 y <strong>SLC</strong> 5/03) _______ x 656 = R.)_________<br />

2.4 Si S:33/8 está puesto a cero,<br />

sume 92 µs por ranura <strong>de</strong><br />

salida configurada _______ x 92 = S.)________<br />

2.5 Sume las líneas A a S. Coloque este valor en la línea (T).<br />

Sume 30 al valor en la línea (T). Este es el escán <strong>de</strong> salida<br />

mínimo <strong>de</strong> las E/S especiales. T.)________ + 30 =X<br />

2.6 Calcule tiempo <strong>de</strong> escán <strong>de</strong> salida special máximo:<br />

Tiempo <strong>de</strong> escán <strong>de</strong> salida (R!) = No. <strong>de</strong> módulos <strong>de</strong> E/S especiales en 2.2 x 50<br />

2.7 Calcule el tiempo <strong>de</strong> escán <strong>de</strong> salida máximo para la sección 2.3:<br />

Escán <strong>de</strong> salida (R2) = No. <strong>de</strong> módulos <strong>de</strong> E/S especiales x 200<br />

2.8 Calcule el overhead <strong>de</strong> salida forzado:<br />

Overhead <strong>de</strong> salida forzado = No. <strong>de</strong> módulos <strong>de</strong> salida discreta a 3.0 µs por palabra<br />

Sume 20 + 4/por palabra por cada módulo <strong>de</strong> E/S especial<br />

(por ejemplo, BASIC tiene 8 palabras <strong>de</strong> entrada = 20 + 4 x 8 = 52)<br />

2.9.0 Sume los valores en las columnas <strong>de</strong> tiempo <strong>de</strong> escán mínimo; coloque los valores<br />

en el subtotal <strong>de</strong> tiempo <strong>de</strong> escán mínimo<br />

2.9.1 Sume los valores en las columnas <strong>de</strong> tiempo <strong>de</strong> escán máximo; coloque los valores<br />

en el subtotal <strong>de</strong> tiempo <strong>de</strong> escán máximo<br />

X)_______<br />

Y)_______<br />

subtotal_______<br />

X)_______<br />

R1)_______<br />

R2)______<br />

Y)_______<br />

subtotal_______<br />

Continúa en la página siguiente


Tiempo <strong>de</strong> escán estimado<br />

Procedimiento Tiempo <strong>de</strong> escán mín. Tiempo <strong>de</strong> escán máx.<br />

3. Calcule el tiempo <strong>de</strong> escán <strong>de</strong> programa. Este cálculo aproximado supone la<br />

operación <strong>de</strong> todas las <strong>instrucciones</strong> una vez por cada escán <strong>de</strong> operación.<br />

3.1 Cuente el no. renglones en el programa <strong>de</strong> escalera. Multiplique este no. por 0.25.<br />

Coloque el valor en la línea “Renglones”.<br />

3.2 Calcule el tiempo <strong>de</strong> ejecución <strong>de</strong> programa cuando todas las <strong>instrucciones</strong> sean<br />

verda<strong>de</strong>ras. (Vea el apéndice B para hacer esto.) Coloque este valor en la<br />

línea “Tiempo”.<br />

3.3 Sume los valores <strong>de</strong> 3.1 y 3.2; coloque esta suma en la línea <strong>de</strong> subtotal.<br />

Renglones)_____<br />

+<br />

Tiempo)______<br />

subtotal______<br />

Renglones)_____<br />

+<br />

Tiempo)______<br />

subtotal______<br />

4. Tiempo <strong>de</strong> overhead <strong>de</strong> procesador (S:33/8 = 1 añada 752 µs; S:33/8 = 0 añada 844 µs) subtotal subtotal<br />

5. Calcule el overhead <strong>de</strong> comunicación:<br />

5.1 Calcule el overhead <strong>de</strong> comunicaciones <strong>de</strong> fondo usando la tabla siguiente.<br />

El overhead mín. se aplica cuando los dispositivos no están conectados al canal.<br />

Canal 0 Canal 1 Overhead <strong>de</strong> comunicación <strong>de</strong> fondo<br />

(RS232) (DH485)<br />

Mínimo Máximo<br />

DF1 full–duplex DH–485 1026 1180 (1280)<br />

DF1 half–duplex DH–485 1025 1175<br />

DH–485 DH–485 1040 1160<br />

DF1 full–duplex Parada 1006 1100 (1200)<br />

DF1 half–duplex Parada 1005 1095<br />

DH–485 Parada 1020 1080<br />

Use los números entre paréntesis cuando se usen <strong>instrucciones</strong> MSG en<br />

el canal DF1 full–duplex.<br />

5.2 Calcule el overhead <strong>de</strong> comunicaciones <strong>de</strong> primer plano:<br />

por el tiempo <strong>de</strong> escán mínimo, añada 0;<br />

por el tiempo <strong>de</strong> escán máximo; añada 1027 por canal.<br />

(El tiempo <strong>de</strong> escán máx. toma en cuenta que el programador está<br />

conectado el procesador.)<br />

6. Sume todos los valores <strong>de</strong> los subtotales <strong>de</strong> pasos 1–5<br />

(escán <strong>de</strong> entrada mín. y máx., escán <strong>de</strong> salida, escán <strong>de</strong> programa, overhead <strong>de</strong><br />

procesador y overhead <strong>de</strong> comunicación).<br />

+<br />

0<br />

Overhead<br />

subtotal<br />

+<br />

Overhead<br />

1027<br />

subtotal<br />

µseg µseg<br />

7. Convierta µseg en mseg dividiendo entre 1000. / 1000 / 1000<br />

Tiempos <strong>de</strong> escán mín. y máx. estimados <strong>de</strong> la aplicación <strong>1747</strong>-L532: mseg mseg<br />

Nota El tiempo <strong>de</strong> escán anterior no toma en cuenta las bifurcaciones. Vea el ejemplo<br />

siguiente acerca <strong>de</strong> cómo calcular el tiempo <strong>de</strong> escán adicional cuando se usan<br />

bifurcaciones.<br />

Bifurcaciones anidadas<br />

Esto toma ≈ 1.5 µs<br />

Bifurcaciones extendidas<br />

Esto toma ≈ .5 µs<br />

D–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Hoja <strong>de</strong> trabajo E – Cómo calcular el tiempo <strong>de</strong> escán <strong>de</strong>l procesador<br />

<strong>1747</strong>-L542<br />

Procedimiento Tiempo <strong>de</strong> escán mín. Tiempo <strong>de</strong> escán máx.<br />

1. Calcule el tiempo <strong>de</strong> escán <strong>de</strong> entrada (µs).<br />

1.1 Calcule el escán <strong>de</strong> entrada <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> entrada discreta.<br />

No. <strong>de</strong> módulos <strong>de</strong> 8 puntos _______ x 26 = A.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 16 puntos _______ x 26 = B.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 32 puntos _______ x 52 = C.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> comb. <strong>de</strong> E/S _______ x 74 = D.)________<br />

1.2 Calcule el escán <strong>de</strong> entrada <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> E/S especiales.<br />

No. <strong>de</strong> 1746–HS _______ x 312 = E.)________<br />

No. <strong>de</strong> 1/4 DCM _______ x 297 = F.)_________<br />

No. <strong>de</strong> 1/2 DCM _______ x 332 = G.)________<br />

No. <strong>de</strong> 3/4 DCM _______ x 366 = H.)________<br />

No. <strong>de</strong> DCM completo _______ x 400 = I)________<br />

No. <strong>de</strong> <strong>1747</strong>–KE _______ x 423 = J)________<br />

D–20<br />

No. <strong>de</strong> 1746–NI4 _______ x 296 = K.)________<br />

No. <strong>de</strong> 1746–NIO4I, NIO4V _______ x 252 = L.)________<br />

No. <strong>de</strong> 1746–NT4 _______ x 365 = M.)________<br />

No. <strong>de</strong> DSN <strong>de</strong> 7 bloques _______ x 403 = N.)________<br />

No. <strong>de</strong> DSN <strong>de</strong> 30 bloques _______ x 1031 = O.)________<br />

No. <strong>de</strong> 1746–BAS<br />

(configuración <strong>SLC</strong> 5/01) _______ x 431 = P.)________<br />

1.3 No. <strong>de</strong> <strong>1747</strong>–SN _______ x 1198 = Q.)________<br />

No. <strong>de</strong> 1746–HSCE _______ x 486 = R.)________<br />

No. <strong>de</strong> 1746–BAS<br />

(confniguración <strong>SLC</strong> 5/02 y <strong>SLC</strong> 5/03) _______ x 585 = S.)________<br />

1.4 If S:33/8 is clear,<br />

add 78 µs per configured input slot _______ x 78 = T.)________<br />

1.5 Sume las líneasA a T. Si hay valores en E a S que son > 0, añada 6.<br />

Coloque este valor en la línea (W).<br />

Sume 15 al valor en la línea (W). Este es el escán <strong>de</strong> entrada mínimo.<br />

W.) ______ + 15 = X<br />

1.6 Calcule el tiempo <strong>de</strong> escán máximo <strong>de</strong> entrada <strong>de</strong> E/S especiales:<br />

Tiempo <strong>de</strong> escán <strong>de</strong> entrada (R1) = No. <strong>de</strong> módulos <strong>de</strong> E/S especiales en sec. 1.2 x 50<br />

1.7 Calcule el tiempo <strong>de</strong> escán máximo <strong>de</strong> entrada <strong>de</strong> E/S para la sección 1.3 x 200<br />

Tiempo <strong>de</strong> escán <strong>de</strong> entrada (R2) = No. <strong>de</strong> módulos <strong>de</strong> E/S especiales en sec. 1.3 x 200<br />

1.8 Calcule el overhead <strong>de</strong> entrada forzado:<br />

Overhead <strong>de</strong> entrada forzado = No. <strong>de</strong> módulos <strong>de</strong> entrada discreta a 3.5 µs por pal.<br />

Añada 16.35 + 4.3 por palabra por cada módulo <strong>de</strong> E/S especial<br />

(por ej., BASIC tiene 8 entradas = 16.35 + 4.3 x 8 = 50.75) = Y<br />

1.9.0 Sume los valores en las columnas <strong>de</strong> tiempo <strong>de</strong> escán máximo;<br />

coloque los valores en el subtotal <strong>de</strong>l tiempo <strong>de</strong> escán mínimo.<br />

1.9.1 Sume los valores en las columnas <strong>de</strong> tiempo <strong>de</strong> escán mínimo;<br />

coloque los valores en el subtotal <strong>de</strong>l tiempo <strong>de</strong> escán máximo.<br />

X)________<br />

Y)_______<br />

subtotal_______<br />

X)________<br />

R1)_______<br />

R2)______<br />

Y)_______<br />

subtotal_______<br />

Continúa en la página siguiente


Tiempo <strong>de</strong> escán estimado<br />

Procedimiento Tiempo <strong>de</strong> escán mín. Tiempo <strong>de</strong> escán máx.<br />

2. Calcule el tiemp <strong>de</strong> escán <strong>de</strong> salida (µs).<br />

2.1 Calcule el escán <strong>de</strong> salida <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> salida discreta.<br />

No. <strong>de</strong> módulos <strong>de</strong> 8 puntos ________ x 31 = A.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 16 puntos ________ x 31 = B.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> 32 puntos ________ x 62 = C.)________<br />

No. <strong>de</strong> módulos <strong>de</strong> comb. <strong>de</strong> E/S ________ x 82 = D.)________<br />

2.2 Calcule el escán <strong>de</strong> salida <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> E/S especiales.<br />

No. <strong>de</strong> 1746–HS _______ x 349 = E.)________<br />

No. <strong>de</strong> 1/4 DCM _______ x 315 = F.)________<br />

No. <strong>de</strong> 1/2 DCM _______ x 360 = G.)________<br />

No. <strong>de</strong> 3/4 DCM _______ x 404 = H.)________<br />

No. <strong>de</strong> DCM completo _______ x 449 = I.)________<br />

No. <strong>de</strong> 1746–NIO4I & NIO4V _______ x 277 = J.)________<br />

No. <strong>de</strong> 1746–NO4I & NO4V _______ x 322 = K.)_________<br />

No. <strong>de</strong> DSN <strong>de</strong> 7 bloques _______ x 449 = L.)________<br />

No. <strong>de</strong> DSN <strong>de</strong> 30 bloques _______ x 1204 = M.)________<br />

No. <strong>de</strong> 1746–BAS<br />

(configuración <strong>SLC</strong> 5/01) _______ x 480 = O.)________<br />

2.3 Calcule el escán <strong>de</strong> salida <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> E/S especiales.<br />

No. <strong>de</strong> <strong>1747</strong>–SN _______ x 1375 = P.)________<br />

No. <strong>de</strong> 1746–HSCE _______ x 374 = Q.)________<br />

No. <strong>de</strong> 1746–BAS<br />

(configuración <strong>SLC</strong> 5/02 y <strong>SLC</strong> 5/03) _______ x 636 = R.)_________<br />

2.4 Si S:33/8 está puesto a cero, sume 78 µs<br />

por ranura <strong>de</strong> entrada configurada _______ x 78 = S.)________<br />

2.5 Sume las líneas A a S. Si hay valores en E a R que son >0, sume 6.<br />

Coloque este valor en la línea (T). Sume 12 al valor en la línea (T).<br />

Este es el escán <strong>de</strong> salida mínimo <strong>de</strong> las E/S especiales.<br />

. T.)________ + 12 =X<br />

2.6 Calcule el tiempo <strong>de</strong> escán máximo <strong>de</strong> salida especial:<br />

Tiempo <strong>de</strong> escán <strong>de</strong> salida (R1) = No. <strong>de</strong> módulos <strong>de</strong> E/S especiales en 2.2 x 50)<br />

2.7 Calcule el tiempo <strong>de</strong> escán máximo <strong>de</strong> salida para la sección 2.3:<br />

Escán <strong>de</strong> salida (R2) = No. <strong>de</strong> módulos <strong>de</strong> E/S especiales en x 200<br />

2.8 Calcule el overhead <strong>de</strong> salida forazado:<br />

Overhead <strong>de</strong> salida forzado = No. <strong>de</strong> módulos <strong>de</strong> salida discreta a 3.0 µs por palabra<br />

Sume 16.35 + 4.3 por palabra por cada módulo <strong>de</strong> E/S especial<br />

(por ej., BASIC tiene 8 entradas = 16.35 + 4.3 x 8 = 50.75) = Y<br />

2.9.0 Sume los valores en las columnas <strong>de</strong> tiempo <strong>de</strong> escán mínimo; coloque los valores<br />

en el subtotal <strong>de</strong>l tiempo <strong>de</strong> escán mínimo.<br />

2.9.1 Sume los valores en las columnas <strong>de</strong> tiempo <strong>de</strong> escán máximo; coloque los valores<br />

en el subtotal <strong>de</strong>l tiempo <strong>de</strong> escán máximo.<br />

X)_______<br />

Y)_______<br />

subtotal_______<br />

X)_______<br />

R1)_______<br />

R2)______<br />

Y)_______<br />

subtotal_______<br />

Continúa en la página siguiente<br />

D–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Procedimiento Tiempo <strong>de</strong> escán<br />

mínimo<br />

3. Calcule el tiempo <strong>de</strong> escán <strong>de</strong> programa. Este cálculo estimado supone la operación<br />

<strong>de</strong> todas las <strong>instrucciones</strong> una vez por cada escán <strong>de</strong> operación.<br />

3.1 Cuente el no. <strong>de</strong> renglones en el programa <strong>de</strong> escalera. Multiplique este no.<br />

por 0.187. Coloque el valor en la línea “Renglones”.<br />

D–22<br />

3.2 Calcule el tiempo <strong>de</strong> ejecución <strong>de</strong> programa cuando todas las <strong>instrucciones</strong> sean<br />

verda<strong>de</strong>ras. (Vea el apéndice B para hacer esto.) Coloque este valor en<br />

la línea “Tiempo”.<br />

Renglones)_____<br />

+<br />

Tiempo)______<br />

subtotal______<br />

Tiempo <strong>de</strong> escán<br />

máximo<br />

Renglones)_____<br />

+<br />

Tiempo)______<br />

subtotal______<br />

3.3 Sume los valores <strong>de</strong> 3.1 y 3.2; coloque esta suma en la línea <strong>de</strong> subtotal.<br />

4. Tiempo <strong>de</strong> overhead <strong>de</strong> procesador (S:33/8 = 1 añada 665 µs; S:33/8 = 0 añada 742 µs) subtotal subtotal<br />

5. Estime el overhead <strong>de</strong> comunicación:<br />

5.1 Calcule el overhead <strong>de</strong> comunicaciones <strong>de</strong> fondo usando la tabla siguiente.<br />

El overhead mínimo se aplica cuando los dispositivos no están conectados a un canal.<br />

Canal 0 Canal 1 Overhead <strong>de</strong> comunicación <strong>de</strong> fondo<br />

(RS232) (DH+)<br />

Mínimo Máximo<br />

DF1 full–duplex DH+ 1006 1110 (1280)<br />

DF1 half–duplex DH+ 1005 1100<br />

DH–485 DH+ 1020 1090<br />

DF1 full–duplex Parada 1006 1090 (1200)<br />

DF1 half–duplex Parada 1005 1080<br />

DH–485 Parada 1020 1070<br />

Use los números entre paréntesis cuando se usen las <strong>instrucciones</strong> MSG en el<br />

canal DF1 full–duplex.<br />

5.2 Calcule el overhead <strong>de</strong> comunicaciones <strong>de</strong> fondo:<br />

para el tiempo <strong>de</strong> escán mínimo, añada 0;<br />

para el tiempo <strong>de</strong> escán máximo, añada 1027 por canal.<br />

(El tiempo <strong>de</strong> escán máx. toma en cuenta que el programador está<br />

conectado al procesador.)<br />

Si S:34/1 es establecido para habilitar la actualización activa <strong>de</strong> la tabla <strong>de</strong> nodo,<br />

sume 400 por comando<br />

Si el <strong>de</strong>stino <strong>de</strong>l paquete que ha recibido servicio es el otro canal, sume 400 por comando.<br />

6. Sume todos los valores <strong>de</strong> los subtotales <strong>de</strong> pasos 1–5.<br />

(escán <strong>de</strong> entrada mínimo y máximo, escán <strong>de</strong> salida, overhead <strong>de</strong> procesador y<br />

overhead <strong>de</strong> comunicación).<br />

+<br />

0<br />

Overhead<br />

subtotal<br />

+<br />

Overhead<br />

1027<br />

subtotal<br />

µseg µseg<br />

7. Convierta µseg a mseg dividiendo entre 1000. / 1000 / 1000<br />

Tiempos <strong>de</strong> escán mínimo y máximo calculados para su aplicación <strong>1747</strong>-L542: mseg mseg


Procesador <strong>SLC</strong> 5/03<br />

Tiempo <strong>de</strong> escán estimado<br />

Use los tiempos <strong>de</strong> escán máximos siguientes para calcular los tiempos <strong>de</strong> escán <strong>de</strong><br />

entrada y salida. Refiérase a la hoja <strong>de</strong> trabajo D en este apéndice.<br />

Módulo <strong>de</strong> E/S<br />

Tiempo <strong>de</strong> escán<br />

<strong>de</strong> entrada máx.<br />

Tiempo <strong>de</strong> escán<br />

<strong>de</strong> entrada mín.<br />

Entrada discreta <strong>de</strong> 8 puntos 1746 26 NA<br />

Salida discreta <strong>de</strong> 8 puntos 1746 NA 31<br />

Entrada discreta <strong>de</strong> 16 puntos 1746 26 NA<br />

Salida discreta <strong>de</strong> 16 puntos 1746 NA 31<br />

Entrada discreta <strong>de</strong> 32 puntos 1746 52 NA<br />

Salida discreta <strong>de</strong> 32 puntos 1746 NA 62<br />

Combinación <strong>de</strong> E/S discretas 1746<br />

IO4, –IO8, –IO12<br />

74 82<br />

Módulo <strong>de</strong> servocontrolador HS IMC 110 1746 332 369<br />

Módulo <strong>de</strong> comunicación directa DCM <strong>1747</strong> – configuración <strong>de</strong> 1/4 chasis 317 335<br />

Módulo <strong>de</strong> comunicación directa DCM <strong>1747</strong> – configuración <strong>de</strong> 1/2chasis 352 380<br />

Módulo <strong>de</strong> comunicación directa DCM <strong>1747</strong> – configuración <strong>de</strong> 3/4 chasis 386 424<br />

Módulo <strong>de</strong> comunicación directa DCM <strong>1747</strong> – configuración <strong>de</strong> chasis completo 420 469<br />

Módulo <strong>de</strong> entrada analógica NI4 1746 316 NA<br />

Módulos <strong>de</strong> combinación analógica<br />

NIO4I, NIO4V 1746<br />

Módulos <strong>de</strong> salida analógica<br />

NO4I, NO4V 1746<br />

272 297<br />

NA 342<br />

Módulo <strong>de</strong> escáner <strong>de</strong> E/S distribuidas DSN <strong>1747</strong> – configuración <strong>de</strong> 7 bloques 423 469<br />

Módulo <strong>de</strong> escáner <strong>de</strong> E/S distribuidas DSN <strong>1747</strong> – configuración <strong>de</strong> 30 bloques 1051 1224<br />

Módulo BASIC BAS 1746<br />

Configuración <strong>SLC</strong> 5/01<br />

451 <strong>500</strong><br />

Módulo <strong>de</strong> codificador <strong>de</strong> contador <strong>de</strong> alta velocidad HSCE 1746 506 394<br />

Módulo <strong>de</strong> escáner <strong>de</strong> E/S remotas SN <strong>1747</strong> 1218 1395<br />

Módulo BASIC BAS 1746<br />

Configuración <strong>SLC</strong> 5/02 y <strong>SLC</strong> 5/03<br />

605 656<br />

D–23


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Procesador <strong>SLC</strong> 5/04<br />

D–24<br />

Módulo <strong>de</strong> E/S<br />

Tiempo <strong>de</strong> escán<br />

<strong>de</strong> entrada máx.<br />

Tiempo <strong>de</strong> escán<br />

<strong>de</strong> salida máx.<br />

Entrada discreta <strong>de</strong> 8 puntos 1746 26 NA<br />

Salida discreta <strong>de</strong> 8 puntos 1746 NA 31<br />

Entrada discreta <strong>de</strong> 16 puntos 1746 26 NA<br />

Salida discreta <strong>de</strong> 16 puntos 1746 NA 31<br />

Entrada discreta <strong>de</strong> 32 puntos 1746 52 NA<br />

Salida discreta <strong>de</strong> 32 puntos 1746 NA 62<br />

Combinación <strong>de</strong> E/S discretas<br />

IO4, –IO8, –IO12 1746<br />

74 82<br />

Módulo <strong>de</strong> servocontrolador HS IMC 110 1746 312 349<br />

Módulo <strong>de</strong> comunicación directa DCM <strong>1747</strong> – configuración <strong>de</strong> 1/4 chasis 297 315<br />

Módulo <strong>de</strong> comunicación directa DCM <strong>1747</strong> – configuración <strong>de</strong> 1/2 chasis 332 360<br />

Módulo <strong>de</strong> comunicación directa DCM <strong>1747</strong> – configuración <strong>de</strong> 3/4 chasis 366 404<br />

Módulo <strong>de</strong> comunicación directa DCM <strong>1747</strong> – configuración <strong>de</strong> chasis completo 400 449<br />

Módulo <strong>de</strong> entrada analógica NI4 1746 296 NA<br />

Módulos <strong>de</strong> combinación analógica<br />

NIO4I, NIO4V 1746s<br />

Módulos <strong>de</strong> salida analógica<br />

NO4I, NO4V 1746<br />

252 277<br />

NA 322<br />

Módulo <strong>de</strong> escáner <strong>de</strong> E/S distribuidas <strong>1747</strong> – configuración <strong>de</strong> 7 bloques 403 449<br />

Módulo <strong>de</strong> escáner <strong>de</strong> E/S distribuidas <strong>1747</strong> – configuración <strong>de</strong> 30 bloques 1031 1204<br />

Módulo BASIC BAS 1746<br />

Configuración <strong>SLC</strong> 5/01<br />

431 480<br />

Módulo <strong>de</strong> codificador <strong>de</strong> contador <strong>de</strong> alta velocidad HSCE 1746 486 374<br />

Módulo <strong>de</strong> escáner <strong>de</strong> E/S remotas SN <strong>1747</strong> 1198 1375<br />

Módulo BASIC BAS 1746<br />

Configuración <strong>SLC</strong> 5/02 y <strong>SLC</strong> 5/03<br />

585 636


Ejemplo <strong>de</strong> cálculo <strong>de</strong> tiempo <strong>de</strong> escán<br />

Tiempo <strong>de</strong> escán estimado<br />

Supongamos que usted tiene un sistema que consiste en los componentes siguientes:<br />

Configuración <strong>de</strong>l sistema<br />

No. <strong>de</strong> catálogo Cantidad<br />

<strong>1747</strong>–L514<br />

1746–IA8<br />

1746–IB16<br />

1746–OA16<br />

1746–OB8<br />

1746–NIO4V<br />

1<br />

2<br />

1<br />

3<br />

1<br />

1<br />

Descripción<br />

Procesador <strong>de</strong> 4K<br />

Módulo <strong>de</strong> entrada <strong>de</strong> 120 VCA <strong>de</strong> 8 puntos<br />

Módulo <strong>de</strong> entrada drenador <strong>de</strong> 24 VCC <strong>de</strong><br />

16 puntos<br />

Módulo <strong>de</strong> salida <strong>de</strong> relé <strong>de</strong> 120 VCA <strong>de</strong><br />

16 puntos<br />

Módulo <strong>de</strong> salida <strong>de</strong> fuente <strong>de</strong> 24 VCC <strong>de</strong><br />

16 puntos<br />

Módulo <strong>de</strong> combinación analógica <strong>de</strong> 4<br />

canales<br />

Puesto que se usa el procesador <strong>1747</strong>-L514, se <strong>de</strong>be llenar la hoja <strong>de</strong> trabajo B.<br />

Dicha hoja se muestra en la página D–11.<br />

El programa <strong>de</strong> escalera siguiente se usa en esta aplicación. Los tiempos <strong>de</strong><br />

ejecución para las <strong>instrucciones</strong> (estado verda<strong>de</strong>ro) han sido tomados <strong>de</strong>l apéndice B<br />

y sumados para cada renglón. El tiempo <strong>de</strong> ejecución total, 465 microsegundos, se<br />

introduce en la hoja <strong>de</strong> trabajo en la página D–27.<br />

La hoja <strong>de</strong> trabajo indica que el tiempo <strong>de</strong> escán total estimado es 3.85 milisegundos<br />

mínimos y 8.9 milisegundos como máximo.<br />

D–25


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

D–26<br />

B3<br />

] [<br />

0<br />

T4:0<br />

]/[<br />

DN<br />

T4:0<br />

] [<br />

DN<br />

B3<br />

]/[<br />

1<br />

B3<br />

] [<br />

9<br />

B3<br />

]/[<br />

1<br />

B3<br />

] [<br />

45<br />

T4:0<br />

]/[<br />

DN<br />

GRT<br />

GREATER THAN<br />

Source A T4:0.ACC<br />

Source B 5999<br />

END<br />

TON<br />

TIMER ON DELAY<br />

Timer T4:0<br />

Time Base 0.01<br />

Preset 6000<br />

Accum<br />

O:1.0<br />

( )<br />

0<br />

TOD<br />

TO BCD<br />

Source T4:0.ACC<br />

Dest S:13<br />

MOV<br />

MOVE<br />

Source S:13<br />

Dest O:1.0<br />

(EN)<br />

(DN)<br />

Tiempos <strong>de</strong> ejecución:<br />

38 microsegundos<br />

139 microsegundos<br />

288 microsegundos<br />

Total: 465 microsegundos


Tiempo <strong>de</strong> escán estimado<br />

Ejemplo: Hoja <strong>de</strong> trabajo B – Cómo calcular el tiempo <strong>de</strong> escán <strong>de</strong> una<br />

aplicación <strong>de</strong>l procesador <strong>1747</strong>-L511 ó <strong>1747</strong>-L514<br />

Procedimiento: Tiempo <strong>de</strong> escán mín. Tiempo <strong>de</strong> escán máx.<br />

1. Calcule el tiempo <strong>de</strong> escán <strong>de</strong> entrada (µs).<br />

1.1 Calcule el escán <strong>de</strong> entrada <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> entrada discreta.<br />

No. <strong>de</strong> módulos <strong>de</strong> 8 puntos 2 x 197 = A.) 394<br />

No. <strong>de</strong> módulos <strong>de</strong> 16 puntos 1 x 313 = B.) 313<br />

No. <strong>de</strong> módulos <strong>de</strong> 32 puntos 0 x 545 = C.) 0<br />

1.2 Calcule el escán <strong>de</strong> entrada <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> E/S especiales.<br />

No. <strong>de</strong> 1/4 DCM o comb. analógica 1 x 652 = D.) 652<br />

No. <strong>de</strong> 1/2 DCM, entrada analógica<br />

ó 1746–HS 0 x 1126 = E.) 0<br />

No. <strong>de</strong> 3/4 DCM 0 x 1600 = F.) 0<br />

No. <strong>de</strong> DCM completo, BASIC<br />

ó <strong>1747</strong>–DSN 0 x 2076 = G.) 0<br />

No. <strong>de</strong> <strong>1747</strong>–KE 0 x 443 = H.) 0<br />

1.3 Sume las líneas A a H. Coloque este valor en la línea (I).<br />

Sume 101 al valor en la línea (I). Esta suma es el tiempo <strong>de</strong> escán <strong>de</strong> entrada mín.<br />

I.) 1359 + 101 =<br />

1.4 Calcule el tiempo <strong>de</strong> escán <strong>de</strong> entrada máximo:<br />

Tiempo <strong>de</strong> escán <strong>de</strong> entrata máximo = Tiempo <strong>de</strong> escán mínimo +<br />

(No. <strong>de</strong> módulos <strong>de</strong> E/S especiales x 50)<br />

1.5 Calcule el overhead <strong>de</strong> entrada forzado:<br />

Overhead <strong>de</strong> entrada forzado = (No. <strong>de</strong> módulos <strong>de</strong> entrada x 180) + 140 por<br />

palabra adicional por módulos <strong>de</strong> palabras múltiples (por ej., DCM, analógico, DSN)<br />

2. Calcule el tiempo <strong>de</strong> escán <strong>de</strong> salida (µs).<br />

2.1 Calcule el escán <strong>de</strong> salida <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> salida.<br />

No. <strong>de</strong> módulos <strong>de</strong> 8 puntos 1 x 173 = A.) 173<br />

No. <strong>de</strong> módulos <strong>de</strong> 16 puntos 3 x 272 = B.) 816<br />

No. <strong>de</strong> módulos <strong>de</strong> 32 puntos 0 x 470 = C.) 0<br />

2.2 Calcule el escán <strong>de</strong> salida <strong>de</strong> procesador <strong>de</strong> los módulos <strong>de</strong> E/S especiales.<br />

No. <strong>de</strong> 1/4 DCM o comb. analógica 1 x 620 = D.) 620<br />

No. <strong>de</strong> 1/2 DCM, entrada analógica<br />

ó 1746–HS 0 x 1028 = E.) 0<br />

No. <strong>de</strong> 3/4 DCM 0 x 1436 = F.) 0<br />

No. <strong>de</strong> DCM completo, BASIC<br />

ó <strong>1747</strong>–DSN 0 x 1844 = G.) 0<br />

2.3 Sume las líneas A a G. Coloque este valor en la línea (H).<br />

Sume 129 al valor en la línea (H). Esta suma es el tiempo <strong>de</strong> escán <strong>de</strong> salida mín.<br />

H.) 1609 + 129 =<br />

2.4 Calcule el tiempo <strong>de</strong> escán <strong>de</strong> salida máximo:<br />

Tiempo <strong>de</strong> escán <strong>de</strong> salida máximo =<br />

Tiempo <strong>de</strong> escán mínimo + (No. <strong>de</strong> módulos <strong>de</strong> E/S especiales x 50)<br />

2.5 Calcule el overhead <strong>de</strong> salida forzado:<br />

Overhead <strong>de</strong> salida forzado = (No. <strong>de</strong> módulos <strong>de</strong> salida x 172) + 140 por palabra<br />

adicional por módulos <strong>de</strong> palabras múltiples (por ej., DMC, analógico, DSN)<br />

1460<br />

<strong>1747</strong><br />

1510<br />

860<br />

1788<br />

1000<br />

Continúa en la página siguiente<br />

D–27


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Procedimiento: Tiempo <strong>de</strong> escán mín. Tiempo <strong>de</strong> escán máx.<br />

3. Calcule el tiempo <strong>de</strong> escán <strong>de</strong> programa. Este cálculo estimado supone la operación<br />

<strong>de</strong> todas las <strong>instrucciones</strong> una vez por cada escán <strong>de</strong> operación.<br />

3.1 Cuente el no. <strong>de</strong> renglones en el programa APS. Coloque el valor en la línea (A).<br />

D–28<br />

3.2 Calcule el tiempo <strong>de</strong> ejecución <strong>de</strong> programa (B) cuando toda las <strong>instrucciones</strong> sean<br />

verda<strong>de</strong>ras. (Vea el apéndice A para hacer esto.)<br />

4. Sume los valores en las columnas <strong>de</strong>l tiempo <strong>de</strong> escán mínimo y máximo.<br />

5. Sume el tiempo <strong>de</strong> overhead <strong>de</strong> procesador (178 para tiempo <strong>de</strong> escán mín.; 278 para<br />

tiempo <strong>de</strong> escán máx.) a los subtotales estimados en el paso 4.<br />

Use estos subtotales nuevos para calcular el overhead <strong>de</strong> comunicación en el paso 6.<br />

6. Calcule el overhead <strong>de</strong> comunicación:<br />

6.1 Calcule el overhead <strong>de</strong> comunicación <strong>de</strong> fondo:<br />

multiplique el subtotal para el tiempo <strong>de</strong> escán mín. (estimado en el paso 5) entre 1;<br />

multiplique el subtotal para el tiempo <strong>de</strong> escán máx. entre 1.140<br />

(el valor máx. toma en cuenta la red activa DH-485).<br />

6.2 Calcule el overhead <strong>de</strong> comunicación <strong>de</strong> primer plano:<br />

por el tiempo <strong>de</strong> escán mínimo, añada 0;<br />

por el tiempo <strong>de</strong> escán máximo, añada 2310.<br />

(El tiempo <strong>de</strong> escán máximo toma en cuenta que el programador está<br />

conectado al procesador.)<br />

6.3 Convierta µseg en mseg dividiendo entre 1000.<br />

Los tiempos <strong>de</strong> escan mínimo y máximo calculados para su aplicación <strong>1747</strong>-L511 ó<br />

<strong>1747</strong>-L514:<br />

3<br />

465<br />

3675 subtotal<br />

+ 178<br />

3853<br />

subtotal<br />

x 1.000<br />

3853 µseg<br />

+ 0<br />

3853 µseg<br />

/ 1000<br />

3<br />

465<br />

5626 subtotal<br />

+ 278<br />

5804<br />

subtotal<br />

x 1.140<br />

6617 µseg<br />

+ 2310<br />

8927 µseg<br />

/ 1000<br />

3.85 mseg 8.9 mseg


Tiempo <strong>de</strong> escán estimado<br />

D–29


Referencias <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> programación<br />

E Referencias <strong>de</strong> <strong>instrucciones</strong><br />

<strong>de</strong> programación<br />

Este apéndice lista todas las <strong>instrucciones</strong> <strong>de</strong> programación disponibles a<strong>de</strong>más <strong>de</strong><br />

los parámetros, modos <strong>de</strong> direccionamiento válidos y tipos <strong>de</strong> archivo <strong>de</strong> las<br />

mismas.<br />

E–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Modos <strong>de</strong> direccionamiento válidos y tipos <strong>de</strong> archivo<br />

E–2<br />

Los modos <strong>de</strong> direccionamiento siguientes están disponibles:<br />

Modo <strong>de</strong> direccionamiento Ejemplo<br />

Directo N7:0<br />

Directo in<strong>de</strong>xado #N7:0<br />

In<strong>de</strong>xado N7:[N10:3]<br />

Indirecto in<strong>de</strong>xado #N7:[N10:3]<br />

Los tipos <strong>de</strong> archivo siguientes están disponibles:<br />

• O Salida<br />

• I Entrada<br />

• S Estado<br />

• B Binario<br />

• T Temporizador<br />

• C Contador<br />

• R Control<br />

• N Entero<br />

• F Flotar <br />

• A ASCII <br />

• ST Ca<strong>de</strong>na <br />

• M M0/M1 <br />

• Inmediato — indica que una constante es un tipo <strong>de</strong> archivo válido<br />

<br />

Apoyado solamente por los procesadores <strong>SLC</strong> 5/03 OS301, OS302 y <strong>SLC</strong> 5/04 OS400, OS401.<br />

<br />

No apoyado por los controladores <strong>MicroLogix</strong> 1000.


Referencias <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> programación<br />

Cómo compren<strong>de</strong>r los modos <strong>de</strong> direccionamientos diferentes<br />

Direccionamiento directo<br />

Direccionamiento in<strong>de</strong>xado<br />

Direccionamiento indirecto<br />

Direccionamiento indirecto in<strong>de</strong>xado<br />

Las <strong>de</strong>scripciones siguientes le ayudarán a compren<strong>de</strong>r cómo estructurar un tipo<br />

específico <strong>de</strong> dirección.<br />

Los datos almacenados en la dirección especificada se usa en la instrucción. Por<br />

ejemplo:<br />

N7:0 T4:8.ACC<br />

ST20:5<br />

Usted pue<strong>de</strong> especificar una dirección como in<strong>de</strong>xada colocando el carácter “#” al<br />

frente <strong>de</strong> la dirección. Cuando una dirección <strong>de</strong> esta forma se encuentra en el<br />

programa, el procesador toma el número <strong>de</strong> elemento <strong>de</strong> la dirección y lo suma al<br />

valor contenido en el registro <strong>de</strong> índice S:24 y usa el resultado como la dirección<br />

real. Por ejemplo:<br />

#N7:10 don<strong>de</strong> S:24 = 15<br />

La dirección real usada por la instrucción es N7:25.<br />

Usted pue<strong>de</strong> especificar una dirección como indirecta reemplazando el número <strong>de</strong><br />

archivo, el número <strong>de</strong> elemento o el número <strong>de</strong> subelemento con un símbolo<br />

[Xf:e.s]. La dirección <strong>de</strong> palabra <strong>de</strong>ntro <strong>de</strong> los corchetes es encuestada en busca <strong>de</strong><br />

un valor. Luego, el valor encuestado se convierte en la porción <strong>de</strong> archivo, elemento<br />

o subelemento <strong>de</strong> la dirección indirecta. Por ejemplo:<br />

B3:[N10:2] <strong>de</strong>clara que la dirección <strong>de</strong> elemento <strong>de</strong>l archivo <strong>de</strong> bit 3 es<br />

contenida en la dirección N10:2. Por lo tanto, si N10:2 contiene el valor 5,<br />

B3:[N10:2] se refiere indirectamente a la dirección B3:5. Otros ejemplos<br />

incluyen:<br />

N7:[N7:0] N[N7:0]:[N7:1]<br />

N7[T4:0.ACC] C5:[N7:0]<br />

Usted pue<strong>de</strong> especificar una combinación <strong>de</strong> direccionamiento indirecto e in<strong>de</strong>xado.<br />

El procesador primero resuelve la porción indirecta <strong>de</strong> la dirección y luego, aña<strong>de</strong> el<br />

offset <strong>de</strong>l registro <strong>de</strong> índice S:24 para crear la dirección final. Por ejemplo:<br />

#N7:[N10:3] don<strong>de</strong> N10:3 = 20 and S:24 = 15<br />

La dirección real usada por la instrucción es N7:35.<br />

E–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

ABL Búfer <strong>de</strong> prueba ASCII<br />

para línea<br />

E–4<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

canal 0<br />

Valores<br />

inmediatos<br />

control directo R ningunos<br />

caracteres 0–1024<br />

ABS Valor absoluto fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

ACB Número ASCII <strong>de</strong><br />

caracteres en búfer<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

canal 0<br />

–32,768–32,767<br />

f-min–f-max<br />

ningunos<br />

control directo R ningunos<br />

caracteres 0–1024<br />

ACI Ca<strong>de</strong>na ASCII a entero fuente directo, indirecto ST ningunos<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

ACL Búfer <strong>de</strong> borrado ASCII canal 0<br />

ACN Concatenado <strong>de</strong><br />

ca<strong>de</strong>na ASCII<br />

búfer <strong>de</strong><br />

transmisión<br />

ningunos<br />

0=no ó 1=sí<br />

búfer <strong>de</strong> recepción 0=no ó 1=sí<br />

fuente A directo, indirecto ST ningunos<br />

fuente B directo, indirecto ST ningunos<br />

<strong>de</strong>stino directo ST ningunos<br />

ACS Arco coseno fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/03 OS301, OS302 y <strong>SLC</strong> 5/04 OS400, OS401.<br />

<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401.<br />

–32,768–32,767<br />

f-min–f-max<br />

ningunos


Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

ADD Sumar fuente A directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

AEX Extracción <strong>de</strong> ca<strong>de</strong>na<br />

ASCII<br />

AHL Líneas <strong>de</strong> comunicación<br />

<strong>de</strong> establecimiento/<br />

restablecimiento ASCII<br />

fuente B directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

Referencias <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> programación<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

Valores<br />

inmediatos<br />

–32,768–32,767<br />

f-min–f-max<br />

–32,768–32,767<br />

f-min–f-max<br />

ninguno<br />

fuente directo, indirecto ST ninguno<br />

índice directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

número directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

1–82<br />

1–82<br />

<strong>de</strong>stino directo ST ninguno<br />

canal 0<br />

Máscara Y directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

Máscara O directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

0–FFFF<br />

0–FFFF<br />

control directo R ninguno<br />

estado <strong>de</strong> canal 0–001F<br />

AIC Entero ASCII a ca<strong>de</strong>na fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

<strong>de</strong>stino directo ST ninguno<br />

AND Ooperador Y lógico fuente A directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

fuente B directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/03 OS301, OS302 y <strong>SLC</strong> 5/04 OS400, OS401.<br />

–32,768–32,767<br />

–32,768–32,767<br />

–32,768–32,767<br />

ninguno<br />

E–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

E–6<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

ARD Lectura <strong>de</strong> carac. ASCII canal 0<br />

<strong>de</strong>stino directo ST ninguno<br />

control directo R ninguno<br />

longitud <strong>de</strong> ca<strong>de</strong>na 0–82<br />

caracteres leídos 0–82<br />

ARL Lectura <strong>de</strong> línea ASCII canal 0<br />

ASC Búsqueda <strong>de</strong> línea<br />

ASCII<br />

<strong>de</strong>stino directo ST ninguno<br />

control directo R ninguno<br />

longitud <strong>de</strong> ca<strong>de</strong>na 0–82<br />

caracteres leídos 0–82<br />

fuente directo, indirecto ST ninguno<br />

índice directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

Valores<br />

inmediatos<br />

1–82<br />

búsqueda directo, indirecto ST ninguno<br />

resultado directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

ASN Arco seno fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

ASR Comparación <strong>de</strong><br />

ca<strong>de</strong>na ASCII<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

ninguno<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

fuente A directo, indirecto ST ninguno<br />

fuente B directo, indirecto ST ninguno<br />

ATN Arco tangente fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

<br />

Apoyado solamente por los procesadores <strong>SLC</strong> 5/03 OS301, OS302 y <strong>SLC</strong> 5/04 OS400, OS401.<br />

<br />

Apoyado solamente por los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401.<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno


Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

AWA Escritura ASCII con<br />

anexo<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

Referencias <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> programación<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

canal 0<br />

fuente directo ST ninguno<br />

control directo R ninguno<br />

longitud <strong>de</strong> ca<strong>de</strong>na 0–82<br />

carac. transmitidos 0–82<br />

AWT Escritura ASCII canal 0<br />

BSL Desplazamiento a la<br />

izquierda<br />

BSR Desplazamiento a la<br />

<strong>de</strong>recha<br />

fuente directo ST ninguno<br />

control directo R ninguno<br />

longitud <strong>de</strong> ca<strong>de</strong>na 0–82<br />

carac. transmitidos 0–82<br />

archivo directo in<strong>de</strong>xado,<br />

indirecto in<strong>de</strong>xado<br />

O, I, S, B, N, A, ST ninguno<br />

control directo R ninguno<br />

dirección <strong>de</strong> bit directo, indirecto O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

Valores<br />

inmediatos<br />

ninguno<br />

longitud 0–2048<br />

archivo directo in<strong>de</strong>xado,<br />

indirecto in<strong>de</strong>xado<br />

O, I, S, B, N, A, ST ninguno<br />

control directo R ninguno<br />

dirección <strong>de</strong> bit directo, indirecto O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

ninguno<br />

longitud 0–2048<br />

CLR Borrar <strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/03 OS301, OS302 y <strong>SLC</strong> 5/04 OS400, OS401.<br />

ninguno<br />

E–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

E–8<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

COP Copiar archivo fuente directo in<strong>de</strong>xado,<br />

indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo in<strong>de</strong>xado,<br />

indirecto in<strong>de</strong>xado<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

Valores<br />

inmediatos<br />

ninguno<br />

ninguno<br />

longitud 1–128<br />

COS Coseno fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

CPT Calcular <strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

ninguno<br />

expresión <br />

CTD Conteo – contador directo C ninguno<br />

preseleccionado –32,768–32,767<br />

acumulador –32,768–32,767<br />

CTU Conteo + contador directo C ninguno<br />

DCD Descodificar 4 a 1 <strong>de</strong><br />

16<br />

preseleccionado –32,768–32,767<br />

acumulador –32,768–32,767<br />

fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

DDV Doble división fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

DEG Radianes a grados fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401.<br />

ninguno<br />

ninguno<br />

–32,768–32,767<br />

ninguno<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno


Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

DIV División fuente A directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

ENC Codificar (enco<strong>de</strong>) 1 <strong>de</strong><br />

16 a 4<br />

fuente B directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

EQU Igual fuente A directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

fuente B directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

FFL Carga FIFO fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

gama FIFO directo in<strong>de</strong>xado,<br />

indirecto in<strong>de</strong>xado<br />

Referencias <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> programación<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M <br />

Valores<br />

inmediatos<br />

–32,768–32,767<br />

f-mín–f-máx<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

ninguno<br />

ninguno<br />

ninguno<br />

–32,768–32,767<br />

f-mín–f-máx<br />

O, I, S, B, N, A ninguno<br />

control FIFO directo R ninguno<br />

longitud 1–128<br />

posición 0–127<br />

FFU Descarga FIFO gama FIFO directo in<strong>de</strong>xado,<br />

indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, N, A ninguno<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M <br />

–32,768–32,767<br />

ninguno<br />

control FIFO directo R ninguno<br />

longitud 1–128<br />

posición 0–127<br />

<br />

Soportado solamente por los controladores <strong>MicroLogix</strong> 1000.<br />

<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 y controladores <strong>MicroLogix</strong> 1000.<br />

<br />

El direccionamiento in<strong>de</strong>xado no se permite cuando se usan direcciones T, C, R o M.<br />

E–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

E–10<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

FLL Llenar archivo fuente directo, indirecto O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

<strong>de</strong>stino directo in<strong>de</strong>xado,<br />

indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

Valores<br />

inmediatos<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

longitud 1–128<br />

FRD De BCD a binario fuente (<strong>SLC</strong> 5/01) directo O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

fuente (<strong>SLC</strong> 5/02,<br />

<strong>SLC</strong> 5/03, <strong>SLC</strong><br />

5/04, controladores<br />

<strong>MicroLogix</strong> 1000)<br />

directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

GEQ Mayor o igual que fuente A directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

fuente B directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

GRT Mayor que fuente A directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

HSC Contador <strong>de</strong> alta<br />

velocidad (<strong>SLC</strong> 5/01)<br />

fuente B directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

ninguno<br />

ninguno<br />

ninguno<br />

ninguno<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

–32,768–32,767<br />

f-mín–f-máx<br />

contador ninguno<br />

preseleccionado 1–32,767<br />

HSC Contador <strong>de</strong> alta veloc. tipo 0–7<br />

contador directo C ninguno<br />

preseleccionado –32,768–32,767<br />

acumulador –32,768–32,767<br />

HSD Interr. HSC <strong>de</strong>sactiva contador directo C ninguno<br />

HSE Interr. HSC activa contador directo C ninguno<br />

Soportado solamente por los controladores <strong>MicroLogix</strong> 1000.<br />

Soportado solamente por los procesadores L20, L30, and L40 con entradas <strong>de</strong> DC.


Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

Referencias <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> programación<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

HSL Carga HSC contador directo C ninguno<br />

IID Interrupción <strong>de</strong> E/S<br />

<strong>de</strong>sactiva<br />

IIE Interrupción <strong>de</strong> E/S<br />

activa<br />

IIM Entrada inmediata con<br />

máscara<br />

fuente directo B y N ninguno<br />

Valores<br />

inmediatos<br />

longitud siempre 5<br />

ranuras palabra hex doble<br />

(lista <strong>de</strong> ranuras<br />

ranuras palabra hex doble<br />

(lista <strong>de</strong> ranuras<br />

ranura directo I ninguno<br />

máscara directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

longitud<br />

(<strong>SLC</strong> 5/03 y<br />

<strong>SLC</strong> 5/04)<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

INT Interrupción <strong>de</strong> E/S ninguno<br />

IOM Salida inmediata con<br />

máscara<br />

–32,768–32,767<br />

1–32<br />

ranura directo O ninguno<br />

máscara directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

longitud<br />

(<strong>SLC</strong> 5/03 y<br />

<strong>SLC</strong> 5/04)<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

JMP Saltar no. <strong>de</strong> etiqueta 0–999<br />

JSR Saltar a subrutina número <strong>de</strong> archivo<br />

<strong>de</strong> subrutina<br />

–32,768–32,767<br />

1–32<br />

3–255<br />

LBL Etiqueta no. <strong>de</strong> etiqueta 0–999<br />

<br />

Soportado solamente por los controladores <strong>MicroLogix</strong> 1000.<br />

<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 y los procesadores <strong>MicroLogix</strong> 1000.<br />

<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04.<br />

E–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

E–12<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

LEQ Menos o igual que fuente A directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

fuente B directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

LES Menos que fuente A directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

fuente B directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

LFL Carga LIFO fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

gama LIFO directo in<strong>de</strong>xado,<br />

indirecto in<strong>de</strong>xado<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M <br />

Valores<br />

inmediatos<br />

ninguno<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ningunos<br />

–32,768–32,767<br />

f-mín–f-máx<br />

O, I, S, B, N, A ninguno<br />

control LIFO directo R ninguno<br />

longitud 1–128<br />

posición 0–127<br />

LFU Descarga LIFO gama LIFO directo in<strong>de</strong>xado,<br />

indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, N, A ninguno<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M <br />

–32,768–32,767<br />

ninguno<br />

control LIFO directo R ninguno<br />

longitud 1–128<br />

posición 0–127<br />

LIM Test lím (circ) límite bajo directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

prueba directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

límite alto directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

–32,768–32,767<br />

f-mín–f-máx<br />

–32,768–32,767<br />

f-mín–f-máx<br />

–32,768–32,767<br />

f-mín–f-máx<br />

<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 y los controladores <strong>MicroLogix</strong> 1000.<br />

<br />

El direccionamiento in<strong>de</strong>xado no se permite cuando se usan direcciones T, C, R o M.


Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

LN Logaritmo natural fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

LOG Logaritmo en base 10 fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

Referencias <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> programación<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

Valores<br />

inmediatos<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

MCR Restab. control maestro ninguno<br />

MEQ Comparación con<br />

máscara para igual<br />

fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

máscara <strong>de</strong> fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

comparación directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

MOV Mover fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

ninguno<br />

–32,768–32,767<br />

–32,768–32,767<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

MSG Mensaje lectura/escritura 0=lect.,1=escrit.<br />

(5/02 only)<br />

dispositivo <strong>de</strong>stino 2=<strong>500</strong>CPU,<br />

4=485CIF<br />

bloque <strong>de</strong> control directo N ninguno<br />

long. bloque contr. 7<br />

dirección local directo O, I, S, B, T, C, R,<br />

N, A<br />

ninguno<br />

nodo <strong>de</strong>stino 0–31<br />

dirección <strong>de</strong>stino directo O, I, S, B, T, C, R,<br />

N, A<br />

0–255<br />

longitud <strong>de</strong> T, C, R 1–13<br />

mensaje<br />

I, O, S, B, N 1–41<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401.<br />

E–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

E–14<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

Valores<br />

inmediatos<br />

MSG Mensaje tipo 64=sem. a sem.<br />

(5/03 y 5/04<br />

solamente) lectura/escritura 0=lect., 1=escrit.<br />

dispositivo <strong>de</strong>stino 2=<strong>500</strong>CPU,<br />

4=485CIF,<br />

8=PLC5<br />

local/remoto 16=local,<br />

32=remoto<br />

bloque <strong>de</strong> control directo N ninguno<br />

long. bloque contr. 14<br />

no. <strong>de</strong> canal 0 ó 1<br />

nodo <strong>de</strong>stino 0–31,<br />

0–254 if 485CIF<br />

ID <strong>de</strong> vínculo <strong>de</strong><br />

puente remoto<br />

dirección <strong>de</strong> nodo<br />

<strong>de</strong> puente remoto<br />

dirección <strong>de</strong> nodo<br />

<strong>de</strong> puente local<br />

dirección <strong>de</strong><br />

archivo local<br />

dirección <strong>de</strong><br />

archivo <strong>de</strong>stino<br />

directo O, I, S, B, T, C, R,<br />

N, F, A, ST, M <br />

directo O, I, S, B, T, C, R,<br />

N, F, A, ST, M <br />

0–254,<br />

0 cuando local<br />

0–254<br />

0 cuando local<br />

0–254, 0xFFFF<br />

cuando local<br />

ningunos<br />

0–255<br />

longitud <strong>de</strong> O, I, S, B, N, A 1–103<br />

mensaje<br />

F 1–51<br />

lím. tmpo. sobrepasado<br />

mensaje<br />

T 1–34 ó<br />

si PLC5: 1–20<br />

C, R 1–34<br />

ST 2 ó si PLC5: 1<br />

Los tipos <strong>de</strong> archivo F, A y ST se aplican solamente a <strong>SLC</strong> 5/03 OS301 ó posteriores y <strong>SLC</strong> 5/04.<br />

0–255


Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

MUL Multiplicación fuente A directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

fuente B directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

MVM Mover con máscara fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

máscara <strong>de</strong> fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

NEG Cambio <strong>de</strong> signo fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

NEQ Diferente fuente A directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

fuente B directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

NOT Operador No lógico fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

OR Operador O inclusivo fuente A directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

fuente B directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

Referencias <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> programación<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

OSR Un frente ascen<strong>de</strong>nte dirección <strong>de</strong> bit directo, indirecto O, I, S, B, T, C, R,<br />

N, A, ST<br />

Valores<br />

inmediatos<br />

–32,768–32,767<br />

f-mín–f-máx<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

ninguno<br />

–32,768–32,767<br />

ninguno<br />

ninguno<br />

ninguno<br />

ninguno<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

ninguno<br />

–32,768–32,767<br />

–32,768–32,767<br />

ninguno<br />

ninguno<br />

E–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

E–16<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

OTE Activación <strong>de</strong> salida dirección <strong>de</strong> bit directo, indirecto O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

OTL Enclavamiento <strong>de</strong><br />

salida<br />

OTU Desenclavamiento <strong>de</strong><br />

salida<br />

dirección <strong>de</strong> bit directo, indirecto O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

dirección <strong>de</strong> bit directo, indirecto O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

Valores<br />

inmediatos<br />

ninguno<br />

ninguno<br />

ninguno<br />

PID PID bloque <strong>de</strong> control directo N ninguno<br />

RAC Acumulador <strong>de</strong><br />

restablecimiento HSC<br />

variable <strong>de</strong><br />

proceso<br />

directo, indirecto O, I, B, T, C, R, N,<br />

A<br />

variable <strong>de</strong> control directo, indirecto O, I, B, T, C, R, N,<br />

A<br />

ninguno<br />

ninguno<br />

long. bloque contr. 23 siempre<br />

contador directo C ninguno<br />

fuente directo, indirecto O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

RAD Grados a radianes fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

REF Regenerar E/S canal 0 (<strong>SLC</strong> 5/03<br />

y <strong>SLC</strong> 5/04)<br />

RES Restablecimiento <strong>de</strong><br />

temporizador/contador<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

canal 1 (<strong>SLC</strong> 5/03<br />

y <strong>SLC</strong> 5/04)<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

–32,768–32,767<br />

f-mín–f-máx<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

0=no, 1=sí<br />

0=no, 1=sí<br />

estructura directo T, C, R ninguno<br />

RET Retorno ninguno<br />

RPI Restablecer<br />

interrupción pendiente<br />

ranuras palabra <strong>de</strong> hex<br />

doble (lista <strong>de</strong><br />

ranuras)<br />

<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401.<br />

<br />

Soportado solamente por los controladores<strong>MicroLogix</strong> 1000.<br />

<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04.


Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

Referencias <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> programación<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

Valores<br />

inmediatos<br />

RTO Temporizador retentivo temporizador directo T ninguno<br />

a la conexión<br />

base <strong>de</strong> tiempo<br />

(<strong>SLC</strong> 5/01)<br />

0.01 solamente<br />

base <strong>de</strong> tiempo<br />

(<strong>SLC</strong> 5/02, <strong>SLC</strong><br />

5/03, <strong>SLC</strong> 5/04,<br />

controladores<br />

<strong>MicroLogix</strong> 1000)<br />

0.01 ó 1.00<br />

preseleccionado 0–32,767<br />

acumulador 0–32,767<br />

SBR Subrutina ninguno<br />

SCL Escalar fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

velocidad directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

offset directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

SCP Escalar con parámetros entrada directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

entrada mín. directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

entrada máx. directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

escala mín. directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

escala máx. directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

salida con escala directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

ninguno<br />

–32,768–32,767<br />

–32,768–32,767<br />

ninguno<br />

ninguno<br />

–32,768–32,767<br />

f-mín–f-máx<br />

–32,768–32,767<br />

f-mín–f-máx<br />

–32,768–32,767<br />

f-mín–f-máx<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401.<br />

<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 y controladores <strong>MicroLogix</strong> 1000.<br />

E–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

E–18<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

SIN Seno fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

SQC Secuenciador <strong>de</strong><br />

comparación<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

archivo directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

máscara directo, directo in<strong>de</strong>xado ,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

fuente directo, directo in<strong>de</strong>xado ,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

Valores<br />

inmediatos<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

O, I, S, B, N, A, ST ninguno<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

–32,768–32,767<br />

ninguno<br />

control directo R ninguno<br />

longitud 1–255<br />

posición 0–255<br />

SQL Carga secuenciador archivo directo in<strong>de</strong>xado,<br />

indirecto in<strong>de</strong>xado<br />

fuente directo, directo in<strong>de</strong>xado ,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, N, A, ST ninguno<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

control directo R ninguno<br />

longitud 1–255<br />

posición 0–255<br />

–32,768–32,767<br />

<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401.<br />

<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 y controladores <strong>MicroLogix</strong> 1000.<br />

<br />

El direccionamiento in<strong>de</strong>xado no se permite cuando se usan direcciones T, C, R o M.


Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

SQO Secuenciador <strong>de</strong> salida archivo directo in<strong>de</strong>xado,<br />

indirecto in<strong>de</strong>xado<br />

máscara directo, directo in<strong>de</strong>xado ,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado ,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

Referencias <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> programación<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

O, I, S, B, N, A, ST ninguno<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

Valores<br />

inmediatos<br />

–32,768–32,767<br />

ninguno<br />

control directo R ninguno<br />

longitud 1–255<br />

posición 0–255<br />

SQR Raíz cuadrada fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

STD Desactivar STI ninguno<br />

STE Activar STI ninguno<br />

STS Comenzar STI archivo directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

tiempo directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

SUB Resta fuente A directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

fuente B directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

0, 3–255<br />

excepto que los<br />

controladores<br />

<strong>MicroLogix</strong> 1000<br />

siempre son<br />

iguales a 5<br />

0–255 (<strong>SLC</strong> 5/02<br />

y <strong>MicroLogix</strong><br />

1000), 0–32,767<br />

(<strong>SLC</strong> 5/03 y<br />

5/04)<br />

–32,768–32,76<br />

f-mín–f-máx<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y<strong>SLC</strong> 5/04 y controladores <strong>MicroLogix</strong> 1000.<br />

<br />

El direccionamiento in<strong>de</strong>xado no se permite cuando se usan direcciones T, C, R o M.<br />

E–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

E–20<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

Valores<br />

inmediatos<br />

SUS Suspen<strong>de</strong>r ID <strong>de</strong> suspensión –32,768–32,767<br />

SVC Servicio <strong>de</strong><br />

comunicaciones<br />

canl 0 (<strong>SLC</strong> 5/03 y<br />

<strong>SLC</strong> 5/04)<br />

canal 1 (<strong>SLC</strong> 5/03<br />

y <strong>SLC</strong> 5/04)<br />

SWP Intercambiar fuente directo in<strong>de</strong>xado,<br />

indirecto in<strong>de</strong>xado<br />

0=no, 1=sí<br />

0=no, 1=sí<br />

B, N, A, ST ninguno<br />

longitud 1–128: bit,<br />

1–128: entero,<br />

1–41: ca<strong>de</strong>na,<br />

1–128: ASCII<br />

TAN Tangente fuente directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno<br />

TND Fin temporal ninguno<br />

TOD Convertir a BCD fuente (<strong>SLC</strong> 5/01) directo O, I, S, B, T, C, R,<br />

N<br />

TOF Temporizador a la<br />

<strong>de</strong>sconexión<br />

fuente (<strong>SLC</strong> 5/02,<br />

<strong>SLC</strong> 5/03,<br />

<strong>SLC</strong> 5/04)<br />

directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

<strong>de</strong>stino directo O, I. S. B. T, C, R,<br />

N, A, ST, M<br />

ninguno<br />

ninguno<br />

temporizador directo T ninguno


Referencias <strong>de</strong> <strong>instrucciones</strong> <strong>de</strong> programación<br />

Instrucción Descripción Parámetro <strong>de</strong> Modo(s) <strong>de</strong> Tipos <strong>de</strong> archivo Valores<br />

instrucción direccionamiento<br />

válido(s)<br />

válidos inmediatos<br />

base <strong>de</strong> tiempo<br />

(<strong>SLC</strong> 5/01)<br />

base <strong>de</strong> tiempo<br />

(<strong>SLC</strong> 5/02, <strong>SLC</strong><br />

5/03, <strong>SLC</strong> 5/04,<br />

controladores<br />

<strong>MicroLogix</strong> 1000)<br />

0.01 solamente<br />

0.01 ó 1.00<br />

preseleccionado 0–32,767<br />

acumulador 0–32,767<br />

<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401.<br />

<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04.<br />

E–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucción Descripción Parámetro <strong>de</strong><br />

instrucción<br />

TON Temporizador a la<br />

conexión<br />

XIC Examina si cerrado<br />

(examina si contacto<br />

cerrado)<br />

XIO Examina si abierto<br />

(examina si contacto<br />

abierto)<br />

E–22<br />

Modo(s) <strong>de</strong><br />

direccionamiento<br />

válido(s)<br />

Tipos <strong>de</strong> archivo<br />

válidos<br />

temporizador directo T ninguno<br />

base <strong>de</strong> tiempo<br />

(<strong>SLC</strong> 5/01)<br />

base <strong>de</strong> tiempo<br />

(<strong>SLC</strong> 5/02, <strong>SLC</strong><br />

5/03, <strong>SLC</strong> 5/04,<br />

controladores<br />

<strong>MicroLogix</strong> 1000)<br />

Valores<br />

inmediatos<br />

0.01 solamente<br />

0.01 ó 1.00<br />

preseleccionado 0–32,767<br />

acumulador 0–32,767<br />

bit <strong>de</strong> fuente directo, indirecto O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

bit <strong>de</strong> fuente directo, indirecto O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

XOR Operación O exclusivo dirección A directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

dirección B directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

XPY X a la potencia <strong>de</strong> Y fuente A directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

fuente B directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

<strong>de</strong>stino directo, directo in<strong>de</strong>xado,<br />

indirecto, indirecto in<strong>de</strong>xado<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

O, I, S, B, T, C, R,<br />

N, F, A, ST, M<br />

Soportado solamente por los procesadores <strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401.<br />

ninguno<br />

ninguno<br />

–32,768–32,767<br />

–32,768–32,767<br />

ninguno<br />

–32,768–32,767<br />

f-min–f-max<br />

–32,768–32,767<br />

f-mín–f-máx<br />

ninguno


Organización y direccionamiento <strong>de</strong> archivo <strong>de</strong> datos<br />

F Organización y direccionamento<br />

<strong>de</strong>l archivo <strong>de</strong> datos<br />

Este capítulo trata los temas siguientes:<br />

• la organización y direccionamiento <strong>de</strong>l archivo <strong>de</strong> datos<br />

• cómo especificar el direccionamiento in<strong>de</strong>xado<br />

• cómo especificar el direccionamiento indirecto (procesadores <strong>SLC</strong> 5/03 OS302<br />

y <strong>SLC</strong> 5/04 OS401)<br />

• cómo direccionar <strong>instrucciones</strong> <strong>de</strong> archivo (usando el no. <strong>de</strong> indicador <strong>de</strong><br />

archivo)<br />

• las constantes numéricas<br />

• los archivos M0-M1, archivos G (procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04<br />

con módulos <strong>de</strong> E/S especiales)<br />

F–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Descripción <strong>de</strong> la organización <strong>de</strong>l archivo<br />

F–2<br />

El procesador proporciona control por medio <strong>de</strong> un programa que usted crea<br />

llamado un archivo <strong>de</strong> procesador. Este archivo contiene otros archivos que<br />

separan el programa en secciones que son más fáciles <strong>de</strong> manejar.<br />

Descripción general <strong>de</strong>l archivo <strong>de</strong> procesador<br />

La mayor parte <strong>de</strong> las operaciones que realiza con el dispositivo <strong>de</strong> programación<br />

involucra el archivo <strong>de</strong> procesador y los dos componentes creados con éste: los<br />

archivos <strong>de</strong> programa y los archivos <strong>de</strong> datos.<br />

Archivos <strong>de</strong> programa<br />

Archivo <strong>de</strong> procesador<br />

Archivos <strong>de</strong> datos<br />

El dispositivo <strong>de</strong> programación almacena los archivos <strong>de</strong> procesador en un disco<br />

duro (o disco flexible). La monitorización y edición <strong>de</strong> los archivos <strong>de</strong> procesador<br />

se efectúan en el espacio <strong>de</strong> trabajo <strong>de</strong> la computadora. Después <strong>de</strong> seleccionar y<br />

editar un archivo <strong>de</strong>l disco, usted guarda el archivo en el disco duro reemplazando la<br />

versión <strong>de</strong> disco original con la versión editada. El disco duro es el lugar<br />

recomendado para un archivo <strong>de</strong> procesador.<br />

01<br />

Espacio <strong>de</strong> trabajo<br />

DISPOSITIVO DE PROGRAMACION<br />

Disco duro<br />

01<br />

02<br />

03<br />

04<br />

Archivos <strong>de</strong> procesador<br />

con nombres únicos<br />

Los archivos <strong>de</strong> procesador se crean en el modo fuera <strong>de</strong> línea usando el dispositivo<br />

<strong>de</strong> programación. Luego, estos archivos se restauran (se <strong>de</strong>scargan) al procesador<br />

para la operación en línea.


Archivos <strong>de</strong> programa<br />

Archivos <strong>de</strong> datos<br />

Organización y direccionamiento <strong>de</strong> archivo <strong>de</strong> datos<br />

Los archivos <strong>de</strong> programa contienen información <strong>de</strong>l controlador, el programa <strong>de</strong><br />

escalera principal, subrutinas <strong>de</strong> interrupción y programas <strong>de</strong> subrutina. Estos<br />

archivos son:<br />

• Programa <strong>de</strong> sistema (archivo 0) – Este archivo contiene información relativa<br />

al sistema y información programada por el usuario tal como el tipo <strong>de</strong><br />

procesador, configuración <strong>de</strong> E/S, nombre <strong>de</strong>l archivo <strong>de</strong> procesador y<br />

contraseña.<br />

• Reservado (archivo 1) – Este archivo está reservado.<br />

• Programa <strong>de</strong> escalera principal (archivo 2) – Este archivo contiene<br />

<strong>instrucciones</strong> programadas por el usuario que <strong>de</strong>finen cómo el controlador <strong>de</strong>be<br />

funcionar.<br />

• Programa <strong>de</strong> escalera <strong>de</strong> subrutina (archivo 3-255) – Estos archivos son<br />

creados por el usuario y accedidos según las <strong>instrucciones</strong> <strong>de</strong> subrutina que<br />

resi<strong>de</strong>n en el archivo <strong>de</strong> programa <strong>de</strong> escalera principal.<br />

Los archivos <strong>de</strong> programa siguientes son específicos a los controladores<br />

<strong>MicroLogix</strong> 1000:<br />

• Rutina <strong>de</strong> fallo <strong>de</strong> error <strong>de</strong> usuario (archivo 3) – Este archivo se ejecuta<br />

cuando un fallo recuperable ocurre.<br />

• Interrupción <strong>de</strong> contador <strong>de</strong> alta velocidad (archivo 4) – Este archivo se<br />

ejecuta cuando una interrupción HSC ocurre. También se pue<strong>de</strong> usar para un<br />

programa <strong>de</strong> escalera <strong>de</strong> subrutina.<br />

• Interrupción temporizada seleccionable (archivo 5) – Este archivo se ejecuta<br />

cuando una STI ocurre. También se pue<strong>de</strong> usar para un programa <strong>de</strong> escalera <strong>de</strong><br />

subrutina.<br />

• Programa <strong>de</strong> escalera <strong>de</strong> subrutina (archivos 6 – 15) – Estos archivos se usan<br />

según las <strong>instrucciones</strong> <strong>de</strong> subrutina que resi<strong>de</strong>n en el archivo <strong>de</strong> programa <strong>de</strong><br />

escalera principal u otros archivos <strong>de</strong> subrutina.<br />

Los archivos <strong>de</strong> datos contienen la información <strong>de</strong> estado asociada con <strong>instrucciones</strong><br />

<strong>de</strong> E/S y todas las otras <strong>instrucciones</strong> que usted usa en los archivos <strong>de</strong> programa <strong>de</strong><br />

escalera principales y <strong>de</strong> subrutina. A<strong>de</strong>más, estos archivos almacenan información<br />

acerca <strong>de</strong> la operación <strong>de</strong>l procesador. También pue<strong>de</strong> usar los archivos para<br />

almacenar “recetas” y buscar tablas, si fuese necesario.<br />

Estos archivos están organizados según el tipo <strong>de</strong> datos que contienen. Los tipos <strong>de</strong><br />

archivo <strong>de</strong> datos son:<br />

• Salida (archivo 0) – Este archivo almacena el estado <strong>de</strong> las terminales <strong>de</strong> salida<br />

para el controlador.<br />

• Entrada (archivo 1) – Este archivo almacena el estado <strong>de</strong> las terminales <strong>de</strong><br />

entrada para el controlador.<br />

• Estado (archivo 2) – Este archivo almacena información <strong>de</strong> operación <strong>de</strong>l<br />

controlador. Este archivo es útil para localizar y corregir fallos <strong>de</strong> la operación<br />

<strong>de</strong>l controlador y programa.<br />

F–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

F–4<br />

• Bit (archivo 3) – Este archivo se usa para el almacenamiento <strong>de</strong> la lógica <strong>de</strong> relé<br />

interno.<br />

• Temporizador (archivo 4) – Este archivo almacena los valores <strong>de</strong>l acumulador<br />

<strong>de</strong> temporizador y preseleccionados a<strong>de</strong>más <strong>de</strong> los bits <strong>de</strong> estado.<br />

• Contador (archivo 5) – Este archivo almacena los valores <strong>de</strong>l acumulador <strong>de</strong><br />

temporizador y preseleccionados a<strong>de</strong>más <strong>de</strong> los bits <strong>de</strong> estado.<br />

• Control (archivo 6) – Este archivo almacena la longitud, posición <strong>de</strong> puntero y<br />

bits <strong>de</strong> estado para <strong>instrucciones</strong> específicas tales como registros <strong>de</strong><br />

<strong>de</strong>splazamiento y secuenciadores.<br />

• Entero (file 7) – Este archivo se usa para almacenar valores numéricos o<br />

información <strong>de</strong> bit.<br />

• Punto (coma) flotante (archivo 8) – Este archivo almacena los números <strong>de</strong> 32<br />

bits no extendidos <strong>de</strong> precisión úncia. Se aplica a los procesadores <strong>SLC</strong> 5/03<br />

OS301, OS302 y <strong>SLC</strong> 5/04.<br />

Acceso y almacenamiento <strong>de</strong> los archivos <strong>de</strong><br />

procesador<br />

El controlador programable <strong>MicroLogix</strong> 1000 usa dos dispositivos para almacenar<br />

los archivos <strong>de</strong> procesador: RAM y EEPROM. El RAM proporciona el<br />

almacenamiento <strong>de</strong> acceso fácil (es <strong>de</strong>cir, los datos se pier<strong>de</strong>n al apagar el sistema)<br />

mientras que el EEPROM proporciona el almacenamiento <strong>de</strong> largo plazo (es <strong>de</strong>cir,<br />

los datos no se pier<strong>de</strong>n al apagar el sistema). El diagrama siguiente muestra cómo la<br />

memoria es asignada en el procesador el microcontrolador.<br />

EEPROM<br />

Datos <strong>de</strong> seg.<br />

Datos retentivos<br />

Archivos prog.<br />

CPU<br />

RAM<br />

Esp. trabaj. CPU<br />

Datos retentivos<br />

Archivos prog.


Descarga<br />

Organización y direccionamiento <strong>de</strong> archivo <strong>de</strong> datos<br />

El dispositivo <strong>de</strong> memoria usado <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la operación que se efectúe. Esta<br />

sección <strong>de</strong>scribe cómo se almacena en la memoria y cómo se obtiene acceso a la<br />

misma durante las operaciones siguientes:<br />

• <strong>de</strong>scarga<br />

• operación normal<br />

• apagado<br />

• encendido<br />

Cuando el archivo <strong>de</strong> procesador se <strong>de</strong>scarga al microcontrolador, primero se<br />

almacena en la RAM volátil. Luego, se transfiere al EEPROM no volátil don<strong>de</strong> se<br />

almacena como datos <strong>de</strong> copia <strong>de</strong> seguridad y datos retentivos.<br />

EEPROM<br />

Datos seguridad<br />

Datos retentivos<br />

Archivos prog<br />

CPU<br />

RAM<br />

Esp. trab. CPU<br />

Datos retentivos<br />

Archivos prog.<br />

Dispositivo <strong>de</strong><br />

programación<br />

Nota Si usted <strong>de</strong>sea asegurarse que los datos <strong>de</strong> copia <strong>de</strong> seguridad sean los mismos para<br />

cada microcontrolador que esté usando, guar<strong>de</strong> el programa en el disco antes <strong>de</strong><br />

<strong>de</strong>scargarlo a un microcontrolador.<br />

F–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Operación normal<br />

Apagado<br />

F–6<br />

Durante la operación normal, el microcontrolador y el dispositivo <strong>de</strong> programación<br />

pue<strong>de</strong>n obtener acceso a los archivos <strong>de</strong> procesador almacenados en la RAM.<br />

Cualesquier cambios <strong>de</strong> los datos retentivos que ocurran <strong>de</strong>bido a la ejecución <strong>de</strong><br />

programas o comandos <strong>de</strong> programación afectan solamente los datos retentivos en la<br />

RAM.<br />

Los archivos <strong>de</strong> programa nunca se modifican durante la operación normal. Sin<br />

embargo, la CPU y el dispositivo <strong>de</strong> programación pue<strong>de</strong>n leer los archivos <strong>de</strong><br />

programa almacenados en la RAM.<br />

EEPROM<br />

Datos seguridad<br />

Datos retentivos<br />

Archivos prog<br />

CPU<br />

RAM<br />

Esp. trab. CPU<br />

Datos retentivos<br />

Archivos prog.<br />

Dispositivo <strong>de</strong><br />

programación<br />

Cuando ocurre el apagado, solamente los datos retentivos se transfieren <strong>de</strong>s<strong>de</strong> la<br />

RAM hacia el EEPROM. (No es necesario que los archivos <strong>de</strong> programa se guar<strong>de</strong>n<br />

en el EEPROM ya que no se pue<strong>de</strong>n modificar durante la operación normal.) Si,<br />

por algún motivo, la alimentación eléctrica se interrumpe antes <strong>de</strong> que todos los<br />

datos retentivos se guar<strong>de</strong>n en el EEPROM, los datos retentivos se per<strong>de</strong>rán. Esto<br />

pue<strong>de</strong> ocurrir <strong>de</strong>bido a un restablecimiento inesperado o un problema <strong>de</strong> hardware.<br />

EEPROM<br />

Datos seguridad<br />

Datos retentivos<br />

Archivos prog<br />

CPU<br />

RAM<br />

Esp. trab. CPU<br />

Datos retentivos<br />

Archivos prog.<br />

Dispositivo <strong>de</strong><br />

programación


Encendido<br />

Organización y direccionamiento <strong>de</strong> archivo <strong>de</strong> datos<br />

Durante el encendido, el microcontrolador transfiere los archivos <strong>de</strong> programa <strong>de</strong>s<strong>de</strong><br />

el EEPROM hacia la RAM. Los datos retentivos también se transfieren al RAM,<br />

siempre que no se perdieran duante la parada, y la operación normal comienza.<br />

EEPROM<br />

Datos seguridad<br />

Datos retentivos<br />

Archivos prog<br />

CPU<br />

RAM<br />

Esp. trab. CPU<br />

Datos retentivos<br />

Archivos prog.<br />

Dispositivo <strong>de</strong><br />

programación<br />

Si los datos retentivos se perdieron durante la parada, los datos <strong>de</strong> seguridad <strong>de</strong>l<br />

EEPROM se transfieren a la RAM y se usan como datos retentivos. A<strong>de</strong>más, el bit<br />

<strong>de</strong> archivo <strong>de</strong> estado S2:5/8 (datos retentivos perdidos) se establece y un error<br />

mayor recuperable ocurre previo a la puesta en marcha.<br />

EEPROM<br />

Datos seguridad<br />

Datos retentivos<br />

Archivos prog<br />

CPU<br />

RAM<br />

Esp. trab. CPU<br />

Datos retentivos<br />

Archivos prog.<br />

Dispositivo <strong>de</strong><br />

programación<br />

F–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Cómo direccionar los archivos <strong>de</strong> datos<br />

F–8<br />

Para fines <strong>de</strong> direccionamiento, cada tipo <strong>de</strong> archivo <strong>de</strong> datos se i<strong>de</strong>ntifica con una<br />

letra (i<strong>de</strong>ntificador) y un número <strong>de</strong> archivo.<br />

Los números <strong>de</strong> archivo 0 a 7 son los archivos pre<strong>de</strong>terminados que los<br />

procesadores fijos, <strong>SLC</strong> 5/01, <strong>SLC</strong> 5/02 y <strong>SLC</strong> 5/03 OS300 y los controladores<br />

<strong>MicroLogix</strong> 1000 crean por usted. El número <strong>de</strong> archivo 8 se aplica a los<br />

procesadores <strong>SLC</strong> 5/03 OS301, OS302 y <strong>SLC</strong> 5/04 OS400, OS401. Si necesita<br />

almacenamiento adicional, pue<strong>de</strong> crear archivos especificando el i<strong>de</strong>ntificador<br />

correspondiente y un número <strong>de</strong> archivo <strong>de</strong> 9 a 255. Refiérase a las tablas<br />

siguientes:<br />

Tipos, i<strong>de</strong>ntificadores y números <strong>de</strong> archivos <strong>de</strong> datos (archivos <strong>de</strong> datos en la memoria <strong>de</strong>l procesador)<br />

Tipo <strong>de</strong><br />

archivo<br />

Salida<br />

Entrada<br />

Estado<br />

Bit<br />

Temporiz.<br />

Contador<br />

Control<br />

Entero<br />

I<strong>de</strong>ntificador<br />

O<br />

I<br />

S<br />

B<br />

T<br />

C<br />

R<br />

N<br />

Número<br />

<strong>de</strong> archivo<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

Flotar F 8<br />

Archivos <strong>de</strong>finidos por el usuario<br />

Tipo <strong>de</strong><br />

archivo<br />

Bit<br />

Temporiz.<br />

Contador<br />

Control<br />

Entero<br />

I<strong>de</strong>ntificador<br />

B<br />

T<br />

C<br />

R<br />

N<br />

Flotar F<br />

Ca<strong>de</strong>na St<br />

ASCII A<br />

Número <strong>de</strong><br />

archivo<br />

Nota Los tipos <strong>de</strong> archivo <strong>de</strong> punto (coma) flotante, ca<strong>de</strong>na y ASCII están disponibles<br />

únicamente cuando se usan los procesadores <strong>SLC</strong> 5/03 0S301, 0S302 y <strong>SLC</strong> 5/04<br />

OS400, OS401.<br />

Cómo especificar direcciones lógicas<br />

9–255<br />

Usted asigna direcciones lógicas a <strong>instrucciones</strong> <strong>de</strong>s<strong>de</strong> el nivel más alto (elemento)<br />

hasta el nivel más bajo (bit). Los ejemplos <strong>de</strong> direccionamiento se muestran en la<br />

tabla siguiente.


Para especificar la<br />

dirección <strong>de</strong>:<br />

Una palabra <strong>de</strong>ntro <strong>de</strong> un<br />

archivo entero<br />

Una palabra <strong>de</strong>ntro <strong>de</strong> un<br />

archivo <strong>de</strong> estructura<br />

(por ej., un archivo <strong>de</strong><br />

temporizador)<br />

Un bit <strong>de</strong>ntro <strong>de</strong> un archivo<br />

entero<br />

Un bit <strong>de</strong>ntro <strong>de</strong> un archivo<br />

<strong>de</strong> bit<br />

Bit <strong>de</strong>ntro <strong>de</strong> un archivo <strong>de</strong><br />

estructura (por ej., un<br />

archivo <strong>de</strong> control)<br />

Tipo <strong>de</strong> archivo<br />

No. <strong>de</strong> archivo<br />

Delimit. archivo<br />

No. <strong>de</strong> palabra<br />

Tipo <strong>de</strong> archivo<br />

No. <strong>de</strong> archivo<br />

Delimit. archivo<br />

No. <strong>de</strong> estructura<br />

Delimitador<br />

Palabra<br />

Tipo <strong>de</strong> archivo<br />

No. <strong>de</strong> archivo<br />

Delimit. archivo<br />

No. <strong>de</strong> palabra<br />

Delimitador bit<br />

No. <strong>de</strong> bit<br />

Tipo <strong>de</strong> archivo<br />

No. <strong>de</strong> archivo<br />

Delimitador bit<br />

No. <strong>de</strong> bit<br />

Organización y direccionamiento <strong>de</strong> archivo <strong>de</strong> datos<br />

Use estos parámetros: <br />

N 7 : 2<br />

T 4 : 7 . ACC<br />

N 7 : 2 / 5<br />

B 3 / 31<br />

Los archivos <strong>de</strong> bit son archivos <strong>de</strong> flujo <strong>de</strong> bit continuo y, por lo<br />

tanto, pue<strong>de</strong> direccionarlos <strong>de</strong> dos maneras: por palabra y por bit,<br />

o por bit solamente.<br />

Tipo <strong>de</strong> archivo<br />

No. <strong>de</strong> archivo<br />

Delimitador archivo<br />

No. <strong>de</strong> estructura<br />

Delimitador<br />

Mnemónico<br />

R 6 : 7 / DN<br />

Algunos dispositivos <strong>de</strong> programación tienen capacidad para el direccionamiento corto. Esto le permite eliminar el<br />

número <strong>de</strong> archivo y el <strong>de</strong>limitador <strong>de</strong> archivo <strong>de</strong> las direcciones. Consulte el manual <strong>de</strong> usuario <strong>de</strong> programación<br />

<strong>de</strong>l dispositivo para obtener información acerca <strong>de</strong> las capacida<strong>de</strong>s <strong>de</strong> direccionamiento. (Por ejemplo: N7:2 = N2;<br />

T4:12.ACC = T12.ACC; B3:2/12 = B2/12)<br />

Usted también pue<strong>de</strong> direccionar al nivel <strong>de</strong> bit usando los mnemónicos como tipos<br />

<strong>de</strong> datos <strong>de</strong> temporizador, contador o control.<br />

F–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Direccionamiento <strong>de</strong> E/S para un controlador <strong>de</strong> E/S fijo<br />

F–10<br />

Salidas <strong>de</strong> ranura 0 (0–15)<br />

Salidas <strong>de</strong> ranura 1 (0–5)<br />

Salidas <strong>de</strong> ranura 2 (0–7)<br />

Entradas <strong>de</strong> ranura 0 (0–15)<br />

Entradas <strong>de</strong> ranura 0 (16–23)<br />

Entradas <strong>de</strong> ranura 1 (0–5)<br />

En la figura siguiente, un controlador <strong>de</strong> E/S fijo tiene 24 entradas y 16 salidas. Se<br />

ha añadido un chasis expansor. La ranura 1 <strong>de</strong>l chasis contiene un módulo con 6<br />

entradas y 6 salidas. La ranura 2 contiene un módulo con 8 salidas.<br />

Las figura siguiente ilustra cómo estas entradas y salidas se configuran en los<br />

archivos <strong>de</strong> datos 0 y 1. Para estos archivos, el tamaño <strong>de</strong> elemento siempre es 1<br />

palabra.<br />

Números <strong>de</strong> ranura<br />

Controlador <strong>de</strong><br />

E/S fijo<br />

15<br />

15<br />

X<br />

0 1 2<br />

I/O I/O I/O<br />

14<br />

14<br />

Chasis<br />

expansor<br />

13<br />

13<br />

12<br />

Archivo <strong>de</strong> datos 0 – Imagen <strong>de</strong> salida<br />

11<br />

10<br />

INVALID<br />

INVALID<br />

9<br />

8<br />

Archivo <strong>de</strong> datos 1 – Imagen <strong>de</strong> entrada<br />

12<br />

11<br />

INVALID<br />

10<br />

INVALID<br />

9<br />

8<br />

7<br />

X<br />

7<br />

X<br />

6<br />

6<br />

5<br />

5<br />

4<br />

X<br />

4<br />

X<br />

0<br />

1<br />

2<br />

X = Vea los ejemplos en la página siguiente.<br />

Ran. Entradas Salidas<br />

3<br />

3<br />

24<br />

6<br />

Ninguna<br />

2<br />

2<br />

1<br />

1<br />

0<br />

0<br />

16<br />

6<br />

8<br />

O:0<br />

O:1<br />

O:2<br />

I:0<br />

I:0.1<br />

I:1<br />

La tabla en la página siguiente explica el formato <strong>de</strong> direccionamiento para las<br />

salidas y entradas. Observe que el formato especifica e como número <strong>de</strong> ranura y s<br />

como número <strong>de</strong> palabra. Cuando use las <strong>instrucciones</strong> <strong>de</strong> archivo, refiérase al<br />

elemento como e.s (ranura y palabra), combinados.


Organización y direccionamiento <strong>de</strong> archivo <strong>de</strong> datos<br />

Asigne las direcciones <strong>de</strong> E/S a controladores <strong>de</strong> E/S fijos según se muestra en la<br />

tabla siguiente:<br />

Formato Explicación<br />

O:e.s/b<br />

I:e.s/b .<br />

O Salida<br />

I Entrada<br />

: Delimitador <strong>de</strong> elemento<br />

No. <strong>de</strong><br />

ranura<br />

(<strong>de</strong>cimal)<br />

Controlador <strong>de</strong> E/S fijo: 0<br />

e Ranura izquierda <strong>de</strong>l chasis expansor: 1<br />

Ranura <strong>de</strong>recha <strong>de</strong>l chasis expansor: 2<br />

s<br />

Delimitador <strong>de</strong> palabra. Requerido sólo si un número <strong>de</strong> palabra es necesario<br />

según lo mencionado a continuación.<br />

No. <strong>de</strong><br />

palabra<br />

/ Delimitador <strong>de</strong> bit<br />

b<br />

No. <strong>de</strong><br />

terminal<br />

Requerido si el número <strong>de</strong> entradas o salidas exce<strong>de</strong>n 16<br />

para la ranura. Límite: 0–255 (el límite tiene lugar para<br />

“tarjetas especiales” <strong>de</strong> palabras múltiples).<br />

Entradas: 0- 15 (ó 0 a 23, ranura 0)<br />

Salidas: 0- 15<br />

Ejemplos (aplicables al controlador mostrado en la página F–10):<br />

O:0/4 Salida <strong>de</strong> controlador 4 (ranura 0)<br />

O:2/7 Salida 7, ranura 2 <strong>de</strong>l chasis expansor<br />

I:1/4 Entrada 4, ranura 1 <strong>de</strong>l chasis expansor<br />

I:0/15 Entrada <strong>de</strong> controlador 15 (ranura 0)<br />

I:0.1/7 Entrada <strong>de</strong> controlador 23 (bit 07, palabra 1 <strong>de</strong> ranura 0)<br />

Alternativa para el direccionamiento <strong>de</strong> terminales <strong>de</strong> E/S 16 y superiores: Según se indicó<br />

anteriormente, la dirección I:0.1/7 se aplica a la terminal <strong>de</strong> entrada 23 <strong>de</strong> ranura 0. También<br />

pue<strong>de</strong> direccionar esta terminal como I:0/23.<br />

Direcciones <strong>de</strong> palabra:<br />

O:1 Palabra <strong>de</strong> salida 0, ranura 1<br />

I:0 Palabra <strong>de</strong> entrada, 0 ranura 0<br />

I:0.1 Palabra <strong>de</strong> entrada 1, ranura 0<br />

Valores pre<strong>de</strong>terminados: El dispositivo <strong>de</strong> programación mostrará una dirección <strong>de</strong> una<br />

manera más <strong>de</strong>tallada. Por ejemplo, cuando usted asigna la dirección I:1/4, el dispositivo <strong>de</strong><br />

programación la muestra como I:1.0/4 (archivo <strong>de</strong> entrada, ranura 1, palabra 0, terminal 4).<br />

F–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Direccionamiento <strong>de</strong> E/S para un controlador modular<br />

Números <strong>de</strong> ranura<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

F–12<br />

6<br />

32<br />

Ning.<br />

8<br />

Ning.<br />

16<br />

16<br />

8<br />

Ning.<br />

Ning.<br />

Con los controladores modulares, el número <strong>de</strong> ranura 0 está reservado para el<br />

módulo <strong>de</strong> procesador (CPU). La ranura 0 no es válida como una ranura <strong>de</strong> E/S.<br />

La figura siguiente muestra una configuración <strong>de</strong> controlador modular que consiste<br />

en un chasis <strong>de</strong> 7 ranuras interconectado con un chasis <strong>de</strong> 10 ranuras. La ranura 0<br />

contiene la CPU. Las ranuras 1 a 10 contienen módulos <strong>de</strong> E/S. Las ranuras<br />

remanentes se guardan para la expansión <strong>de</strong> E/S futura.<br />

La figura indica el número <strong>de</strong> entradas y salidas en cada ranura y muestra asimismo<br />

cómo estas entradas y salidas se organizan en los archivos <strong>de</strong> datos. Para estos<br />

archivos, el tamaño <strong>de</strong> elemento siempre es 1 palabra.<br />

0 1 2<br />

3 4<br />

5 6<br />

7 8<br />

Fuente <strong>de</strong><br />

CPU<br />

Fuente <strong>de</strong><br />

alim.<br />

alim.<br />

eléc. I/O I/O I/O I/O I/O I/O eléc.<br />

I/O I/O<br />

Ran. Entradas Salidas<br />

6<br />

Ning.<br />

16<br />

8<br />

32<br />

Ning.<br />

Ning.<br />

Ning.<br />

16<br />

16<br />

9 10<br />

I/O I/O<br />

Controlador modular que usa un chasis <strong>de</strong> 7 ranuras interconectado con un chasis <strong>de</strong> 10 ranuras<br />

Salidas <strong>de</strong> ranura 1 (0–5)<br />

Salidas <strong>de</strong> ranura 3 (0–15)<br />

Salidas <strong>de</strong> ranur 4 (0–7)<br />

Ranura 5, salidas <strong>de</strong> palabra 0 (0–15)<br />

Salidas <strong>de</strong> ranura 9 (0–15)<br />

Slot 9 outputs (0–15)<br />

Salidas <strong>de</strong> ranura 10 (0–15)<br />

Entradas <strong>de</strong> ranura 1 (0–5)<br />

Ranura 2, entradas <strong>de</strong> palabra 0 (0–15)<br />

Ranura 2, entradas <strong>de</strong> palabra 1 (0–15)<br />

Salidas <strong>de</strong> ranura 4 (0–7)<br />

Entradas <strong>de</strong> ranura 6 (0–15)<br />

Entradas <strong>de</strong> ranura 7 (0–15)<br />

Entradas <strong>de</strong> ranura 8 (0–7)<br />

15<br />

X<br />

15<br />

14<br />

14<br />

13<br />

13<br />

12<br />

12<br />

Archivo <strong>de</strong> datos 0 – Imagen <strong>de</strong> salida<br />

11<br />

10<br />

INVALID<br />

INVALID<br />

X<br />

9<br />

8<br />

Archivo <strong>de</strong> datos 1 – Imagen <strong>de</strong> entrada<br />

11<br />

10<br />

INVALID<br />

INVALID<br />

INVALID<br />

9<br />

8<br />

X<br />

7<br />

7<br />

X = Vea los ejemplos en la página siguiente.<br />

6<br />

6<br />

5<br />

5<br />

4<br />

4<br />

Expansión futura<br />

3<br />

3<br />

X<br />

2<br />

2<br />

1<br />

1<br />

0<br />

X<br />

0<br />

O:1<br />

O:3<br />

O:4<br />

O:5<br />

O:5.1<br />

O:9<br />

O:10<br />

I:1<br />

I:2<br />

I:2.1<br />

I:4<br />

I:6<br />

I:7<br />

I:8


Cómo especificar direcciones in<strong>de</strong>xadas<br />

Organización y direccionamiento <strong>de</strong> archivo <strong>de</strong> datos<br />

El símbolo <strong>de</strong> dirección in<strong>de</strong>xada es el carácter #. Coloque el carácter # justo antes<br />

<strong>de</strong>l i<strong>de</strong>ntificador <strong>de</strong> tipo <strong>de</strong> archivo en una dirección lógica. Pue<strong>de</strong> usar más <strong>de</strong> una<br />

dirección in<strong>de</strong>xada en el programa <strong>de</strong> escalera.<br />

Introduzca el valor offset en la palabra 24 <strong>de</strong>l archivo <strong>de</strong> estado (S:24). Todas las<br />

<strong>instrucciones</strong> in<strong>de</strong>xadas usan la misma palabra S:24 para almacenar el valor offset.<br />

El procesador inicia la operación a la dirección <strong>de</strong> base más el offset. Pue<strong>de</strong><br />

manipular el valor offset en la lógica <strong>de</strong> escalera antes <strong>de</strong> cada operación <strong>de</strong><br />

dirección in<strong>de</strong>xada.<br />

Cuando especifique direcciones in<strong>de</strong>xadas, siga estas pautas:<br />

• Asegúrese que el valor <strong>de</strong> índice (positivo o negativo) no cause que la dirección<br />

in<strong>de</strong>xada exceda el límite <strong>de</strong>l tipo <strong>de</strong> archivo.<br />

• Cuando una instrucción usa más <strong>de</strong> dos direcciones in<strong>de</strong>xadas, el procesador<br />

usa el mismo valor <strong>de</strong> índice para cada dirección in<strong>de</strong>xada.<br />

• Establezca la palabra <strong>de</strong> índice al valor offset que <strong>de</strong>see justo antes <strong>de</strong> habilitar<br />

una instrucción que use una dirección in<strong>de</strong>xada.<br />

Las <strong>instrucciones</strong> con un símbolo # en una dirección manipulan el valor offset<br />

almacenado en S:24. Asegúrese <strong>de</strong> monitorizar o cargar el valor offset que<br />

<strong>de</strong>see antes <strong>de</strong> usar una dirección in<strong>de</strong>xada. De lo contrario, la máquina<br />

podría funcionar <strong>de</strong> una manera inesperada lo que resultaría en daños<br />

posibles al equipo y/o lesiones al personal.<br />

Ejemplo <strong>de</strong> direccionamiento in<strong>de</strong>xado<br />

El ejemplo siguiente <strong>de</strong> mover con máscara (MVM) usa una dirección in<strong>de</strong>xada en<br />

las direcciones <strong>de</strong> fuente y <strong>de</strong>stino. Si el valor offset es 10 (almacenado en S:24), el<br />

procesador manipula los datos almacenados en la dirección <strong>de</strong> base más el offset.<br />

MVM<br />

MASKED MOVE<br />

Source #N7:10<br />

0<br />

Mask 0033<br />

Dest #N7:50<br />

0<br />

F–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

F–14<br />

En este ejemplo, el procesador usa las direcciones siguientes:<br />

Valor: Dirección <strong>de</strong> base: Valor offset en S:24 Dirección offset:<br />

Fuente N7:10 10 N7:20<br />

Destino N7:50 10 N7:60<br />

Procesadores <strong>SLC</strong> 5/03 OS301, OS302 y <strong>SLC</strong> 5/04 OS400, OS401 — Si la dirección<br />

in<strong>de</strong>xada es un archivo <strong>de</strong> datos <strong>de</strong> punto (coma) flotante (F8:), el valor offset <strong>de</strong><br />

índice en S:24 es el offset en elementos. Si la dirección in<strong>de</strong>xada es un archivo <strong>de</strong><br />

datos <strong>de</strong> ca<strong>de</strong>na (ST), el valor offset <strong>de</strong> índice en S:24 es el offset en subelementos.<br />

Esto evita que los límites <strong>de</strong> elemento <strong>de</strong> ca<strong>de</strong>na sean cruzados.<br />

Note que las <strong>instrucciones</strong> <strong>de</strong> archivo (SQO, COP, LFL, por ejemplo) sobrescriben<br />

S;24 cuando se ejecutan. Por eso, usted <strong>de</strong>be asegurarse que el registro <strong>de</strong> índice se<br />

cargue con el valor propuesto antes <strong>de</strong> la ejecución <strong>de</strong> una instrucción in<strong>de</strong>xada que<br />

sigue a una instrucción <strong>de</strong> archivo.<br />

Cómo crear datos para direcciones in<strong>de</strong>xadas<br />

Intersección <strong>de</strong> los límites <strong>de</strong> archivo<br />

Las tablas <strong>de</strong> datos no se expan<strong>de</strong>n automáticamente para dar lugar a las direcciones<br />

in<strong>de</strong>xadas. Usted <strong>de</strong>be crear estos datos con la función <strong>de</strong>l mapa <strong>de</strong> memoria. En el<br />

ejemplo <strong>de</strong> la página anterior, las palabras <strong>de</strong> datos N7:3 a N7:12 y N11:6 a N11:15<br />

se <strong>de</strong>ben asignar. El no hacer esto resultará en una condición <strong>de</strong> sobrescritura no<br />

<strong>de</strong>seada o un fallo mayor.<br />

Un valor offset pue<strong>de</strong> exten<strong>de</strong>r la operación a una dirección fuera <strong>de</strong>l límite <strong>de</strong>l<br />

archivo <strong>de</strong> datos. Usted pue<strong>de</strong> permitir o negar el cruce <strong>de</strong> los límites <strong>de</strong> archivo.<br />

Si selecciona negar la intersección <strong>de</strong> los límites <strong>de</strong> archivo, un error <strong>de</strong> tiempo <strong>de</strong><br />

ejecución ocurre si usa un valor offset que resultaría en la intersección <strong>de</strong> un límite<br />

<strong>de</strong> archivo.<br />

Específico para <strong>SLC</strong> 5/02 — Se le permite seleccionar la intersección <strong>de</strong> los límites<br />

<strong>de</strong> archivo solamente si no existen direcciones in<strong>de</strong>xadas en los archivos O: (salida),<br />

I: (entrada) o S: (estado). Esta selección se realiza al momento en que usted guarda<br />

el programa. El or<strong>de</strong>n <strong>de</strong> archivo <strong>de</strong>s<strong>de</strong> el comienzo hasta el final es:<br />

• O0:, I1:, S2:, B3:, T4:, C5:, R6:, N7:, x9:, x10: . . .<br />

• x9: y x10: . . . son archivos específicos a la aplicación don<strong>de</strong> x pue<strong>de</strong> ser<br />

<strong>de</strong>l tipo B, T, C, R, N.


Organización y direccionamiento <strong>de</strong> archivo <strong>de</strong> datos<br />

Procesadores <strong>SLC</strong> 5/03 OS301, OS302 y <strong>SLC</strong> 5/04 OS400, OS401 - Cuando un<br />

archivo <strong>de</strong> datos <strong>de</strong> ca<strong>de</strong>na in<strong>de</strong>xado se especifica, no se permite que el<br />

direccionamiento in<strong>de</strong>xado se traslape con un límite <strong>de</strong> elemento <strong>de</strong> ca<strong>de</strong>na. Un<br />

error <strong>de</strong> tiempo <strong>de</strong> ejecución ocurrirá si usted usa un valor offset que resulta en la<br />

intersección <strong>de</strong> un límite <strong>de</strong> elemento <strong>de</strong> ca<strong>de</strong>na.<br />

Nota Si un archivo tiene protección constante, no se permite in<strong>de</strong>xar a través <strong>de</strong> los<br />

límites <strong>de</strong> archivo.<br />

Ejemplo<br />

La figura siguiente muestra el offset máximo para la dirección <strong>de</strong> palabra<br />

#T4:3.ACC cuando se permite o se niega el cruce <strong>de</strong> los límites <strong>de</strong> archivo.<br />

T4:0.ACC<br />

T4:9.ACC<br />

#T4:3.ACC<br />

Negativo<br />

máximo<br />

<strong>de</strong> –3<br />

Positivo<br />

máximo <strong>de</strong> 6<br />

#T4:3.ACC<br />

Final <strong>de</strong>l archivo<br />

No se permite la intersección <strong>de</strong> los límites <strong>de</strong> archivo<br />

más alto creado<br />

Se permite la intersección <strong>de</strong> los límites <strong>de</strong> aerchivo<br />

La intersección <strong>de</strong> los límites <strong>de</strong> archivo no se permite: En el ejemplo anterior, el<br />

elemento con el número más alto en el archivo <strong>de</strong> datos <strong>de</strong>l temporizador es T4:9.<br />

Esto significa que #T4:3.ACC pue<strong>de</strong> tener un offset negativo máximo <strong>de</strong> –3 y un<br />

offset positivo máximo <strong>de</strong> 6.<br />

La intersección <strong>de</strong> los límites <strong>de</strong> archivo se permite: El offset negativo máximo<br />

se extien<strong>de</strong> al comienzo <strong>de</strong>l archivo <strong>de</strong> datos 3. El offset positivo máximo se<br />

extien<strong>de</strong> al final <strong>de</strong>l archivo con el número más alto creado.<br />

Cómo monitorizar las direcciones in<strong>de</strong>xadas<br />

El valor <strong>de</strong> la dirección in<strong>de</strong>xada no se muestra cuando usted monitoriza una<br />

dirección in<strong>de</strong>xada. Por ejemplo, el valor en N7:2 aparece cuando monitoriza la<br />

dirección in<strong>de</strong>xada #N7:2.<br />

B3:0<br />

F–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo<br />

Instrucciones <strong>de</strong> archivo<br />

F–16<br />

Si la aplicación requiere que usted monitorice los datos in<strong>de</strong>xados, le<br />

recomendamos usar una instrucción MOV para almacenar el valor.<br />

B3<br />

] [<br />

1<br />

MOV<br />

MOVE<br />

Source #N7:2<br />

Dest N10:2<br />

ADD<br />

ADD<br />

Source A #N7:2<br />

Source B T4:0.ACC<br />

Dest T4:1.PRE<br />

N10:2 contendrá el valor <strong>de</strong> datos añadido a T4:0.ACC.<br />

El símbolo # también se requiere para direcciones en las <strong>instrucciones</strong> <strong>de</strong> archivo.<br />

Las direcciones in<strong>de</strong>xadas usadas en estas <strong>instrucciones</strong> <strong>de</strong> archivo también usan la<br />

palabra S:24 para almacenar un valor offset al momento <strong>de</strong> finalización <strong>de</strong> la<br />

instrucción <strong>de</strong> archivo. Refiérase a la página siguiente para ver una lista <strong>de</strong><br />

<strong>instrucciones</strong> <strong>de</strong> archivo que usan el símbolo # para el direccionamiento.<br />

Las <strong>instrucciones</strong> <strong>de</strong> archivo manipulan el valor offset almacenado en la<br />

palabra S:24. Asegúrese <strong>de</strong> <strong>de</strong>scargar el valor offset correcto en S:24 antes <strong>de</strong><br />

usar una dirección in<strong>de</strong>xada que sigue a una instrucción <strong>de</strong> archivo. De lo<br />

contrario, podría ocurrir una operación inesperada lo que resultaría en<br />

posibles lesiones personales y/o daños al equipo.<br />

Efectos <strong>de</strong> interrupciones <strong>de</strong> programa en el registro <strong>de</strong> índice S:24<br />

Cuando la operación <strong>de</strong> programa normal es interrumpida por el manejador <strong>de</strong><br />

errores <strong>de</strong> usuario, por una STI o por una interrupción <strong>de</strong> E/S, el contenido <strong>de</strong>l<br />

registro <strong>de</strong> índice S:24 se guarda; luego, cuando la operación <strong>de</strong> programa normal<br />

se reanuda, el contenido <strong>de</strong>l registro <strong>de</strong> índice S:24 se restaura. Esto significa que si<br />

usted modifica el valor en S:24 en estas subrutinas <strong>de</strong> interrupción, el sistema<br />

sobrescribirá esta modificación con el valor original contenido a la entrada en la<br />

subrutina.


Cómo especificar una dirección indirecta<br />

Ejemplos<br />

Organización y direccionamiento <strong>de</strong> archivo <strong>de</strong> datos<br />

El direccionamiento indirecto le permite escribir programas <strong>de</strong> lógica <strong>de</strong> escalera<br />

menos complicados y le ahorra espacio <strong>de</strong> memoria. Tiene la opción <strong>de</strong> usar<br />

direcciones indirectas a nivel <strong>de</strong> palabra y a nivel <strong>de</strong> bit cuando usa los procesadores<br />

<strong>SLC</strong> 5/03 OS302 y <strong>SLC</strong> 5/04 OS401. Las direcciones <strong>de</strong> bit indirectas se basan en<br />

la forma <strong>de</strong> la dirección indirecta y el tipo <strong>de</strong> instrucción <strong>de</strong> bit.<br />

Use el direccionamiento indirecto para aplicaciones tal como el in<strong>de</strong>xado <strong>de</strong><br />

archivos <strong>de</strong> lote secuenciales en una operación <strong>de</strong> lotes múltiples. Por ejemplo, a la<br />

finalización <strong>de</strong> cada operación, permita que un valor acumulado <strong>de</strong>l contador llame<br />

el próximo archivo <strong>de</strong> lote tal como:<br />

N10, N11, N12,...N[C5:0.ACC].<br />

Cuando especifique direcciones indirectas, siga estas pautas:<br />

• Usted pue<strong>de</strong> direccionar indirectamente:<br />

– el número <strong>de</strong> archivo<br />

– el número <strong>de</strong> palabra (elemento + subelemento)<br />

– el número <strong>de</strong> bit (en un archivo binario)<br />

• La dirección sustituta pue<strong>de</strong> ser cualquier dirección especificada al nivel <strong>de</strong><br />

palabra.<br />

• Introduzca la dirección sustituta entre los corchetes [ ].<br />

Dirección válida Variable Explicación<br />

N7:[C5:7.ACC] Número <strong>de</strong> palabra<br />

B3/[I:0.17] Número <strong>de</strong> bit<br />

N[N7:0]:[N9:1] Número <strong>de</strong> archivo y palabra<br />

St10:[N7:0].1 Número <strong>de</strong> elemento<br />

I:[N7:0].1/1 Número <strong>de</strong> ranura<br />

El número <strong>de</strong> palabra es el<br />

valor acumulador <strong>de</strong>l contador<br />

7 en archivo 5.<br />

El número <strong>de</strong> bit se almacena<br />

en la palabra <strong>de</strong> salida 17.<br />

El número <strong>de</strong> archivo se<br />

almacena en la dirección <strong>de</strong><br />

entero N7:0 y el número <strong>de</strong><br />

palabra en la dirección <strong>de</strong><br />

entero N9:1.<br />

El número <strong>de</strong> elemento se<br />

almacena en N7:0.<br />

El número <strong>de</strong> ranura se<br />

almacena en N7:0.<br />

F–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Cómo crear datos para direcciones indirectas<br />

Intersección <strong>de</strong> los límites <strong>de</strong> archivo<br />

F–18<br />

Las tablas <strong>de</strong> datos no se expan<strong>de</strong>n automáticamente para dar lugar a las direcciones<br />

indirectas. Usted <strong>de</strong>be crear estos datos con la función <strong>de</strong>l mapa <strong>de</strong> memoria.<br />

Un valor offset pue<strong>de</strong> exten<strong>de</strong>r la operación a una dirección fuera <strong>de</strong>l límite <strong>de</strong><br />

archivo <strong>de</strong> datos. Pue<strong>de</strong> permitir o no permitir la intersección <strong>de</strong> los límites <strong>de</strong><br />

archivo. Si selecciona no permitir la intersección <strong>de</strong> los límites <strong>de</strong> archivo, un error<br />

<strong>de</strong> tiempo <strong>de</strong> ejecución ocurre si usa un valor offset que resulta en la intersección <strong>de</strong><br />

un límite <strong>de</strong> archivo.<br />

Cómo monitorizar las direcciones indirectas<br />

Un asterisco siempre se muestra cuando se monitoriza una dirección indirecta.


Organización y direccionamiento <strong>de</strong> archivo <strong>de</strong> datos<br />

Instrucciones <strong>de</strong> archivo <strong>de</strong> direccionamiento – Cómo usar el indicador <strong>de</strong><br />

archivo (#)<br />

Las <strong>instrucciones</strong> <strong>de</strong> archivo usan archivos creados por el usuario. Estos archivos<br />

son direccionados con el símbolo #. Almacenan un valor offset en la palabra S:24,<br />

al igual que el direccionamiento in<strong>de</strong>xado tratado en la sección anterior.<br />

COP<br />

FLL<br />

BSL<br />

BSR<br />

FFL<br />

FFU<br />

Copiar archivo<br />

Llenar archivo<br />

Desplazamiento a la izquierda<br />

Desplazamiento a la <strong>de</strong>recha<br />

(Carga FIFO)*<br />

(Descarga FIFO)*<br />

LFL<br />

LFU<br />

SQO<br />

SQC<br />

SQL<br />

(Carga LIFO)*<br />

(Descarga LIFO)*<br />

Salida secuenciador<br />

Comparación sec<br />

Carga secuenciador*<br />

* Disponible en los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04.<br />

Si usted usa <strong>instrucciones</strong> <strong>de</strong> archivo a<strong>de</strong>más <strong>de</strong>l direccionamiento in<strong>de</strong>xado,<br />

asegúrese <strong>de</strong> monitorizar y/o cargar el valor offset correcto antes <strong>de</strong> usar una<br />

dirección in<strong>de</strong>xada. De lo contrario, una operación inesperada podría ocurrir<br />

lo que resultaría en posibles lesiones personales y/o daños al equipo.<br />

Los párrafos siguientes explican los archivos creados por el usuario según su<br />

aplicación a las <strong>instrucciones</strong> <strong>de</strong> <strong>de</strong>splazamiento <strong>de</strong> bit, <strong>instrucciones</strong> <strong>de</strong><br />

secuenciador, <strong>instrucciones</strong> <strong>de</strong> copiar archivo y llenar archivo.<br />

Instrucciones <strong>de</strong> <strong>de</strong>splazamiento <strong>de</strong> bit<br />

La figura siguiente muestra un archivo <strong>de</strong>finido por el usuario <strong>de</strong>ntro <strong>de</strong>l archivo <strong>de</strong><br />

datos <strong>de</strong> bit 3. Para este archivo <strong>de</strong>finido por el usuario, usted introduciría los<br />

parámetros siguientes al programar la instrucción:<br />

La dirección <strong>de</strong> la gama <strong>de</strong> bit<br />

es #B3:2. La longitud <strong>de</strong> la<br />

gama <strong>de</strong> bit es 58, introducida<br />

como parámetro separado en la<br />

instrucción <strong>de</strong> <strong>de</strong>splazamiento<br />

<strong>de</strong> bit.<br />

15<br />

Archivo <strong>de</strong> datos <strong>de</strong> bit 3<br />

NO VALIDO<br />

0<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

#B3:2<br />

• #B3:2 La dirección <strong>de</strong>l arreglo <strong>de</strong> bit. Esto <strong>de</strong>fine el bit inicial como bit 0 en el<br />

elemento 2, archivo <strong>de</strong> datos 3.<br />

• 58 Esta es la longitud <strong>de</strong>l arreglo <strong>de</strong> bit: 58 bits. Note que los bits<br />

“remanentes” en el elemento 5 no se pue<strong>de</strong>n usar.<br />

F–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Instrucciones <strong>de</strong> secuenciador<br />

F–20<br />

Usted pue<strong>de</strong> programar tantos arreglos <strong>de</strong> bit como <strong>de</strong>see en un archivo <strong>de</strong> bit.<br />

Asegúrese <strong>de</strong> no traslapar estos arreglos.<br />

La figura siguiente muestra un archivo <strong>de</strong>finido por el usuario <strong>de</strong>ntro <strong>de</strong>l archivo <strong>de</strong><br />

datos <strong>de</strong> bit 3. Para este archivo <strong>de</strong>finido por el usuario, usted introduciría los<br />

parámetros siguientes al programar la instrucción:<br />

15<br />

Archivo <strong>de</strong> datos <strong>de</strong> bit 3<br />

La dirección <strong>de</strong>l archivo <strong>de</strong>finido por el usuario es #B3:4.<br />

La longitud <strong>de</strong>l archivo es 6 elementos más allá <strong>de</strong> la<br />

dirección inicial (los elementos etiquetados 0-6 en el diagrama).<br />

0<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

#B3:4<br />

• #B3:4 La dirección <strong>de</strong>l archivo. Esto <strong>de</strong>fine el elemento inicial como elemento<br />

4, archivo <strong>de</strong> bit 3.<br />

• 6 La longitud especificada <strong>de</strong>l archivo, 6 elementos más allá <strong>de</strong> la dirección<br />

inicial (total <strong>de</strong> 7 elementos).<br />

Pue<strong>de</strong> usar archivos enteros <strong>de</strong>finidos por el usuario o archivos <strong>de</strong> bit con<br />

<strong>instrucciones</strong> <strong>de</strong> secuenciador, según la aplicación. Pue<strong>de</strong> programar un sinnúmero<br />

<strong>de</strong> archivos <strong>de</strong>ntro <strong>de</strong> otro archivo. Sin embargo, asegúrese <strong>de</strong> no traslapar estos<br />

archivos.<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6


Instrucciones <strong>de</strong> copiar archivo y llenar archivo<br />

Organización y direccionamiento <strong>de</strong> archivo <strong>de</strong> datos<br />

Estas <strong>instrucciones</strong> manipulan los archivos <strong>de</strong>finidos por el usuario. Los archivos<br />

son usados como parámetros <strong>de</strong> fuente o <strong>de</strong>stino en las <strong>instrucciones</strong> <strong>de</strong> copiar<br />

archivo o llenar archivo. Los archivos pue<strong>de</strong>n ser archivos <strong>de</strong> salida, entrada,<br />

estado, bit, temporizador, contador, control o enteros. Dos ejemplos se muestran en<br />

la figura siguiente. Note que la longitud <strong>de</strong>l archivo es el número especificado <strong>de</strong><br />

elementos <strong>de</strong>l archivo <strong>de</strong> <strong>de</strong>stino; esto es distinto <strong>de</strong> la especificación <strong>de</strong> longitud<br />

<strong>de</strong>l archivo para las <strong>instrucciones</strong> <strong>de</strong> secuenciador.<br />

La figura siguiente muestra un archivo <strong>de</strong>finido por el usuario <strong>de</strong>ntro <strong>de</strong> un archivo<br />

<strong>de</strong> datos 0 - imagen <strong>de</strong> salida. Hemos utilizado esta configuración <strong>de</strong> archivo <strong>de</strong><br />

datos con respeto al direccionamiento <strong>de</strong> E/S en la página F–12. Aquí <strong>de</strong>finimos un<br />

elemento con una longitud <strong>de</strong> 5 elementos.<br />

Note que para el archivo <strong>de</strong> salida (a<strong>de</strong>más <strong>de</strong>l archivo <strong>de</strong> entrada), un elemento<br />

siempre es <strong>de</strong> una palabra, con referencia a la ranura y palabra combinados. Por<br />

ejemplo, el elemento O:3.0 hace referencia al archivo <strong>de</strong> salida, ranura 3, palabra 0.<br />

Retorna al valor pre<strong>de</strong>terminado <strong>de</strong> O:3 don<strong>de</strong> la palabra 0 es implícita.<br />

Archivo <strong>de</strong> datos 0 – Imagen <strong>de</strong> salida<br />

15<br />

0<br />

NO VALIDO<br />

O:1<br />

O:3<br />

NO VALIDO<br />

O:4<br />

O:5 #O:3<br />

O:5.1<br />

O:9<br />

O:10<br />

El archivo #O:3 mostrado arriba tiene una longitud <strong>de</strong> 5 elementos: Elementos 3, 4, 5, 5.1, 9<br />

F–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Constantes numéricas<br />

F–22<br />

Usted pue<strong>de</strong> introducir constantes numéricas directamente en muchas <strong>de</strong> las<br />

<strong>instrucciones</strong> que programa. El rango <strong>de</strong> valores para la mayor parte <strong>de</strong> las<br />

<strong>instrucciones</strong> es –32,768 a +32,767. Estos valores se pue<strong>de</strong>n mostrar o introducir en<br />

varias raíces. Las raíces que se pue<strong>de</strong>n mostrar son:<br />

• Entero<br />

• Binario<br />

• ASCII<br />

• Hexa<strong>de</strong>cimal<br />

Al introducir valores en un elemento <strong>de</strong> instrucción o tabla <strong>de</strong> datos, pue<strong>de</strong><br />

especificar la raíz <strong>de</strong> lo que ha introducido usando el operador especial “&”. Las<br />

raíces que se pu<strong>de</strong>n usar para introducir datos en un elemento <strong>de</strong> instrucción o tabla<br />

<strong>de</strong> datos son:<br />

• Entero (&N)<br />

• Binario (&B)<br />

• ASCII (&A)<br />

• Hexa<strong>de</strong>cimal (&H)<br />

• BCD (&D)<br />

• Octal (&O)<br />

Las constantes numéricas se usan en lugar <strong>de</strong> los elementos <strong>de</strong> archivo <strong>de</strong> datos. No<br />

pue<strong>de</strong>n ser manipuladas por el programa <strong>de</strong> usuario. Usted <strong>de</strong>be introducir el editor<br />

<strong>de</strong> programa fuera <strong>de</strong> línea para cambiar el valor <strong>de</strong> una constante.


Organización y direccionamiento <strong>de</strong> archivo <strong>de</strong> datos<br />

Archivos <strong>de</strong> datos M0 y M1 – Módulos <strong>de</strong> E/S especiales<br />

Los archivos M0 y M1 son archivos <strong>de</strong> datos que resi<strong>de</strong>n en los módulos <strong>de</strong> E/S<br />

especiales únicamente. No hay imagen para estos archivos en la memoria <strong>de</strong>l<br />

procesador. La aplicación <strong>de</strong> estos archivos <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la función <strong>de</strong>l módulo <strong>de</strong><br />

E/S especial en cuestión. Para algunos módulos, el archivo M0 se consi<strong>de</strong>ra como<br />

archivo <strong>de</strong> salida <strong>de</strong> módulo y el archivo M1 se consi<strong>de</strong>ra como archivo <strong>de</strong> entrada<br />

<strong>de</strong> módulo. De todas maneras, los archivos M0 y M1 se consi<strong>de</strong>ran archivos <strong>de</strong><br />

lectura/escritura por los procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04.<br />

Los archivos M0 y M1 se pue<strong>de</strong>n direccionar en el programa <strong>de</strong> escalera y también<br />

el módulo <strong>de</strong> E/S especial pue<strong>de</strong> actuar sobre estos archivos in<strong>de</strong>pendientemente <strong>de</strong>l<br />

escán <strong>de</strong> procesador. Es importante que tenga en mente lo siguiente al crear y<br />

aplicar la lógica <strong>de</strong> escalera:<br />

Nota Durante el escán <strong>de</strong> procesador, los datos <strong>de</strong> M0 y M1 pue<strong>de</strong>n ser cambiados por el<br />

procesador según las <strong>instrucciones</strong> <strong>de</strong>l diagrama <strong>de</strong> escalera que direccionan los<br />

archivos M0 y M1. Durante el mismo escán, el módulo <strong>de</strong> E/S especial pue<strong>de</strong><br />

cambiar los datos <strong>de</strong> M0 y M1 in<strong>de</strong>pendientemente <strong>de</strong> la lógica <strong>de</strong> renglón<br />

aplicada durante el escán.<br />

Cómo direccionar los archivos M0–M1<br />

El formato <strong>de</strong> direccionamiento para los archivos M0 y M1 aparece a continuación:<br />

Mf:e.s/b<br />

Don<strong>de</strong> M = módulo<br />

f = tipo <strong>de</strong> archivo (0 ó 1)<br />

e = ranura (1–30)<br />

s = palabra (0 al máx. proporcionado por el módulo)<br />

b = bit (0–15)<br />

Restricciones relativas al uso <strong>de</strong> las direcciones <strong>de</strong> archvivo <strong>de</strong> datos M0-M1<br />

Las direcciones <strong>de</strong> archivo <strong>de</strong> datos M0 y M1 se pue<strong>de</strong>n usar en todas las<br />

<strong>instrucciones</strong> con la excepción <strong>de</strong> la instrucción OSR y los parámetros <strong>de</strong><br />

instrucción mencionados en la tabla siguiente:<br />

Instrucción<br />

Parámetro (usa el indicador <strong>de</strong><br />

archivo #)<br />

BSL, BSR Archivo (gama <strong>de</strong> bit)<br />

SQO, SQC, SQL Archivo (archivo <strong>de</strong> secuenciador)<br />

LFL, LFU LIFO (pila)<br />

FFL, FFU FIFO (pila)<br />

F–23


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Cómo monitorizar direcciones <strong>de</strong> bit<br />

Procesadores <strong>SLC</strong> 5/02, <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 con la monitorización <strong>de</strong> M0 y M1 inhabilitada<br />

F–24<br />

Cuando usted monitoriza un programa <strong>de</strong> escalera en el modo <strong>de</strong> marcha o prueba,<br />

las <strong>instrucciones</strong> <strong>de</strong> bit siguientes, direccionadas a un archivo M0 ó M1, se indican<br />

como falsas, in<strong>de</strong>pendientemente <strong>de</strong> su estado lógico verda<strong>de</strong>ro/falso efectivo.<br />

Mf:e.s<br />

] [<br />

b<br />

Mf:e.s<br />

]/[<br />

b<br />

f = archivo (0 ó 1)<br />

Mf:e.s<br />

( )<br />

b<br />

Mf:e.s<br />

(L)<br />

b<br />

Mf:e.s<br />

(U)<br />

b<br />

Cuando usted monitoriza el programa <strong>de</strong> escalera en el modo <strong>de</strong> marcha o<br />

prueba, la pantalla APS o HHT no muestra estas <strong>instrucciones</strong> como<br />

verda<strong>de</strong>ras cuando el procesador las evalúa como verda<strong>de</strong>ras.<br />

Procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 con la monitorización <strong>de</strong> M0 y M1 habilitada<br />

Los procesadores <strong>SLC</strong> 5/03 y <strong>SLC</strong> 5/04 le permiten monitorizar el estado real <strong>de</strong><br />

cada dirección (o tabla <strong>de</strong> datos) M0/M1 direccionada. Los caracteres resaltados<br />

aparecen normales cuando se comparan con el otro archivo <strong>de</strong> datos <strong>de</strong>l procesador.<br />

El rendimiento <strong>de</strong>l <strong>SLC</strong> 5/03 será disminuido al grado <strong>de</strong> los datos <strong>de</strong> pantalla con<br />

referencia a M0/M1. Por ejemplo, si la pantalla tiene solamente un elemento<br />

M0/M1, la disminución será mínima. Si la pantalla tiene 69 elementos M0/M1, la<br />

disminución será significativa.<br />

Si usted necesita mostrar el estado <strong>de</strong>l bit M0 ó M1 direccionado, pue<strong>de</strong> transferir el<br />

estado a un bit <strong>de</strong> procesador externo. Esto se ilustra en la figura siguiente, don<strong>de</strong><br />

un bit <strong>de</strong> procesador interno se usa para indicar el estado verda<strong>de</strong>ro/falso <strong>de</strong> un<br />

renglón.


B3<br />

] [<br />

0<br />

Organización y direccionamiento <strong>de</strong> archivo <strong>de</strong> datos<br />

EQU<br />

EQUAL<br />

Source A N7:12<br />

Source B N7:3<br />

Este renglón no muestra su estado <strong>de</strong> renglón verda<strong>de</strong>ro porque la instrucción EQU<br />

siempre se muestra como verda<strong>de</strong>ra y la instrucción M0 siempre se muestra como falsa.<br />

B3<br />

] [<br />

0<br />

B3<br />

] [<br />

1<br />

B3<br />

] [<br />

1<br />

EQU<br />

EQUAL<br />

Source A N7:12<br />

Source B N7:3<br />

M0:3.0<br />

( )<br />

1<br />

B3<br />

( )<br />

2<br />

M0:3.0<br />

( )<br />

1<br />

La instrucción OTE B3/2 ha sido añadida al renglón. Esta instrucción muestra el<br />

estado verda<strong>de</strong>ro o falso <strong>de</strong>l renglón.<br />

Cómo transferir datos entre los archivos <strong>de</strong> procesador y archivos M0 ó M1<br />

Según se mencionó anteriormente, el procesador no contiene una imagen <strong>de</strong>l<br />

archivo M0 ó M1. Como resultado, usted <strong>de</strong>be editar y monitorizar los datos <strong>de</strong><br />

archivo M0 y M1 vía <strong>instrucciones</strong> en el programa <strong>de</strong> escalera. Por ejemplo, pue<strong>de</strong><br />

copiar un bloque <strong>de</strong> datos <strong>de</strong>s<strong>de</strong> un archivo <strong>de</strong> datos <strong>de</strong> procesador hacia un archivo<br />

<strong>de</strong> datos M0 ó M1 ó viceversa usando la instrucción COP en el programa <strong>de</strong><br />

escalera.<br />

Las <strong>instrucciones</strong> COP siguientes copian datos <strong>de</strong>s<strong>de</strong> un archivo <strong>de</strong> bit <strong>de</strong><br />

procesador y un archivo entero hacia un archivo M0. Digamos que los datos son<br />

información <strong>de</strong> configuración que afecta la operación <strong>de</strong>l módulo <strong>de</strong> E/S especial.<br />

Primero escanee el bit.<br />

Esto hace este renglón<br />

verda<strong>de</strong>ro solamente<br />

durante el primer<br />

escán <strong>de</strong>spués <strong>de</strong><br />

entrar en el modo <strong>de</strong><br />

marcha.<br />

S:1<br />

] [<br />

15<br />

COP<br />

COPY FILE<br />

Source #B3:0<br />

Dest #M0:1.0<br />

Length 16<br />

COP<br />

COPY FILE<br />

Source #N7:0<br />

Dest #M0:1.16<br />

Length 27<br />

La instrucción COP siguiente copia datos <strong>de</strong>s<strong>de</strong> un archivo <strong>de</strong> datos M1 hacia un<br />

archivo entero. Este método se usa para monitorizar indirectamente el contenido <strong>de</strong><br />

un archivo <strong>de</strong> datos M0 ó M1 en un archivo <strong>de</strong> datos <strong>de</strong> procesador.<br />

F–25


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Tiempo <strong>de</strong> acceso<br />

F–26<br />

COP<br />

COPY FILE<br />

Source #M1:4.3<br />

Dest #N10:0<br />

Length 6<br />

Durante el escán <strong>de</strong> programa, el procesador <strong>de</strong>be obtener acceso a la tarjeta <strong>de</strong> E/S<br />

especial para leer/escribir los datos M0 ó M1. Este tiempo <strong>de</strong> acceso se <strong>de</strong>be añadir<br />

al tiempo <strong>de</strong> ejecución <strong>de</strong> cada instrucción que hace referencia a los datos M0 ó M1.<br />

Refiérase al apéndice B en este manual para obtener los tiempos <strong>de</strong> acceso y un<br />

ejemplo.<br />

Cómo minimizar el tiempo <strong>de</strong> escán<br />

Usted pue<strong>de</strong> minimizar el tiempo <strong>de</strong> escán <strong>de</strong>l procesador reduciendo el uso <strong>de</strong><br />

<strong>instrucciones</strong> que direccionan los archivos M0 ó M1. Por ejemplo, la instrucción<br />

XIC M0:2.1/1 se usa en los renglones 1 y 2 <strong>de</strong> la figura siguiente, lo que aña<strong>de</strong><br />

aproximadamente 2 ms al tiempo <strong>de</strong> escán si se usa un procesador <strong>de</strong> serie B.<br />

1<br />

2<br />

M0:2.1<br />

] [<br />

1<br />

B3<br />

] [<br />

12<br />

M0:2.1<br />

] [<br />

1<br />

B3<br />

( )<br />

10<br />

B3<br />

( )<br />

14<br />

Las <strong>instrucciones</strong> XIC en los renglones 1 y 2 son direccionadas al archivo <strong>de</strong><br />

datos M0. Cada una <strong>de</strong> estas <strong>instrucciones</strong> aña<strong>de</strong> aproximadamente 1 ms al<br />

tiempo <strong>de</strong> escán (procesador <strong>de</strong> serie B).<br />

En los renglones equivalentes <strong>de</strong> la figura siguiente, la instrucción XIC M0:2.1/1 se<br />

usa solamente en el renglón 1, reduciendo así el tiempo <strong>de</strong> escán en<br />

aproximadamente 1 ms.


1<br />

2<br />

M0:2.1<br />

] [<br />

1<br />

B3<br />

] [<br />

12<br />

B3<br />

] [<br />

10<br />

Organización y direccionamiento <strong>de</strong> archivo <strong>de</strong> datos<br />

B3<br />

( )<br />

10<br />

B3<br />

( )<br />

14<br />

Estos renglones proporcionan la operación equivalente a los <strong>de</strong> la figura A<br />

sustituyendo la instrucción XIC B3/10 con la instrucción XIC M0:2.1/1 en el<br />

renglón 2. El tiempo <strong>de</strong> escán se reduce en aproximadamente 1 ms<br />

(procesador <strong>de</strong> serie B).<br />

La figura siguiente ilustra otro método <strong>de</strong> reducción. La instrucción COP<br />

direcciona un archivo M1, lo que aña<strong>de</strong> aproximadamente 4.29 ms al tiempo <strong>de</strong><br />

escán si se usa un procesador <strong>de</strong> serie B. La reducción <strong>de</strong>l tiempo <strong>de</strong> escán se<br />

realiza haciendo que este renglón sea verda<strong>de</strong>ro periódicamente, según sea<br />

<strong>de</strong>terminado por el bit <strong>de</strong> reloj S:4/8. (Los bits <strong>de</strong> reloj son tratados en el apéndice<br />

B <strong>de</strong> este manual.) Un renglón como éste se pue<strong>de</strong> usar cuando usted <strong>de</strong>see<br />

monitorizar el contenido <strong>de</strong> un archivo M1, sin embargo, no es necesario que la<br />

monitorización sea continua.<br />

S:4/7 hace que el<br />

archivo #M1:4.3 actualice<br />

el archivo #N10:0<br />

cada 2.56 segundos.<br />

S:4<br />

] [<br />

7<br />

Cómo capturar los datos <strong>de</strong> archivo M0–M1<br />

B11<br />

[OSR]<br />

0<br />

COP<br />

COPY FILE<br />

Source #M1:4.3<br />

Dest #N10:0<br />

Length 6<br />

Los dos primero diagramas <strong>de</strong> escalera en la última sección ilustran un método que<br />

le permite capturar y usar los datos M0 ó M1 según existan en un momento<br />

<strong>de</strong>terminado. En la primera figura, el bit Mo:2.1/1 podría cambiar su estado entre<br />

los renglones 1 y 2. Esto podría obstaculizar la lógica aplicada en el renglón 2. La<br />

segunda figura evita el problema. Si el renglón 1 es verda<strong>de</strong>ro, el bit B3/10 captura<br />

esta información y la coloca en el renglón 2.<br />

En el segundo ejemplo <strong>de</strong> la última sección, la instrucción COP se usa para<br />

monitorizar el contenido <strong>de</strong> un archivo M1. Cuando la instrucción se hace<br />

verda<strong>de</strong>ra, las 6 palabras <strong>de</strong> datos en el archivo #M1:4.3 se capturan tal como<br />

existen en aquel instante y se colocan en el archivo #N10.0.<br />

F–27


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Módulos <strong>de</strong> E/S especiales con memoria retentiva<br />

F–28<br />

Ciertos módulos <strong>de</strong> E/S especiales retienen el estado <strong>de</strong> los datos M0–M1 <strong>de</strong>spués<br />

<strong>de</strong> la <strong>de</strong>sconexión <strong>de</strong> alimentación eléctrica. Vea el manual <strong>de</strong>l usuario <strong>de</strong>l módulo<br />

<strong>de</strong> E/S especial. Esto significa que una instrucción OTE con una dirección M0 ó<br />

M1 permanece activada si está activada cuando la alimentación eléctrica se<br />

<strong>de</strong>sconecta. Un renglón <strong>de</strong> mantenimiento como el ilustrado a continuación no<br />

funcionará como <strong>de</strong>be si la instrucción OTE fuera no retentiva cuando se interrumpe<br />

la alimentación eléctrica. Si el renglón es verda<strong>de</strong>ro al momento en que la<br />

alimentación eléctrica se <strong>de</strong>sconecta, la instrucción OTE se enclava en vez <strong>de</strong><br />

interrumpirse; cuando la alimentación eléctrica se vuelve a conectar, el renglón se<br />

evalúa como verda<strong>de</strong>ro en lugar <strong>de</strong> falso.<br />

B3<br />

] [<br />

0<br />

M0:2.1<br />

] [<br />

1<br />

M0:2.1<br />

( )<br />

1<br />

Cuando se usa con un módulo <strong>de</strong> E/S especial que tiene salidas retentivas, este<br />

renglón pue<strong>de</strong> causar el arranque inesperado durante el encendido.<br />

Usted pue<strong>de</strong> realizar la operación no retentiva <strong>de</strong>senclavando la salida retentiva con<br />

el bit <strong>de</strong> primer paso al momento <strong>de</strong> encendido:<br />

S:1<br />

] [<br />

15<br />

B3<br />

] [<br />

0<br />

M0:2.1<br />

] [<br />

1<br />

M0:2.1<br />

(U)<br />

1<br />

M0:2.1<br />

( )<br />

1<br />

Este renglón es<br />

verda<strong>de</strong>ro durante<br />

el primer escán<br />

<strong>de</strong>spués <strong>de</strong>l<br />

encendido para<br />

<strong>de</strong>senclavar<br />

M0:2.1/1.


Organización y direccionamiento <strong>de</strong> archivo <strong>de</strong> datos<br />

Archivos <strong>de</strong> datos G – Módulos <strong>de</strong> E/S especiales<br />

Algunos módulos <strong>de</strong> E/S especiales usan archivos <strong>de</strong> G (confiGuración) (indicados<br />

en el manual <strong>de</strong>l usuario específico <strong>de</strong>l módulo <strong>de</strong> E/S especial). Estos archivos se<br />

pue<strong>de</strong>n consi<strong>de</strong>rar como el equivalente en software <strong>de</strong> los microinterruptores.<br />

Se pue<strong>de</strong> obtener acceso al contenido <strong>de</strong> los archivos G a<strong>de</strong>más <strong>de</strong> editarlo fuera <strong>de</strong><br />

línea bajo la función <strong>de</strong> configuración <strong>de</strong> E/S. Usted no pue<strong>de</strong> obtener acceso a los<br />

archivos G bajo la función <strong>de</strong> archivo <strong>de</strong> monitor. Los datos que introduce en el<br />

archivo G se pasan al módulo <strong>de</strong> E/S especial cuando <strong>de</strong>scarga el archivo <strong>de</strong><br />

procesador e introduce el modo <strong>de</strong> marcha REM o cualquiera <strong>de</strong> los modos <strong>de</strong><br />

prueba REM.<br />

La figura siguiente ilustra los tres formatos <strong>de</strong> datos <strong>de</strong> archivo G que pue<strong>de</strong><br />

seleccionar. Las direcciones <strong>de</strong> palabra comienzan con el i<strong>de</strong>ntificador <strong>de</strong> archivo G<br />

y el número <strong>de</strong> ranura que ha asignado al módulo <strong>de</strong> E/S especial. En este caso, el<br />

número <strong>de</strong> ranura es 1. Se han creado dieciseis palabras (direcciones G1:0 a<br />

G1:15).<br />

Archivo G <strong>de</strong> 16 palabras, ranura <strong>de</strong> E/S 1, formato <strong>de</strong>cimal<br />

address 0 1 2 3 4 5 6 7 8 9<br />

G1:0 xxxx 0 0 0 0 0 0 0 0 0<br />

G1:10 0 0 0 0 0 0<br />

Archivo <strong>de</strong> G <strong>de</strong> 16 palabras, ranura <strong>de</strong> E/S 1, formato hexa<strong>de</strong>cimal/bcd<br />

address 0 1 2 3 4 5 6 7 8 9<br />

G1:0 xxxx 0000 0000 0000 0000 0000 0000 0000 0000 0000<br />

G1:10 0000 0000 0000 0000 0000 0000<br />

Archivo G <strong>de</strong> 16 palabras, ranura <strong>de</strong> E/S 1, formato binario<br />

address 15 data 0<br />

G1:0 xxxx xxxx xxxx xxxx<br />

G1:1 0000 0000 0000 0000<br />

G1:2 0000 0000 0000 0000<br />

G1:3 0000 0000 0000 0000<br />

G1:4 0000 0000 0000 0000<br />

G1:5 0000 0000 0000 0000<br />

G1:6 0000 0000 0000 0000<br />

G1:7 0000 0000 0000 0000<br />

G1:8 0000 0000 0000 0000<br />

G1:9 0000 0000 0000 0000<br />

G1:10 0000 0000 0000 0000<br />

G1:11 0000 0000 0000 0000<br />

G1:12 0000 0000 0000 0000<br />

G1:13 0000 0000 0000 0000<br />

G1:14 0000 0000 0000 0000<br />

G1:15 0000 0000 0000 0000<br />

F–29


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Cómo editar los datos <strong>de</strong> archivo G<br />

F–30<br />

Los datos en el archivo G se <strong>de</strong>ben editar según la aplicación y los requisitos <strong>de</strong>l<br />

módulo <strong>de</strong> E/S especial. Usted edita los datos fuera <strong>de</strong> línea bajo la función <strong>de</strong><br />

configuración <strong>de</strong> E/S únicamente. Con los formatos <strong>de</strong>cimales y<br />

hexa<strong>de</strong>cimales/bcd, edita los datos al nivel <strong>de</strong> palabra:<br />

• G1:1 = 234 (formato <strong>de</strong>cimal)<br />

G1:1 = 00EA (formato hexa<strong>de</strong>cimal/bcd)<br />

• Con el formato binario, edita los datos al nivel <strong>de</strong> bit:<br />

G1/19 = 1<br />

Nota La palabra 0 <strong>de</strong>l archivo G está configurada automáticamente por el procesador<br />

según el módulo <strong>de</strong> E/S especial en cuestión. La palabra 0 no se pue<strong>de</strong> editar.


G Sistemas numéricos<br />

Este apéndice:<br />

Sistemas numéricos<br />

• contempla los números binarios y hexa<strong>de</strong>cimales<br />

• explica el uso <strong>de</strong> una máscara hexa<strong>de</strong>cimal para filtrar datos en <strong>instrucciones</strong> <strong>de</strong><br />

programación <strong>de</strong>terminadas<br />

G–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Números binarios<br />

Valores <strong>de</strong>cimales positivos<br />

G–2<br />

La memoria <strong>de</strong>l procesador almacena números binarios <strong>de</strong> 16 bits. Como se indica<br />

en la figura siguiente, cada posición en el número tiene un valor <strong>de</strong>cimal, a partir <strong>de</strong><br />

la <strong>de</strong>recha con 2 0 hasta la <strong>de</strong>recha con 2 15 .<br />

Cada posición pue<strong>de</strong> ser 0 ó 1 en la memoria <strong>de</strong>l procesador. Un 0 indica un valor<br />

<strong>de</strong> 0; un 1 indnica el valor <strong>de</strong>cimal <strong>de</strong> la posición. El valor <strong>de</strong>cimal equivalente <strong>de</strong>l<br />

número binario es la suma <strong>de</strong> los valores <strong>de</strong> posición.<br />

La posición <strong>de</strong>l extremo izquierdo siempre es 0 para los valores positivos. Como se<br />

indica en la figura, esto limita el valor <strong>de</strong>cimal positivo máximo a 32767. Todas las<br />

posiciones son 1 excepto por la posición <strong>de</strong>l extremo izquierdo.<br />

Otros ejemplos:<br />

0000 1001 0000 1110 = 2 11 +2 8 +2 3 +2 2 +2 1<br />

= 2048+256+8+4+2 = 2318<br />

0010 0011 0010 1000 = 2 13 +2 9 +2 8 +2 5 +2 3<br />

= 8192+512+256+32+8<br />

= 9000


Valores <strong>de</strong>cimales negativos<br />

1x2 14 = 16384<br />

1x2 13 = 8192<br />

1x2 12 = 4096<br />

1x2 11 = 2048<br />

1x2 10 = 1024<br />

1x2 9 = 512<br />

1x2 8 = 256<br />

1x2 7 = 128<br />

1x2 6 = 64<br />

1x2 5 = 32<br />

1x2 4 = 16<br />

1x2 3 = 8<br />

1x2 2 = 4<br />

1x2 1 = 2<br />

1x2 0 = 1<br />

0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1<br />

0x2 15 = 0 Esta posición siempre es cero para los números<br />

positivos.<br />

Sistemas numéricos<br />

16384<br />

8192<br />

4096<br />

2048<br />

1024<br />

512<br />

256<br />

128<br />

64<br />

32<br />

16<br />

8<br />

4<br />

2<br />

1<br />

32767<br />

Se usa la notación <strong>de</strong> complemento <strong>de</strong> 2. La posición <strong>de</strong>l extremo izquierdo<br />

siempre es 1 para los valores negativos. El valor <strong>de</strong>cimal equivalente <strong>de</strong>l número<br />

binario se obtiene restando el valor <strong>de</strong> la posición <strong>de</strong>l extremo izquierdo, 32768, <strong>de</strong><br />

la suma <strong>de</strong> los valores <strong>de</strong> las otras posiciones. En la figura siguiente, el valor es<br />

32767 – 32768 = 1. Todas las posiciones son 1.<br />

Otro ejemplo:<br />

1111 1000 0010 0011 =<br />

(2 14 +2 13 +2 12 +2 11 +2 5 +2 1 +2 0 ) – 2 15 =<br />

(16384+8192+4096+2048+32+2+1) – 32768 =<br />

30755 – 32768 = –2013.<br />

Otro método más frecuente y más fácil <strong>de</strong> calcular un valor es localizar el último1<br />

en la ca<strong>de</strong>na <strong>de</strong> 1 a partir <strong>de</strong> la izquierda y restar su valor <strong>de</strong>l valor total <strong>de</strong> las<br />

posiciones a la <strong>de</strong>recha <strong>de</strong> aquella posición. Por ejemplo,<br />

1111 1111 0001 1010 = (2 4 +2 3 +2 1 ) – 2 8 = (16+8+2) – 256 = –230.<br />

G–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

G–4<br />

1x2 14 = 16384<br />

1x2 13 = 8192<br />

1x2 12 = 4096<br />

1x2 11 = 2048<br />

1x2 10 = 1024<br />

1x2 9 = 512<br />

1x2 8 = 256<br />

1x2 7 = 128<br />

1x2 6 = 64<br />

1x2 5 = 32<br />

1x2 4 = 16<br />

1x2 3 = 8<br />

1x2 2 = 4<br />

1x2 1 = 2<br />

1x2 0 = 1<br />

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1<br />

1x2 15 = 32768 Esta posición siempre es 1 para los números<br />

negativos.<br />

16384<br />

8192<br />

4096<br />

2048<br />

1024<br />

512<br />

256<br />

128<br />

64<br />

32<br />

16<br />

8<br />

4<br />

2<br />

1<br />

32767


Números hexa<strong>de</strong>cimales<br />

Ejemplo<br />

Sistemas numéricos<br />

Los números hexa<strong>de</strong>cimales usan caracteres individuales con valores <strong>de</strong>cimales<br />

equivalentes <strong>de</strong>s<strong>de</strong> 0 hasta 15:<br />

HEX<br />

Decimal<br />

0 1 2 3 4 5 6 7 8 9 A B C D E F<br />

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15<br />

Los valores <strong>de</strong> posición <strong>de</strong> los números hexa<strong>de</strong>cimales son potencias <strong>de</strong> 16, a partir<br />

<strong>de</strong> 16 0 a la <strong>de</strong>recha:<br />

16 3 16 2 16 1 16 0<br />

El número hexa<strong>de</strong>cimal 218A tienen un valor equivalente <strong>de</strong>cimal <strong>de</strong> 8586:<br />

2 1 8 A<br />

10x160 8x16<br />

= 10<br />

1 1x16<br />

= 128<br />

2 2x16<br />

= 256<br />

3 = 8192<br />

8192<br />

256<br />

128<br />

10<br />

8586<br />

Los números hexa<strong>de</strong>cimales y binarios tienen la equivalencia siguiente:<br />

Hexa<strong>de</strong>cimal 2 1 8 A = 8586<br />

Binario 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 = 8586<br />

8192<br />

1x2 13<br />

256<br />

1x2 8<br />

128<br />

1x2 7<br />

10<br />

1x2 3 +1x2 1<br />

G–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Ejemplo<br />

G–6<br />

El número <strong>de</strong>cimal –8586 en formas binarias y hexa<strong>de</strong>cimales equivalentes:<br />

Binario<br />

1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 0<br />

Hexa<strong>de</strong>cimal D E 7 6 = 56950<br />

(número negativo, –8586)<br />

= –8586<br />

Número hexa<strong>de</strong>cimal DE76 = 13x16 3 +14x16 2 +7x16 1 +6x16 0 = 56950. Sabemos<br />

que este es un número negativo porque exce<strong>de</strong> el valor positivo máximo <strong>de</strong> 32767.<br />

Para calcular su valor, reste 16 4 (la próxima potencia más alta <strong>de</strong> 16) <strong>de</strong> 56950:<br />

56950 – 65536 = –8586.


Máscara hexa<strong>de</strong>cimal<br />

Sistemas numéricos<br />

Este código <strong>de</strong> 4 caracteres introducido como parámetro en SQO, SQC y otras<br />

<strong>instrucciones</strong> para excluir bits seleccionados <strong>de</strong> una palabra a fin <strong>de</strong> evitar que la<br />

instrucción opere en los mismos. Los valores hexa<strong>de</strong>cimales se usan en su forma<br />

equivalente binaria según se indica en la figura siguiente. A<strong>de</strong>más, la figura<br />

muestra un ejemplo <strong>de</strong> un código hexa<strong>de</strong>cimal en la palabra con máscara<br />

correspondiente.<br />

Valor<br />

hex.<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

A<br />

B<br />

C<br />

D<br />

E<br />

F<br />

Valor<br />

binario<br />

0000<br />

0001<br />

0010<br />

0011<br />

0100<br />

0101<br />

0110<br />

0111<br />

1000<br />

1001<br />

1010<br />

1011<br />

1100<br />

1101<br />

1110<br />

1111<br />

Código<br />

hexa<strong>de</strong>cimal<br />

0 0 F F<br />

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1<br />

Palabra con<br />

máscara<br />

Los bits <strong>de</strong> la palabra con máscara que son establecidos (1) pasarán datos <strong>de</strong>s<strong>de</strong> una<br />

fuente hacia un <strong>de</strong>stino. Los bits restablecidos (0) no lo harán. En el ejemplo<br />

siguiente, los datos en bits 0–7 <strong>de</strong> la palabra <strong>de</strong> fuente son pasados a la palabra <strong>de</strong><br />

<strong>de</strong>stino. Los datos en bits 8–15 <strong>de</strong> la palabra <strong>de</strong> fuente no son pasados a la palabra<br />

<strong>de</strong> <strong>de</strong>stino.<br />

Palabra fuente<br />

Palabra con máscara<br />

Palabra <strong>de</strong> <strong>de</strong>stino<br />

(todos los bits son 0<br />

inicialmente)<br />

1 1 1 0 1 0 0 1 1 1 0 0 1 0 1 0<br />

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1<br />

0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0<br />

G–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> <strong>instrucciones</strong><br />

Aritmética <strong>de</strong> punto (coma) flotante binario<br />

G–8<br />

Los procesadores <strong>SLC</strong> 5/03 <strong>de</strong> serie B y <strong>SLC</strong> 5/04 tienen capacidad para el uso <strong>de</strong>l<br />

punto (coma) flotante. Use el punto (coma) flotante cuando usted <strong>de</strong>see manipular<br />

números fuera <strong>de</strong>l límite <strong>de</strong> ±32768 a+32767 ó para una resolución más fina que<br />

una unidad. Por ejemplo, 2.075. La aritmética <strong>de</strong> punto (coma) flotante no tiene<br />

capacidad para números no normalizados, un número (NaN) e infinito. El límite<br />

válido para un número <strong>de</strong> punto (coma) flotante es ±3.402824 x 10 38 a ±1.1754944<br />

x 10 –38 .<br />

El ejemplo siguiente muestra la representación <strong>de</strong> un número <strong>de</strong> punto (coma)<br />

flotante usando la norma IEEE 754 para el punto (coma) flotante <strong>de</strong> precisión única.<br />

Esta figura es la representación espacial <strong>de</strong> los 32 bits en el registro.<br />

bit <strong>de</strong><br />

signo<br />

exponente fracción<br />

sxxxxxxxxmmmmmmmmmmmmmmmmmmmmmmm<br />

don<strong>de</strong>:<br />

s = signo<br />

x = exponente<br />

m = mantisa<br />

Cuando se convierte a la aritmética <strong>de</strong> punto (coma) flotante, lo siguiente se <strong>de</strong>be<br />

ocurrir:<br />

1. El bit <strong>de</strong> signo se <strong>de</strong>be establecer. Si el número es positivo, el bit <strong>de</strong> signo es 0<br />

o <strong>de</strong>sactivado. Si el número es netativo, el bit <strong>de</strong> signo es 1 ó activado.<br />

2. El exponente se <strong>de</strong>be normalizar. Haga esto añadiendo siempre +127 al<br />

exponente.<br />

3. La mantisa se <strong>de</strong>be normalizar. Por ejemplo, el valor binario <strong>de</strong> 1010.01 es<br />

igual a 1.01001.<br />

4. La fracción se <strong>de</strong>be extraer <strong>de</strong> la mantisa. Por ejemplo, la parte fraccionaria <strong>de</strong><br />

1.01001 es .01001.<br />

La representación <strong>de</strong>l punto (coma) flotante <strong>de</strong> 32 bits <strong>de</strong> 10.25 <strong>de</strong>cimal es igual a:<br />

0 10000010 01001000000000000000000


Programas <strong>de</strong> ejemplo <strong>de</strong> aplicación<br />

HProgramas <strong>de</strong> ejemplo <strong>de</strong> aplicación<br />

Este apéndice está diseñado para ilustrar diversas <strong>instrucciones</strong> <strong>de</strong>scritas<br />

anteriormente en este manual. Los programas <strong>de</strong> ejemplo <strong>de</strong> aplicación incluyen:<br />

• la perforadora <strong>de</strong> papel usando la mayor parte <strong>de</strong> <strong>instrucciones</strong><br />

• el secuenciador impulsado por tiempo usando las <strong>instrucciones</strong> TON y SQO<br />

• el secuenciador impulsado por evento usando las <strong>instrucciones</strong> SQC y SQO<br />

• la conexión/<strong>de</strong>sconexión <strong>de</strong>l circuito usando las <strong>instrucciones</strong> básicas, <strong>de</strong> flujo<br />

<strong>de</strong> programa y específicas para la aplicación<br />

Debido a la gran variedad <strong>de</strong> usos para esta información, el usuario y los<br />

responsables <strong>de</strong> la aplicación <strong>de</strong> esta información <strong>de</strong>ben estar satisfechos con<br />

respeto a la utilización <strong>de</strong> cada aplicación y uso <strong>de</strong>l programa. Bajo ninguna<br />

circunstancia Allen-Bradley Company se responsabilizará ni será responsable <strong>de</strong> los<br />

daños indirectos o consecuentes que resulten <strong>de</strong>l uso <strong>de</strong> la aplicación <strong>de</strong> esta<br />

información.<br />

Las ilustraciones, diagramas y ejemplos que aparecen en este apéndice se presentan<br />

a título <strong>de</strong> ilustración <strong>de</strong> los fundamentos <strong>de</strong>l controlador y algunos <strong>de</strong> los métodos<br />

usados para aplicar los mismos. Especialmente a causa <strong>de</strong> los muchos requisitos<br />

asociados con cualquier instalación <strong>de</strong>terminada, Allen-Bradley Company no pue<strong>de</strong><br />

asumir responsabilidad <strong>de</strong>l uso real basado en los usos y aplicaciones ilustrativos.<br />

H–1


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

Ejemplo <strong>de</strong> aplicación <strong>de</strong> la perforadora <strong>de</strong> papel<br />

H–2<br />

Drilled<br />

Holes<br />

Para obtener una explicación <strong>de</strong>tallada sobre:<br />

• las <strong>instrucciones</strong> XIC, XIO, OTE, RES, OTU, OTL y OSR, vea el capítulo 1.<br />

• las <strong>instrucciones</strong> EQU y GEQ, vea el capítulo 2.<br />

• las <strong>instrucciones</strong> CLR, ADD y SUB, vea el capítulo 3.<br />

• las <strong>instrucciones</strong> MOV y FRD, vea el capítulo 4.<br />

• las <strong>instrucciones</strong> JSR y RET, vea el capítulo 5.<br />

• las <strong>instrucciones</strong> INT y SQO, vea el capítulo 11.<br />

• las <strong>instrucciones</strong> HSC, HSCL y RAC, vea el capítulo 7.<br />

Esta máquina pue<strong>de</strong> perforar 3 configuraciones diferentes <strong>de</strong> orificios en manuales<br />

encua<strong>de</strong>rnados. El programa registra el <strong>de</strong>sgaste <strong>de</strong> brocas y advierte al operador<br />

que la broca se <strong>de</strong>be reemplazar. La máquina se <strong>de</strong>tiene si la advertencia es<br />

ignorada por el operador.<br />

Start I:1/6 Stop I:1/7<br />

Thumbwheel for<br />

Thickness in 1/4 in.<br />

I:1/11–I:1/14<br />

Drill Home<br />

I:1/5<br />

Drill Depth<br />

I:1/4<br />

Quadrature A–B Enco<strong>de</strong>r and Drive<br />

I:1/0 I:1/1<br />

OPERATOR PANEL<br />

Change Drill Soon<br />

O:3/4<br />

Change Drill Now<br />

O:3/6<br />

Drill Change Reset 5 Hole<br />

(Keyswitch)<br />

I:1/8<br />

3 Hole<br />

I:1/9–I:1/10<br />

Drill On/Off O:3/1<br />

Drill Retract O:3/2<br />

Drill Forward O:3/3<br />

Conveyor Enable wired in series to the Drive O:3/5<br />

Conveyor Drive Start/Stop wired in series to the Drive O:3/0<br />

7 Hole<br />

Photo–Eye Reset I:1/2<br />

Counter Hold I:1/3<br />

Photo–Eye<br />

Reflector<br />

20226


Programas <strong>de</strong> ejemplo <strong>de</strong> aplicación<br />

Descripción general <strong>de</strong> la operación <strong>de</strong> la perforadora<br />

<strong>de</strong> papel<br />

Los libros no perforados se colocan en un transportador, el cual los transporta a una<br />

sola broca. Cada libro se <strong>de</strong>splaza en el transportador hasta alcanzar la primera<br />

posición <strong>de</strong> perforación. El transportador <strong>de</strong>ja <strong>de</strong> moverse, la broca <strong>de</strong>scien<strong>de</strong> y<br />

perfora el primer orificio. Luego, la broca se retrae y el transportdor mueve el<br />

mismo libro a la segunda posición <strong>de</strong> perforación. El proceso <strong>de</strong> perforación se<br />

repite hasta obtener la cantidad <strong>de</strong>seada <strong>de</strong> orificios en el libro.<br />

Operación <strong>de</strong>l mecanismo <strong>de</strong>l taladro<br />

Operación <strong>de</strong>l transportador<br />

Cuando el operador presiona el botón <strong>de</strong> arranque, el motor <strong>de</strong>l taladro se pone en<br />

marcha. Después <strong>de</strong> que el libro está en la primera posición <strong>de</strong> perforación, la<br />

subrutina <strong>de</strong>l transportador establece un bit <strong>de</strong> comienzo <strong>de</strong> secuencia <strong>de</strong> la broca y<br />

la broca se mueve lentamente hacia el libro. Cuando la broca ha perforado el libro,<br />

el cuerpo <strong>de</strong> la broca hace contacto con un interruptor <strong>de</strong> final <strong>de</strong> carrera, el cual<br />

causa que la broca se retraiga hacia fuera <strong>de</strong>l libro. Cuando el cuerpo <strong>de</strong> la broca<br />

está completamente retraído, el cuerpo <strong>de</strong> la broca hace contacto con otro interruptor<br />

<strong>de</strong> final <strong>de</strong> carrera, el cual indica que la broca está en su posición inicial. El<br />

contacto con el segundo interruptor <strong>de</strong> final <strong>de</strong> carrera <strong>de</strong>senclava el bit <strong>de</strong> comienzo<br />

<strong>de</strong> secuencia <strong>de</strong>l taladro y causa que el transportador mueva el libro hacia la<br />

próxima posición <strong>de</strong> perforación.<br />

Cuando se presiona el primer botón <strong>de</strong> arranque, el transportador mueve los libros<br />

hacia a<strong>de</strong>lante. Cuando el primer libro se acerca a la broca, el libro activa un sensor<br />

fotoeléctrico. Este le indica a la máquina dón<strong>de</strong> se encuentra el bor<strong>de</strong> <strong>de</strong>lantero <strong>de</strong>l<br />

libro. Según la posición <strong>de</strong>l interruptor selector, el transprtador mueve el libro hasta<br />

la primera posición <strong>de</strong> perforación. El bit <strong>de</strong> comienzo <strong>de</strong> secuencia <strong>de</strong> la broca se<br />

establece y el primer orificio se perfora. Ahora el bit <strong>de</strong> comienzo <strong>de</strong> secuencia <strong>de</strong><br />

la broca se <strong>de</strong>senclava y el transportador mueve el mismo libro a la segunda<br />

posición <strong>de</strong> perforación. El proceso <strong>de</strong> perforación se repite hasta que se obtenga la<br />

cantidad <strong>de</strong>seada <strong>de</strong> orificios en el libro. Luego, la máquina espera hasta que otro<br />

libro interrumpa el hazo <strong>de</strong> luz <strong>de</strong>l sensor fotoeléctrico y el proceso se repite. El<br />

operador pue<strong>de</strong> cambiar el número <strong>de</strong> orificios perforados cambiando el interruptor<br />

selector.<br />

H–3


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

Cálculo y advertencia <strong>de</strong> la broca<br />

H–4<br />

El programa registra el número <strong>de</strong> orificios perforados y número <strong>de</strong> pulgadas <strong>de</strong><br />

material que han sido perforadas usando un interruptor preselector rotatorio. El<br />

interruptor preselector rotatorio se establece al espesor <strong>de</strong>l libro por 1/4 pulg. (Si el<br />

libro tiene un espesor <strong>de</strong> 1 1/2 pulg., el operador posicionaría el interruptor<br />

preselector rotatorio a 6.) Cuando 25,000 pulgadas se han taladrado, la luz piloto <strong>de</strong><br />

Cambiar la broca pronto se iluminará. Cuando 25,<strong>500</strong> pulgadas se hayan taladrado,<br />

la luz piloto <strong>de</strong> Cambiar la broca pronto parpa<strong>de</strong>ará. Cuando 26,000 pulgadas se<br />

hayan taladrado, la luz piloto <strong>de</strong> Cambiar la broca ahora se iluminará y la máquina<br />

se <strong>de</strong>tendrá. El operador cambia las brocas y restablece el contador <strong>de</strong> <strong>de</strong>sgaste<br />

interno <strong>de</strong> la broca girando el interruptor <strong>de</strong> llave <strong>de</strong> restablecimiento <strong>de</strong> cambio <strong>de</strong><br />

la broca.


Programas <strong>de</strong> ejemplo <strong>de</strong> aplicación<br />

Programa <strong>de</strong> escalera <strong>de</strong> la perforadora <strong>de</strong> papel<br />

Renglón 2:0<br />

Estos renglones pondrán el transportador en movimiento cuando el botón <strong>de</strong><br />

arranque se presiona. Sin embargo, hay otras condiciones que se <strong>de</strong>ben cumplir<br />

antes <strong>de</strong> arrancar el transportador. Estas son: la broca <strong>de</strong>be estar en su posición<br />

completamente retraída (inicial) y la broca no <strong>de</strong>be haber sobrepasado su vida<br />

útil máxima. Estos renglones también <strong>de</strong>tendrán el transportador cuando el botón<br />

<strong>de</strong> <strong>de</strong>tención se presione o cuando la vida útil <strong>de</strong> la broca se exceda.<br />

| Botón <strong>de</strong> |Inicio Botón <strong>de</strong> |cambiar | Enclav. |<br />

| ARRANQUE |broca LS parada |la broca | <strong>de</strong> MARCHA |<br />

| |AHORA | máquina |<br />

| I:1.0 I:1.0 I:1.0 O:3.0 B3:0 |<br />

|–+––––] [––––––––] [–––––+––––]/[––––––––]/[––––––––––––––––––––––––––( )–––––|<br />

| | 6 5 | 7 6 0 |<br />

| | Enclav. | |<br />

| | <strong>de</strong> MARCHA | |<br />

| | máquina | |<br />

| | B3:0 | |<br />

| +––––] [––––––––––––––––+ |<br />

| 0 |<br />

Renglón 2:1<br />

| Enclav. Motor |<br />

| <strong>de</strong> MARCHA <strong>de</strong> la broca |<br />

| máquina funciona |<br />

| B3:0 O:3.0 |<br />

|––––] [––––––––––––––––––––––––––––––––––––––––––––––––+––––––––––––( )–––––+–|<br />

| 0 | 1 | |<br />

| | Arr./<strong>de</strong>ten.| |<br />

| | transport. | |<br />

| | | |<br />

| | B3:0 O:3.0 | |<br />

| +––[OSR]–––––(L)–––––+ |<br />

| 1 0 |<br />

Renglón 2:2<br />

Detenga el transportador si existen condiciones que <strong>de</strong>senclavan el bit <strong>de</strong><br />

“enclavamiento <strong>de</strong> MARCHA <strong>de</strong> máquina”.<br />

| Machine | Conveyor |<br />

| RUN | Start/Stop |<br />

| Latch | |<br />

| B3:0 O:3.0 |<br />

|––––]/[–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––(U)–––––|<br />

| 0 0 |<br />

Rung 2:3<br />

Este renglón invoca la subrutina <strong>de</strong> secuencia <strong>de</strong>l taladro. Esta subrutina maneja<br />

la operación <strong>de</strong> una secuencia <strong>de</strong> perforación y vuelve a arrancar el transportador<br />

a la finalización <strong>de</strong> la secuencia <strong>de</strong> perforación<br />

| +JSR–––––––––––––––+ |<br />

|–––––––––––––––––––––––––––––––––––––––––––––––––––––––––+JUMP TO SUBROUTINE+–|<br />

| |SBR file number 6| |<br />

| +––––––––––––––––––+ |<br />

H–5


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

H–6<br />

Renglón 2:4<br />

Este renglón invoca la subrutina que registra la cantidad <strong>de</strong> <strong>de</strong>sgaste en la<br />

broca actual.<br />

| +JSR–––––––––––––––+ |<br />

|–––––––––––––––––––––––––––––––––––––––––––––––––––––––––+JUMP TO SUBROUTINE+–|<br />

| |SBR file number 7| |<br />

| +––––––––––––––––––+ |<br />

Renglón 2:5<br />

Hay alguna lógica <strong>de</strong> inicialización en la subrutina DII (archivo 4) que se <strong>de</strong>be<br />

ejecutar antes <strong>de</strong> la primera interrupción DII. Por lo tanto, este renglón permite<br />

que la DII se inicialice saltando a la subrutina DII cuando el procesador entra<br />

en el modo <strong>de</strong> MARCHA.<br />

| Primer |<br />

| paso |<br />

| S:1 +JSR–––––––––––––––+ |<br />

|––––] [––––––––––––––––––––––––––––––––––––––––––––––––––+JUMP TO SUBROUTINE+–|<br />

| 15 |SBR file number 4| |<br />

| +––––––––––––––––––+ |<br />

Renglón 2:6<br />

| |<br />

|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|<br />

| |<br />

EL ARCHIVO 3 NO TIENE RENGLONES


Programas <strong>de</strong> ejemplo <strong>de</strong> aplicación<br />

Renglón 4:0<br />

Este renglón restablece los secuenciadores <strong>de</strong> conteo <strong>de</strong> orificios cada vez que el<br />

procesador entra en el modo <strong>de</strong> MARCHA. Esto asegura que el primer valor preseleccionado<br />

se cargará en la DII preseleccionada durante cada entrada en el modo<br />

<strong>de</strong> marcha.<br />

| Primer Secuenciador |<br />

| paso preselecc. |<br />

| <strong>de</strong> 3 orif. |<br />

| +INT––––––––––––––––––––+ S:1 R6:4 |<br />

|–+INTERRUPT SUBROUTINE +––––] [––––––––––––––––––––––––––––––+–––(RES)––––+–|<br />

| +–––––––––––––––––––––––+ 15 | | |<br />

| | Secuenc. | |<br />

| | preselecc. | |<br />

| | <strong>de</strong> 5 orif. | |<br />

| | R6:5 | |<br />

| +–––(RES)––––+ |<br />

| | | |<br />

| | Secuenc. | |<br />

| | preselecc. | |<br />

| | <strong>de</strong> 7 orif. | |<br />

| | R6:6 | |<br />

| +–––(RES)––––+ |<br />

| |<br />

Renglón 4:1<br />

Este renglón le indica a la DII que <strong>de</strong>tecte la presencia <strong>de</strong> un libro en el sensor<br />

fotoeléctrico y un impulso <strong>de</strong> codificador (enco<strong>de</strong>r). Al dispararse con estas dos<br />

condiciones, la DII solamente contará impulsos cuando haya un libro presente, <strong>de</strong><br />

lo contario, no se mantendrá en el número <strong>de</strong> conteos existente. S:49 es el valor<br />

PRESELECCIONADO <strong>de</strong> DII.<br />

| +MOV–––––––––––––––+ |<br />

|–––––––––––––––––––––––––––––––––––––––––––––––––––––––––+MOVE +–|<br />

| |Source 5| |<br />

| | | |<br />

| |Dest S:49| |<br />

| | 0| |<br />

| +––––––––––––––––––+ |<br />

H–7


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

H–8<br />

Renglón 4:2<br />

Este renglón registra el número <strong>de</strong> orificio que se perfora y carga la próxima DII<br />

correcta preseleccionada según el conteo <strong>de</strong> orificio. Este renglón está activo<br />

solamente cuando el “interruptor selector <strong>de</strong> orificio” se encuentra en la posición<br />

<strong>de</strong> “3 posiciones”. El secuenciador usa el paso 0 como un paso nulo al momento <strong>de</strong><br />

restablecimiento. Usa el último paso como “marcha permanente” en espera <strong>de</strong>l “final<br />

<strong>de</strong>l manual”. El mover un 0 en S:49 le indica a la DII que dispare una interrupción<br />

cuando se <strong>de</strong>tecte el bor<strong>de</strong> trasero <strong>de</strong>l libro actual.<br />

| bit <strong>de</strong> |bit <strong>de</strong> secuenciador |<br />

| interr. |interr. preseleccionado |<br />

| selector |selector <strong>de</strong> 3 orificios |<br />

| <strong>de</strong> orif. 0|<strong>de</strong> orif. 1 |<br />

| I:1.0 I:1.0 +SQO–––––––––––––––+ |<br />

|––––]/[––––––––] [–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–|<br />

| 9 10 | |File #N10:0+–(DN) | |<br />

| | |Mask FFFF| | |<br />

| | |Dest S:50| | |<br />

| | |Control R6:4| | |<br />

| | |Length 4| | |<br />

| | |Position 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | | |<br />

| | | |<br />

| | forzar que | |<br />

| | el secuenciador | |<br />

| | incremente al | |<br />

| | próximo escán | |<br />

| | R6:4 | |<br />

| +–––––––––––––––––––––––––(U)––––––––––––––––––––+ |<br />

| | EN | |<br />

| | Si está en | |<br />

| | el último orificio, | |<br />

| | indique a la DII | |<br />

| | que busque el final <strong>de</strong>l libro | |<br />

| | +EQU–––––––––––––––+ +MOV–––––––––––––––+ | |<br />

| +–+EQUAL +–+MOVE +––––––+ |<br />

| |Source A R6:4.POS| |Source 0| |<br />

| | 0| | | |<br />

| |Source B 4| |Dest S:49| |<br />

| | | | 0| |<br />

| +––––––––––––––––––+ +––––––––––––––––––+ |


Programas <strong>de</strong> ejemplo <strong>de</strong> aplicación<br />

Renglón 4:3<br />

Este renglón es idéntico al renglón anterior, excepto que solamente está activo<br />

cuando el “interruptor selector <strong>de</strong> orificio” está en la posición <strong>de</strong><br />

“5 orificios”.<br />

| bit <strong>de</strong> |bit <strong>de</strong> secuenciador |<br />

| interr. |interr. preseleccionado |<br />

| selector |selector <strong>de</strong> 5 orificios |<br />

| <strong>de</strong> orif. 0|<strong>de</strong> orif. 1 |<br />

| I:1.0 I:1.0 +SQO–––––––––––––––+ |<br />

|––––] [––––––––]/[–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–|<br />

| 9 10 | |File #N10:5+–(DN) | |<br />

| | |Mask FFFF| | |<br />

| | |Dest S:50| | |<br />

| | |Control R6:5| | |<br />

| | |Length 6| | |<br />

| | |Position 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | | |<br />

| | forzar que | |<br />

| | el secuenciador | |<br />

| | incremente al | |<br />

| | próximo escán | |<br />

| | R6:5 | |<br />

| +–––––––––––––––––––––––––(U)––––––––––––––––––––+ |<br />

| | EN | |<br />

| | Si está en | |<br />

| | el último orificio, | |<br />

| | indique a la DII | |<br />

| | que busque el final <strong>de</strong>l libro | |<br />

| | +EQU–––––––––––––––+ +MOV–––––––––––––––+ | |<br />

| +–+EQUAL +–+MOVE +––––––+ |<br />

| |Source A R6:5.POS| |Source 0| |<br />

| | 0| | | |<br />

| |Source B 6| |Dest S:49| |<br />

| | | | 0| |<br />

| +––––––––––––––––––+ +––––––––––––––––––+ |<br />

H–9


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

H–10<br />

Renglón 4:4<br />

Este renglón es idéntico a los 2 renglones anteriores, excepto que solamente está<br />

activo cuando el “interruptor selector <strong>de</strong> orificio” se encuentra en la posición<br />

<strong>de</strong> “7 orificios”.<br />

| bit <strong>de</strong> |bit <strong>de</strong> secuenciador |<br />

| interr. |interr. preseleccionado |<br />

| selector |selector <strong>de</strong> 7 orificios |<br />

| <strong>de</strong> orif. 0|<strong>de</strong> orif. 1 |<br />

| I:1.0 I:1.0 +SQO–––––––––––––––+ |<br />

|––––] [––––––––] [–––––––––+––––––––––––––––––––––+SEQUENCER OUTPUT +–(EN)–+–|<br />

| 9 10 | |File #N10:12+–(DN) | |<br />

| | |Mask FFFF| | |<br />

| | |Dest S:50| | |<br />

| | |Control R6:6| | |<br />

| | |Length 8| | |<br />

| | |Position 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | forzar que | |<br />

| | el secuenciador | |<br />

| | incremente al | |<br />

| | próximo escán | |<br />

| | R6:6 | |<br />

| +–––––––––––––––––––––––––(U)––––––––––––––––––––+ |<br />

| | EN | |<br />

| | | |<br />

| | Si está en | |<br />

| | el último orificio, | |<br />

| | indique a la DII | |<br />

| | que busque el final <strong>de</strong>l libro | |<br />

| | +EQU–––––––––––––––+ +MOV–––––––––––––––+ | |<br />

| +–+EQUAL +–+MOVE +––––––+ |<br />

| |Source A R6:6.POS| |Source 0| |<br />

| | 0| | | |<br />

| |Source B 8| |Dest S:49| |<br />

| | | | 0| |<br />

| +––––––––––––––––––+ +––––––––––––––––––+ |


Programas <strong>de</strong> ejemplo <strong>de</strong> aplicación<br />

Renglón 4:5<br />

Si el procesador está en esta subrutina por inicialización o <strong>de</strong>bido a la<br />

<strong>de</strong>tección <strong>de</strong>l bor<strong>de</strong> trasero <strong>de</strong> un manual, retorne y omita la lógica que <strong>de</strong>tiene<br />

el transportador y arranca la secuencia <strong>de</strong>l taladro.<br />

| Primer para comentario |<br />

| paso solamente |<br />

| S:1 B3:0 |<br />

|–+––––] [–––––––––––––––––––––––––––––––––––––+––––––+––––( )–––––––––––––––+–|<br />

| | 15 | | 2 | |<br />

| | | | | |<br />

| | | | | |<br />

| | bit <strong>de</strong> |bit <strong>de</strong> | | | |<br />

| | interr. |interr. | | | |<br />

| | selector |selector | | | |<br />

| | <strong>de</strong> orif. 0|<strong>de</strong> orif. 1 | | | |<br />

| | I:1.0 I:1.0 +EQU–––––––––––––––+ | | +RET–––––––––––––––+ | |<br />

| +––––]/[––––––––] [–––––+EQUAL +–+ +–+RETURN +–+ |<br />

| | 9 10 |Source A R6:4.POS| | +––––––––––––––––––+ |<br />

| | | 0| | |<br />

| | |Source B 1| | |<br />

| | | | | |<br />

| | +––––––––––––––––––+ | |<br />

| | bit <strong>de</strong> |bit <strong>de</strong> | |<br />

| | interr. |interr. | |<br />

| | selector |selector | |<br />

| | <strong>de</strong> orif. 0|<strong>de</strong> orif. 1 | |<br />

| | I:1.0 I:1.0 +EQU–––––––––––––––+ | |<br />

| +––––] [––––––––]/[–––––+EQUAL +–+ |<br />

| | 9 10 |Source A R6:5.POS| | |<br />

| | | 0| | |<br />

| | |Source B 1| | |<br />

| | | | | |<br />

| | +––––––––––––––––––+ | |<br />

| | bit <strong>de</strong> |bit <strong>de</strong> | |<br />

| | interr. |interr. | |<br />

| | selector |selector | |<br />

| | <strong>de</strong> orif. 0|<strong>de</strong> orif. 1 | |<br />

| | I:1.0 I:1.0 +EQU–––––––––––––––+ | |<br />

| +––––] [––––––––] [–––––+EQUAL +–+ |<br />

| 9 10 |Source A R6:6.POS| |<br />

| | 0| |<br />

| |Source B 1| |<br />

| | | |<br />

| +––––––––––––––––––+ |<br />

H–11


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

H–12<br />

Renglón 4:6<br />

Este renglón <strong>de</strong>tiene el transportador e indica al programa principal (archivo 2)<br />

que inicie una secuencia <strong>de</strong> perforación. La subrutina <strong>de</strong> SECUENCIA DE PERFORACION<br />

(archivo <strong>de</strong> programa 6) restablece el bit <strong>de</strong> comienzo <strong>de</strong> secuencia <strong>de</strong> perforación<br />

y establece el bit <strong>de</strong> propulsión <strong>de</strong>l transportador (O:3/0) a la finalización<br />

<strong>de</strong> la secuencia <strong>de</strong> perforación.<br />

| Comienzo |<br />

| <strong>de</strong> la sec. |<br />

| <strong>de</strong> perfor. |<br />

| B3:2 |<br />

|–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––+––––(L)–––––+–|<br />

| | 0 | |<br />

| | Conveyor | |<br />

| | Start/Stop | |<br />

| | | |<br />

| | O:3.0 | |<br />

| +––––(U)–––––+ |<br />

| 0 |<br />

Renglón 4:7<br />

| |<br />

|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|<br />

| |<br />

EL ARCHIVO 5 NO TIENE RENGLONES


Programas <strong>de</strong> ejemplo <strong>de</strong> aplicación<br />

Renglón 6:0<br />

Esta sección <strong>de</strong> la lógica <strong>de</strong> escalera controla el movimiento ascen<strong>de</strong>nte/<strong>de</strong>scen<strong>de</strong>nte<br />

<strong>de</strong>l taladro para la perforadora <strong>de</strong> libros.<br />

Cuando el transportador posiciona el libro bajo el taladro, el bit <strong>de</strong> COMIENZO<br />

DE SECUENCIA DE PERFORACION se establece. Este renglón usa este bit para<br />

comenzar la operación <strong>de</strong> perforación. Puesto que el bit se establece para toda la<br />

operación <strong>de</strong> perforación, se requiere que la OSR pueda <strong>de</strong>sactivar la señal <strong>de</strong><br />

avance para que el taladro pueda retraerse.<br />

| Com. |Subr. perf.| Avance |<br />

| secuencia | OSR | broca |<br />

| perforac. | |<br />

| B3:2 B3:3 O:3.0 |<br />

|––––] [–––––––[OSR]–––––––––––––––––––––––––––––––––––––––––––––––––––(L)–––––|<br />

| 0 0 3 |<br />

Renglón 6:1<br />

Cuando el taladro ha perforado el libro, el cuerpo <strong>de</strong>l taladro accionará el interruptor<br />

<strong>de</strong> final <strong>de</strong> carrera <strong>de</strong> PROFUNDIDAD DE PERFORACION. Cuando esto ocurre,<br />

la señal <strong>de</strong> AVANCE DEL TALADRO se <strong>de</strong>sactiva y la señal <strong>de</strong> RETRACCION DEL<br />

TALADRO se activa.<br />

| Prof. Avance |<br />

| perfor. LS broca |<br />

| I:1.0 O:3.0 |<br />

|–+––––] [––––––––––––––––+–––––––––––––––––––––––––––––––––––––+––––(U)–––––+–|<br />

| | 4 | | 3 | |<br />

| | Primer |Origen | | Retracc. | |<br />

| | paso |broca LS | | broca | |<br />

| | S:1 I:1.0 | | O:3.0 | |<br />

| +––––] [––––––––]/[–––––+ +––––(L)–––––+ |<br />

| 15 5 2 |<br />

Renglón 6:2<br />

Cuando el taladro se retrae (<strong>de</strong>spués <strong>de</strong> perforar un orificio), el cuerpo <strong>de</strong>l<br />

taladro accionará el interruptor <strong>de</strong> fin <strong>de</strong> carrera <strong>de</strong> POSICION INICIAL DEL<br />

TALADRO. Cuando esto ocurre, la señal <strong>de</strong> RETRACCION DE LA BROCA se <strong>de</strong>sactiva, el<br />

bit <strong>de</strong> COMIENZO DE SECUENCIA DE PERFORACION se <strong>de</strong>sactiva para indicar que el<br />

proceso <strong>de</strong> perforación se ha finalizado y el transportador se vuelve a arrancar.<br />

| Origen |Retracc. Retracc. |<br />

| broca LS |broca broca |<br />

| I:1.0 O:3.0 O:3.0 |<br />

|––––] [––––––––] [––––––––––––––––––––––––––––––––––+–––––––––––––––(U)–––––+–|<br />

| 5 2 | 2 | |<br />

| | Comienzo | |<br />

| | <strong>de</strong> sec. | |<br />

| | perforación| |<br />

| | B3:2 | |<br />

| +–––––––––––––––(U)–––––+ |<br />

| | 0 | |<br />

| | Enclav. |Arr./<strong>de</strong>ten.| |<br />

| | <strong>de</strong> MARCHA |transport. | |<br />

| | máquina | | |<br />

| | B3:0 O:3.0 | |<br />

| +––––] [––––––––(L)–––––+ |<br />

| 0 0 |<br />

Renglón 6:3<br />

| |<br />

|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|<br />

| |<br />

H–13


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

H–14<br />

Renglón 7:0<br />

Este renglón examina el número <strong>de</strong> miles <strong>de</strong> 1/4 pulg. que se han acumulado<br />

durante la vida <strong>de</strong> la broca actual. Si la broca ha perforado entre 100,000–101,999<br />

incrementos <strong>de</strong> 1/4 pulg. <strong>de</strong> papel, la luz <strong>de</strong> “cambiar la broca” se ilumina<br />

constantemente. Cuando el valor está entre 102,000–103,999, la luz <strong>de</strong> “cambiar la<br />

broca” parpa<strong>de</strong>a a una velocidad <strong>de</strong> 1.28 segundo. Cuando el valor alcanza 105,000,<br />

la luz <strong>de</strong> “cambiar la broca” parpa<strong>de</strong>a y la luz <strong>de</strong> “cambiar la broca ahora” se<br />

ilumina.<br />

| Miles 100,000 |<br />

| <strong>de</strong> 1/4 pulg. incrementos |<br />

| <strong>de</strong> 1/4 pulg. |<br />

| han |<br />

| occurrido |<br />

| +GEQ–––––––––––––––+ B3:1 |<br />

|–––––––+–+GRTR THAN OR EQUAL+–––––––––––––––––––––––––––––––––––––––( )–––––+–|<br />

| | |Source A N7:11| 0 | |<br />

| | | 0| | |<br />

| | |Source B 100| | |<br />

| | | | | |<br />

| | +––––––––––––––––––+ | |<br />

| | Milésimos 102,000 | |<br />

| | <strong>de</strong> 1/4 pulg. incrementos| |<br />

| | <strong>de</strong> 1/4 pulg| |<br />

| | han | |<br />

| | ocurrido | |<br />

| | +GEQ–––––––––––––––+ B3:1 | |<br />

| +–+GRTR THAN OR EQUAL+–––––––––––––––––––––––––––––––––––––––( )–––––+ |<br />

| | |Source A N7:11| 1 | |<br />

| | | 0| | |<br />

| | |Source B 102| | |<br />

| | | | | |<br />

| | +––––––––––––––––––+ | |<br />

| | Milésimos cambiar la | |<br />

| | <strong>de</strong> 1/4 pulg. broca | |<br />

| | AHORA | |<br />

| | +GEQ–––––––––––––––+ O:3.0 | |<br />

| +–+GRTR THAN OR EQUAL+–––––––––––––––––––––––––––––––––––––––( )–––––+ |<br />

| | |Source A N7:11| 6 | |<br />

| | | 0| | |<br />

| | |Source B 105| | |<br />

| | | | | |<br />

| | +––––––––––––––––––+ | |


Programas <strong>de</strong> ejemplo <strong>de</strong> aplicación<br />

| | 100,000 |102,000 cambiar | |<br />

| | incrementos|incrementos la broca | |<br />

| | <strong>de</strong> 1/4 pulg|<strong>de</strong> 1/4 pulg pronto | |<br />

| | han |han | |<br />

| | ocurrido |occurrido | |<br />

| | B3:1 B3:1 O:3.0 | |<br />

| +–+–––––––––––––––––––––––] [––––––––]/[––––––––––––––––+––––( )–––––+ |<br />

| | 0 1 | 4 |<br />

| | 100,000 |102,000 |bit <strong>de</strong> | |<br />

| | increm. <strong>de</strong>|increm. <strong>de</strong>|reloj <strong>de</strong> | |<br />

| | 1/4 pulg |1/4 pulg |marcha | |<br />

| | han |han |libre <strong>de</strong> | |<br />

| | ocurrido |ocurrido |1.28 seg | |<br />

| | B3:1 B3:1 S:4 | |<br />

| +–––––––––––––––––––––––] [––––––––] [––––––––] [–––––+ |<br />

| 0 1 7 |<br />

Renglón 7:1<br />

Este renglón restablece el número <strong>de</strong> incrementos <strong>de</strong> 1/4 pulg. y los miles<br />

<strong>de</strong> 1/4 pulg. cuando el interruptor <strong>de</strong> llave <strong>de</strong> “restablecimiento <strong>de</strong> cambio <strong>de</strong><br />

broca” se activa. Esto <strong>de</strong>be ocurrir <strong>de</strong>spués <strong>de</strong> cada cambio <strong>de</strong> broca.<br />

| interr. <strong>de</strong> llave Miles |<br />

| <strong>de</strong> restablecimiento <strong>de</strong> 1/4 pulg |<br />

| <strong>de</strong> cambio |<br />

| <strong>de</strong> broca |<br />

| I:1.0 +CLR–––––––––––––––+ |<br />

|––––] [––––––––––––––––––––––––––––––––––––––––––––––+–+CLEAR +–+–|<br />

| 8 | |Dest N7:11| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | incrementos | |<br />

| | <strong>de</strong> 1/4 pulg | |<br />

| | | |<br />

| | +CLR–––––––––––––––+ | |<br />

| +–+CLEAR +–+ |<br />

| |Dest N7:10| |<br />

| | 0| |<br />

| +––––––––––––––––––+ |<br />

Renglón 7:2<br />

Esta sección <strong>de</strong>scribe la entrada <strong>de</strong>l interruptor preselector rotatorio BCD<br />

| bit <strong>de</strong> com <strong>de</strong> |<br />

| <strong>de</strong> sección <strong>de</strong> |<br />

| interr. pre- |<br />

| selector rotat. |<br />

| B3:1 |<br />

|––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––( )–––––|<br />

| 2 |<br />

H–15


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

H–16<br />

Renglón 7:3<br />

Este renglón mueve el valor <strong>de</strong>l interruptor preselector rotatorio BCD <strong>de</strong> un solo<br />

dígito al registro entero interno. Esto se hace para alinear correctamente las<br />

cuatro señales <strong>de</strong> entrada BCD antes <strong>de</strong> ejecutar la instrucción <strong>de</strong> BDC a entero<br />

(FRD). El interruptor preselector rotatorio se usa para permitirle al operador<br />

introducir el espesor <strong>de</strong>l papel que se <strong>de</strong>be perforar. El espesor se introduce en<br />

incrementos <strong>de</strong> 1/4 pulg. Esto proporciona un rango <strong>de</strong> 1/4 pulg. a 2.25 pulg.<br />

| BCD bit 0 |FRD bit 0 |<br />

| I:1.0 N7:14 |<br />

|––––––––––––––––––––––––––––––––––––––––––––––––––––+––––] [––––––––( )–––––+–|<br />

| | 11 0 | |<br />

| | BCD bit 1 |FRD bit 1 | |<br />

| | I:1.0 N7:14 | |<br />

| +––––] [––––––––( )–––––+ |<br />

| | 12 1 | |<br />

| | BCD bit 2 |FRD bit 2 | |<br />

| | I:1.0 N7:14 | |<br />

| +––––] [––––––––( )–––––+ |<br />

| | 13 2 | |<br />

| | BCD bit 3 |FRD bit 3 | |<br />

| | I:1.0 N7:14 | |<br />

| +––––] [––––––––( )–––––+ |<br />

| 14 3 |


Programas <strong>de</strong> ejemplo <strong>de</strong> aplicación<br />

Renglón 7:4<br />

Este renglón convierte el valor <strong>de</strong>l interruptor preselector rotatorio BCD <strong>de</strong> BCD<br />

en entero. Esto se hace porque el procesador opera en los valores enteros. Este<br />

renglón también “neutraliza el rebote” el interruptor preselector rotatorio para<br />

asegurar que la conversión ocurra solamente en los valores BCD válidos. Note que<br />

los valores BCD inválidos pue<strong>de</strong>n ocurrir mientras que el operador cambia el<br />

interruptor preselector rotatorio BCD. Esto es <strong>de</strong>bido a diferencias <strong>de</strong> retardo<br />

<strong>de</strong> propagación <strong>de</strong>l filtro <strong>de</strong> entrada entre los 4 circuitos <strong>de</strong> entrada que<br />

proporcionan el valor <strong>de</strong> entrada BCD.<br />

| bit <strong>de</strong> valor <strong>de</strong><br />

| primer entrada BCD valor BCD <strong>de</strong><br />

| paso <strong>de</strong>l escán rebote neutralizado<br />

| anterior<br />

| S:1 +EQU–––––––––––––––+ +FRD–––––––––––––––+ |<br />

|–+––––]/[–––––+EQUAL +–+–––––––––––+FROM BCD +–+––––+––––|<br />

| | 15 |Source A N7:13| | |Source N7:14| | | |<br />

| | | 0| | | 0000| | | |<br />

| | |Source B N7:14| | | 0000| | | |<br />

| | | 0| | |Dest N7:12| | | |<br />

| | +––––––––––––––––––+ | | 1| | | |<br />

| | | Matem. +––––––––––––––––––+ | | |<br />

| | | Bit <strong>de</strong> Bit <strong>de</strong> | | |<br />

| | | overflow error | | |<br />

| | | matemático matemático | | |<br />

| | | S:0 S:5 | | |<br />

| | +––––] [––––––––––––––(U)––––––––+ | |<br />

| | 1 0 | |<br />

| | el valor | |<br />

| | <strong>de</strong> entrada BCD | |<br />

| | <strong>de</strong> este | |<br />

| | escán | |<br />

| | +MOV–––––––––––––––+ | |<br />

| +––––––––––––––––––––––––––––––––––––––––––––––––––+MOVE +–+ |<br />

| |Source N7:14| |<br />

| | 0| |<br />

| |Dest N7:13| |<br />

| | 0| |<br />

| +––––––––––––––––––+ |<br />

Renglón 7:5<br />

Este renglón asegura que el operador no pueda seleccionar un espesor <strong>de</strong> papel<br />

<strong>de</strong> 0. Si eso se permitiera, el cálculo <strong>de</strong> la vida útil <strong>de</strong> la broca podría ser<br />

anulado, lo que resultaría en orificios <strong>de</strong> mala calidad <strong>de</strong>bido a una broca<br />

<strong>de</strong>sgastada. Por lo tanto, el espesor <strong>de</strong> papel mínimo que se usará para calcular<br />

el <strong>de</strong>sgaste <strong>de</strong> la broca es 1/4 pulg.<br />

| valor BCD valor BCD |<br />

| <strong>de</strong> rebote <strong>de</strong> rebote |<br />

| neutralizado neutralizado |<br />

| +EQU–––––––––––––––+ +MOV–––––––––––––––+ |<br />

|–+EQUAL +––––––––––––––––––––––––––––––––––––+MOVE +–|<br />

| |Source A N7:12| |Source 1| |<br />

| | 1| | | |<br />

| |Source B 0| |Dest N7:12| |<br />

| | | | 1| |<br />

| +––––––––––––––––––+ +––––––––––––––––––+ |<br />

H–17


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

H–18<br />

Renglón 7:6<br />

Mantenga un total acumulado <strong>de</strong> cuántas pulgadas <strong>de</strong> papel han sido perforadas con<br />

la broca actual. Cada vez que un orificio se perfore, añada el espesor (en 1/4<br />

pulg.) al total acumulado (mantenido en 1/4 pulg.). La OSR es necesaria porque la<br />

instrucción SUMA se ejecuta cada vez que el renglón es verda<strong>de</strong>ro y el cuerpo<br />

<strong>de</strong>l taladro accionará el interruptor <strong>de</strong> final <strong>de</strong> carrera <strong>de</strong> PROFUNDIDAD DE<br />

PERFORACION durante más <strong>de</strong> 1 escán <strong>de</strong> programa. El entero N7:12 es el valor<br />

<strong>de</strong> entero convertido <strong>de</strong>l interruptor preselector rotatorio BCD en las entradas<br />

I:3/11 – I:3/14.<br />

| Prof. |Desgaste herr. incrementos |<br />

| perf. LS | OSR 1 <strong>de</strong> 1/4 pulg. |<br />

| |<br />

| I:1.0 B3:1 +ADD–––––––––––––––+ |<br />

|––––] [–––––––[OSR]––––––––––––––––––––––––––––––––––––––+ADD +–|<br />

| 4 8 |Source A N7:12| |<br />

| | 1| |<br />

| |Source B N7:10| |<br />

| | 0| |<br />

| |Dest N7:10| |<br />

| | 0| |<br />

| +––––––––––––––––––+ |<br />

Renglón 7:7<br />

Cuando el número <strong>de</strong> incrementos <strong>de</strong> 1/4 pulg. exce<strong>de</strong> 1000, <strong>de</strong>scrubra cuántos<br />

incrementos han excedido 1000 y almacene en N7:20, añada 1 al total <strong>de</strong> incrementos<br />

<strong>de</strong> 1/4 pulg. y vuelva a inicializar el acumulador <strong>de</strong> incrementos <strong>de</strong> 1/4 pulg.<br />

a la cantidad <strong>de</strong> incrementos que había excedido 1000.<br />

| incrementos |<br />

| <strong>de</strong> 1/4 pulg. |<br />

| |<br />

| +GEQ–––––––––––––––+ +SUB–––––––––––––––+ |<br />

|–+GRTR THAN OR EQUAL+––––––––––––––––––––––––––––––––+–+SUBTRACT +–+–|<br />

| |Source A N7:10| | |Source A N7:10| | |<br />

| | 0| | | 0| | |<br />

| |Source B 1000| | |Source B 1000| | |<br />

| | | | | | | |<br />

| +––––––––––––––––––+ | |Dest N7:20| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | 1/4” | |<br />

| | Thousands | |<br />

| | +ADD–––––––––––––––+ | |<br />

| +–+ADD +–+ |<br />

| | |Source A 1| | |<br />

| | | | | |<br />

| | |Source B N7:11| | |<br />

| | | 0| | |<br />

| | |Dest N7:11| | |<br />

| | | 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | | |<br />

| | | |


Renglón 7:8<br />

Programas <strong>de</strong> ejemplo <strong>de</strong> aplicación<br />

| | | |<br />

| | incrementos | |<br />

| | <strong>de</strong> 1/4 pulg. | |<br />

| | +MOV–––––––––––––––– | |<br />

| +–+MOVE +–+ |<br />

| |Source N7:20| |<br />

| | 0| |<br />

| |Dest N7:10| |<br />

| | 0| |<br />

| +––––––––––––––––––+<br />

|–––––––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––––––|<br />

RESUMEN DE OPCIONES DE INFORME<br />

Asegurar info <strong>de</strong> ref. X válida: SI<br />

Modo <strong>de</strong> gráficos NO<br />

Ancho <strong>de</strong> papel: 80<br />

Largo <strong>de</strong> papel: 66<br />

Archivo inicial: 2<br />

Archivo final: 7<br />

Línea <strong>de</strong> potencia: SI<br />

Comentarios <strong>de</strong> dirección: SI<br />

Visualización <strong>de</strong> dirección: SI<br />

Comentarios <strong>de</strong> renglón: SI<br />

Referencias cruzadas <strong>de</strong> escalera: NINGUNA<br />

H–19


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

Ejemplo <strong>de</strong> aplicación <strong>de</strong>l secuenciador activado por<br />

tiempo<br />

H–20<br />

El ejemplo <strong>de</strong> aplicación siguiente ilustra el uso <strong>de</strong> las <strong>instrucciones</strong> TON y SQO en<br />

un semáforo <strong>de</strong> tráfico en una intersección. Los requisitos <strong>de</strong> temporización son:<br />

• Luz roja – 30 segundos<br />

• Luz amarilla – 15 segundos<br />

• Luz ver<strong>de</strong> – 60 segundos<br />

Cuando el temporizador alcanza su valor preseleccionado, activa el secuenciador, el<br />

cual, a su vez, controla cuál semáforo <strong>de</strong> tráfico se ilumina. Para obtener una<br />

explicación <strong>de</strong>tallada <strong>de</strong>:<br />

• las <strong>instrucciones</strong> XIC, XIO y TON, vea el capítulo 1.<br />

• las <strong>instrucciones</strong> SQO y SQC, vea el capítulo 6.


Programas <strong>de</strong> ejemplo <strong>de</strong> aplicación<br />

Programa <strong>de</strong> escalera <strong>de</strong> secuenciador activado por<br />

tiempo<br />

Renglón 2:0<br />

La función <strong>de</strong> este renglón se llama un temporizador regenerativo. Cada vez que el<br />

temporizador alcanza su valor preseleccionado, el bit <strong>de</strong> EFECTUADO se establece para un<br />

escán – esto causa que este renglón se haga FALSO durante un escán y restablece el<br />

temporizador. En el escán siguiente, cuando este renglón vuelve a hacerse VERDADERO, el<br />

temporizador comienza a temporizar.<br />

| Habilitación Timer |<br />

| <strong>de</strong>l temporizador |<br />

| T4:0 +TON–––––––––––––––+ |<br />

|–––]/[–––––––––––––––––––––––––––––––––––––+TIMER ON DELAY +–(EN)–|<br />

| DN |Timer T4:0+–(DN) |<br />

| |Time Base 0.01| |<br />

| |Preset 1| |<br />

| |Accum 0| |<br />

| +––––––––––––––––––+ |<br />

Renglón 2:1<br />

Controla las luces ROJA, VERDE y AMARILLA cabledas a las salidas O:3/0 – O:3/2 y controla<br />

cuánto tiempo el temporizador regenerativo temporiza entre cada paso. Cuando este renglón<br />

va <strong>de</strong> falso a verda<strong>de</strong>ro (<strong>de</strong>bido a que el temporizador alcanza su valor preseleccionado),<br />

el primer secuenciador <strong>de</strong>termina cuál luz <strong>de</strong>l semáforo se ilumina y el segundo<br />

secuenciador cambia el valor preseleccionado <strong>de</strong>l temporizador para <strong>de</strong>terminar la duración<br />

<strong>de</strong> iluminación <strong>de</strong> esta luz siguiente.<br />

| Luces ROJA, VERDE |<br />

| y AMARILL |<br />

| T4:0 +SQO–––––––––––––––+ |<br />

|––] [––––––––––––––––––––––––––––––––––+–+SEQUENCER OUTPUT +–(EN)–+–|<br />

| DN | |File #N7:0+–(DN) | |<br />

| | |Mask 0007+ | |<br />

| | |Dest O:3.0| | |<br />

| | |Control R6:0| | |<br />

| | |Length 3| | |<br />

| | |Position 0| | |<br />

| | +––––––––––––––––––+ | |<br />

| | Valores preselec. | |<br />

| | para cada luz | |<br />

| | +SQO–––––––––––––––+ | |<br />

| +–+SEQUENCER OUTPUT +–(EN)–+ |<br />

| |File #N7:5+–(DN) |<br />

| |Mask FFFF| |<br />

| |Dest T4:0.PRE| |<br />

| |Control R6:1| |<br />

| |Length 3| |<br />

| |Position 0| |<br />

| +––––––––––––––––––+ |<br />

H–21


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

Renglones 2.2<br />

| |<br />

|–––––––––––––––––––––––––––––––––––––+END+–––––––––––––––––––––––––––|<br />

| |<br />

Archivos <strong>de</strong> datos<br />

Dirección 15 Data 0<br />

N7:0 0000 0000 0000 0000<br />

N7:1 0000 0000 0000 0100<br />

N7:2 0000 0000 0000 0010<br />

N7:3 0000 0000 0000 0001<br />

Tabla <strong>de</strong> datos<br />

Dirección Datos (Raíz=<strong>de</strong>cimal)<br />

N7:0 0 4 2 1 0 0 6000 1<strong>500</strong> 3000<br />

H–22


Programas <strong>de</strong> ejemplo <strong>de</strong> aplicación<br />

Ejemplo <strong>de</strong> aplicación <strong>de</strong>l secuenciador activado por<br />

evento<br />

El ejemplo <strong>de</strong> aplicación siguiente ilustra cómo el bit FD (encontrado) en una<br />

instrucción SQC se pue<strong>de</strong> usar para avanzar una SQO al próximo paso (posición).<br />

Este programa <strong>de</strong> aplicación se usa cuando es necesario que un or<strong>de</strong>n específico <strong>de</strong><br />

eventos ocurra repetidamente. Usando esta combinación, usted pue<strong>de</strong> eliminar las<br />

<strong>instrucciones</strong> XIO, XIC y otras <strong>instrucciones</strong>. Para obtener una explicación<br />

<strong>de</strong>tallada <strong>de</strong>:<br />

• las <strong>instrucciones</strong> XIC, XIO y RES, vea el capítulo 1.<br />

• las <strong>instrucciones</strong> SQO y SQC, vea el capítulo 6.<br />

H–23


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

Programa <strong>de</strong> escalera <strong>de</strong> secuenciador activado por<br />

eventos<br />

Renglón 2:0<br />

Asegura que la SQO siempre se restablezca al paso (posición) 1 durante cada entrada en el<br />

modo <strong>de</strong> marcha REM. (En realidad, este renglón restablece la posición <strong>de</strong>l registro <strong>de</strong><br />

control y el bit <strong>de</strong> habilitación EN a 0. Por eso, el renglón siguiente observa una<br />

transición <strong>de</strong> falso a verda<strong>de</strong>ro y afirma el paso (posición) 1 en el primer escán.)<br />

Elimine este renglón por la operación retentiva.<br />

| S:1 R6:0 |<br />

|––] [–––––––––––––––––––––––––––––––––––––––––––––––––––––––(RES)––––|<br />

| 15 |<br />

| |<br />

Renglón 2:1<br />

La instrucción SQC y la instrucción SQO comparten el mismo registro <strong>de</strong> control. Esto se<br />

permite gracias a la planificación cuidadosa <strong>de</strong> la condición <strong>de</strong>l estado <strong>de</strong> renglón. Usted<br />

podría poner en cascada (bifurcar) muchas más <strong>instrucciones</strong> SQO bajo la SQO si así lo<br />

<strong>de</strong>seara, y todas las <strong>instrucciones</strong> usarían el mismo registro <strong>de</strong> control (en este caso,<br />

R6:0). Note que comparamos solamente las entradas 0–3 y afirmamos solamente las salidas<br />

0–3 (según el valor con máscara).<br />

| R6:0 +SQC–––––––––––––––+ |<br />

|––]/[––––––––––––––––––––––––––––+–––––––+SEQUENCER COMPARE +–(EN)–+–|<br />

| FD | |File #N7:0+–(DN) | |<br />

| | |Mask 000F+–(FD) | |<br />

| | |Source I:1.0| | |<br />

| | |Control R6:0| | |<br />

| | |Length 9| | |<br />

| | |Position 2| | |<br />

| | +––––––––––––––––––+ | |<br />

| | R6:0 +SQO–––––––––––––––+ | |<br />

| +––]/[––+SEQUENCER OUTPUT +–(EN)–+ |<br />

| FD |File #N7:10+–(DN) |<br />

| |Mask 000F| |<br />

| |Dest O:3.0| |<br />

| |Control R6:0| |<br />

| |Length 9| |<br />

| |Position 2| |<br />

| +––––––––––––––––––+ |<br />

Renglón 2.2<br />

| |<br />

|–––––––––––––––––––––––––––––––––––––+END+–––––––––––––––––––––––––––|<br />

| |<br />

H–24


Programas <strong>de</strong> ejemplo <strong>de</strong> aplicación<br />

Lo siguiente muestra los DATOS DE ARCHIVO para ambos secuenciadores. Los datos <strong>de</strong><br />

comparación SQC comienzan a N7:0 y terminan en N7:9. En cambio, los datos <strong>de</strong> salida SQO<br />

comienzan en N7:10 y terminan en N7:19. Por favor, note que el paso 0 <strong>de</strong> la SQO nunca<br />

está activo. El renglón <strong>de</strong> restablecimiento combinado con la lógica <strong>de</strong> renglón <strong>de</strong> los<br />

secuenciadores garantiza que los secuenciadores siempre comiencen en el paso 1. Ambos<br />

secuenciadores también “avanzan” al paso 1. El “avance” al paso 1 es un elemento integral<br />

<strong>de</strong> todas las <strong>instrucciones</strong> <strong>de</strong> secuenciador.<br />

Datos <strong>de</strong> comparación SQC<br />

Direccciones Datos (Raíz=<strong>de</strong>cimal)<br />

N7:0 0 1 2 3 4 5 6 7 8 9<br />

N7:10 0 0 1 2 3 4 5 6 7 8<br />

Renglón 2:6<br />

Si el contador <strong>de</strong> alta velocidad alcanzó su valor alto preseleccionado <strong>de</strong> 350 (indica que<br />

el área <strong>de</strong> retención alcanzó la capacidad máxima), activará O:0/0, lo que <strong>de</strong>tendría la<br />

operación <strong>de</strong> llenado. Antes <strong>de</strong> volver a arrancar el dispositivo <strong>de</strong> llenado, permita que<br />

el empacador vacíe el área <strong>de</strong> retención hasta que contenga aproximadamente un 1/3 <strong>de</strong> su<br />

capacidad.<br />

| Interrupción Detención |<br />

| HSC <strong>de</strong>bido <strong>de</strong> llenado |<br />

| a valor preselecc alto |<br />

| |<br />

| C5:0 +LES–––––––––––––––+ O:3 |<br />

|––––] [–––––+LESS THAN +––––––––––––––––––––––+––––(U)–––––+–|<br />

| IH |Source A C5:0.ACC| | 0 | |<br />

| | 0| | | |<br />

| |Source B 150| | | |<br />

| | | | | |<br />

| +––––––––––––––––––+ | | |<br />

| | HSC Interr | |<br />

| | due to | |<br />

| | High Prest | |<br />

| | | |<br />

| | C5:0 | |<br />

| +––––(U)–––––+ |<br />

| IH |<br />

H–25


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

Ejemplo <strong>de</strong> aplicación <strong>de</strong> activación/<strong>de</strong>sactivación <strong>de</strong>l<br />

circuito<br />

H–26<br />

El ejemplo <strong>de</strong> aplicación siguiente ilustra cómo usar una entrada para alternar una<br />

salida a la posición <strong>de</strong> activación o <strong>de</strong>sactivación. Para obtener una explicación<br />

<strong>de</strong>tallada <strong>de</strong>:<br />

• las <strong>instrucciones</strong> XIC, XIO, OTE, OTU, OTL y OSR, vea el capítulo 1.<br />

• las <strong>instrucciones</strong> JMP y LBL, vea el capítulo 5.


Programas <strong>de</strong> ejemplo <strong>de</strong> aplicación<br />

Programa <strong>de</strong> escalera <strong>de</strong> activación/<strong>de</strong>sactivación <strong>de</strong>l<br />

circuito<br />

Renglón 2:0<br />

Efectúa un solo evento <strong>de</strong>s<strong>de</strong> el botón pulsador <strong>de</strong> entrada hasta un bit interno – el bit<br />

interno es verda<strong>de</strong>r durante un solo escán. Esto evita alternar la salida física en caso<br />

<strong>de</strong> que el botón pulsador se mantenga en la posición “ACTIVADA” durante más <strong>de</strong> un escán<br />

(siempre es el caso).<br />

| entrada <strong>de</strong> |OSR #1 | botón puls. |<br />

| botón puls.| | falso a |<br />

| | verda<strong>de</strong>ro |<br />

| I:1 B3 B3 |<br />

|––––] [–––––––[OSR]––––––––––––––––––––––––––––––––––––––––––( )–––––|<br />

| 0 1 0 |<br />

Renglón 2:1<br />

Si la entrada <strong>de</strong>l botón pulsador ha ido <strong>de</strong> falso a verda<strong>de</strong>ro y la salida está<br />

DESACTIVADA, ACTIVE la salida y salte el renglón siguiente al resto <strong>de</strong> los programas. Si<br />

la instrucción JMP no existiera, el renglón siguiente sería verda<strong>de</strong>ro y volvería a<br />

DESACTIVAR la salida.<br />

|botón puls.|Alternar Alternar |<br />

| falso a |salida salida |<br />

| verda<strong>de</strong>ro | |<br />

| B3 O:3 O:3 |<br />

|––––] [––––––––]/[––––––––––––––––––––––––––––––––––––+––––(L)–––––+–|<br />

| 0 0 | 0 | |<br />

| | Pasar al | |<br />

| | resto <strong>de</strong>l | |<br />

| | programa | |<br />

| | 1 | |<br />

| +–––(JMP)––––+ |<br />

| |<br />

Renglón 2:2<br />

Si el botón pulsador ha ido <strong>de</strong> falso a verda<strong>de</strong>ro y la salida está ACTIVADA, DESACTIVA la<br />

salida.<br />

|botón puls.|Alternar Alternar |<br />

| falso a |salida salida |<br />

| verda<strong>de</strong>ro | |<br />

| B3 O:3 O:3 |<br />

|––––] [––––––––] [–––––––––––––––––––––––––––––––––––––––––––(U)–––––|<br />

| 0 0 0 |<br />

Renglón 2:3<br />

Contiene la etiqueta correspondiente a la instrucción <strong>de</strong> salto en el renglón 1. El resto<br />

<strong>de</strong>l programa mismo se colocaría bajo este renglón.<br />

| Pasar al | Bit ficticio |<br />

| resto <strong>de</strong>l | |<br />

| programa | |<br />

| 1 B3 |<br />

|–––[LBL]–––––––––––––––––––––––––––––––––––––––––––––––––––––( )–––––|<br />

| 2 |<br />

Renglón 2:4<br />

| |<br />

|––––––––––––––––––––––––––––––––+END+––––––––––––––––––––––––––––––––|<br />

| |<br />

H–27


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

H–28


Indice<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Indice<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–29


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–30


Indice<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–31


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–32


Indice<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–33


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–34


Indice<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–35


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–36


Indice<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–37


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–38


Indice<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–39


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

I–40


Indice<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–41


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–42


Indice<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–43


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–44


Indice<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I–45


Manual Preface <strong>de</strong> referencia <strong>de</strong>l juego <strong>de</strong> instrucción<br />

I–46


Indice<br />

I–47


Con oficinas en las principales ciuda<strong>de</strong>s <strong>de</strong>l mundo.<br />

Rockwell Automation ayuda a sus clientes a lograr mejores ganancias <strong>de</strong> sus<br />

inversiones integrando marcas lí<strong>de</strong>r <strong>de</strong> la automatización industrial y creando así<br />

una amplia gama <strong>de</strong> productos <strong>de</strong> integración fácil. Estos productos disponen <strong>de</strong>l<br />

soporte <strong>de</strong> proveedores <strong>de</strong> soluciones <strong>de</strong> sistema a<strong>de</strong>más <strong>de</strong> los recursos <strong>de</strong><br />

tecnología avanzada <strong>de</strong> Rockwell.<br />

Alemania Arabia Saudita Argentina Australia Bahrein Bélgica Bolivia Brasil Bulgaria Canadá Chile Chipre Colombia Corea Costa Rica<br />

Croacia Dinamarca Ecuador Egipto El Salvador Emiratos Arabes Unidos Eslovaquia Eslovenia España Estados Unidos Finlandia Francia<br />

Ghana Grecia Guatemala Holanda Honduras Hong Kong Hungría India Indonesia Irán Irlanda Islandia Israel Italia Jamaica Japón<br />

Jordania Katar Kuwait Las Filipinas Líbano Macao Malasia Malta México Morruecos Nigeria Noruega Nueva Zelandia Omán Pakistán<br />

Panamá Perú Polonia Portugal Puerto Rico Reino Unido República Checa República <strong>de</strong> Sudáfrica República Dominicana República Popular<br />

China Rumania Rusia Singapur Suecia Suiza Taiwan Tailandia Trinidad Tunisia Turquía Uruguay Venezuela<br />

Se<strong>de</strong> central <strong>de</strong> Rockwell Automation: 1201 South Second Street, Milwaukee, WI 53204 USA, Tel: (1) 414–382–2000, Fax: (10) 414–382–4444<br />

Se<strong>de</strong> central europea <strong>de</strong> Rockwell Automation: Avenue Herrmann Debrouxlaan, 46, 1160 Bruselas, Bélgica, Tel: (32) 2 663 06 00, Fax: (32) 2 663 06 40<br />

Se<strong>de</strong> central <strong>de</strong> Asia–Pacífico <strong>de</strong> Rockwell Automation: 27/F Citicorp Centre, 18 Whitfield Road, Causeway Bay, Hong Kong, Tel: (852) 2887 4788,<br />

Fax: (852) 2508 1846<br />

Publicación <strong>1747</strong>-<strong>6.15ES</strong> – Enero 1996 PN 956713-63<br />

I–1<br />

Copyright 1997 Rockwell Automation

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!