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