Software para Aplicaciones Industriales 93 III. RSLOGIX 500 3.1. ORGANIZACIÓN DE MEMORIA La memoria del procesador incluye archivos de programa y archivos de datos. 3.1.1. ARCHIVOS DE PROGRAMA Los archivos del programa se subdividen de la siguiente forma: ARCHIVO 0 Son las funciones del sistema, adicionalmente utilizados para claves de acceso identificaciones entre otro. ARCHIVO 1 Es un archivo reservado para ser utilizado posteriormente. ARCHIVO 2 Aquí se almacena el programa principal. ARCHIVO 3-255 Estos archivos son accesados desde el programa del usuario cuando se emplean instrucciones de subrutina, esto se hace con el propósito de ahorrar memoria y reducir el tiempo de scan. 3.1.2. ARCHIVOS DE DATOS. Contiene los datos asociados con los archivos de programa, cada archivo del procesador puede tener hasta 256 archivos de datos, los archivos de datos contienen toda la información asociada con las entradas y salidas externas y todas las instrucciones que sean empleadas. Los archivos de datos almacenan información referente a la operación del procesador. D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 94 Con el fin de efectuar el direccionamiento, cada archivo está identificado con una letra y un numero de archivo. Los archivos de datos del 0 al 9 son archivos creados para el usuario y se emplean y se emplean por defecto, cuando se requiere almacenamiento adicional, el usuario puede crear otros archivos de datos empleando la letra de identificación correcta y un número de archivos de datos del 10 al 255. Los archivos de datos contienen elementos estos a su vez contienen palabras y las contienen bits. A continuación se describen brevemente los archivos de datos del 0 al 9: 1. Archivos de datos 0 y 1 (salidas y entradas): Los bits en el archivo de datos 0 representan salidas externas y los bits en el archivo 1 representan entradas externas. En la mayoría de los casos un slot en el PLC está representado por una palabra de 16 bits. Los bits que no sean empleados dentro de una palabra. son inválidos. 2. Archivos de datos 2 (STATUS): Este archivo identifica fallas y almacena información relativa a la operación del procesador. Los bits de status aritmético y registros matemáticos están contenidos en este archivo, igualmente modos del procesador, tiempo de scan, etc. 3. Archivo de datos 3 (Bit): La utilización principal es en instrucciones de lógica de relés, secuenciadores y registros móviles. Los elementos en estos archivos son de una palabra de 16 bits, con una capacidad máxima de 256 elementos, 0 4096 bits. 4. Archivo de datos 4 (temporizadores): Estos son elementos de 3 palabras. La palabra 0 es la palabra de control, la palabra 1 es el valor de preset y la palabra 2 es el valor acumulado. D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 95 5. Archivo de datos 5 (contadores): Igual que los temporizadores, son elementos de tres palabras y las mismas designaciones. La palabra 0 es la palabra de control, la palabra 1 es el valor de preset y la palabra 2 es el valor acumulado. 6. Archivo de datos 6 (control): Los elementos de este archivo son tres palabras. La palabra 0 es la palabra status, la palabra 1 representa la longitud de longitud almacenada y la palabra 3 indica la posición. Son utilizados para saltar a sitios determinados como subrutinas, regresar de las subrutinas, reset maestro, parada temporal y suspensión. 7. Archivo de datos 7 (enteros): Este archivo contiene elementos de una palabra. 8. Archivo de datos 8 (datos flotantes): Este archivo es usado por el SLC 5/03 con 05301 y SLC 5/04 con los 400 para almacenar datos flotantes, o sea que pueden llevar decimales. 9. Archivo de datos 9: Este archivo es definido por el usuario como bit, temporizadores, contadores, bloque de control, enteros y flotantes. 3.2. ESTRUCTURA DEL DIRECCIONAMIENTO Las direcciones están formadas por caracteres alfanuméricos separados por limitadores. Para nuestros propósitos el direccionamiento de entrada tiene la forma I: e/b donde: I = ENTRADA DE ARCHIVO DE DATOS : = ELEMENTO O SLOT DELIMITADOR e = NÚMERO DE SLOT DEL MODULO D ENTRADA / = BIT O TERMINAL DELIMITADOR b = NÚMERO DEL TERMINAL USADO CON EL DISPOSITIVO DE ENTRADA D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 96 El direccionamiento de salida tiene la forma O: e/b donde: O = SALIDA DE ARCHIVOS DE DATOS : = ELEMENTO O SLOT DELIMITADOR e = NUMERO DE SLOT DEL MODULO DE SALIDA / = BIT O TERMINAL DELIMITADOR b = NUMERO DEL TERMINAL USADO CON EL DISPGSITIVO DE SALIDA Por ejemplo: I : 1/0 = INPUT, SLOT l, TERMINAL 0 O: 3/0 = OUTPUT, SLOT 3, TERMINAL 0 O: 0/7 = OUTPUT, SLOT 0, TERMINAL 7 (Unicamente para los controladores FIXED porque su número de slot es 0) I: 0/4 = INPUT, SLOT 0, TERMINAL 4 (Unicamente para los controladores FIXED porque se número de slot es 0) 3.3. ESTADOS DE OPERACIÓN Los estados principales dentro del proceso son: Programa, RUN, Test (Scan continuo), Test (scan sencillo). • ESTADO DE PROGRAMA: Este estado permite descargar programas en la memoria. Cuando existe un programa en la memoria del procesador, no es posible descargar un programa diferente al menos que se este en el modo 0 estado de programa. En este estado se puede monitorear un programa, forzar entradas y salidas, utilizar las funciones de búsqueda y tener acceso y posibilidad de edición a los archivos de datos. Finalmente, se pueden realizar transferencias de programas de un procesador a un módulo de memoria o viceversa. D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 97 • ESTADO RUN: En este estado el procesador efectúa el ciclo de scan y ejecución de programas, monitoreando entradas y energizando salidas de acuerdo al programa. Es posible desempeñar funciones de monitoreo, forzar entradas/salidas, y accesar los archivos de datos para modificarlos. • ESTADO TEST (Scan Continuo): Similar al estado RUN, pero en este caso no son habilitadas las salidas, esto permite probar los programas o buscar errores sin correr peligro. • ESTADO TEST (Scan Sencillo): En este modo se observan los resultados de efectuar un solo barrido. Completo en el ciclo de operación. 3.4. PROGRAMACIÓN DE DIAGRAMA EN ESCALERA El diagrama en escalera es el programa del usuario que se introduce en la memoria del controlador y contiene instrucciones que representan elementos externos de entrada y salida. Puede contener instrucciones de lógica de relés, temporizadores y contadores, comparadores, instrucciones de move y lógicas, lo mismo que instrucciones para desplazamiento de bits y secuenciadores. Las instrucciones de tipo relé se resumen a continuación: ---] [--- (XIC) EXAMÍNESE SI CERRADO. Es análoga a un contacto abierto, se cuestiona al procesador si el contacto está abierto. D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 98 ---] / [--- (XIC) EXAMÍNESE SI ABIERTO. Análoga a un contacto cerrado, se cuestiona al procesador si el contacto está abierto. ---( )--- (OTE) SALIDA ENERGIZADA. Análoga a una bobina, se energiza si todo el camino (peldaño) del diagrama de escalera es verdadero. El programa de escalera se compone de peldaños individuales, con una o más instrucciones de entrada y una instrucción de salida. Estas primeras están en la parte izquierda del diagrama de escalera, las de salida a la derecha. Los estados lógicos 0 y 1 determinan si una instrucción es verdadera o falsa según la siguiente tabla: BIT XIC XIO OTE LÓGICA 0 FALSO VERDADERO FALSO LÓGICA 1 VERDADERO FALSO VERDADERO Cuando el procesador encuentra un camino continuo con instrucciones verdaderas, la instrucción se salida se convierte o permanece verdadera. Si el procesador no encuentra un camino continuo, es decir si existe alguna instrucción de entrada falsa, la instrucción de salida se convierte o permanece falsa. D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 99 3.5. INSTRUCCIONES FUNDAMENTALES DE LA FAMILIA SLC500 3.5.1 INSTRUCCIONES TIPO RELE Son funciones utilizadas para monitorear y controlar el estado bits en la tabla de datos, como bits de entrada o bits de control de temporizadores. XIC Cuando un dispositivo cierra su circuito, el modulo cuyo terminal de entrada está cableado al dispositivo detecta el circuito CERRADO. El procesador refleja este estado ON en la tabla de datos. La instrucción examina si el dispositivo está en ON (circuito CERRADO) en cuyo caso la misma es VERDADERA. XIO Cuando un dispositivo abre su circuito, el módulo cuyo terminal de entrada está cableado al dispositivo detecta el circuito CERRADO. El procesador refleja este estado OFF en la tabla de datos. La instrucción examina si el dispositivo está en OFF (circuito ABIERTO) en cuyo caso la misma es VERDADERA. OTE Se usa para controlar bits en memoria, que puede corresponder a una salida física. Si las condiciones precedentes son verdaderas el procesador habilita la instrucción y energiza el bit respectivo. Si alguna condición es FALSA el bit es desenergizado. Se asemeja a la bobina de un relé. OTL Es una instrucción de salida que mantiene energizado un bit después de ser verdadera su condición (no puede desenergizarlo). Se usa normalmente en pares en un OTU, direccionando ambas el mismo bit. OTU Es una instrucción de salida retentiva que sirve para apagar o desenergizar un bit (no puede energizarlo) una vez es enganchado. Se usa normalmente en pares con una OTL, direccionando ambas el mismo bit. D.E.I.C. - F.I.E.T. Universidad del Cauca 100 Software para Aplicaciones Industriales 3.5.2 TEMPORIZADOS Y CONTADORES 3.5.2.1 FUNCIONES DE TEMPORIZACION Los temporizadores son posiciones de memoria que permiten retardar por un intervalo de tiempo una señal. El procesador controla los intervalos de tiempo (de acuerdo con una base D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 101 C. RTO: Es igual que el TON, pero mantiene el valor acumulado aunque la condición se haga falsa. Para reiniciarlo se necesita utilizar una función de RE.SET. Figura 3.1. Diagrama de Temporización de TON. Figura 3.2. Diagrama de Temporización de TOFF. D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 102 Figura 3.3. Diagrama de Temporización de RTO. 3.5.2.2 FUNCIONES DE CONTADORES Los contadores son posiciones, de memoria, que cuentan eventos registrando transiciones de falso a verdadero en la condición. Tiene al igual que los temporizadores, los valores asociados de PRESET y ACUMULADO. Son elementos de tres palabras, que almacenan la palabra de CONTROL, el PRESET y el ACUMULADO respectivamente. Existen tres tipos: CTU: Contador ascendente CTD: Contador descendente HSC: Contador de alta velocidad D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 103 A. CTU: Cuando hay una transición falso - verdadero en la condición, el acumulador se incrementa en UNO. Al alcanzar el PRESET, el bit DN se coloca en ON y el contador sigue activo (Retentivo) a menos que se reinicie con la función RESET. B. CTD: También transiciones falso - verdadero en la condición, pero el valor del acumulador es disminuido en UNO. Al alcanzar el 0 el bit DN se coloca en OFF, aunque el contador sigue activo. Se coloca de nuevo en el valor del PRESET gracias a la función RESET. C. HSC: Contador de alta velocidad Figura 3.4. Diagrama de Conteo de CTU. D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 104 Figura 3.5. Diagrama de Conteo de CTD. 3.5.3 FUNCIONES DE COMPARACIÓN Son instrucciones de entrada que permiten comparar valores, enteros. Estas incluyen: A. EQU: Igual que. Cuando los valores de las fuentes A y B son iguales, la instrucción es lógicamente verdadera. B. NEQ: Diferencia. Cuando los valores de las fuentes A y B son diferentes, la instrucción es lógicamente verdadera C. LES: Menor que. Cuando el valor de la fuente A es menor que el de la fuente B, la instrucción es lógicamente verdadera D. LEQ: Menor o igual. Cuando el valor de la fuente A es menor o igual que el de la fuente B, instrucción es lógicamente verdadera E. GRT: Mayor que. Cuando el valor de la fuente A es mayor que el de la fuente B, la instrucción es lógicamente verdadera. D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 105 F. GEQ: Mayor o igual. Cuando el valor de la fuente A es mayor o igual que el de la fuente B, la instrucción es lógicamente verdadera. G. MEQ: Comparación de igualdad con máscara. Esta instrucción compara el dato de una dirección fuente con el de una dirección de referencia y permite que partes de la palabra fuente sean enmascaradas por una palabra independiente. Los parámetros de la función son: - SOURCE: Es la dirección del valor que se requiere comparar. - MASK: Es la dirección de la mascara a través de la cual la instrucción mueve los datos. - COMPARADOR: Es un valor entero o la dirección de la referencia. 3.5.4. FUNCIONES LÓGICAS Y ARITMÉTICAS 3.5.4.1. OPERACIONES LÓGICAS Son instrucciones de salida que permitan ejecutar operaciones lógicas entre palabras individuales: AND, OR, XOR Y NOT. A. AND: Ejecuta la acción lógica AND entre las palabras de las fuentes bit a bit y almacena el resultado en el destino. B. OR: Ejecuta la función lógica OR entre las palabras de las fuentes, bit a bit y almacena el resultado en el destino. C. XOR: Ejecuta la función lógica XOR entre las palabras de las fuentes, bit a bit y almacena el resultado en el destino. D. NOT: Ejecuta la función lógica NOT en el valor de la fuente y almacena el resultado en el destino. Los parámetros requeridos son: • SOURCES: Direcciones donde los valores sobre los cuales se va a ejecutar la operación. D.E.I.C. - F.I.E.T. Universidad del Cauca 106 • Software para Aplicaciones Industriales DESTINATION: Dirección donde se colocará el resultado de la operación. Estas instrucciones afectan algunos bits de STATUS aritmético: Zero (Z) y sign (S). 3.5.4.2. FUNCIONES ARITMÉTICAS Son instrucciones de salida que permiten realizar operaciones matemáticas y cómputos en palabras individuales, y/o direcciones de palabra. Los parámetros de la instrucción son: • SOURCE (S): Dirección (es) de los valores sobre los cuales se va a ejecutar la operación. • DESTINATION: Dirección donde se almacenará el resultado. Incluyen: A. ADD: SUMAR. Los valores de las fuentes son sumados y su resultado almacenado en el destino. B. SUB: RESTAR. El valor de la fuente B es restado del valor en la fuente A y su resultado almacenado en el destino. C. MUL: MULTIPLICAR. Los valores de las fuentes son multiplicados y su resultado es almacenado en el destino. Se afecta también el REGISTRO MATEMÁTICO, que contendrá el entero con signo en 32 bits. Si hay overflow, 32767 es colocado en el destino y el bit de MINOR-ERROR se coloca en ON. D. DIV: DIVIDIR. El valor de la fuente A es dividido por el de la fuente B y el cociente redondeado se almacena en el destino. En el MSW (palabra más significativa) del REGISTRO MATEMÁTICO se guarda el cociente sin redondear y en la LSW el D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 107 residuo. Si hay overflow, -32767 es colocado en el destino y el bit de MINOR-ERROR se coloca en ON. E. DDV: DOBLE DIVISIÓN. El contenido del REGISTRO MATEMÁTICO es dividido por el valor de la fuente. El cociente redondeado se coloca en el destino. De nuevo, la MSW (masf significated word) del REGISTRO MATEMÁTICO contendrá al final de la operación el cociente sin redondear y el LSW (least significant word) el residuo. F. NEG: NEGAR. El valor de la fuente es restado de zero y luego almacenado en el destino. G. CLR: BORRAR. El valor en el destino es borrado, y colocado en zero. H. TOD: CONVERTIR A BCD. Un valor entero almacenado en la fuente es convertido a BCD y su equivalente es almacenado en el REGISTRO MATEMÁTICO. Se usa cuando se desea indicación en display o transferir valores BCD externos al procesador. Lo que se utiliza para la conversión es el valor absoluto del número entrado. I. FRD: CONVERTIR DESDE BCD. Un valor BCD contenido en el REGISTRO MATEMÁTICO es convertido a entero y el equivalente entero es almacenado en el destino. Los valores BCD deben convertirse primero en enteros, antes de ser manipulados en el programa en escalera, de los contrario el procesador los manipula como enteros y su valor se pierde. J. SQR: EXTRAER RAÍZ CUADRADA. Obtiene la raíz cuadrada de un valor y almacena el resultado en el destino. D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 108 3.5.5. INSTRUCCIONES Y TÉCNICAS DEL CONTROL DE PROGRAMA Y DIAGNOSTICO Los parámetros que requieren esta instrucción son: • FILE: Dirección del archivo secuenciador. • MASK: Es un código hexadecimal o la dirección de la palabra (o archivo) a través de la cual, la instrucción mueve los datos. • SOURCE (SQC·SQL): Es la dirección de la palabra o archivo de entrada a comparar. • DFST (SQO): Es la dirección de la palabra de salida. • CONTROL: Es la dirección del elemento de control de la instrucción. • LENGTH: Es el numero de pasos del archivo secuenciado, iniciando en la posición numero 1. • POSITION: Es la ubicación de la palabra o paso en el archivo secuenciado, desde o hacia donde la instrucción mueve los datos. Estas instrucciones incluyen: A. JMP: Salto a etiqueta B. LBL: Etiqueta C. SQC: Secuenciador de comparación: Compara datos de 16 bits con datos almacenados para monitorear condiciones de operación o con propósitos de diagnostico. D. SQL: Secuenciador de carga: Instrucción que transfiere datos desde una palabra fuente hacia un archivo, donde los va cargando secuencialmente. E. SQO: Cuando hay una transición falso - verdadero, la instrucción incrementa al siguiente paso dentro del archivo secuenciado y transfiere esta información a la palabra de salida a través de la mascara. F. SQC: Cuando hay una transición falso - verdadero, la instrucción incrementa al siguiente paso dentro del archivo secuenciador y transfiere esta información a la palabra de salida a través de la mascara. Si hay coincidencia entonces el bit FD se coloca en ON. D.E.I.C. - F.I.E.T. Universidad del Cauca 109 Software para Aplicaciones Industriales G. SQL: Cuando hay una transición falso - verdadero, la instrucción incrementa al siguiente paso dentro del archivo secuenciador y carga el contenido de la palabra fuente. H. RET: Retorno de subrutina. I. MCR: Control de reseteo maestro. J. TND: Final temporal. K. JSR: Salto a subrutina. L. SBR: Archivo de subrutina de programa. M. JMP: Cuando la condición es verdadera el procesador salta hacia adelante o atrás a la correspondencia etiqueta (LBL) y retoma el programa después de la ejecución de la etiqueta. Más de una instrucción JMP puede ir al mismo LBL. Esta función mantiene los bits de salida en su último estado. N. LBL: Esta instrucción destino del JMP. Hasta 256 etiquetas pueden incluirse en el programa o subrutina. O. MCR: Es una instrucción de salida que permite al procesador habilitar o inhabilitar una zona del programa en escalera, de acuerdo a la lógica de la aplicación. Cuando la condición es FALSA, todas las salidas no retentivas son inhabilitadas y el procesador escanea todas las instrucciones de salida, las salidas actúan normalmente como si la zona no existiera. P. TND: Cuando la condición es VERDADERA, detiene el scan del procesador para el resto del programa, actualiza las entradas / salidas y continua el scan en el renglón 1 del programa principal. Q. JSR: Salto a subrutina; cuando la condición que la activa se hace verdadera, el procesador salta a un archivo de subrutina separado, identificado por un descriptor de archivo y si es requerido define los parámetros pasados hacia y recibidos desde la subrutina. R. SBR: Subrutina: Es la primera instrucción en un archivo de subrutina, e identifica parámetros, de entrada que el procesador recibe de la correspondiente instrucción JSR. No es necesaria cuando no se pasa parámetros a la subrutina. S. RET: Retorno: Instrucción de fin de subrutina y que almacena los parámetros de retorno a ser devuelto hacia la instrucción JSR en el programa principal. D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 110 T. AFI: Siempre Falso: Instrucción para inhabilitar un renglón. U. ONS: One Shot: Si las condiciones de entrada son verdaderas, la instrucción ONS condiciona al renglón como verdadero, solo durante un scan. En los scan sucesivos el renglón es falso. Figura 3.6. Subrutinas Anidadas. 3.5.6. FUNCIONES DE DESPLAZAMIENTO Y SECUENCIADORES 3.5.6.1. REGISTROS DE DESPLAZAMIENTO Esta instrucción de salida, carga datos dentro de un arreglo de bits, un bit a la vez. Los datos son desplazados a través del arreglo, luego descargados un bit a la vez. Existen dos tipos de instrucción: A. BSL: Desplazamiento a izquierda B. BSR: Desplazamiento a derecha D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 111 Los parámetros son: • FILE: La dirección del arreglo de bits que se desea manipular. • CONTROL: La dirección del elemento de control de la instrucción. • BIT ADDRESS: Dirección del bit fuente (que será colocado en la primera posición (BSL) o en la ultima (BSR) del arreglo. • LENGTH: Numero de bits en el arreglo. 3.5.6.2. SECUENCIADORES Son instrucciones usadas generalmente en maquinas de control numérico. • SQO: Secuenciador de salida: Es una instrucción que transfiere datos de 16 bits a direcciones de palabras de salida para el control de operaciones secuenciales. 3.5.6.3. FUNCIONES DE DESPLAZAMIENTO DE DATOS: LIFO Y FIFO A. FIFO: Primero en entrar, primero en salir. B. FFL: Carga palabra dentro de un archivo creado por el usuario llamado FIFO stack (pila). C. FFU: Descarga palabras desde el FIFO stack (pila) en el mismo orden en que fueron cargadas. D. LIFO: Ultimo en entrar, ultimo en salir. E. LFL: Carga palabras dentro de un archivo creado por el usuario, llamado LIFO stack (pila). F. LFU: Descarga las palabras de archivo LIFO, iniciando en la ultima posición cargada. Los parámetros requeridos son: • SOURCE: Es la dirección de la palabra o constante que va a ser cargada en la pila FIFO. D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 112 • DESTINATION: Es la dirección de la palabra o constante que sale de la pila FIFO. • FIFO (LIFO): Es la dirección de la pila, o archivo del usuario. Igual dirección para FFU y FFL (LFU y LFL). • LENTGH: Es la longitud o numero de elementos de la pila, máximo hasta 128. Igual dirección para FFL y FFU (LFU y LFL). • POSITION: Es la siguiente posición disponible en la pila, donde carga la palabra. Igual para FFL y FFU. • CONTROL: Es la dirección de la instrucción, donde se almacena los bits de status, la longitud de la pila y la posición. 3.5.7. FUNCIONES DE MANEJO DE DATOS ANÁLOGICOS Son instrucciones de salida para transferencia de información entre archivos. Son varios tipos: 3.5.7.1. INSTRUCCIONES GENERALES A. SCALE: Escalizar valores. Esta instrucción puede ser usada para resolver ecuaciones lineales de la forma: Destino = (Rata/10000) * Fuente + OFFSET B. MOV: El procesador mueve el contenido de una dirección hacia un destino. Sus parámetros son: • - Source: Es la dirección del dato que se desea mover. - Destino: Es la dirección hacia la cual, la instrucción mueve el dato. MVM: Es una palabra de instrucción que mueve datos desde una dirección hasta un destino, a través de una mascara. Sus parámetros son: - Source: Es la dirección del dato que se desea mover. - Mascara: Es la dirección de la mascara a través de la cual, la instrucción mueve el dato. Puede ser un valor hexadecimal. D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 113 • COP: Esta instrucción copia datos de un sitio a otro de la memoria. Sus parámetros son: • - Source: Es la dirección del archivo que se desea copiar. - Destino: Es la dirección de inicio del destino. - Lenght: Es el número de elementos en el archivo que se desea copiar. FILL: Esta instrucción carga elementos de un archivo con una constante o el contenido de una dirección. Sus parámetros son: - Source: La constante o dirección del elemento fuente. - Dest: La dirección de inicio del archivo que se desea llenar. - Length: Es el número de elementos en el archivo que se quiere llenar. Para todas las instrucciones, el tipo de archivos del destino determina el número de palabras que la instrucción transfiere. Por ejemplo, si el destino es un contador y la fuente es un entero, entonces 3 palabras enteras son transferidas por cada elemento en el archivo de destino. 3.5.7.2. ACTUALIZACIÓN INMEDIATA DE ENTRADAS/SALIDAS Estas instrucciones cuando son habilitadas, interrumpen el scan del programa para actualizar datos de entrada/salida. La instrucción para entradas mueve el último dato de entrada disponible desde un slot a través de una máscara y la hace disponible para las siguientes instrucciones en el diagrama de escalera. La instrucción inmediata para salidas, actualiza las salidas en un slot con datos movidos a través de una máscara, basado en decisiones de la lógica del diagrama de escalera precedente. • IIM: Entrada inmediata: El dato de entrada es movido a través de una máscara, y colocado en la tabla de imágenes de entrada. Sus parámetros son: D.E.I.C. - F.I.E.T. Universidad del Cauca 114 Software para Aplicaciones Industriales - SLOT: Especifica el número de slot y el número de palabra perteneciente a ese slot. - MASCARA: Dirección de la máscara constante hexadecimal. • IOM: Salida inmediata: el dato de salida es movido a través de una máscara y colocado en la tabla de imágenes de salida. Sus parámetros son los mismos de la IIM. 3.5.8. INSTRUCCIONES DE MENSAJE Permite transferencia de datos hacia y desde procesadores en una red DH485. Transfiere hasta 1000 elementos de datos, cuyo tamaño depende de la sección de la tabla de datos especificada y el tipo de comando de mensaje usado. Se transfiere paquetes hasta 120 palabras: a mayor número de paquetes mayor tiempo toma la transferencia. La información acerca del tipo de mensaje, la fuente, el destino y además se almacena en el bloque de control (N o MG Files). MODO CONTINUO Permite ejecutar múltiples transferencias de mensajes programando sólo una instrucción (sin condición de entrada). Una vez que la transferencia inicia, es ejecutada continuamente independiente de que el procesador continúe o no escaneando el renglón asociado. MODO NO CONTINUO Ejecuta la transferencia del mensaje una vez para cada transferencia falso - verdadero de la condición del renglón asociado. 3.5.9. DIRECCIONAMIENTO INDEXADO Una dirección indexada es aquella derivada de una valor de offset adicionado a una dirección base. Este direccionamiento aplica a direcciones de palabras en archivos de bits, enteros y palabras 1 y 2 y temporizadores, contadores y de control. D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 115 Una dirección indexada es un archivo entero de bits, es desplazada de su dirección base el número de palabras que se especifiquen en la palabra 24 del archivo de STATUS. La operación toma lugar en la dirección más el número offset de palabras. 3.5.10. INSTRUCCIÓN P.I.D Es la instrucción que permite monitoreo del proceso y controlar, lazos cerrados de variables como presión, temperatura, flujo y nivel. Sus características principales son: - Ecuaciones PID expresadas en ganancias ISA o independientes - Escalización de Entradas en unidades de ingeniería. - Banda muerta de cruce por zero. - Término derivativo (actúa sobra PV o Error). - Acción de control directa o reversa. - Alarmas de salidas. - Limites de salidas. La instrucción se puede efectuar periódicamente a intervalos constantes utilizando un temporizado, interrupciones de tiempo seleccionable (STI) o muestreo en tiempo real. El programa en escalera puede interactuar con el algoritmo PID cambiando variables durante la operación o mediante terminales de programación o desde estaciones en una red de comunicaciones como DH ó DH+. En la figura 3.7 se muestra la estructura del bloque de control de la Instrucción PID con la descripción de sus 32 palabras constitutuivas. D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 116 Figura 3.7. Bloque de Control de Instrucción PID. D.E.I.C. - F.I.E.T. Universidad del Cauca Software para Aplicaciones Industriales 117 3.5.11. INTERRUPCIONES DE TIEMPO SELECCIONABLES La función (STI), interrupción de tiempos seleccionables, permite interrumpir el Scan del programa principal automáticamente, sobre una base periódica para hacer scan sobre un archivo de subrutina, tras de lo cual se retorna al programa principal. EI procedimiento básico para función STI consiste en crear un archivo de subrutina o archivo STI. En la palabra 31 del archivo de STATUS se almacena este número y en la 30 el setpoint debe ser un tiempo mayor que el de ejecución del archivo de subrutina. Esta instrucción es habilitada o inhabilitada mediante las instrucciones de salida STD (Inhabilitar Tiempo Seleccionable) y STE (Habilitar Tiempo Seleccionable) respectivamente. Adicionalmente existe la instrucción STS (Inicio inmediato de tiempo seleccionable), que requiere se entre el archivo STI y el setpoint. Cuando la condición es verdadera, estos datos son cargados en las palabras 30 y 31 del archivo de STATUS, de forma que sobreescribe y resetea el temporizado de STI. D.E.I.C. - F.I.E.T. Universidad del Cauca