Está en la página 1de 400

Allen-Bradley

Controladores Logix5000
(Num. cat.) 1756-L1, -L1Mx

Manual de referencia del conjunto de instrucciones generales

Informacin importante para el Debido a la variedad de usos de los productos descritos en esta publicacin, las personas responsables de la aplicacin y uso de este equipo de control usuario
deben asegurarse de que se hayan seguido todos los pasos necesarios para que cada aplicacin y uso cumplan con todos los requisitos de rendimiento y seguridad, incluyendo leyes, normativas, cdigos y normas aplicables.

Los ejemplos de ilustraciones, grficos, programas y esquemas mostrados en esta gua tienen la nica intenci de ilustrar el testo. Debido a las muchas variables y requisitos asociados con cualquier instalacin particular, Allen-Bradley no puede asumir responsabilidad u obligacin (incluyendo responsabilidad de propiede intelectual) por el uso real basado en los ejemplos mostrados en esta publicacin. La publicacin de Allen-Bradley, publicacin SGI-1.1, Safety Guidelines for the Application, Installation and Maintenance of Solid-State Control (disponible en la oficina de Allen-Bradley local), describe algunas diferencias importantes entre equipos transistorizados y dispositivos electromecnicos, las cuales deben tomarse en consideracin al usar productos tales como los descritos en esta publicacin. Est prohibida la reproduccin total o parcial de los contenidos de esta publicacin de propiedad exclusiva sin el permiso escrito de Rockwell Automation. En este manual hacemos anotaciones para advertirle sobre consideraciones de seguridad: ATENCION: Identifica informacin o prcticas o circunstancias que pueden conducir a lesiones personales o la muerte, daos materiales o prdidas econmicas.

Las notas de Atencin le ayudan a: identificar un peligro evitar un peligro reconocer las consecuencias Importante: Identifica informacin crtica para una correcta aplicacin y entendimiento del producto.
I

Identifica un consejo o nota. Srvase tomar nota de que en esta publicacin se usa el punto decimal para separar la parte enter de la decimal de todos los nmos.
Allen-Bradley, ControlLogix, DH+, Logix5000, Logix5550, MicroLogix, PLC-2, PLC-3, PLC-5, Rockwell Software, RSLinx, RSNetWorx y SLC son marcas comerciales de Rockwell Automation. ControlNet es una marca comercial de ControlNet International, Ltd. DeviceNet es una marca comercial de Open DeviceNet Vendor Association. Ethernet es una marca comercial de Digital Equipment Corporation, Intel y Xerox Corporation.

1756-6.4.1ES - Octubre 1999

Resumen de cambios

Introduccin

Esta versin del documento contiene nueva informacin actualizada. Adems, se ha eliminado alguna informacin o se incluye en otro manual.

Informacin actualizada

La siguiente tabla indica los cambios ms significativos efectuados en este documento desde la versin ms reciente:
Para obtener esta informacin nueva o actualizada: Cmo especificar los detalles de comunicacin (ficha Comunicacin) de una instruccin de mensaje Cmo obtener acceso al objeto TASK Cmo formatear expresiones El uso de los operadores ABS, MOD y TRN Fracciones en el resultado de un DIV y SQR El valor absoluto y las instrucciones de mdulo La instruccin de truncar Valores inmediatos Conversiones de datos Los tiempos de ejecucin de instrucciones Requisitos de memoria de extensin con signo Requisitos de memoria de relleno con ceros Vea el captulo: 3

3 4, 5 y 7 4, 5 y 7 5 5 15 Apndice A Apndice A Apndice C Apndice D Apndice D

Informacin eliminada

La siguiente tabla indica la informacin que ha sido eliminada de este manual pero que se puede encontrar en otros manuales:
Para obtener informacin acerca de: Vea este manual:

Instrucciones de movimiento Logix5000 Controllers Motion Instruction Set Reference Manual, publicacin 1756-6.4.3 Terminologa Logix5000

Manual del usuario de controladores Logix5000 , publicacin 1756-6.5.12ES

1756-6.4.1ES - Octubre de 1999

Resumen de cambios

Notas:

1756-6.4.1ES - Octubre de 1999

Ubicacin de instrucciones

Dnde se encuentran las instrucciones

Use la tabla siguiente para encontrar las instrucciones que aparecen en este manual. Si ve las letras MIM al lado de una instruccin, vea el documento Logix5000 Controllers Motion Instruction Set Reference Manual, publicacin 1756-6.4.3, para obtener ms informacin acerca de la instruccin.

Instruccin: ABS ACS ADD AFI AND ASN ATN AVE BRK BSL BSR BTD BTR (tipo MSG) BTW (tipo MSG) CLR CMP COP COS CPT CTD CTU DDT DEG DIV DTR EQU FAL FBC FFL FFU FLL For FRD FSC

Pgina o manual: 5-19 13-10 5-6 10-15 6-9 13-8 13-12 7-35 11-5 8-2 8-5 6-5 3-2 3-2 6-8 4-2 7-28 13-4 5-2 2-14 2-11 12-9 15-2 5-12 12-16 4-6 7-7 12-2 8-8 8-14 7-32 11-2 15-6 7-18

Instruccin: GEQ GRT GSV JMP JSR LBL LEQ LES LFL LFU LIM LN LOG MAAT MAFR MAG MAH MAHD MAJ MAM MAPC MAR MAS MASD MASR MATC MAW MCCP MCD MCR MDF MDO MDR MDW

Pgina o manual: 4-8 4-10 3-27 10-2 10-4 10-2 4-12 4-14 8-20 8-26 4-16 14-2 14-4 MIM MIM MIM MIM MIM MIM MIM MIM MIM MIM MIM MIM MIM MIM MIM MIM 10-11 MIM MIM MIM MIM

Instruccin: MEQ MGPS MGS MGSD MGSP MGSR MOD MOV MRAT MRHD MRP MSF MSG MSO MUL MVM NEG NEQ NOP NOT ONS OR OSF OSR OTE OTL OTU PID RAD RES RET RTO SBR SIN

Pgina o manual: 4-19 MIM MIM MIM MIM MIM 5-14 6-2 MIM MIM MIM MIM 3-2 MIM 5-10 6-3 5-18 4-22 10-16 6-15 1-9 6-11 1-14 1-11 1-6 1-7 1-8 12-19 15-3 2-18 10-4, 11-6 2-8 10-4 13-2

1756-6.4.1ES - Octubre de 1999

Ubicacin de instrucciones

Instruccin: SQI SQL SQO SQR SRT SSV STD SUB TAN TND TOD TOF TON TRUN UID UIE XIC XIO XOR XPY

Pgina o manual: 9-2 9-11 9-6 5-16 7-39 3-27 7-42 5-8 13-6 10-10 15-4 2-5 2-2 15-8 10-13 10-14 1-2 1-4 6-13 14-6

1756-6.4.1ES - Octubre de 1999

Prefacio

Cmo usar este manual

Introduccin
Tarea/meta: Instalacin del controlador y los componentes del mismo Uso del controlador

Este manual forma parte de varios documentos acerca de ControlLogix.


Documentos:

Inicio rpido del controlador Logix5550, publicacin 1756-10.1ES Instrucciones de instalacin de la tarjeta de memoria Logix5550, publicacin 1756-5.33ES Logix5000 Controllers User Manual, publication 1756-6.5.12

Programar el controlador para aplicaciones Manual de referencia del conjunto de instrucciones generales Logix5000, publicacin 1756-6.4.1ES secuenciales
Usted est aqu

Programar el controlador para aplicaciones Logix5000 Controllers Motion Instruction Set Reference Manual, publication 1756-6.4.3 de movimiento Configuracin y comunicacin con los mdulos de E/S digitales Configuracin de los mdulos de E/S analgicas Configuracin y uso de los mdulos de movimiento Seleccin e instalacin de un chasis Seleccin e instalacin de una fuente de alimentacin elctrica Importar un archivo o tags de texto en un proyecto Exportar un proyecto o tags a un archivo de texto Convertir una aplicacin PLC-5 SLC 500 a Logix5550 Controller Converting PLC-5 or SLC 500 Logic to Logix5550 Logic Reference Manual, publication 1756-6.8.5 una aplicacin Logix5000

Digital Modules User Manual, publicacin 1756-6.5.8 Analog Modules User Manual, publicacin 1756-6.5.9 ControlLogix Motion Module User Manual, publicacin 1756-6.5.16 ControlLogix Chassis Installation Instructions, publicacin 1756-5.69 Instrucciones de instalacin de la fuente de alimentacin elctrica ControlLogix, publicacin 1756-5.1ES Logix5550 Controller Import/Export Reference Manual, publication 1756-6.8.4

Quin debe usar este manual

Este documento proporciona al programador los detalles acerca de cada instruccin disponible para un controlador Logix5550. Usted ya debe estar familiarizado con la manera en que el controlador Logix5550 almacena y procesa los datos. Los usuarios sin experiencia deben leer todos los detalles acerca de una instruccin antes de usar sta. Los programadores con experiencia pueden consultar la informacin de instrucciones para verificar los detalles.

1756-6.4.1ES - Octubre de 1999

Cmo usar este manual

Propsito de este manual

Este manual proporciona informacin acerca de cada instruccin que es compatible con los controladores Logix5000. Cada descripcin se presenta segn el formato siguiente:
Proporciona este tipo de informacin: Identifica la instruccin define si la instruccin es para la entrada o la salida indica todos los operandos de la instruccin indica los bits y valores de estado de control de la instruccin, si los hay describe el uso de la instruccin define las diferencias entre la instruccin habilitada e inhabilitada, si fuese necesario define las especificaciones acerca de cmo funciona la instruccin durante: preescn condicin de entrada de rengln es falsa condicin de entrada de rengln es verdadera define si la instruccin afecta o no los indicadores de estado aritmtico vea el apndice A define si la instruccin genera o no fallos menores o mayores, de ser s, define el tipo y cdigo de fallo proporciona por lo menos un ejemplo de programacin incluye una descripcin que explica cada ejemplo

Esta seccin: Nombre de la instruccin Operandos Estructura de control Descripcin

Ejecucin

Indicadores de estado aritmtico Condiciones de fallo Ejemplo

Informacin comn para todas El conjunto de instrucciones Logix5000 tiene algunos atributos comunes: las instrucciones
Esta informacin: atributos comunes Vea este apndice: el apndice A define: indicadores de estado aritmtico tipos de datos palabras clave el apndice B define los arreglos y explica cmo el controlador manipula los mismos el apndice C ilustra las estructuras de control compatibles con el controlador

arreglos estructuras

Convenciones y trminos afines

Establecer y restablecer
Este manual usa los trminos establecer y restablecer para definir el estado de los bits (booleanos) y valores (no booleanos):
Este trmino: establecer Significa: el bit est establecido en 1 (ON) el valor est establecido en cualquier nmero que no sea cero el bit est restablecido en 0 (OFF) todos los bits en un valor estn restablecidos en 0

restablecer

1756-6.4.1ES - Octubre de 1999

Cmo usar este manual

En la seccin de operandos, los tipos de datos con letras negritas indican los tipos de datos ptimos. Una instruccin se ejecuta ms rpidamente y requiere menos memoria si todos los operandos de la instruccin usan el mismo tipo de datos ptimo, tpicamente DIN o REAL.

Condicin del rengln


El controlador evala las instrucciones de lgica de escalera segn la condicin de rengln que precede la instruccin (condicin de entrada de rengln). Segn la condicin de de entrada de rengln y la instruccin, el controlador establece la condicin de rengln que sigue la instruccin (condicin de salida de rengln), lo cual, a su vez, afecta cualquier instruccin subsiguiente.

instruccin de entrada

instruccin de salida

condicin de entrada de rengln

condicin de salida de rengln

Si la condicin de entrada de rengln de una instruccin de entrada es verdadera, el controlador evala la instruccin y establece la condicin de rengln de entrada segn los resultados de la instruccin. Si la instruccin evaluada es verdadera, la condicin de rengln de entrada es verdadera; si la instruccin evaluada es falsa, la condicin de rengln de salida es falsa.

1756-6.4.1ES - Octubre de 1999

Cmo usar este manual

Notas:

1756-6.4.1ES - Octubre de 1999

Tabla de contenido
Capitulo 1 Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 Examine If Closed (XIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Examine If Open (XIO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Output Energize (OTE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 Output Latch (OTL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 Output Unlatch (OTU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 One Shot (ONS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 One Shot Rising (OSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11 One Shot Falling (OSF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14

Capitulo 2 Instrucciones de temporizador Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 y contador (TON, TOF, RTO, CTU, Timer On Delay (TON) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Timer Off Delay (TOF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 CTD, RES)
Retentive Timer On (RTO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 Count Up (CTU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11 Count Down (CTD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14 Reset (RES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18

Chapter 3 Instrucciones de entrada/ salida (MSG, GSV, SSV)


Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 Message (MSG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 MSG Error Codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Cdigos de error ControlLogix (CIP) . . . . . . . . . . . . . . . . . . . 3-7 Cdigos de error extendidos ControlLogix . . . . . . . . . . . . . . . 3-8 Cdigos de error PLC y SLC (.ERR). . . . . . . . . . . . . . . . . . . . 3-9 Cdigos de error extendidos PLC y SLC (.EXERR) . . . . . . . 3-10 Cdigos de error de transferencia en bloques . . . . . . . . . . . . 3-11 Cdigos de error Logix5550 . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 Cdigos de error extendidos Logix5550 . . . . . . . . . . . . . . . . 3-12 Cmo especificar los detalles de configuracin (ficha Configuracin). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13 Cmo especificar los mensajes CIP . . . . . . . . . . . . . . . . . . . . 3-14 Cmo usar mensajes CIP genrico para restablecer los mdulos de E/S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 Cmo especificar los mensajes PLC-5. . . . . . . . . . . . . . . . . . 3-16 Cmo especificar los mensajes SLC . . . . . . . . . . . . . . . . . . . 3-17 Cmo especificar los mensajes de transferencia en bloques . . 3-17 Cmo especificar los mensajes PLC-3. . . . . . . . . . . . . . . . . . 3-18 Cmo especificar los mensajes PLC-2. . . . . . . . . . . . . . . . . . 3-19 Ejemplos de configuracin MSG. . . . . . . . . . . . . . . . . . . . . . . . . 3-20 Cmo especificar los detalles de comunicacin (ficha Comunicacin). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21 Cmo especificar una ruta de conexin . . . . . . . . . . . . . . . . . 3-21 Cmo especificar un mtodo de comunicacin: . . . . . . . . . . 3-25 Cmo seleccionar una opcin de cach: . . . . . . . . . . . . . . . . 3-26 Get System Value (GSV) y Set System Value (SSV) . . . . . . . . . 3-27
1756-6.4.1ES - Octubre 1999

Tabla de contenido

ii

Objetos GSV/SSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cmo obtener acceso al objeto AXIS . . . . . . . . . . . . . . . . . . Cmo obtener acceso al objeto CONTROLLER . . . . . . . . . . Cmo obtener acceso al objeto CONTROLLERDEVICE . . Cmo obtener acceso al objeto CST . . . . . . . . . . . . . . . . . . . Cmo obtener acceso al objeto DF1 . . . . . . . . . . . . . . . . . . . Cmo obtener acceso al objeto FAULTLOG . . . . . . . . . . . . Cmo obtener acceso al objeto MESSAGE. . . . . . . . . . . . . . Cmo obtener acceso al objeto MODULE . . . . . . . . . . . . . . Cmo obtener acceso al objeto MOTIONGROUP . . . . . . . . Cmo obtener acceso al objeto PROGRAM . . . . . . . . . . . . . Cmo obtener acceso al objeto ROUTINE . . . . . . . . . . . . . . Cmo obtener acceso al objeto SERIALPORT . . . . . . . . . . . Cmo obtener acceso al objeto TASK. . . . . . . . . . . . . . . . . . Cmo obtener acceso al objeto WALLCLOCKTIME . . . . . Ejemplo de programacin GSV/SSV. . . . . . . . . . . . . . . . . . . . . . Cmo obtener informacin de fallo . . . . . . . . . . . . . . . . . . . . Cmo establecer los indicadores de habilitacin e inhabilitacin . . . . . . . . . . . . . . . . . . . . . . .

3-29 3-30 3-37 3-37 3-39 3-40 3-43 3-43 3-45 3-46 3-47 3-47 3-48 3-49 3-50 3-51 3-51 3-52

Chapter 4 Instrucciones de comparacin Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 (CMP, EQU, GEQ, GRT, LEQ, LES, Compare (CMP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 Operadores vlidos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 LIM, MEQ, NEQ)

Cmo formatear expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 Cmo determinar el orden de operacin . . . . . . . . . . . . . . . . . 4-5 Equal to (EQU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6 Greater Than or Equal to (GEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8 Greater Than (GRT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10 Less Than or Equal to (LEQ). . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12 Less Than (LES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Limit (LIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16 Mask Equal to (MEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19 Cmo introducir un valor de mscara inmediato . . . . . . . . . . 4-19 Not Equal to (NEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22

Chapter 5 Instrucciones de clculo/ Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compute (CPT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . matemticas Operadores vlidos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (CPT, ADD, SUB, MUL, DIV, MOD, Cmo formatear expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . SQR, NEG, ABS)
5-1 5-2 5-4 5-4 Cmo determinar el orden de operacin . . . . . . . . . . . . . . . . . 5-5 Add (ADD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 Subtract (SUB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Multiply (MUL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10 Divide (DIV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12 Modulo (MOD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14 Square Root (SQR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16 Negate (NEG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18 Absolute Value (ABS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19

1756-6.4.1ES - Octubre 1999

Tabla de contenido

iii

Chapter 6 Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 Move (MOV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 Masked Move (MVM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Cmo introducir un valor de mscara inmediato . . . . . . . . . . . 6-3 Bit Field Distribute (BTD). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5 Clear (CLR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8 Bitwise AND (AND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9 Bitwise OR (OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11 Bitwise Exclusive OR (XOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13 Bitwise NOT (NOT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15

Chapter 7 Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 Cmo seleccionar el modo de operacin . . . . . . . . . . . . . . . . . . . . 7-1 Modo todos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 Modo numrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 Modo incremental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4 File Arithmetic and Logic (FAL). . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 Operadores vlidos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15 Cmo formatear expresiones . . . . . . . . . . . . . . . . . . . . . . . . . 7-15 Cmo determinar el orden de operacin . . . . . . . . . . . . . . . . 7-16 File Search and Compare (FSC) . . . . . . . . . . . . . . . . . . . . . . . . . 7-17 Operadores vlidos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-25 Cmo formatear expresiones . . . . . . . . . . . . . . . . . . . . . . . . . 7-25 Cmo determinar el orden de operacin . . . . . . . . . . . . . . . . 7-26 File Copy (COP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-27 File Fill (FLL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31 File Average (AVE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-34 File Sort (SRT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-38 File Standard Deviation (STD) . . . . . . . . . . . . . . . . . . . . . . . . . . 7-41

Chapter 8 Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 Bit Shift Left (BSL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 Bit Shift Right (BSR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 FIFO Load (FFL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8 FIFO Unload (FFU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 LIFO Load (LFL). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 LIFO Unload (LFU). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26

1756-6.4.1ES - Octubre 1999

Tabla de contenido

iv

Chapter 9 Instrucciones de secuenciador (SQI, SQO, SQL)


Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1 Sequencer Input (SQI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 Cmo introducir un valor de mscara inmediato . . . . . . . . . . . 9-3 Cmo usar SQI sin SQO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5 Sequencer Output (SQO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6 Cmo introducir un valor de mscara inmediato . . . . . . . . . . . 9-7 Cmo usar SQI con SQO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9 Cmo restablecer la posicin de SQO . . . . . . . . . . . . . . . . . . 9-10 Sequencer Load (SQL). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11

Chapter 10 Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1 Jump to Label (JMP) Label (LBL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2 Jump to Subroutine (JSR) Subroutine (SBR) Return (RET) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4 Temporary End (TND). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10 Master Control Reset (MCR). . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11 User Interrupt Disable (UID) . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-13 User Interrupt Enable (UIE). . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-14 Always False (AFI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-15 No Operation (NOP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-16

Chapter 11 Instrucciones FOR/interrupcin Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1 For (FOR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2 (FOR, BRK, RET)
Break (BRK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5 Return (RET) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6

Chapter 12 Instrucciones especiales (FBC, DDT, DTR, PID)


Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1 File Bit Comparison (FBC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2 Cmo seleccionar el modo buscar . . . . . . . . . . . . . . . . . . . . . 12-4 Diagnostic Detect (DDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-9 Cmo seleccionar el modo buscar . . . . . . . . . . . . . . . . . . . . 12-11 Data Transitional (DTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-16 Cmo introducir un valor de mscara inmediato . . . . . . . . . 12-16 Proportional Integral Derivative (PID) . . . . . . . . . . . . . . . . . . . 12-19 Cmo configurar una instruccin PID . . . . . . . . . . . . . . . . . . . . 12-24 Cmo especificar el ajuste . . . . . . . . . . . . . . . . . . . . . . . . . . 12-24 Cmo especificar la configuracin . . . . . . . . . . . . . . . . . . . 12-25 Cmo especificar alarmas . . . . . . . . . . . . . . . . . . . . . . . . . . 12-25 Cmo especificar la escala. . . . . . . . . . . . . . . . . . . . . . . . . . 12-26 Cmo usar las instrucciones PID . . . . . . . . . . . . . . . . . . . . . . . . 12-26 Bloqueo de accin integral y transferencia sin perturbaciones de manual a automtico . . . . . . . . . . . . . 12-28 Temporizacin de la instruccin PID. . . . . . . . . . . . . . . . . . 12-29

1756-6.4.1ES - Octubre 1999

Tabla de contenido

Reinicio sin perturbaciones . . . . . . . . . . . . . . . . . . . . . . . . . Uniformidad de derivada . . . . . . . . . . . . . . . . . . . . . . . . . . . Cmo establecer la banda muerta . . . . . . . . . . . . . . . . . . . . Cmo usar el lmite de salida. . . . . . . . . . . . . . . . . . . . . . . . Prealimentacin o polarizacin de salida. . . . . . . . . . . . . . . Lazos en cascada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cmo controlar una relacin . . . . . . . . . . . . . . . . . . . . . . . .

12-32 12-34 12-34 12-35 12-35 12-35 12-36

Chapter 13 Instrucciones trigonomtricas Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1 (SIN, COS, TAN, ASN, ACS, ATN) Sine (SIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2
Cosine (COS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4 Tangent (TAN). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6 Arc Sine (ASN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8 Arc Cosine (ACS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-10 Arc Tangent (ATN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-12

Chapter 14 Instrucciones matemticas avanzadas (LN, LOG, XPY)


Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Natural Log (LN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Log Base 10 (LOG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X to the Power of Y (XPY) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-1 14-2 14-4 14-6

Chapter 15 Instrucciones de conversin matemtica (DEG, RAD, TOD, FRD, TRN)


Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Degrees (DEG). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Radians (RAD). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Convert to BCD (TOD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Convert to Integer (FRD). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Truncate (TRN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1 15-2 15-3 15-4 15-6 15-8

Appendix A Atributos comunes


Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Palabras clave de estado aritmtico . . . . . . . . . . . . . . . . . . . . . . . Si el tipo de datos es SINT. . . . . . . . . . . . . . . . . . . . . . . . . . . Si el tipo de datos es INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . Si el tipo de datos es DINT . . . . . . . . . . . . . . . . . . . . . . . . . . Otras palabras clave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Valores inmediatos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conversiones de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SINT o INT a DINT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nmero entero a REAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DINT a SINT o INT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REAL a un nmero entero . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1 A-1 A-2 A-2 A-2 A-4 A-5 A-6 A-6 A-7 A-9 A-9 A-9

1756-6.4.1ES - Octubre 1999

Tabla de contenido

vi

Appendix B Conceptos de arreglo


Cmo ver un arreglo como coleccin de elementos . . . . . . . . . . Cmo indexar a travs de los arreglos . . . . . . . . . . . . . . . . . Cmo especificar bit dentro de arreglos . . . . . . . . . . . . . . . . Cmo ver un arreglo como un bloque de memoria . . . . . . . . . . . Cmo el controlador almacena los datos del arreglo . . . . . . . Cmo variar una dimensin . . . . . . . . . . . . . . . . . . . . . . . . . . Asignacin de memoria para los arreglos . . . . . . . . . . . . . . . . . . B-1 B-3 B-4 B-4 B-5 B-6 B-6

Appendix C Tiempo de ejecucin


Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1 Tablas de referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-3

Appendix D Uso de memoria


Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conversiones de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Requisitos de memoria de extensin con signo . . . . . . . . . . . Requisitos de memoria de relleno con ceros . . . . . . . . . . . . . Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Indices de arreglos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-1 D-2 D-2 D-2 D-3 D-7

1756-6.4.1ES - Octubre 1999

Captulo

Instrucciones de bit
(XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

Introduccin

Use las instrucciones de bit (tipo rel) para monitorear y controlar el estado de los bits.
Si usted desea: habilitar las salidas cuando se establece un bit habilitar las salidas cuando se restablece un bit establecer un bit establecer un bit (retentivo) restablecer un bit (retentivo) habilitar las salidas para un escn cada vez que un rengln se hace verdadero establecer un bit para un escn cada vez que un rengln se hace verdadero establecer un bit para un escn cada vez que el rengln se hace falso Use esta instruccin: XIC XIO OTE OTL OTU ONS Vea la pgina: 1-2 1-4 1-6 1-7 1-8 1-9

OSR

1-11

OSF

1-14

1756-6.4.1ES - Octubre de 1999

1-2

Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

Examine If Closed (XIC)


Operandos:

La instruccin XIC es una instruccin de entrada.

Operando: bit de datos

Tipo: BOOL

Formato: tag

Descripcin: bit que se prueba

Descripcin: La instruccin XIC examina el bit de datos para determinar si est establecido. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa.

examine el bit de datos

bit de datos = 0

la condicin de salida de rengln se establece como falsa

bit de datos = 1

la condicin de salida de rengln se establece como verdadera fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Ejemplo de XIC:


ejemplo 1 Si limit_switch_1 est establecido, esto habilita la prxima instruccin (la condicin de salida de rengln es verdadera).

ejemplo 2

Si S:V est establecido (indica que ha ocurrido un overflow), esto habilita la prxima instruccin (la condicin de sakuda de rengln es verdadera).

1756-6.4.1ES - Octubre de 1999

Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

1-3

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: XIC(data_bit); XIC data_bit

Instrucciones relacionadas: XIO

1756-6.4.1ES - Octubre de 1999

1-4

Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

Examine If Open (XIO)


Operandos:

La instruccin XIO es una instruccin de salida.

Operando: bit de datos

Tipo: BOOL

Formato: tag

Descripcin: bit que se prueba

Descripcin: La instruccin XIC examina el bit de datos para determinar si est restablecido. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa.

examine el bit de datos

bit de datos = 0

la condicin de salida de rengln se establece como verdadera

bit de datos = 1

la condicin de salida de rengln se establece como falsa fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Ejemplo de XIO:


ejemplo 1 Si limit_switch_2 est restablecido, esto habilita la prxima instruccin (la condicin de salida de rengln es verdadera).

ejemplo 2

Si S:V est restablecido (indica que no ha ocurrido un overflow), esto habilita la prxima instruccin (la condicin de salida de rengln es verdadera).

1756-6.4.1ES - Octubre de 1999

Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

1-5

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: XIO(data_bit); XIO data_bit

Instrucciones relacionadas: XIC

1756-6.4.1ES - Octubre de 1999

1-6

Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

Output Energize (OTE)


Operandos:

La instruccin OTE es una instruccin de salida.

Operando: bit de datos

Tipo: BOOL

Formato: tag

Descripcin: bit que se establece o se restablece

Descripcin: La instruccin OTE establece o restablece el bit de datos. Cuando la instruccin OTE est habilitada, el controlador establece el bit de datos. Cuando la instruccin OTE est inhabilitada, el controlador restablece el bit de datos. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: El bit de datos se restablece. La condicin de salida de rengln ese establece como falsa. El bit de datos se restablece. La condicin de salida de rengln se establece como falsa. El bit de datos se establece. La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Ejemplo de OTE:

Una vez habilitada, la instruccin OTE establece (enciende) light_1.


Una vez inhabilitada, la instruccin OTE restablece (apaga) light_1.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: OTE(data_bit); OTE data_bit

Instrucciones relacionadas: OTL, OTU

1756-6.4.1ES - Octubre de 1999

Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

1-7

Output Latch (OTL)


Operandos:

La instruccin OTL es una instruccin de salida.

Operando: bit de datos

Tipo: BOOL

Formato: tag

Descripcin: bit que se establece

Descripcin: La instruccin OTL establece (enclava) el bit de datos. Una vez habilitada, la instruccin OTL establece el bit de datos. El bit de datos permanece establecido hasta que se restablece, tpicamente por una instruccin OTU. Una vez inhabilitada, la instruccin OTL no cambia el estado del bit de datos. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: El bit de datos no se modifica. La condicin de salida de rengln se establece como falsa. El bit de datos no se modifica. La condicin de salida de rengln se establece como falsa. El bit de datos se establece. La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Ejemplo de OTL:

Una vez habilitada, la instruccin OTL establece light_2. Este bit permanece establecido hasta que se restablece, tpicamente por una instruccin OTU.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: OTL(data_bit); OTL data_bit

Instrucciones relacionadas: OTU, OTE

1756-6.4.1ES - Octubre de 1999

1-8

Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

Output Unlatch (OTU)


Operandos:

La instruccin OTU es una instruccin de salida.

Operando: bit de datos

Tipo: BOOL

Formato: tag

Descripcin: bit que se restablece

Descripcin: La instruccin OTU restablece (desenclava) el bit de datos. Una vez habilitada, la instruccin OTU restablece el bit de datos. Una vez inhabilitada, la instruccin OTU no cambia el estado del bit de datos. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: El bit de datos no se modifica. La condicin de salida de rengln se establece como falsa. El bit de datos no se modifica. La condicin de salida de rengln se establece como falsa. El bit de datos se restablece. La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Ejemplo de OTU:

Una vez habilitada, la instruccin OTU restablece light_2.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: OTU(data_bit); OTU data_bit

Instrucciones relacionadas: OTL, OTE

1756-6.4.1ES - Octubre de 1999

Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

1-9

One Shot (ONS)


Operandos:

La instruccin ONS es una instruccin de entrada.

Operando:

Tipo:

Formato: tag

Descripcin: bit de almacenamiento interno almacena la condicin de rengln de entrada a partir de la ltima ejecucin de la instruccin

bit de BOOL almacenamiento

Descripcin: La instruccin ONS habilita o inhabilita el resto del rengln segn el estado del bit de almacenamiento. Una vez habilitada y cuando se restablece el bit de almacenamiento, la instruccin ONS habilita el resto del rengln. Una vez inhabilitada y o cuando se establece el bit de almacenamiento, la instruccin ONS inhabilita el resto del rengln. Ejecucin:
Condicin: preescn Accin: El bit de almacenamiento se establece para evitar un disparo no vlido durante el primer escn. La condicin de salida de rengln se establece como falsa. El bit de almacenamiento se restablece. La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera

examine el bit de almacenamiento

bit de el bit de almacenamiento almacenamiento = 0 est establecido la condicin de salida de rengln est establecida como verdadera bit de almacenamiento = 1

el bit de almacenamiento permanece establecido la condicin de salida de rengln est establecida como falsa

fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

1-10

Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

Ejemplo de ONS: Tpicamente una instruccin de entrada precede la instruccin ONS puesto que la instruccin ONS se escanea cuando est habilitada as como inhabilitada para que funcione correctamente. Una vez que la instruccin ONS est habilitada, la condicin de entrada de rengln debe hacerse falsa o el bit de almacenamiento se debe restablecer para que la instruccin ONS vuelva a habilitarse.

Este rengln no afecta cualquier escn para el cual se restablece limit_switch_1 o se establece storage_1. En cualquier escn para el cual se establece limit_switch_1 y se restablece storage_1, la instruccin ONS establece storage_1 y la instruccin ADD incrementa sum por 1. Siempre que limit_switch_1 permanezca establecido, sum sigue siendo el mismo valor. El limit_switch_1 se debe restablecer y volver a establecerse para que sum se incremente nuevamente.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: ONS(storage_bit); ONS storage_bit

Instrucciones relacionadas: OSR, OSF

1756-6.4.1ES - Octubre de 1999

Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

1-11

One Shot Rising (OSR)


Operandos:

La instruccin OSR es una instruccin de salida.

Operando:

Tipo:

Formato: tag

Descripcin: bit de almacenamiento interno almacena la condicin de entrada de rengln a partir de la ltima ejecucin de la instruccin bit que se establece

bit de BOOL almacenamiento

bit de salida BOOL

tag

Descripcin: La instruccin OSR establece o restablece el bit de salida segn el estado del bit de almacenamiento. Una vez habilitada y cuando se restablece el bit de almacenamiento, la instruccin OSR establece el bit de salida. Una vez habilitada y el bit de almacenamiento est establecido o una vez inhabilitada, la instruccin OSR restablece el bit de salida.

condicin de rengln precedente bit de almacenamiento

bit de salida 40048

la instruccin se ejecuta

la instruccin vuelve a ejecutarse

1756-6.4.1ES - Octubre de 1999

1-12

Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

Ejecucin:
Condicin: preescn Accin: El bit de almacenamiento se establece para evitar un disparo no vlido durante el primer escn. El bit de salida se restablece. La condicin de salida de rengln se establece como falsa. El bit de almacenamiento se restablece. El bit de salida no se modifica. La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera

bit de almacenamiento = 0 examine el bit de almacenamiento

bit de almacenamiento = 1 el bit de almacenamiento permanece establecido el bit de salida est restablecido la condicin de salida de rengln est establecida como verdadera

el bit de almacenamiento est establecido el bit de salida est establecido la condicin de salida de rengln est establecida como verdadera

fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Ejemplo de OSR:

Cada vez que limit_switch_1 va de restablecido a establecido, la instruccin OSR establece output_bit_1 y la instruccin ADD incrementa sum por 5. Siempre que limit_switch_1 permanezca establecido, sum sigue siendo el mismo valor. El limit_switch_1 se debe restablecer y volver a establecerse para que sum se incremente nuevamente. Se puede usar output_bit_1 en renglones mltiples para activar otras operaciones.

1756-6.4.1ES - Octubre de 1999

Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

1-13

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: OSR(storage_bit,output_bit); OSR storage_bit output_bit

Instrucciones relacionadas: OSF, ONS

1756-6.4.1ES - Octubre de 1999

1-14

Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

One Shot Falling (OSF)


Operandos:

La instruccin OSF es una instruccin de salida.

Operando:

Tipo:

Formato: tag

Descripcin: bit de almacenamiento interno almacena la condicin entrada de rengln a partir de la ltima ejecucin de la instruccin bit que se establece

bit de BOOL almacenamiento bit de salida BOOL

tag

Descripcin: La instruccin OSF establece o restablece el bit de salida segn el estado del bit de almacenamiento. Una vez inhabilitada y cuando se establece el bit de almacenamiento, la instruccin OSF establece el bit de salida. Una vez inhabilitada y el bit de almacenamiento est restablecido o una vez inhabilitada, la instruccin OSF restablece el bit de salida.

condicin de rengln precedente bit de almacenamiento bit de salida 40047 la instruccin se ejecuta la instruccin vuelve a ejecutarse

1756-6.4.1ES - Octubre de 1999

Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

1-15

Ejecucin:
Condicin: preescn Accin: El bit de almacenamiento se restablece para evitar un disparo no vlido durante el primer escn. El bit de salida se restablece. La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es falsa


bit de almacenamiento = 0 examine el bit de almacenamiento

bit de almacenamiento = 1 el bit de almacenamiento se restablece. el bit de salida est establecido la condicin de salida de rengln est establecida como falsa

el bit de almacenamiento permanece restablecido el bit de salida est restablecido la condicin de rengln de salida est establecida como falsa

fin

la condicin de entrada de rengln es verdadera

El bit de almacenamiento se establece. El bit de salida se restablece. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Ejemplo de OSF:

Cada vez que limit_switch_1 va de establecido a restablecido, la instruccin OSR establece output_bit_2 y la instruccin ADD incrementa sum por 5. Siempre que limit_switch_1 permanezca restablecido, sum sigue siendo el mismo valor. El limit_switch_1 se debe establecer y volver a restablecerse para que sum se incremente nuevamente. Se puede usar output_bit_2 en renglones mltiples para activar otras operaciones.

1756-6.4.1ES - Octubre de 1999

1-16

Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: OSF(storage_bit,output_bit); OSF storage_bit output_bit

Instrucciones relacionadas: OSR, ONS

1756-6.4.1ES - Octubre de 1999

Captulo

Instrucciones de temporizador y contador


(TON, TOF, RTO, CTU, CTD, RES)

Introduccin

Los temporizadores y contadores controlan las operaciones segn el tiempo o el nmero de eventos.
Si usted desea: temporizar la duracin de un temporizador habilitado temporizar la duracin de un temporizador inhabilitado acumular el tiempo contar progresivamente contar regresivamente restablecer un temporizador o contador Use esta instruccin: TON TOF RTO CTU CTD RES Vea la pgina: 2-2 2-5 2-8 2-11 2-14 2-18

La base de tiempo para todos los temporizadores es 1 mseg.

1756-6.4.1ES - Octubre de 1999

2-2

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

Timer On Delay (TON)


Operandos:

La instruccin TON es una instruccin de salida.

Operando: Temporizador

Tipo: TIMER

Formato: tag valor inmediato valor inmediato

Descripcin: Estructura del temporizador la duracin del retardo (tiempo acumulado) el total de mseg durante el cual el temporizador ha contado el valor inicial es tpicamente 0

Preseleccionado DINT Acumulador DINT

Estructura TIMER:
Mnemnico: Tipo de datos: .EN .TT .DN .PRE .ACC BOOL BOOL BOOL DINT DINT Descripcin: El bit de habilitacin indica que la instruccin TON est habilitada. El bit de temporizacin indica que hay una operacin de temporizacin en progreso. El bit de efectuado se establece cuando .ACC .PRE. El valor preseleccionado especifica el valor (unidades de 1 mseg) que el acumulador debe alcanzar antes de que la instruccin establezca el bit .DN. El valor acumulado especifica el nmero de milisegundos que han transcurrido desde la habilitacin de la instruccin TON.

Descripcin: La instruccin TON es un temporizador no retentivo que acumula el tiempo cuando la instruccin est habilitada (la condicin de entrada de rengln es verdadera). La base de tiempo siempre es 1 mseg. Por ejemplo, para un temporizador de 2 segundos, introduzca 2000 para el valor .PRE. Una vez habilitada, la instruccin TON acumula el tiempo hasta que: la instruccin TON se inhabilita el .ACC .PRE Cuando la instruccin TON est inhabilitada, el valor .ACC se restablece.
condicin de rengln de entrada bit de habilitacin del temporizador (.EN) bit de temporizacin del temporizador (.TT) bit de efectuado del temporizador (.DN)
retardo a la conexin

valor preseleccionado valor acumulado del temporizador (.ACC) 0 el temporizador no lleg en el valor .PRE

16649

1756-6.4.1ES - Octubre de 1999

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

2-3

Ejecucin:
Condicin: preescn Accin: El bit .EN se restablece. El bit .TT se restablece. El bit .DN se restablece. El valor .ACC se restablece. La condicin de salida de rengln se establece como falsa.

la condicin de salida de rengln es falsa El bit .EN se restablece. El bit .TT se restablece. El bit .DN se restablece. El valor .ACC se restablece. La condicin de salida de rengln se establece como falsa. la condicin de rengln de salida es verdadera

examine el bit .DN

bit .DN = 1

bit .DN = 0

examine el bit .EN

bit .EN = 0

el bit .EN est establecido el bit .TT est establecido last_time = current_time

bit .EN = 1

el bit .TT est establecido .ACC = .ACC + (current_time last_time) last_time = current_time

examine .ACC

.ACC .PRE

.ACC < .PRE

el valor .ACC retorna al valor inicial s

el bit .DN est establecido ll bit .TT se restablece el bit .EN est establecido

no

la condicin de salida de rengln se establece como verdadera

.ACC = 2,147,483,647 fin

Indicadores de estado aritmtico: no afectados

1756-6.4.1ES - Octubre de 1999

2-4

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

Condiciones de fallo:
Ocurrir un fallo mayor si: .PRE < 0 .ACC < 0 Tipo de fallo: 4 4 Cdigo de fallo: 34 34

Ejemplo de TON:

Cuando limit_switch_1 se establece, light_2 est activado durante 180 mseg (timer_1 est temporizando). Cuando timer_1.acc llega a 180, light_2 se desactiva y light_3 se activa. Light_3 permanece activado hasta que la instruccin TON se inhabilita. Si limit_switch_1 se restablece mientras timer_1 temporiza, light_2 se desactiva.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: TON(timer,preset,accum); TON(timer,preset,accum)

Instrucciones relacionadas: TOF, RTO

1756-6.4.1ES - Octubre de 1999

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

2-5

Timer Off Delay (TOF)


Operandos:

La instruccin TOF es una instruccin de salida.

Operando:

Tipo:

Formato: tag valor inmediato valor inmediato

Descripcin: Estructura del temporizador la duracin del retardo (tiempo acumulado) el total de mseg durante el cual el temporizador ha contado el valor inicial es tpicamente 0

Temporizador TIMER Preseleccion- DINT ado Acumulador DINT

Estructura TIMER:
Mnemnico: Tipo de datos: .EN .TT .DN .PRE .ACC BOOL BOOL BOOL DINT DINT Descripcin: El bit de habilitacin indica que la instruccin TOF est habilitada. El bit de temporizacin indica que hay una operacin de temporizacin en progreso. El bit de efectuado se restablece cuando .ACC .PRE. El valor preseleccionado especifica el valor (unidades de 1 mseg) que el acumulador debe alcanzar antes de que la instruccin restablezca el bit .DN. El valor acumulado especifica el nmero de milisegundos que han transcurrido desde la habilitacin de la instruccin TOF.

Descripcin: La instruccin TOF es un temporizador no retentivo que acumula el tiempo cuando la instruccin est habilitada (la condicin de entrada de rengln es falsa). La base de tiempo siempre es 1 mseg. Por ejemplo, para un temporizador de 2 segundos, introduzca 2000 para el valor .PRE. Una vez habilitada, la instruccin TOF acumula el tiempo hasta que: la instruccin TOF se inhabilita el .ACC .PRE Cuando la instruccin TOF est inhabilitada, el valor .ACC se restablece.
condicin de entrada de rengln bit de habilitacin del temporizador (.EN) bit de temporizacin del temporizador (.TT) bit de efectuado del temporizador (.DN)
retardo a la desconexin

valor preseleccionado

valor acumulado del temporizador (.ACC) 0 el temporizador no lleg al valor .PRE


16650

1756-6.4.1ES - Octubre de 1999

2-6

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

Ejecucin:
Condicin: preescn Accin: El bit .EN se restablece. El bit .TT se restablece. El bit .DN se restablece. El valor .ACC est establecido para ser igual al valor .PRE. La condicin de salida de rengln se establece como falsa.

la condicin de salida de rengln es falsa

examine el bit .DN

bit .DN = 0

bit .DN = 1

examine el bit .EN

bit .EN = 1

el bit .EN se restablece el bit .TT est establecido last_time = current_time

bit .EN = 0

el bit .TT est establecido .ACC = .ACC + (current_time last_time) last_time = current_time

examine .ACC

.ACC .PRE el bit .DN se restablece. ll bit .TT se restablece el bit .EN se restablece

.ACC < .PRE

el valor .ACC retorna al

No

la condicin de salida de rengln se establece como falsa

.ACC = 2,147,483,647 fin

la condicin de salida de rengln es verdadera

El bit .EN se establece. El bit .TT se restablece. El bit .DN se establece. El valor .ACC se restablece. La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: no afectados

1756-6.4.1ES - Octubre de 1999

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

2-7

Condiciones de fallo:
Ocurrir un fallo mayor si: .PRE < 0 .ACC < 0 Tipo de fallo: 4 4 Cdigo de fallo: 34 34

Ejemplo de TOF:

Cuando limit_switch_2 se establece, light_2 est activado durante 180 mseg (timer_2 est temporizando). Cuando timer_2.acc llega a 180, light_2 se desactiva y light_3 se activa. Light_3 permanece activado hasta que la instruccin TOF se habilita. Si limit_switch_2 se restablece mientras timer_2 temporiza, light_2 se desactiva.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: TOF(timer,preset,accum); TOF timer preset accum

Instrucciones relacionadas: TON, RTO

1756-6.4.1ES - Octubre de 1999

2-8

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

Retentive Timer On (RTO)


Operandos:

La instruccin RTO es una instruccin de salida.

Operando: Temporizador

Tipo: TIMER

Formato: tag valor inmediato valor inmediato

Descripcin: Estructura del temporizador la duracin del retardo (tiempo acumulado) el nmero de mseg durante el cual el temporizador ha contado el valor inicial es tpicamente 0

Preseleccionado DINT Acumulador DINT

Estructura TIMER:
Mnemnico: Tipo de datos: .EN .TT .DN .PRE .ACC BOOL BOOL BOOL DINT DINT Descripcin: El bit de habilitacin indica que la instruccin RTO est habilitada. El bit de temporizacin indica que hay una operacin de temporizacin en progreso. El bit de efectuado indica que .ACC .PRE. El valor preseleccionado especifica el valor (unidades de 1 mseg) que el acumulador debe alcanzar antes de que la instruccin establezca el bit .DN. El valor acumulado especifica el nmero de milisegundos que han transcurrido desde la habilitacin de la instruccin RTO.

Descripcin: La instruccin RTO es un temporizador retentivo que acumula el tiempo cuando la instruccin est habilitada. La base de tiempo siempre es 1 mseg. Por ejemplo, para un temporizador de 2 segundos, introduzca 2000 para el valor .PRE. Una vez habilitada, la instruccin RTO acumula el tiempo hasta que se inhabilita. Cuando la instruccin RTO se inhabilita, retiene su valor .ACC. Usted debe restablecer el valor .ACC, tpicamente con una instruccin RES que hace referencia a la misma estructura TIMER.
condicin de entrada de rengln bit de habilitacin del temporizador (.EN) condicin de rengln que controla la instruccin RES bit de temporizacin del temporizador (.TT)

bit de efectuado del temporizador (.DN)

valor preseleccionado

valor acumulado del temporizador (.ACC) 0 1756-6.4.1ES - Octubre de 1999 el temporizador no lleg al valor .PRE

16651

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

2-9

Ejecucin:
Condicin: preescn Accin: El bit .EN se restablece. El bit .TT se restablece. El bit .DN se restablece. El valor .ACC no se modifica. La condicin de salida de rengln se establece como falsa.

la condicin de salida de rengln es falsa El bit .EN se restablece. El bit .TT se restablece. El bit .DN no se modifica. El valor .ACC no se modifica. La condicin de salida de rengln se establece como falsa. la condicin de salida de rengln es verdadera

examine el bit .DN

bit .DN = 1

bit .DN = 0

examine el bit .EN

bit .EN = 0

el bit .EN est establecido el bit .TT est establecido last_time = current_time

bit .EN = 1

el bit .TT est establecido .ACC = .ACC + (current_time last_time) last_time = current_time

examine .ACC

.ACC .PRE

.ACC < .PRE

el bit .DN est establecido ll bit .TT se restablece el bit .EN est establecido

el valor .ACC retorna al valor inicial s

no

la condicin de rengln de salida est establecida como verdadera

.ACC = 2,147,483,647 fin

Indicadores de estado aritmtico: no afectado

1756-6.4.1ES - Octubre de 1999

2-10

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

Condiciones de fallo:
Ocurrir un fallo mayor si: .PRE < 0 .ACC < 0 Tipo de fallo: 4 4 Cdigo de fallo: 34 34

Ejemplo de RTO:

Cuando limit_switch_1 se establece, light_1 est activado durante 180 mseg (timer_2 est temporizando). Cuando timer_3.acc llega a 180, light_1 se desactiva y light_2 se activa. Light_2 permanece activado hasta que timer_3 se restablece. Si limit_switch_2 se restablece mientras timer_3 temporiza, light_1 permanece activado. Cuando limit_switch_2 est establecido, la instruccin RES restablece timer_3 (restablece los bits de estado y el valor .ACC).

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: RTO(timer,preset,accum); RTO timer preset accum

Instrucciones relacionadas: TON, TOF, RES

1756-6.4.1ES - Octubre de 1999

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

2-11

Count Up (CTU)
Operandos:

La instruccin CTU es una instruccin de salida.

Operando: Counter

Tipo: COUNTER

Formato: tag valor inmediato valor inmediato

Descripcin: estructura del contador el conteo mximo el nmero de veces que el temporizador ha contado el valor inicial es tpicamente 0

Preseleccio- DINT nado Acumulador DINT

estructura COUNTER
Mnemnico: Tipo de datos: .CU .DN .OV .UN BOOL BOOL BOOL BOOL Descripcin: El bit de habilitacin de conteo progresivo indica que la instruccin CTU est habilitada. El bit de efectuado indica que .ACC .PRE. El bit de overflow indica que el contador excedi el lmite superior de 2,147,483,647. El contador llega a 2,147,483,648 y retorna al valor inicial. El bit de underflow indica que el contador excedi el lmite superior de 2,147,483,648. El contador llega a 2,147,483,647 y vuelve a contar regresivamente. El valor preseleccionado especifica el valor al cual acumulador debe llegar antes de que la instruccin establezca el bit .DN. El valor acumulado especifica el nmero de transiciones que la instruccin ha contado.

.PRE .ACC

DINT DINT

Descripcin: La instruccin CTU cuenta progresivamente. Una vez habilitada y cuando el bit .CU est restablecido, la instruccin CTU incrementa el contador por uno. Una vez habilitada y el bit .CU est establecido, o una vez inhabilitada, la instruccin CTU retiene su valor .ACC.
condicin de entrada de rengln

bit de habilitacin de conteo progresivo (.CU)

bit de efectuado de conteo progresivo (.DN)

valor preseleccionado

valor acumulado del contador (.ACC)


16636

1756-6.4.1ES - Octubre de 1999

2-12

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

El valor acumulador contina incrementndose incluso despus del establecimiento del bit .DN. Para restablecer el valor acumulado, use una instruccin RES que haga referencia a la estructura del contador o escriba 0 al valor acumulado. Ejecucin:
Condicin: preescn Accin: El bit .CU se establece para evitar los incrementos no vlidos durante el primer escn del programa. La condicin de salida de rengln se establece como falsa.

la condicin de salida de rengln es falsa El bit .CU se restablece. La condicin de salida de rengln se establece como falsa. la condicin de salida de rengln es verdadera

examine el bit .CU

el bit .CU = 0

el bit .CU est establecido .ACC = .ACC + 1

el valor .ACC retorna al valor inicial no

el bit .CU = 1

el bit .TT se restablece el bit .DN se restablece. el bit .OV se restablece el bit .UN = 0

el bit .UN = 1 examine el bit .UN

el bit .UN = 0

examine el bit .UN

examine el bit .OV

el bit .OV = 0

el bit .UN = 1

el bit .OV = 1

el bit .OV est establecido

examine .ACC

.ACC .PRE

.ACC < .PRE el bit .DN se establece

la condicin de rengln de salida est establecida como verdadera fin

Indicadores de estado aritmtico: no afectados

1756-6.4.1ES - Octubre de 1999

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

2-13

Condiciones de fallo: ninguna Ejemplo de CTU:

Despus que limit_switch_1 cambia de inhabilitado a habilitado 10 veces, el bit .DN se establece y light_1 se activa. Si limit_switch_1 contina cambiando de inhabilitado a habilitado, counter_1 contina incrementando el conteo y el bit .DN permanece establecido. Cuando limit_switch_2 est habilitado, la instruccin RES restablece counter_1 (restablece los bits de estado y el valor .ACC) y light_1 se desactiva.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: CTU(counter,preset,accum); CTU counter preset accum

Instrucciones relacionadas: CTD, RES

1756-6.4.1ES - Octubre de 1999

2-14

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

Count Down (CTD)


Operandos:

La instruccin CTD es una instruccin de salida.

Operando: Counter

Tipo: COUNTER

Formato: tag valor inmediato valor inmediato

Descripcin: estructura del contador el conteo mnimo el nmero de veces que el temporizador ha contado el valor inicial es tpicamente 0

Preseleccio- DINT nado Acumulador DINT

estructura COUNTER
Mnemnico: Tipo de datos: .CD .DN .OV .UN BOOL BOOL BOOL BOOL Descripcin: El bit de habilitacin de conteo regresivo indica que la instruccin CTD est habilitada. El bit de efectuado indica que .ACC .PRE. El bit de overflow indica que el contador excedi el lmite superior de 2,147,483,647. El contador llega a 2,147,483,648 y retorna al valor inicial. El bit de underflow indica que el contador excedi el lmite superior de 2,147,483,648. El contador llega a 2,147,483,647 y vuelve a contar regresivamente. El valor preseleccionado especifica el valor al cual el acumulador debe llegar antes de que la instruccin establezca el bit .DN. El valor acumulado especifica el nmero de transiciones que la instruccin ha contado.

.PRE .ACC

DINT DINT

Descripcin: La instruccin CTD cuenta regresivamente. La instruccin CTD se usa tpicamente con una instruccin CTU que hace referencia a la misma estructura del contador.

1756-6.4.1ES - Octubre de 1999

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

2-15

Una vez habilitada y cuando el bit .CD est restablecido, la instruccin CTD decrementa el contador por uno. Una vez habilitada y el bit .CD est establecido, o una vez inhabilitada, la instruccin CTD retiene su valor .ACC.
condicin de entrada de rengln bit de habilitacin de conteo regresivo (.CD) bit de efectuado de conteo regresivo (.DN)

dispositivo de salida (controlado por el bit .DN)

valor acumulado del contador (.ACC)

valor preseleccionado
16637

El valor acumulador contina decrementndose incluso despus del establecimiento del bit .DN. Para restablecer el valor acumulado, use una instruccin RES que haga referencia a la estructura del contador o escriba 0 al valor acumulado.

1756-6.4.1ES - Octubre de 1999

2-16

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

Ejecucin:
Condicin: preescn Accin: El bit .CD se establece para evitar los decrementos no vlidos durante el primer escn del programa. La condicin de salida de rengln se establece como falsa.

la condicin de salida de rengln es falsa El bit .CD se restablece. La condicin de salida de salida se establece como falsa. la condicin de salida de rengln es verdadera

examine el bit .CD

el bit CD = 0

el bit .CD est establecido .ACC = .ACC 1

el valor .ACC retorna al valor inicial no

el bt .CD = 1

el bit .OV se restablece el bit .DN se restablece. el bit .UN se restablece .el bit UN = 0

el bit .OV = 1 examine el bit .OV

el bit .OV = 0

examine el bit .UN

examine el bit .OV

el bit .OV = 0

.el bit UN = 1

el bit .OV = 1

el bit .UN est establecido

examine .ACC

.ACC .PRE

.ACC < .PRE el bit .DN se establece

la condicin de rengln de salida est establecida como verdadera fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

2-17

Ejemplo de CTD:

Un transportador mueve piezas en una zona de bfer. Cada vez que entra una pieza, limit_switch_1 se habilita y counter_1 se incrementa por 1. Cada vez que una pieza sale, limit_switch_2 se habilita y counter_1 se decrementa por 1. Si hay 100 piezas en la zona de bfer (counter_1.dn is set), conveyor_a se activa e impide que el transportador mueva otras piezas hasta que el bfer cuente con espacio suficiente para ms piezas.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: CTD(counter,preset,accum); CTD counter preset accum

Instrucciones relacionadas: CTU, RES

1756-6.4.1ES - Octubre de 1999

2-18

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

Reset (RES)
Operandos:

La instruccin RES es una instruccin de salida.

Operando: estructura

Tipo: TIMER CONTROL COUNTER

Formato: tag

Descripcin: estructura para el restablecimiento

Descripcin: La instruccin RES restablece una estructura TIMER, COUNTER o CONTROL. Una vez habilitada, la instruccin RES elimina estos elementos.
Cuando se usa una instruccin RES para: temporizador contador control La instruccin elimina: el valor .ACC los bits de estado de control el valor .ACC los bits de estado de control el valor .POS los bits de estado de control

!
Ejecucin:
Condicin: preescn

ATENCION: Puesto que la instruccin RES elimina el valor .ACC, el bit .DN y el bit .TT, no use la instruccin RES para restablecer un temporizador TOF.

Accin: La condicin de salida de rengln se establece como falsa.

la condicin de salida de rengln es falsa La condicin de salida de rengln se establece como falsa. la condicin de salida de rengln es verdadera La instruccin RES restablece la estructura especificada. La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

2-19

Ejemplo de RES:
Ejemplo: Descripcin: Cuando se habilite, restablezca timer_3.

Cuando se habilite, restablezca counter_1.

Cuando se habilite, restablezca control_1.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: RES(structure); RES structure

1756-6.4.1ES - Octubre de 1999

2-20

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

Notas:

1756-6.4.1ES - Octubre de 1999

Captulo

Instrucciones de entrada/salida
(MSG, GSV, SSV)

Introduccin

Las instrucciones de entrada/salida leen o escriben datos desde o hacia el controlador, o un bloque de datos desde o hacia otro mdulo en otra red.
Si usted desea: enviar datos desde o hacia otro mdulo obtener informacin de estado del controlador establecer informacin de estado del controlador Use esta instruccin: MSG GSV SSV Vea la pgina: 3-2 3-27 3-27

1756-6.4.1ES - Octubre de 1999

3-2

Instrucciones de entrada/salida (MSG, GSV, SSV)

Message (MSG)

La instruccin MSG es una instruccin de salida.

Operandos:
Operando: Control de mensajes Tipo: Mensaje Formato: tag Descripcin: estructura del mensaje

Estructura MSG:
Mnemnico: Tipo de datos: .FLAGS INT Descripcin: El miembro .FLAGS proporciona acceso a los miembros de estado (bits) en una palabra de 16 bits. Este bit: 2 4 5 6 7 8 9 Es este miembro: .EW .ER .DN .ST .EN .TO .EN_CC

Importante: El restablecimiento de cualquiera de los bits de estado MSG cuando est habilitado una MSG puede interrumpir las comunicaciones. .ERR .EXERR .REQ_LEN .DN_LEN .EW .ER .DN .ST INT INT INT INT BOOL BOOL BOOL BOOL Si el bit .ER est establecido, la palabra de cdigo de error identifica los cdigos de error para la instruccin MSG. La palabra de cdigo de error extendida especifica informacin adicional para algunos cdigos de error. La longitud solicitada especifica cuntas palabras la instruccin de mensaje intentar transferir. La longitud efectuada identifica cuntas palabras se transfirieron con xito. El bit de habilitacin/espera se establece cuando el controlador detecta que una solicitud de mensaje ha entrado en la cola. El controlador restablece el bit .EW cuando se establece el bit .ST. Se establece el bit de error cuando el controlador detecta el fallo de una transferencia. El bit .ER se restablece la prxima vez que la condicin de rengln de entrada va de falsa a verdadera. Se establece el bit de efectuado cuando se transfiere con xito el ltimo paquete del mensaje. El bit .DN se restablece la prxima vez que la condicin de rengln de entrada va de falsa a verdadera. Se establece el bit de arranque cuando el controlador comienza a ejecutar la instruccin MSG. El bit .ST se restablece cuando se establece el bit .DN o .ER.

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-3

Mnemnico: Tipo de datos: .EN BOOL

Descripcin: Se establece el bit de habilitacin cuando la condicin de rengln de entrada se hace verdadera y permanece establecida hasta que se establece el bit .DN o .ER y la condicin de rengln de entrada es falsa. Si la condicin de entrada de rengln se hace falsa, pero los bits .DN y .ER se restablecen, el bit .EN permanece establecido. Si se establece manualmente el bit .TO, el controlador interrumpe el procesamiento del mensaje y establece el bit .ER. El bit de habilitacin de cach determina cmo administrar la conexin MSG. Consulte Cmo seleccionar una opcin de cach: en la pagina 3-26. Las conexiones para las instrucciones MSG que salen del puerto en serie no se ponen en cach aun cuando el bit .EN_CC est establecido.

.TO .EN_CC

BOOL BOOL

ATENCION: El controlador procesa los bits .ST y .EW asncronamente con el escn del programa. Para examinar estos bits en la lgica de escalera, copie la palabra .FLAGS a un tag INT y verifique los bits en ese lugar. De lo contrario, los problemas de temporizacin pueden hacer no vlida su aplicacin y resultar en la posibilidad de daos del equipo y lesiones personales.

Descripcin: La instruccin MSG lee o escribe asncronamente un bloque de datos a otro mdulo en una red. La instruccin MSG transfiere los elementos de datos. El tamao de cada elemento depende de los tipos de datos que se especifican y el tipo de comando de mensaje que se usa.
Diagrama de temporizacin de la instruccin MSG conexin con .EN_CC = 1

condicin de rengln precedente bit .EN

bit .EW conexin con .EN_CC = 0

bit .ST bit .DN o bit .ER


41382

1756-6.4.1ES - Octubre de 1999

3-4

Instrucciones de entrada/salida (MSG, GSV, SSV)

donde: 1

Descripcin: la condicin de rengln precedente es verdadera el bit .EN est establecido el bit .EW est establecido la conexin est abierta el mensaje ha sido enviado el bit .ST est establecido el bit .EW se restablece el mensaje se ha efectuado o ha entrado en error y una condicin de entrada de rengln es falsa el bit .DN o .ER est establecido el bit .ST se restablece la conexin est cerrada (si .EN_CC = 0) el bit .EN se restablece (debido a que la condicin de entrada de rengln es falsa) la condicin de entrada de rengln es verdadera y el bit .DN o .ER se establece previamente el bit .EN est establecido el bit .EW est establecido la conexin est abierta el bit .DN o .ER est restablecido el mensaje ha sido enviado el bit .ST est establecido el bit .EW se restablece el mensaje se ha efectuado o ha entrado en error y una condicin de entrada de rengln todava es verdadera el bit .DN o .ER est establecido el bit .ST se restablece la conexin est cerrada (si .EN_CC = 0) la condicin de de entrada rengln se hace verdadera y el bit .DN o .ER se establece el bit .EN se restablece

Ejecucin:
Condicin: preescn Accin:

MSG est en la lista activa

la condicin de salida de rengln se establece como falsa

no fin el bit .EW se restablece. el bit .ER se restablece. el bit .DN se restablece. el bit .ST se restablece.

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-5

Condicin: la condicin de entrada de rengln es falsa

Accin:

bit .EN = 1 examine el bit .EN

bit .EN = 0 .el bit EW = 1 examine el .EW

el bit .EW = 0

el bit .ST = 1 examine el bit .ST

el bit .ST = 0

el bit .DN = 1 examine el bit .DN

el bit .DN = 0

el bit .ER = 1 examine el .ER

el bit .ER = 0

comando de transferencia en bloques no

la ruta de acceso del mdulo es vlida s

no

el bit .DN = 1 examine el bit .DN s la conexin del mdulo se ejecuta no

el bit .DN = 0

el bit .EN se restablece

solicitud de ejecucin del mensaje

el bit .ER = 1 examine el .ER el bit .EW est establecido el bit .ER est establecido

el bit .ER = 0

la condicin de salida de rengln se establece como falsa

fin

1756-6.4.1ES - Octubre de 1999

3-6

Instrucciones de entrada/salida (MSG, GSV, SSV)

Condicin: la condicin de entrada de rengln es verdadera

Accin:

bit .EN = 1 examine el bit .EN

bit .EN = 0

el bit .EW = 1 examine el bit .EW examine el .EW

.el bit EW = 1

el bit .EW = 0

el bit .EW = 0

el bit .ST = 1 examine el bit .ST examine el bit .ST

el bit .ST = 1

el bit .ST = 0

el bit .ST = 0

el bit .DN = 1 examine el bit .DN

los bits .EW, .ST, .TO, .DN y .ER se restablecen el bit .EN est establecido

el bit .DN = 0

el bit .EN est establecido

el bit .ER = 1 examine el .ER

el bit .ER = 0

comando de transferencia en bloques no

la ruta de acceso del mdulo es vlida s

no

la conexin del mdulo se ejecuta

no

los bits .EW, .ST, .TO, .DN y .ER se restablecen el bit .EN est establecido solicitud de ejecucin del mensaje el bit .EW est establecido el bit .ER est establecido

la condicin de rengln de salida est establecida como falsa

fin

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-7

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Otros formatos:


Formato: texto neutro texto ASCII Sintaxis: MSG(message_control); MSG(message_control)

MSG Error Codes

Los cdigos de error dependen del tipo de la instruccin MSG.

Cdigos de error ControlLogix (CIP)


El software de programacin no siempre muestra en pantalla la amplia descripcin completa de los cdigos de error ControlLogix (CIP).
Cdigo de error (hex): 0001 0002 0003 0004 0005 Descripcin: Fallo de conexin (vea los cdigos de error extendidos) Recurso no suficiente Valor no vlido Error de sintaxis IOI8 (vea los cdigos de error extendidos) Cmo se muestra en el software: idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin

Destino desconocido, clase no compatible, ocurren- idntico a la descripcin cia no definida o elemento de estructura no definido (vea los cdigos de error extendidos) Espacio de paquete no suficiente Conexin perdida Servicio no compatible Error en el segmento de datos o valor de atributo no vlido Error de la lista de atributos El estado ya existe Conflicto con el modelo de objeto El objeto ya existe El atributo no se puede guardar Permiso rechazado Conflicto con el estado del dispositivo No hay espacio suficiente para la respuesta El fragmento es primitivo No hay datos de comando suficientes El atributo no es compatible idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin
1756-6.4.1ES - Octubre de 1999

0006 0007 0008 0009 000A 000B 000C 000D 000E 000F 0010 0011 0012 0013 0014

3-8

Instrucciones de entrada/salida (MSG, GSV, SSV)

Cdigo de error (hex): 0015 001A 001B 001C 001D 001E 001F 0022 0025 0026 0027 0028 0029

Descripcin: Exceso de datos La solicitud de puente es demasiado grande La respuesta de puente es demasiado grande Pocos atributos en la lista de atributos Lista de atributos no vlida Error de servicio incorporado Fallo asociado con la conexin (vea los cdigos de error extendidos) Se recibi respuesta no vlida Error de segmento clave Error IOI no vlido Atributo no esperado en la lista Error DeviceNet identificacin de miembro no vlida Error DeviceNet el miembro no se puede establecer

Cmo se muestra en el software: idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin idntico a la descripcin

Cdigos de error extendidos ControlLogix


Estos son los cdigos de error extendidos ControlLogix (CIP). El software no muestra en pantalla el texto para los cdigos de error extendidos. Estos son los cdigos de error extendidos para el cdigo de error 0001.
Cdigo de error extendido (hex): 0100 0103 0106 0107 0108 0109 0110 0111 0114 0115 0116 0118 011A Descripcin: Cdigo de error extendido (hex): 0203 0204 0205 0206 0301 0302 0303 0305 0311 0312 0315 0317 Descripcin:

Conexin en uso Transporte incompatible Conflicto de propiedad No se encontr la conexin Tipo de conexin no vlido Tamao de conexin no vlido Mdulo no configurado EPR no es compatible Mdulo equivocado Tipo de dispositivo equivocado Revisin equivocada Formato de configuracin no vlido Aplicacin sin conexiones

Tiempo de espera de la conexin Tiempo de espera de mensaje no conectado Error de parmetro de envo no conectado Mensaje demasiado grande No hay memoria de bfer Ancho de banda no disponible No hay filtros disponibles Coincidencia de firma Puerto no disponible Direccin de vnculo no disponible Tipo de segmento no vlido Conexin no programada

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-9

Estos son los cdigos de error extendidos para el cdigo de error 001F.
Cdigo de error extendido (hex): 0203 Descripcin:

Tiempo de espera de la conexin

Estos son los cdigos de error extendidos para el cdigo de error 0004 y 0005.
Cdigo de error extendido (hex): 0000 0001 Descripcin:

el estado extendido ya no tiene memoria el estado extendido ya no tiene ocurrencias

Cdigos de error PLC y SLC (.ERR)


El software de programacin no muestra en pantalla la descripcin completa de los cdigos de error PLC y SLC.
Cdigo de error (hex): 0010 0020 0030 0040 0050 0060 0070 0080 0090 00B0 00F0 Descripcin: Comando o formato no vlido del procesador local El mdulo de comunicacin no funciona El nodo remoto falta, est desconectado o desactivado El procesador est conectado pero entr en fallo (hardware) Nmero de estacin equivocado La funcin solicitada no est disponible El procesador est en el modo de programacin El archivo de compatibilidad del procesador no existe El nodo remoto no puede almacenar en un bfer el comando El procesador est descargando y por lo tanto no hay acceso al mismo Error PCCC (vea los cdigos de error extendidos) Cmo se muestra en el software: Conflicto con el estado del dispositivo Error desconocido Error desconocido Error desconocido Error desconocido Error desconocido Error desconocido Error desconocido Error desconocido Error desconocido Error desconocido

1756-6.4.1ES - Octubre de 1999

3-10

Instrucciones de entrada/salida (MSG, GSV, SSV)

Cdigos de error extendidos PLC y SLC (.EXERR)


El software no muestra en pantalla el texto para los cdigos de error extendidos. Estos son los cdigos de error extendidos para el cdigo de error 00F0.
Cdigo de error extendido (hex): 0001 0002 0003 0004 0005 Descripcin: Cdigo de error extendido (hex): 0010 0011 0012 0013 0014 Descripcin:

El procesador convirti incorrectamente la direccin Direccin no completa Direccin incorrecta Formato de direccin no vlido no se encuentra el smbolo Formato de direccin no vlido el smbolo tiene 0 mayor que el nmero mximo de caracteres compatibles con el dispositivo El archivo de direccin no existe en el procesador receptor El archivo de destino es demasiado pequeo para el nmero de palabras solicitadas No se puede realizar la solicitud La situacin cambi durante la operacin de multipaquetes Los datos o el archivo son demasiado grandes No hay memoria disponible El procesador receptor no puede colocar la informacin solicitada en paquetes Error de privilegio; se rechaz el acceso La funcin solicitada no est disponible La solicitud es redundante El comando no se puede ejecutar Overflow; overflow de histograma

No hay acceso El tipo de datos solicitado no coincide con los datos disponibles Parmetros de comando incorrectos Referencia de direccin existe a la zona eliminada Fallo de ejecucin de comando debido a condicin desconocida Overflow de histograma PLC-3 Error de conversin de datos El escner no est disponible para comunicarse con un adaptador de rack 1771 El adaptador no est disponible para comunicarse con el mdulo La respuesta del mdulo 1771 no es vlida Etiqueta duplicada Propietario del archivo activo se usa el archivo Propietario del programa activo se descarga o se edita en lnea El disco est protegido contra la escritura o no ofrece acceso (fuera de lnea solamente) Otra aplicacin est usando el archivo de disco No se realiz la actualizacin (fuera de lnea solamente)

0006 0007 0008

0015 0016 0017 0018 0019 001A 001B 001C 001D

0009 000A 000B 000C 000D 000E 000F

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-11

Cdigos de error de transferencia en bloques


Estos son los cdigos de error especficos para la transferencia en bloques ControlLogix.
Cdigo de error (hex): 00D0 00D1 00D2 00D3 00D6 00EA 00EB 00EC 00ED 00EE 00EF 00F0 00F3 00F5 00F6 00F7 00F8 00F9 00FA 00FB 00FC 00FD Descripcin: El escner no recibi una respuesta de transferencia en bloques del mdulo de transferencia en bloques dentro de 3.5 segundos de la solicitud Cmo se muestra en el software: error desconocido

La suma de comprobacin de la respuesta de lectura no coincidi con la suma de error desconocido comprobacin de la cadena de datos El escner solicit una lectura o escritura pero el mdulo de transferencia en bloques respondi con lo opuesto El escner solicit una longitud determinada y el mdulo de transferencia en bloques respondi con otra longitud El escner recibi una respuesta del mdulo de transferencia en bloques indicando que la solicitud de escritura entr en fallo El escner no se configur para comunicarse con el rack que contendra este mdulo de transferencia en bloques La ranura lgica especificada no est disponible para el tamao de rack especificado Existe actualmente una solicitud de transferencia en bloques y se requiere una respuesta antes de que otra respuesta se pueda iniciar El tamao de la solicitud de transferencia en bloques no corresponde a las solicitudes de tamao de transferencia en bloques vlidas El tipo de solicitud de transferencia en bloques no corresponde a los comandos BT_READ o BT_WRITE esperados error desconocido error desconocido error desconocido error desconocido error desconocido error desconocido error desconocido error desconocido

El escner no pudo encontrar una ranura disponible en la tabla de transferencias error desconocido en bloques para aceptar la solicitud de transferencia en bloques El escner recibi una solicitud para restablecer los canales de E/S remotas mientras existan transferencias en bloques pendientes Las colas para transferencias en bloques remotas estn llenas No hay canales de comunicacin configurados para el rack o ranura solicitado No hay canales de comunicacin configurados para las E/S remotas Se sobrepas el tiempo de espera, establecido en la instruccin, de la transferencia en bloques antes de completarse Error del protocolo de la transferencia en bloques transferencia en bloques no solicitada Se perdieron datos de transferencia debido a un canal de comunicacin deficiente El mdulo de transferencia en bloques solicit una longitud diferente que la solicitada por la instruccin de transferencia en bloques asociada La suma de comprobacin de los datos de transferencias en bloques de lectura no es correcta error desconocido error desconocido error desconocido error desconocido error desconocido error desconocido error desconocido error desconocido error desconocido

Se realiz una transferencia no vlida de los datos de transferencia en bloques de error desconocido escritura entre el adaptador y el mdulo de transferencia en bloques El tamao de la transferencia en bloques ms el tamao del ndice en la tabla de error desconocido datos de transferencia en bloques son mayores que el tamao del archivo de la tabla de datos de transferencia en bloques

1756-6.4.1ES - Octubre de 1999

3-12

Instrucciones de entrada/salida (MSG, GSV, SSV)

Cdigos de error Logix5550


Estos son los cdigos de error Logix5550.
Cdigo de error (hex): 00D0 00D1 00FB 00FC 00FD 00FE 00FF Descripcin: Instancia de asignacin no definida El mdulo no est en el estado marcha Puerto de mensaje no compatible Tipo de datos de mensaje no compatible Mensaje no inicializado Tiempo de espera de mensaje Error general (vea los cdigos de error extendidos) Cmo se muestra en el software: error desconocido error desconocido error desconocido error desconocido error desconocido error desconocido error desconocido

Cdigos de error extendidos Logix5550


Estos son los cdigos de error extendidos Logix5550. El software no muestra en pantalla el texto para los cdigos de error extendidos. Estos son los cdigos de error extendidos para el cdigo de error 00FF.
Cdigo de error extendido (hex): 2001 2002 2018 201B 201C 2100 2101 2102 2103 2104 2105 2106 Descripcin: Cdigo de error extendido (hex): 2107 2108 2109 210A 210B 210E 210F 2110 2111 2112 2113 2114 Descripcin:

Exceso de IOI Valor de parmetro incorrecto Rechazo de semforo Tamao demasiado pequeo Tamao no vlido Fallo de privilegio Posicin del interruptor de llave no vlida Contrasea no vlida No se emiti una contrasea Direccin fuera de rango Direccin y cantidad fuera de rango Datos en uso

El tipo no es vlido o no es compatible El controlador est en el modo carga o descarga Intento para cambiar el nmero de dimensiones de registro Nombre de smbolo no vlido El smbolo no existe La bsqueda entr en fallo La tarea no se puede iniciar No se puede escribir No se puede leer No se puede editar la rutina compartida El controlador est en el modo fallo Modo marcha inhibido

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-13

Cmo especificar los detalles de configuracin (ficha Configuracin)

Despus de introducir la instruccin MSG y especificar la estructura MESSAGE, use la ficha Configuracin del software de programacin para especificar los detalles del mensaje.

Haga clic aqu para configurar la instruccin MSG

Los detalles que usted configura dependen del tipo de mensaje que selecciona.

Si el dispositivo receptor es Seleccione uno de estos tipos de un: mensaje: Dispositivo ControlLogix o mdulo de E/S 1756 Lectura de la tabla de datos CIP Escritura de la tabla de datos CIP CIP genrico Procesador PLC-5 TypedRead PLC5 TypedWrite PLC5 Lectura de rango de palabra PLC5 Escritura de rango de palabra PLC5 Controlador SLC Typed Read SLC Typed Write SLC Mdulo de transferencia en Transferencia en bloques de lectura bloques mediante una red de Transferencia en bloques de escritura E/S remotas universales Procesador PLC-3 TypedRead PLC3 TypedWrite PLC-3 Lectura de rango de palabra PLC3 Escritura de rango de palabra PLC3 Procesador PLC-2 Lectura no protegida PLC2 Escritura no protegida PLC2

Vea la pgina: 3-14

3-16

3-17

3-17

3-18

3-19

1756-6.4.1ES - Octubre de 1999

3-14

Instrucciones de entrada/salida (MSG, GSV, SSV)

Usted debe especificar esta informacin de configuracin:


En este campo Elemento de origen/Tag Especifique: Si selecciona un tipo de mensaje de lectura, el Elemento de origen es la direccin de los datos que desea leer en el dispositivo receptor. Use la sintaxis del dispositivo receptor. Si selecciona un tipo de mensaje de escritura, el Tag de origen es el tag de los datos en el controlador Logix5550 que desea enviar al dispositivo receptor. El nmero de elementos que lee/escribe depende del tipo de datos que usa. Un elemento se refiere a un segmento de datos asociados. Por ejemplo, el tag timer1 es un elemento que consiste en una estructura de control del temporizador. Si selecciona un tipo de mensaje de lectura, el Tag de destino es el tag en el controlador Logix5550 donde desea almacenar los datos que lee desde el dispositivo receptor. Si selecciona un tipo de mensaje de escritura, el Elemento de destino es la direccin del lugar en el dispositivo receptor donde desea escribir los datos.

Nmero de elementos

Elemento de destino/Tag

Si especifica un tag de arreglo Logix5550 para el Origen o el Destino, especifique el nombre del tag de arreglo solamente. No incluya los corchetes ni el subndice de posicin.

Cmo especificar los mensajes CIP


Los tipos de mensaje CIP han sido diseados para transferir los datos hacia o desde otros dispositivos ControlLogix; por ejemplo, cuando se desea enviar un mensaje de un controlador Logix5550 a otro.
Seleccione este comando: Si usted desea:

Lectura de la tabla de datos CIP leer datos de otro controlador. Los tipos de Origen y Destino deben coincidir. Escritura de la tabla de datos CIP escribir datos a otro controlador. Los tipos de Origen y Destino deben coincidir. CIP genrico configurar un mensaje personalizado para enviar los datos de configuracin a un mdulo de E/S.

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-15

Cmo usar mensajes CIP genrico para restablecer los mdulos de E/S
Especifique esta informacin para crear un mensaje personalizado usando el tipo de mensaje CIP genrico.
Si usted desea: Realizar un prueba de impulso de un mdulo de salida digital En este campo Cdigo de servicio Tipo de objeto ID del objeto Atributo del objeto Origen Introduzca: 4c 1e 1 deje en blanco

tag_name de tipo INT [5]


Este arreglo contiene:

tag_name[0] tag_name[1] tag_name[2] tag_name[3] tag_name[4]


Nmero de elementos Destino Restablecer los fusibles electrnicos en un mdulo de salida digital Cdigo de servicio Tipo de objeto Atributo del objeto ID del objeto Origen 10 deje en blanco 4d 1e deje en blanco 1

mscara de bit de puntos a probar (pruebe slo un punto a la vez) reservado, deje 0 anchura de impulso (cntimos de segs, por lo general 20) retardo de cruce por cero para las E/S ControlLogix (centsimos de segs, por lo general 40) verificar el retardo

nombre del tag de tipo DINT Este tag representa una mscara de bit de los puntos en los cuales se restablecen los fusibles.
4 deje en blanco 4b para un mdulo de entrada para un mdulo de salida 1d 1e

Nmero de elementos Destino Restablecer los diagnsticos Cdigo de servicio enclavados en un mdulo de E/S Tipo de objeto digitales

Atributo del objeto ID del objeto Origen

deje en blanco 1

tag_name de tipo DINT Este tag representa una mscara de bit de los puntos en los cuales se restablecen los diagnsticos.
4 deje en blanco
1756-6.4.1ES - Octubre de 1999

Nmero de elementos Destino

3-16

Instrucciones de entrada/salida (MSG, GSV, SSV)

Si usted desea:

En este campo

Introduzca: 4b a introduzca un cdigo para el atributo deseado 0 deje en blanco 0 deje en blanco

Restablecer el estado enclavado Cdigo de servicio en un mdulo analgico Tipo de objeto Atributo del objeto ID del objeto Origen Nmero de elementos Destino

Cmo especificar los mensajes PLC-5


Los tipos de mensaje PLC-5 han sido diseados para los procesadores PLC-5.
Seleccione este comando: Si usted desea: TypedRead PLC5 leer nmeros enteros o datos de tipo REAL. Para los nmeros enteros, este comando lee los nmeros enteros de 16 bits del procesador PLC-5 (tipos de archivo S, B y N) y los almacena en arreglos de datos SINT, INT o DINT en el controlador Logix5550 y mantiene la integridad de los datos. Este comando tambin lee datos de punto flotante (coma flotante) del procesador PLC-5 (tipo de archivo F) y los almacena en un tag de tipo de datos REAL en el controlador Logix5550. escribir nmeros enteros o datos de tipo REAL. Este comando escribe los datos SINT o INT al procesador PLC-5 (tipos de archivo S, B y N) y mantiene la integridad de datos. Puede escribir los datos DINT siempre que quepan dentro de un tipo de datos INT (32,768 datos 32,767). Este comando tambin escribe los datos de tipo REAL del controlador Logix5550 hacia un archivo de punto flotante (coma flotante) PLC-5 (tipo de archivo F). leer un rango contiguo de palabras de 16 bits en la memoria PLC-5 independientemente del tipo de datos. Este comando comienza a partir de la direccin especificada como el Elemento de origen y lee secuencialmente el nmero de palabras de 16 bits solicitadas. Los datos del Elemento de origen se almacenan a partir de la direccin especificada como el Tag de destino. escribir un rango contiguo de palabras de 16 bits de la memoria Logix5550 independientemente del tipo de datos hacia la memoria PLC-5. Este comando comienza a partir de la direccin especificada como el tag de origen y lee secuencialmente el nmero de palabras de 16 bits solicitadas. Los datos del tag de origen se almacenan a partir de la direccin especificada como el Elemento de origen en el procesador PLC-5.

PLC5 Typed Write

Lectura de rango de palabra PLC5

Escritura de rango de palabra PLC5

Los comandos TypedRead y TypedWrite tambin funcionan con los procesadores SLC 5/03 (OS303 y posteriores), procesadores SLC 5/04 (OS402 y posteriores) y procesadores SLC 5/05.

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-17

Los diagramas siguientes muestran la diferencias entre los comandos TypedWrite/TypedRead y de rango de palabra. El ejemplo usa los comandos de lectura de un procesador PLC-5 hacia un controlador Logix5550.
Comando TypedRead palabras de 16 bits en el procesador PLC-5 1 2 3 4 palabras de 32 bits en el controlador Logix5550 1 2 3 4 Comando de rango de palabra palabras de 16 bits en el procesador PLC-5 1 2 3 4 palabras de 32 bits en el controlador Logix5550 2 4 1 3

Los comandos TypedWrite/TypedRead mantienen la estructura y valor de datos.

Los comandos de rango de palabra llenan el tag de destino contiguamente. La estructura y valor de datos se cambian segn el tipo de datos de destino.

Cmo especificar los mensajes SLC


Los tipos de mensaje SLC han sido diseados para los controladores SLC y MicroLogix1000.
Seleccione este comando: Si usted desea: Typed Read SLC Typed Write SLC leer los datos INT o DINT. escribir los datos INT o DINT.

El tipo de tag Logix5550 debe coincidir con el tipo de datos SLC. Usted puede transferir solamente los datos INT (que se asignan al tipo de datos de bit SLC) o datos INT (que se asignan al tipo de datos de enteros SLC).

Cmo especificar los mensajes de transferencia en bloques


Los tipos de mensaje de transferencia en bloques se usan para comunicarse con los mdulos de transferencia en bloques mediante una red de E/S remotas universales.
Seleccione este comando: Si usted desea: Transferencia en bloques de lectura leer los datos de un mdulo de transferencia en bloques. Este tipo de mensaje reemplaza la instruccin BTR. escribir los datos a un mdulo de transferencia en bloques. Este tipo de mensaje reemplaza la instruccin BTW.

Transferencia en bloques de escritura

1756-6.4.1ES - Octubre de 1999

3-18

Instrucciones de entrada/salida (MSG, GSV, SSV)

Los tags de origen (para BTW) y destino (para BTR) deben ser bastante grandes para aceptar los datos solicitados, excepto las estructuras MESSAGE, AXIS y MODULE. Tambin debe especificar la cantidad de nmeros enteros de 16 bits (INT) que desea enviar o recibir. Puede especificar desde 0 hasta 65 nmeros enteros. Si especifica 0 para un mensaje BTR, el mdulo de transferencia en bloques determina cuntos nmeros enteros de 16 bits se enviarn. Si especifica 0 para un mensaje BTW, el controlador enva 64 nmeros enteros. El mdulo de E/S que recibir la transferencia en bloques se debe identificar en el organizador de controlador. Cuando se selecciona un tipo de mensaje de transferencia en bloques, no se selecciona un mtodo de comunicacin en la ficha Configuracin. La selecciones CIP y DH+ aparecen en gris.

Cmo especificar los mensajes PLC-3


Los tipos de mensaje PLC-3 han sido diseados para los procesadores PLC-3.
Seleccione este comando: Si usted desea: TypedRead PLC3 leer nmeros enteros o datos de tipo REAL. Para los nmeros enteros, este comando lee los nmeros enteros de 16 bits del procesador PLC-3 (tipos de archivo S, B y N) y los almacena en arreglos de datos SINT, INT o DINT en el controlador Logix5550 y mantiene la integridad de los datos. Este comando tambin lee datos de punto flotante (coma flotante) del procesador PLC-3 (tipo de archivo F) y los almacena en un tag de tipo de datos REAL en el controlador Logix5550. escribir nmeros enteros o datos de tipo REAL. Este comando escribe los datos SINT o INT al archivo de enteros PLC-3 y mantiene la integridad de los datos. Puede escribir los datos DINT siempre que quepan dentro de un tipo de datos INT (32,768 datos 32,767). Este comando tambin escribe los datos de tipo REAL del controlador Logix5550 hacia un archivo de punto flotante (coma flotante) PLC-3 (tipo de archivo F). leer un rango contiguo de palabras de 16 bits en la memoria PLC-3 independientemente del tipo de datos. Este comando comienza a partir de la direccin especificada como el Elemento de origen y lee secuencialmente el nmero de palabras de 16 bits solicitadas. Los datos del Elemento de origen se almacenan a partir de la direccin especificada como el Tag de destino. escribir un rango contiguo de palabras de 16 bits de la memoria Logix5550 independientemente del tipo de datos hacia le memoria PLC-3. Este comando comienza a partir de la direccin especificada como el tag de origen y lee secuencialmente el nmero de palabras de 16 bits solicitadas. Los datos del tag de origen se almacena a partir de la direccin especificada como el Elemento de origen en el procesador PLC-3.

Typed Write PLC3

Lectura de rango de palabra PLC3

Escritura de rango de palabra PLC3

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-19

Los diagramas siguientes muestran la diferencias entre los comandos TypedWrite/TypedRead y de rango de palabra. El ejemplo usa los comandos de lectura de un procesador PLC-3 hacia un controlador Logix5550.
Comando TypedRead palabras de 16 bits en el procesador PLC-3 1 2 3 4 palabras de 32 bits en el controlador Logix5550 1 2 3 4 Comando de rango de palabra palabras de 16 bit en el procesador PLC-3 1 2 3 4 palabras de 32 bit en el controlador Logix5550 2 4 1 3

Los comandos TypedWrite/TypedRead mantienen la estructura y valor de datos.

Los comandos de rango de palabra llenan el tag de destino contiguamente. La estructura y valor de datos se cambian segn el tipo de datos de destino.

Cmo especificar los mensajes PLC-2


Los tipos de mensaje PLC-2 han sido diseados para los procesadores PLC-2.
Seleccione este comando: Si usted desea: Lectura no protegida PLC2 leer las palabras de 16 bits de cualquier zona desde la tabla de datos PLC-2 el archivo de compatibilidad PLC-2 de otro procesador.

Escritura no protegida PLC2 escribir las palabras de 16 bits a cualquier zona de la tabla de datos PLC-2 el archivo de compatibilidad PLC-2 de otro procesador.

La transferencia de mensajes usa palabras de 16 bits, por lo tanto, asegrese de que el tag Logix5550 almacena apropiadamente los datos transferidos (tpicamente como un arreglo INT).

1756-6.4.1ES - Octubre de 1999

3-20

Instrucciones de entrada/salida (MSG, GSV, SSV)

Ejemplos de configuracin MSG

Los ejemplos siguientes muestran ejemplos de tags de origen y destino adems de elemento para diferentes combinaciones de controladores. Para las instrucciones MSG que provienen de un controlador Logix5550 y escriben a otro procesador:

Ruta de mensaje: Logix5550 Logix5550

Ejemplo de origen y destino: tag de origen tag de destino

array_1 array_2

Puede usar un tag de alias para el tag de origen (en el controlador Logix5550 de origen). Si se desea iniciar un offset dentro de un arreglo, hay que usar un alias para indicar el offset. No puede usar un alias para el tag de destino. El destino debe ser un tag base. Logix5550 PLC-5 Logix5550 SLC tag de origen elemento de destino

array_1 N7:10

Puede usar un tag de alias para el tag de origen (en el controlador Logix5550 de origen). Si se desea iniciar un offset dentro de un arreglo, hay que usar un alias para indicar el offset. Logix5550 PLC-2 tag de origen elemento de destino

array_1 010

Para las instrucciones MSG que provienen de un controlador Logix5550 y leen de otro procesador:
Ruta de mensaje: Logix5550 Logix5550 Ejemplo de origen y destino: tag de origen tag de destino

array_1 array_2

No puede usar un tag de alias para el tag de origen. El origen debe ser un tag base. Puede usar un tag de alias para el tag de destino (en el controlador Logix5550 de origen). Si se desea iniciar un offset dentro de un arreglo, hay que usar un alias para indicar el offset. Logix5550 PLC-5 Logix5550 SLC elemento de origen tag de destino

N7:10 array_1

Puede usar un tag de alias para el tag de destino (en el controlador Logix5550 de origen). Si se desea iniciar un offset dentro de un arreglo, hay que usar un alias para indicar el offset. Logix5550 PLC-2 elemento de origen tag de destino

010 array_1

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-21

Cmo especificar los detalles de comunicacin (ficha Comunicacin)

Cuando usted configura una instruccin MSG, configura estos detalles en la ficha Comunicacin.

Cmo especificar una ruta de conexin


La ruta de conexin describe la ruta que sigue el mensaje para llegar al procesador o mdulo de destino. La ruta usa nmeros, donde parejas de nmeros llegan al usuario de un mdulo a otro mediante un backplane ControlLogix o una red de comunicaciones. Si el rbol de configuracin de E/S contiene el procesador o mdulo de destino en lugar de especificar una ruta, haga clic en Examinar para seleccionar el dispositivo. Use el siguiente diagrama de flujo para determinar la necesidad de introducir una ruta.
A. Aada el mdulo al rbol de configuracin de E/S del controlador. B. En la ficha Comunicaciones del cuadro de dilogo Configuracin de mensaje, haga clic en Examinar y seleccione el mdulo. S Especifique una ruta de acceso al mdulo 1756-DHRIO que se encuentra en la misma red DH+ que el procesador. Vea el procedimiento siguiente. Especifique una ruta de acceso al procesador o mdulo. Vea el procedimiento siguiente.

Es el mensaje a un mdulo de transferencia en bloques mediante una red de E/S remotas universales? No

Es el mensaje a un procesador PLC-2, 3, 5 SLC mediante una red DH+? No

1756-6.4.1ES - Octubre de 1999

3-22

Instrucciones de entrada/salida (MSG, GSV, SSV)

Para especificar una ruta de acceso: 1. En el cuadro de texto Ruta de acceso, escriba lo siguiente, separando cada nmero con una coma [,]: A. Especifique el puerto por el cual sale el mensaje. (Para el primer nmero en la ruta, esto es generalmente 1, el cual asigna el puerto del backplane del controlador Logix5550 que est enviando el mensaje.):
Para el: backplane de cualquier procesador o mdulo 1756 puerto DF1 desde un controlador 1756-L1 puerto ControlNet de un mdulo 1756-CNB puerto Ethernet desde un mdulo 1756-ENET puerto DH+ mediante canal A desde un mdulo 1756-DHRIO puerto DH+ mediante canal B desde un mdulo 1756-DHRIO 3 2 Especifique: 1

B. Especifique el mdulo:
Para un mdulo en: backplane ControlBus red DF1 red ControlNet red DH+ red Ethernet Especifique: nmero de ranura direccin de estacin (0 254) nmero de nodo (1 99 decimal) nmero de nodo (1 77 octal) direccin IP (cuatro nmeros decimales separados por puntos)

2. Repita el paso 1. hasta especificar el procesador o mdulo de destino. Las pginas siguientes presentan ejemplos de rutas de conexin: mediante ControlNet, vea la pgina 3-23 mediante Ethernet, vea la pgina 3-24 para un mensaje DH+, vea la pgina 3-24

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-23

Los dos ejemplos siguientes muestran las rutas de conexin entre los controladores Logix5550 mediante las redes ControlNet y Ethernet. El controlador que enva el mensaje se encuentra en el chasis local y el controlador que recibe el mensaje se encuentra en el chasis remoto.

Ejemplo 1: Cmo especificar una ruta de acceso mediante ControlNet


Nodo chassis local 49 ControlNet de chasis local en la ControlNet node 49 ranura 0 in slot 0 Nodo 49 ControlNet remote chassis de chasis remoto42 ControlNet node en la ranura 0 in slot 0

ControlNet link ControlNet link


42042

Ruta de acceso: 1, 0, 2, 42, 1, 3


donde: 1 0 2 Indica: el puerto del backplane del controlador Logix5550 en el chasis local el nmero de ranura del mdulo 1756-CNB en el chasis local el puerto ControlNet del mdulo 1756-CNB en ranura 0 del chasis local el nodo ControlNet del mdulo 1756-CNB en ranura 0 del chasis remoto el puerto del backplane del mdulo 1756-CNB en el chasis remoto el nmero de ranura el controlador en el chasis remoto

42

1 3

1756-6.4.1ES - Octubre de 1999

3-24

Instrucciones de entrada/salida (MSG, GSV, SSV)

Ejemplo 2: Cmo especificar una ruta de acceso mediante Ethernet

Mdulo Ethernet de chasis local chassis local en la ranura in slot 1 Ethernet module 1 Red Ethernet Ethernet link

Mdulo chassis de chasis remote Ethernet remoto en la ranuraslot 2 Ethernet module in 2 Direccin IP 127.127.127.12 IP address 127.127.127.12
42043

Ruta de acceso: 1, 1, 2, 127.127.127.12, 1, 3


donde: 1 1 2 127.127.127.12 1 3 Indica: el puerto del backplane del controlador Logix5550 en el chasis local el nmero de ranura del mdulo 1756-ENET en el chasis local el puerto Ethernet del mdulo 1756-ENET en el chasis local la direccin IP del mdulo 1756-ENET en el chasis remoto el puerto del backplane del mdulo 1756-ENET en el chasis remoto el nmero de ranura el controlador en el chasis remoto

El ejemplo siguiente muestra la ruta de conexin usada en un mensaje a un procesador PLC-5. En este caso, la ruta se termina con el mdulo 1756-DHRIO que se encuentra en la misma red DH+ que el procesador PLC-5.

Ejemplo 3: Cmo especificar una ruta de acceso para un mensaje DH+

DH+ de chasis local chassis local = nodo 37 DH+ = node 37 Red DH+ DH+ link

Chasischassis with 1771 1771 con procesador PLC-5 PLC-5 processor DH+ = nodo 24 DH+ = node 24

42044

Ruta de acceso: 1, 1
donde: 1 1
1756-6.4.1ES - Octubre de 1999

Indica: el puerto del backplane del controlador Logix5550 en el chasis local el nmero de ranura del mdulo 1756-DHRIO en el chasis local

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-25

Cmo especificar un mtodo de comunicacin:


Use la tabla siguiente para seleccionar un mtodo de comunicacin para el mensaje. Para un tipo de mensaje CIP genrico o de transferencia en bloques, no es necesario seleccionar un mtodo de comunicacin. (La seccin no est disponible).
Si el dispositivo de destino es Entonces seleccione: un: controlador ControlLogix procesador ControlNet PLC-5 Procesador PLC-5 procesador SLC protocolo de control e informacin DH+ Y especifique: no se requieren otras especificaciones

Canal: Vnculo de origen:

El canal A o B del mdulo 1756-DHRIO que est conectado a la red DH+ La identificacin de vnculo asignada al backplane del controlador en la tabla de encaminamiento del mdulo 1756-DHRIO (El nodo de origen en la tabla de encaminamiento es automticamente el nmero de ranura del controlador.) La identificacin de vnculo de la red DH+ remota donde reside el dispositivo receptor La direccin de estacin del dispositivo receptor

Procesador PLC-3 Procesador PLC-2

Vnculo de destino Nodo de destino:

Si hay solamente una red DH+ y no se usa el software Gateway para configurar el mdulo DH/RIO para vnculos remotos, hay que especificar 0 para el vnculo de origen y el vnculo de destino. Aplicacin en una estacin de trabajo que recibe un mensaje no solicitado encaminado mediante una red Ethernet o ControlNet a travs de RSLinx. CIP con ID de origen (Esto permite que la aplicacin reciba datos de un controlador.) Vnculo de origen: La identificacin de vnculo de los datos (0 65535) proporcionados por la aplicacin a RSLinx La identificacin de vnculo virtual configurado en RSLinx (0 65535) La identificacin de destino (0 77 octal) proporcionada por la aplicacin a RSLinx

Vnculo de destino: Nodo de destino:

El nmero de ranura del controlador Logix5550 se usa como el Nodo de origen.

1756-6.4.1ES - Octubre de 1999

3-26

Instrucciones de entrada/salida (MSG, GSV, SSV)

Cmo seleccionar una opcin de cach:


Algunos timpos de mensajes usan una conexin para enviar o recibir datos.Hay otros que tambin ofrecen la opcin de dejar abierta la conexin (cach) o cerrar la conexin una vez transmitido el mensaje. La tabla siguiente indica qu mensajes usan una conexin y si es posible almacenar en cach la conexin:
Este tipo de mensaje: Usando este mtodo de comunicacin: protocolo de control e informacin protocolo de control e informacin CIP con ID de origen DH+ CIP genrico transferencia en bloques de lectura o escritura N/A N/A Usa una conexin: Que se puede almacenar en cach:

lectura o escritura de la tabla de datos CIP PLC2, PLC3, PLC5 SLC (todos los tipos)

Use la tabla siguiente para seleccionar una opcin de cach para un mensaje.
Si el mensaje se ejecuta: repetidamente Entonces: Seleccione la casilla de verificacin Conexiones de cach Porque: Esto mantiene abierta la conexin y optimiza el tiempo de ejecucin. El abrir una conexin cada vez que se ejecuta el mensaje aumenta el tiempo de ejecucin.

con poca frecuencia

Borre la casilla de verifi- Esto cerrar la conexin una vez complecacin Conexiones de tada, lo cual hace la conexin disponible cach para otros usos.

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-27

Get System Value (GSV) y Set System Value (SSV)


Operandos:

La instruccin GSV es una instruccin de salida. La instruccin GSV es una instruccin de salida.

Operando:

Tipo:

Formato:

Descripcin:

Instruccin GSV Clase de objeto Nombre del objeto Nombre de atributo Destino SINT INT DINT REAL nombre nombre nombre de la clase de objeto nombre de objeto especfico cuando el objeto requiere un nombre atributo del objeto el tipo de datos depende del atributo que usted selecciona destino para los datos del atributo

nombre

tag

Instruccin SSV Clase de objeto Nombre del objeto Nombre de atributo Origen SINT INT DINT REAL nombre nombre nombre de la clase de objeto nombre de objeto especfico cuando el objeto requiere un nombre atributo del objeto el tag que contiene los datos que desea copiar al atributo

nombre tag

Descripcin: Las instrucciones GSV/SSV reciben y envan datos de sistema del controlador que se almacenan en los objetos. El controlador almacena datos de sistema en los objetos. No hay un archivo de estado, a diferencia del procesador PLC-5. Cuando est habilitada, la instruccin GSV recupera la informacin especificada y la coloca en el destino. Cuando est habilitada, la instruccin SSV establece el atributo especificado con datos del origen. Cuando se introduce una instruccin GSV/SSV, el software de programacin muestra en pantalla las clases de objetos, nombres de objetos y nombres de atributos vlidos para cada instruccin. En cuanto a la instruccin GSV, es posible obtener los valores para todos los atributos disponibles. Para la instruccin SSV, el software muestra en pantalla solamente los atributos que se permiten establecer (SSV). ATENCION: use la instruccin GSV/SSV con cuidado. El hacer cambios a los objetos puede causar una operacin inesperada del controlador o lesiones personales.

1756-6.4.1ES - Octubre de 1999

3-28

Instrucciones de entrada/salida (MSG, GSV, SSV)

Si el tamao del Origen o Destino es demasiado pequeo, la instruccin no se ejecuta y se registra un fallo menor. La seccin siguiente, Objetos GSV/ SSV, define los atributos de cada objeto y los tipos de datos asociados. Por ejemplo, el atributo MajorFaultRecord del objeto Program requiere un tipo de datos DINT[11]. Ejecucin:
Condicin: preescn la condicin de rengln precedente es falsa la condicin de rengln precedente es verdadera Accin: La condicin de rengln de salida est establecida como falsa. La condicin de rengln de salida est establecida como falsa. Obtener o definir el valor especificado. La condicin de rengln de salida est establecida como verdadera

Indicadores de estado aritmtico: no afectado Condiciones de fallo:


Ocurrir un fallo menor si: direccin de objeto no vlida se especific un objeto que no es compatible con GSV/SSV atributo no vlido no se proporcion suficiente informacin para una instruccin SSV el destino GSV no es suficientemente grande para retener los datos solicitados Tipo de fallo: 4 4 4 4 4 Cdigo de fallo: 5 6 6 6 7

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: GSV(object_class,object_name,attribute_name,destination); SSV(object_class,object_name,attribute_name,destination); GSV object_class object name attribute_name destination SSV object_class object name attribute_name destination

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-29

Objetos GSV/SSV

Cuando se introduce una instruccin GSV/SSV, se especifica el objeto, y el atributo del mismo, al cual se desea obtener acceso. En ciertos casos, existir ms de una instancia del mismo tipo de objeto, por lo tanto, tambin puede ser necesario especificar el nombre del objeto. Por ejemplo, la aplicacin puede tener diversas tareas. Cada tarea tiene su propio objeto TASK al cual se puede obtener acceso mediante el nombre de la tarea. ATENCION: Para la instruccin GSV, se copian al destino solamente el tamao especificado de datos. Por ejemplo, si el atributo especificado es SINT y el destino es DINT, se actualizan solamente los 8 bits inferiores del destino DINT y los otros 24 bits no se cambian.

Se puede obtener acceso a los objetos siguientes:


Para obtener informacin acerca de este objeto: AXIS CONTROLLER CONTROLLERDEVICE CST DF1 FAULTLOG MESSAGE MODULE MOTIONGROUP PROGRAM ROUTINE SERIALPORT TASK WALLCLOCKTIME Vea la pgina: 3-30 3-36 3-36 3-38 3-39 3-42 3-42 3-44 3-45 3-46 3-46 3-47 3-48 3-49

1756-6.4.1ES - Octubre de 1999

3-30

Instrucciones de entrada/salida (MSG, GSV, SSV)

Cmo obtener acceso al objeto AXIS


El objeto AXIS proporciona informacin de estado acerca de un eje de mdulo de servo. Especifique el nombre del tag de eje para seleccionar el objeto AXIS deseado. Vea la publicacin 1756-6.5.16, Logix5550 Motion Module User Manual, para obtener ms informacin acerca del objeto AXIS. Cuando un atributo est marcado con asterisco (*), significa que los atributos se encuentran en el controlador ControlLogix y el mdulo de movimiento. Cuando usted usa una instruccin SSV para escribir uno de estos valores, el controlador actualiza automticamente la copia en el mdulo. Sin embargo, este proceso no se realiza inmediatamente. Para asegurarse de que el nuevo valor se actualiza en el mdulo, use un mecanismo de enclavamiento usando bits booleanos en el UpdateStatus del tag Axis. Por ejemplo, si realiza un comando SSV a PositionLockTolerance, el PositionToStatus del tag Axis se establece hasta que se actualiza con xito el mdulo. Por lo tanto, la lgica que sigue al comando SSV no puede esperar el restablecimiento de este bit antes de continuar en el programa.
Tipo de datos: *AccelerationFeedforwardGain REAL ActualPosition ActualVelocity AverageVelocity AverageVelocityTimebase AxisConfigurationState AxisState REAL REAL REAL REAL SINT SINT Atributo: Instruccin: GSV SSV GSV GSV GSV GSV SSV GSV GSV Descripcin: El valor usado para proporcionar la salida de comando de par a fin de generar la aceleracin de comando. El posicin real del eje. La velocidad real del eje. La velocidad promedio del eje. La base de tiempo de la velocidad promedio del eje. El estado de configuracin del eje. El estado operativo del eje. Valor: Significado: 0 eje listo 1 control directo de variador 2 control servo 3 fallo de eje 4 desactivacin de eje El tipo de eje que se usa. Valor: Significado: 0 eje no usado 1 eje de slo posicin 2 servoeje La ocurrencia de conexin del controlador que produce los datos de eje. La ocurrencia de asignacin del controlador que produce los datos de eje. La posicin de comando del eje. La velocidad de comando del eje. El factor de conversin usado para realizar una conversin de las unidades en conteos de retroalimentacin. El valor usado para calcular el ancho de banda mximo de la posicin servo durante la ejecucin de la instruccin Motion Run Axis Tuning (MRAT).

*AxisType

INT

GSV SSV

C2CConnectionInstance C2CMapTableInstance CommandPosition CommandVelocity ConversionConstant DampingFactor

DINT DINT REAL REAL REAL REAL

GSV GSV GSV GSV GSV SSV GSV SSV

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-31

Atributo: *DriveFaultAction

Tipo de datos: SINT

Instruccin: GSV SSV

Descripcin: La operacin que se realiza cuando ocurre un fallo del variador. Valor: Significado: 0 desactive el eje 1 inhabilite el variador 2 pare el movimiento ordenado 3 cambie el bit de estado solamente El valor de inercia para el eje calculado segn las mediciones efectuadas por el controlador durante la ltima instruccin Motion Run Axis Tuning (MRAT). La operacin que se realiza cuando ocurre un fallo de prdida de encoder. Valor: Significado: 0 desactive el eje 1 inhabilite el variador 2 pare el movimiento ordenado 3 cambie el bit de estado solamente La operacin que se realiza cuando ocurre un fallo de ruido de encoder. Valor: Significado: 0 desactive el eje 1 inhabilite el variador 2 pare el movimiento ordenado 3 cambie el bit de estado solamente El nivel de salida fijo usado para compensar la friccin esttica. El nmero de instancia del grupo de movimiento que contiene el eje. El modo vuelta a la posicin inicial del eje. Valor: Significado: 0 vuelta a la posicin pasiva 1 vuelta a la posicin activa (opcin predeterminada) La posicin inicial del eje. La velocidad de vuelta a la posicin inicial del eje. El tipo de secuencia de vuelta a la posicin inicial del eje. Valor: Significado: 0 vuelta a la posicin inicial inmediata 1 vuelta a la posicin inicial de interruptor 2 vuelta a la posicin inicial de marcador 3 vuelta a al posicin inicial de interruptor-marcador (predeterminada) La velocidad de vuelta a la posicin inicial del eje. El nmero de instancia del eje. La instancia del mapa de E/S del mdulo servo. La aceleracin mxima del eje. La desaceleracin mxima del eje. El fin de carrera negativo mximo. El fin de carrera positivo mximo. La velocidad mxima del eje.

EffectiveInertia

REAL

GSV

*EncoderLossFaultAction

SINT

GSV SSV

*EncoderNoiseFaultAction

SINT

GSV SSV

*FrictionCompensation GroupInstance HomeMode

REAL DINT SINT

GSV SSV GSV GSV SSV

HomePosition HomeReturnSpeed HomeSequenceType

REAL REAL SINT

GSV SSV GSV SSV GSV SSV

HomeSpeed Instance MapTableInstance MaximumAcceleration MaximumDeceleration *MaximumNegativeTravel *MaximumPositiveTravel MaximumSpeed

REAL DINT DINT REAL REAL REAL REAL REAL

GSV SSV GSV GSV GSV SSV GSV SSV GSV SSV GSV SSV GSV SSV

1756-6.4.1ES - Octubre de 1999

3-32

Instrucciones de entrada/salida (MSG, GSV, SSV)

Atributo: ModuleChannel MotionConfigurationBits

Tipo de datos: SINT DINT

Instruccin: GSV GSV SSV

Descripcin: El canal de mdulo del mdulo servo. Los bits de configuracin de movimiento para el eje. bit: Significado: 0 retroceso de direccin de vuelta a la posicin inicial 1 interruptor de vuelta a la posicin inicial normalmente cerrado 2 flanco marcado negativo de vuelta al posicin inicial Los bits de fallo de movimiento para el eje. (En la estructura AXIS, ste es el miembro MotionFault.) bit: Nombre del bit: Significado: 0 ACAsyncConnFault fallo de conexin asncrona 1 ACSyncConnFault fallo de conexin sncrona

MotionFaultBits

DINT

GSV

MotionStatusBits

DINT

GSV

MotorEncoderTestIncrement *OutputFilterBandwidth *OutputLimit *OutputOffset

REAL REAL REAL REAL

GSV SSV GSV SSV GSV SSV GSV SSV GSV SSV GSV GSV SSV

Los bits de estado de movimiento para el eje. (En la estructura AXIS, ste es el miembro MotionStatus.) bit: Nombre del bit: Significado: 0 AccelStatus aceleracin 1 DecelStatus desaceleracin 2 MoveStatus mover 3 JogStatus impulsar 4 GearingStatus transmisin 5 HomingStatus vuelta a la posicin inicial 6 ClutchStatus embrague 7 AxisHomedStatus estado de vuelta a la posicin inicial La cantidad de movimiento necesaria para iniciar la prueba Motion Run Hookup Diagnostic (MRHD). El ancho de banda del filtro servo de salida digital de paso bajo. El valor del voltaje mximo de salida servo del eje. El valor usado para compensar los efectos de los offsets acumulativos de la salida DAC del mdulo servo y la entrada del servovariador. El valor usado para convertir la salida del lazo servo en el voltaje equivalente al variador. La diferencia entre la posicin real y la posicin de comando de un eje. La operacin que se realiza cuando ocurre un fallo de error de posicin. Valor: Significado: 0 desactive el eje 1 inhabilite el variador 2 pare el movimiento ordenado 3 cambie el bit de estado solamente La cantidad de errores de posicin que el servo tolera antes de emitir un fallo de error de posicin. El valor usado para lograr el posicionamiento de eje preciso a pesar de las perturbaciones, tales como la friccin esttica y la gravedad. La suma del error de posicin para un eje. La cantidad de errores de posicin que el mdulo servo tolera cuando indica un estado de posicin verdadera bloqueada. El valor que el controlador multiplica con el error de posicin para compensar el error de posicin.

*OutputScaling PositionError *PositionErrorFaultAction

REAL REAl SINT

*PositionErrorTolerance *PositionIntegralGain

REAL REAL

GSV SSV GSV SSV GSV GSV SSV GSV SSV

PositionIntegratorError PositionLockTolerance *PositionProportionalGain

REAL REAL REAL

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-33

Atributo: PositionServoBandwidth

Tipo de datos: REAL

Instruccin: GSV SSV GSV SSV GSV SSV

Descripcin: El ancho de banda de ganancia de unidad que el controlador usa para calcular las ganancias para una instruccin Motion Apply Axis Tuning (MAAT). El valor usado para realizar el desbobinado automtico del eje rotativo. El tipo de detencin que se realiza en el eje. Valor: Significado: 0 detencin rpida 1 desactivacin rpida 2 desactivacin inmediata La posicin de registro para el eje. Los bits de configuracin servo para el lazo del servo. bit: Significado: 0 eje rotativo 1 servovariador de velocidad externa 2 polaridad negativa de encoder 3 polaridad servo negativa 4 verificacin de sobrecarrera basada en software 5 verificacin de error de posicin 6 verificacin de fallo de prdida de encoder 7 verificacin de fallo de ruido de encoder 8 verificacin de fallo del variador 9 fallo del variador normalmente cerrado
Los bits de estado de configuracin servo para el lazo del servo. (En la estructura AXIS, ste es el miembro UpdateStatus.) bit: Nombre del bit: Significado: 0 AxisTypeStatus tipo de eje 1 PosUnwndStatus posicin de desbobinado 2 MaxPTrvlStatus carrera positiva mxima 3 MaxNTrvlStatus carrera negativa mxima 4 PosErrorTolStatus tolerancia de error de posicin 5 PosLockTolStatus tolerancia de bloqueo de posicin 6 PosPGainStatus ganancia proporcional de posicin 7 PosIGainStatus ganancia integral de posicin 8 VelFfGainStatus ganancia de prealimentacin de velocidad 9 AccFfGainStatus prealimentacin de aceleracin ganancia 10 VelPGainStatus ganancia proporcional de velocidad 11 VelIGainStatus ganancia integral de velocidad 12 OutFiltBwStatus ancho de banda de filtro de salida 13 OutScaleStatus escalado de salida 14 OutLimitStatus lmite de salida 15 OutOffsetStatus offset de salida 16 FricCompStatus compensacin de friccin 17 POtrvlFaultActStatus accin de fallo de sobrecarrera basada en software 18 PosErrorFaultActStatus accin de fallo de error de posicin 19 EncLossFaultActStatus accin de fallo de prdida de encoder 20 EncNsFaultActStatus accin de fallo de ruido de encoder 21 DriveFaultActStatus accin de fallo del variador

*PositionUnwind ProgrammedStopMode

DINT SINT

RegistrationPosition *ServoConfigurationBits

REAL DINT

GSV GSV SSV

ServoConfigurationUpdateBits

DINT

GSV

1756-6.4.1ES - Octubre de 1999

3-34

Instrucciones de entrada/salida (MSG, GSV, SSV)

Atributo:
ServoEventBits

Tipo de datos:
DINT

Instruccin:
GSV

Descripcin:
Los bits de evento servo para el lazo del servo. (En la estructura AXIS, ste es el miembro EventStatus.) bit: Nombre del bit: Significado: 0 WatchEvArmStatus evento de vigilancia activado 1 WatchEvStatus evento de vigilancia 2 RegEvArmStatus evento de registro activado 3 RegEvStatus evento de registro 4 HomeEvArmStatus evento de vuelta a la posicin inicial activado 5 HomeEvStatus evento de vuelta a la posicin inicial Los bits de fallo servo para el lazo del servo. (En la estructura AXIS, ste es el miembro ServoFault.) bit: Nombre del bit: Significado: 0 POtrvlFault fallo de sobrecarrera positivo 1 NOtrvlFault fallo de sobrecarrera negativo 2 PosErrorFault fallo de error de posicin 3 EncCHALossFault fallo de prdida de canal A del encoder 4 EncCHBLossFault fallo de prdida de canal B del encoder 5 EncCHZLossFault fallo de prdida de canal Z del encoder 6 EncNsFault fallo de ruido de encoder 7 DriveFault fallo del variador 8 SyncConnFault fallo de conexin sncrono 9 HardFault fallo de hardware servo El nivel de voltaje de salida para el lazo del servo de eje.

ServoFaultBits

DINT

GSV

ServoOutputLevel

REA;

GSV

ServoStatusBits

DINT

GSV

ServoStatusUpdateBits

DINT

GSV

*SoftOvertravelFaultAction

SINT

GSV SSV

StartActualPosition StartCommandPosition StrobeActualPosition

REAL REAL REAL

GSV GSV GSV

Los bits de estado para el lazo del servo. (En la estructura AXIS, ste es el miembro ServoStatus.) bit: Nombre del bit: Significado: 0 ServoActStatus accin del servo 1 DriveEnableStatus habilitacin del variador 2 OutLmtStatus lmite de salida 3 PosLockStatus bloqueo de posicin 13 TuneStatus proceso de ajuste 14 TestStatus diagnstico de prueba 15 ShutdownStatus desactivacin del eje Los bits de actualizacin de estado del servo para el eje. bit: Significado: 0 actualizacin del error de posicin 1 actualizacin del error de integrador de posicin 2 actualizacin del error de velocidad 3 actualizacin del error de integrador de velocidad 4 actualizacin de comando de velocidad 5 actualizacin de retroalimentacin de velocidad 6 actualizacin de nivel de salida del servo La operacin que se realiza cuando ocurre un fallo sobrecarrera basada en software. Valor: Significado: 0 desactive el eje 1 inhabilite el variador 2 pare el movimiento ordenado 3 cambie el bit de estado solamente La posicin real del eje cuando empieza el nuevo movimiento ordenado para el eje. La posicin de comando del eje cuando empieza el nuevo movimiento ordenado para el eje. La posicin real del eje cuando se ejecuta la instruccin Motion Group Strobe Position (MGSP).

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-35

Atributo: StrobeCommandPosition TestDirectionForward

Tipo de datos: REAL SINT

Instruccin: GSV GSV

Descripcin: La posicin de comando del eje cuando se ejecuta la instruccin Motion Group Strobe Position (MGSP). La direccin de carrera del eje durante la instruccin Motion Run Hookup Diagnostic (MRHD) segn el mdulo de servo. Valor: Significado: 0 direccin negativa (retroceso) 1 (ff) direccin positiva (adelante) El estado de la ltima instruccin Motion Run Hookup Diagnostic (MRHD). Valor: Significado: 0 el proceso de prueba se realiz con xito 1 prueba en progreso 2 proceso de prueba cancelado por el usuario 3 la prueba sobrepas el tiempo de espera de 2 segundos 4 fallo del proceso de prueba debido a un fallo del servo 5 incremento de prueba insuficiente El valor de aceleracin medido durante la ltima instruccin Motion Run Axis Tuning (MRAT). El tiempo de aceleracin medido durante la ltima instruccin Motion Run Axis Tuning (MRAT). El valor de desaceleracin medido durante la ltima instruccin Motion Run Axis Tuning (MRAT). El tiempo de desaceleracin medido durante la ltima instruccin Motion Run Axis Tuning (MRAT). El tiempo de elevacin del eje medido durante la ltima instruccin Motion Run Axis Tuning (MRAT). El factor de escalado de variador del eje medido durante la ltima instruccin Motion Run Axis Tuning (MRAT). El estado de la ltima instruccin Axis Tuning (MRAT). Valor: Significado: 0 proceso de ajuste se realiz con xito 1 ajuste en progreso 2 proceso de ajuste cancelado por el usuario 3 ajuste excedi el tiempo de espera de 2 segundos 4 proceso de ajuste entr en fallo debido a un fallo del servo 5 eje alcanz el lmite de fin de carrera 6 polaridad del eje establecida incorrectamente 7 velocidad de ajuste es demasiado pequea para realizar mediciones El ancho de banda del variador calculado segn las mediciones efectuadas por el controlador durante la ltima instruccin Motion Run Axis Tuning (MRAT). Los bits de configuracin de ajuste para el eje. bit: Significado: 0 direccin de ajuste (0 = avance, 1 = retroceso 1 integrador de error de posicin de ajuste 2 integrador de error de velocidad de ajuste 3 bit de prealimentacin de velocidad de ajuste 4 prealimentacin de aceleracin 5 filtro de paso bajo de velocidad de ajuste La velocidad mxima iniciada por la instruccin Motion Run Axis Tuning (MRAT). El fin de carrera usado por la instruccin Motion Run Axis Tuning (MRAT) para limitar la accin durante el ajuste. La referencia de velocidad de corriente al lazo del servo de velocidad para un eje.
1756-6.4.1ES - Octubre de 1999

TestStatus

INT

GSV

TuneAcceleration TuneAccelerationTime TuneDeceleration TuneDecelerationTime TuneRiseTime TuneSpeedScaling TuneStatus

REAL REAL REAL REAL REAL REAL INT

GSV GSV GSV GSV GSV GSV GSV

TuneVelocityBandwidth

REAL

GSV

TuningConfigurationBits

DINT

GSV SSV

TuningSpeed TuningTravelLimit VelocityCommand

REAL REAL REAL

GSV SSV GSV SSV GSV

3-36

Instrucciones de entrada/salida (MSG, GSV, SSV)

Atributo: VelocityError VelocityFeedback *VelocityFeedforwardGain *VelocityIntegralGain VelocityIntegratorError *VelocityProportionalGain WatchPosition

Tipo de datos: REAL REAL REAL REAL REAL REAL REAL

Instruccin: GSV GSV GSV SSV GSV SSV GSV GSV SSV GSV

Descripcin: La diferencia entre la velocidad ordenada y la velocidad real de un servoeje. La velocidad real del eje segn la calcula el mdulo servo. La salida de comando de velocidad necesaria para generar la velocidad ordenada. El valor que el controlador multiplica con el valor VelocityIntegratorError para corregir el error de velocidad. La suma del error de velocidad para un eje especificado. El valor que el controlador multiplica con el valor VelocityError para corregir el error de velocidad. El posicin de control del eje.

Cmo obtener acceso al objeto CONTROLLER


El objeto CONTROLLER proporciona informacin de estado acerca la ejecucin del controlador.
Atributo: TimeSlice Tipo de datos: INT Instruccin: GSV SSV Descripcin: El porcentaje de la CPU disponible que se asigna a las comunicaciones. Los valores vlidos son 10 90. No se puede cambiar este valor cuando el interruptor de llave del controlador est en la posicin marcha.

Cmo obtener acceso al objeto CONTROLLERDEVICE


El objeto CONTROLLERDEVICE identifica el hardware fsico del controlador.
Atributo: DeviceName Tipo de datos: SINT[33] Instruccin: GSV Descripcin: Nombre de cadena ASCII del controlador. El primer byte contiene un conteo del nmero de los caracteres ASCII retornados en la cadena de arreglo. Identifica el tipo de controlador. Logix5550 = 3 Identifica la revisin de producto actual. La visualizacin debe ser hexadecimal. El byte inferior contiene la revisin mayor; el byte superior contiene la revisin menor. Nombre de serie del dispositivo. Se asigna el nmero de serie cuando se construye el dispositivo.

ProductCode ProductRev

INT INT

GSV GSV

SerialNumber

DINT

GSV

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-37

Atributo: Status

Tipo de datos: INT

Instruccin: GSV

Descripcin: Los bits identifican el estado: Los bits 3 0 estn reservados Bits de estado de dispositivo Bits 7 4: Significado: 0000 reservado 0001 actualizacin de la memoria flash en progreso 0010 reservado 0011 reservado 0100 la memoria flash est defectuosa 0101 con fallo 0110 marcha 0111 programa Bits de estado de fallo Bits 11 8: Significado: 0001 fallo menor recuperable 0010 fallo menor no recuperable 0100 fallo mayor recuperable 1000 fallo mayor no recuperable Bits de estado especficos para Logix5550 Bits 13 12: Significado: 01 interruptor de llave en marcha 10 interruptor de llave en programa 11 interruptor de llave en remoto Bits 15 14: Significado: 01 controlador cambia modos 10 depure el modo si el controlador est en el modo marcha

Type Vendor

INT INT

GSV GSV

Identifica el dispositivo como controlador. Controlador = 14 Identifica el suministrador del dispositivo. Allen-Bradley = 0001

1756-6.4.1ES - Octubre de 1999

3-38

Instrucciones de entrada/salida (MSG, GSV, SSV)

Cmo obtener acceso al objeto CST


El objeto CST (hora coordinada del sistema) proporciona la hora coordinada del sistema para los dispositivos en un chasis.
Atributo: CurrentStatus Tipo de datos: INT Instruccin: GSV Descripcin: El estado actual de la hora coordinada del sistema. Los bits identifican: bit: 0 Significado hardware del temporizador entr en fallo: el hardware del temporizador interno del dispositivo est en un estado de fallo aumento habilitado: el valor actual de los 16+ bits inferiores del temporizador aumentan al valor solicitado en lugar de ubicarse en el valor inferior. El mtodo de sincronizacin por puntos para la red especfica manipula estos bits. maestro de de la hora del sistema: el objeto CST es el origen de la hora del maestro en el sistema ControlLogix sincronizado: un objeto de CST maestro sincroniza el CurrentValue de 64 bits del objeto CST mediante una actualizacin de la hora del sistema maestro de red local: el objeto CST es el origen de la hora del maestro de la red local en el modo rel: el objeto CST funciona en un modo de rel de tiempo se ha detectado un maestro duplicado: se ha detectado un maestro de hora duplicado de la red local. Este bit siempre es 0 para los nodos dependientes del tiempo. no se usa 00 = nodo dependiente del tiempo 01 = nodo maestro de tiempo 10 = nodo de rel de tiempo 11 = no se usa no se usa

2 3

4 5 6

7 89

10 15 CurrentValue DINT[2] GSV

El valor actual del temporizador. DINT[0] contiene los 32 bits inferiores; DINT[1] contiene los 32 bits superiores. El origen del temporizador se ajusta para coincidir con el valor suministrado en los servicios de actualizacin y la sincronizacin de red de comunicacin local. El ajuste representa un aumento al valor solicitado o un establecimiento inmediato en el valor solicitado, segn se indica en el atributo CurrentStatus.

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-39

Cmo obtener acceso al objeto DF1


El objeto DF1 proporciona una interface al controlador de comunicacin que se puede configurar para el puerto en serie.
Atributo: ACKTimeout Tipo de datos: DINT Instruccin: GSV Descripcin: La cantidad de tiempo necesaria para esperar una confirmacin de una transmisin de mensaje (punto a punto y maestro solamente). El valor vlido es 0 32,767. Retardo de conteos de perodos de 20 mseg. El valor predeterminado es 50 (1 segundo). Arreglo de contadores diagnsticos para el variador de comunicacin DF1. esclavo DF1 maestro firma (0 x 0042) firma (0 x 0044) bits de mdem bits de mdem paquetes enviados paquetes enviados paquetes recibidos paquetes recibidos paquetes no entregados paquetes no entregados reintentos de mensajes reintentos de mensajes NAK recibidos no se usa paquetes de encuesta recibidos no se usa paquetes deficientes sin ACK paquetes deficientes sin ACK ninguna memoria sin ACK no se usa paquetes duplicados recibidos paquetes duplicados recibidos no se usa no se usa conteo de recuperaciones DCD conteo de recuperaciones DCD conteo de mdem perdido conteo de mdem perdido no se usa mximo de tiempo de escn de prioridad no se usa ltimo tiempo de escn de prioridad no se usa mximo de tiempo de escn normal no se usa ltimo tiempo de escn normal no se usa no se usa Habilita la deteccin de mensajes duplicados. Valor: Significado: 0 deteccin de mensajes duplicados inhabilitada sin cero deteccin de mensajes duplicados inhabilitada Habilita la funcionalidad de respuesta incorporada (punto a punto solamente). Valor: Significado: 0 se inicia solamente despus de que se recibe uno (como opcin predeterminada) 1 habilitacin sin condiciones El nmero de indagaciones (ENQ) que se envan despus del tiempo de espera ACK (punto a punto solamente). El valor vlido es 0 127. El establecimiento predeterminado es 3. Habilita la supresin de transmisiones EOT como respuesta a los paquetes de encuesta (esclavo solamente). Valor: Significado: 0 supresin EOT inhabilitada sin cero supresin EOT habilitada Especifica el esquema de deteccin de errores. Valor: Significado: 0 BCC (predeterminado) 1 CRC

DiagnosticCounters offset de palabra 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 DuplicateDetection

INT[19]

GSV

punto a punto DF1 firma (0 x 0043) bits de mdem paquetes enviados paquetes recibidos paquetes no entregados no se usa NAK recibidos ENQ enviados paquetes deficientes NAK memoria no enviada sin NAK paquetes duplicados recibidos caracteres deficientes recibidos conteo de recuperaciones DCD conteo de mdem perdido no se usa no se usa no se usa no se usa ENQ enviados SINT GSV

EmbeddedResponseEnable

SINT

GSV

ENQTransmitLimit

SINT

GSV

EOTSuppression

SINT

GSV

ErrorDetection

SINT

GSV

1756-6.4.1ES - Octubre de 1999

3-40

Instrucciones de entrada/salida (MSG, GSV, SSV)

Atributo: MasterMessageTransmit

Tipo de datos: SINT

Instruccin: GSV

NAKReceiveLimit

SINT

GSV

NormalPollGroupSize

INT

GSV

PollingMode

SINT

GSV

ReplyMessageWait

DINT

GSV

StationAddress

INT

GSV

SlavePollTimeout

DINT

GSV

TransmitRetries

SINT

GSV

PendingACKTimeout PendingDuplicateDetection PendingEmbeddedResponse Enable PendingENQTransmitLimit PendingEOTSuppression PendingErrorDetection PendingNormalPollGroupSize

DINT SINT SINT SINT SINT SINT INT

SSV SSV SSV SSV SSV SSV SSV

Descripcin: El valor actual de la transmisin del maestro de mensaje (maestro solamente). Valor: Significado: 0 entre encuestas de estacin 1 en secuencia de encuesta (en lugar del nmero de estacin del maestro) El valor predeterminado es 0. El nmero de NAK recibidos como respuesta a un mensajes antes de detener la transmisin (comunicacin de punto a punto solamente). El valor vlido es 0 127. El establecimiento predeterminado es 3. El nmero de estaciones que se encuestan en el arreglo de nodos de encuesta normal despus de encuestarse todas las estaciones en el arreglo de nodos de encuesta de prioridad (maestro solamente). El valor vlido es 0 255. El establecimiento predeterminado es 0. El modo de encuesta actual (maestro solamente). Valor: Significado: 0 basado en mensajes; no permite esclavos para iniciar mensajes 1 basado en mensajes; permite que los esclavos inicien mensajes (predeterminado) 2 transferencia de estndar de mensaje nico por escn de nodo 3 transferencia de estndar de mltiples mensajes por escn de nodo El establecimiento predeterminado es 1. El tiempo (actuando como maestro) que se debe esperar despus de recibirse un ACK antes de encuestarse el esclavo en busca de una respuesta (maestro solamente). El valor vlido es 0 65,535. Retardo de conteos de perodos de 20 mseg. El establecimiento predeterminado es 5 perodos (100 mseg). Direccin de estacin actual del puerto en serie. El valor vlido es 0 254. El establecimiento predeterminado es 0. La cantidad de tiempo en mseg que espera el esclavo hasta que el maestro realiza una encuesta antes de que el esclavo indique que no puede transmitir debido a la inactividad del maestro (esclavo solamente). El valor vlido es 0 32,767. Retardo de conteos de perodos de 20 mseg. El establecimiento predeterminado es 3000 perodos (1 minuto). El nmero de veces que se puede volver a enviar un mensaje sin obtenerse una confirmacin (maestro y esclavo solamente). El valor vlido es 0 127. El establecimiento predeterminado es 3. Valor pendiente para el atributo ACKTimeout Valor pendiente para el atributo DuplicateDetection. Valor pendiente para el atributo EmbeddedResponse. Valor pendiente para el atributo ENQTransmitLimit. Valor pendiente para el atributo EOTSuppression. Valor pendiente para el atributo ErrorDetection. Valor pendiente para el atributo NormalPollGroupSize.

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-41

Atributo: PendingMasterMessage Transmit PendingNAKReceiveLimit PendingPollingMode PendingReplyMessageWait PendingStationAddress PendingSlavePollTimeout PendingTransmitRetries

Tipo de datos: SINT SINT SINT DINT INT DINT SINT

Instruccin: SSV SSV SSV SSV SSV SSV SSV

Descripcin: Valor pendiente para el atributo MasterMessageTransmit. Valor pendiente para el atributo NAKReceiveLimit. Valor pendiente para el atributo PollingMode. Valor pendiente para el atributo ReplyMessageWait. Valor pendiente para el atributo StationAddress. Valor pendiente para el atributo SlavePollTimeout. Valor pendiente para el atributo TransmitRetries.

Para aplicar los valores para cualquiera de los atributos DF1 pendientes: 1. Use una instruccin SSV para establecer el valor para el atributo pendiente. Usted puede establecer cualquier cantidad de atributos pendientes usando una instruccin SSV para cada atributo pendiente. 2. Use una instruccin MSG para aplicar el valor. La instruccin MSG aplica cada atributo pendiente establecido. Configure la instruccin MSG como:
Ficha Configuracin MSG: Configuracin Campo: Tipo de mensaje Cdigo de servicio Tipo de objeto ID del objeto Atributo del objeto Origen Nmero de elementos Destino Comunicacin Ruta de acceso Valor: CIP genrico 0d hex a2 1 deje en blanco deje en blanco 0 deje en blanco ruta de comunicacin a s misma (1, s donde s = nmero de ranura del controlador)

1756-6.4.1ES - Octubre de 1999

3-42

Instrucciones de entrada/salida (MSG, GSV, SSV)

Cmo obtener acceso al objeto FAULTLOG


El objeto FAULTLOG proporciona informacin de fallo acerca del controlador.
Atributo: MajorEvents MinorEvents MajorFaultBits Tipo de datos: INT INT DINT Instruccin: GSV SSV GSV SSV GSV SSV Descripcin: Cuntos fallos mayores han ocurrido desde la ltima vez que se restableci este contador. Cuntos fallos menores han ocurrido desde la ltima vez que se restableci este contador. Los bits individuales indican la razn del fallo mayor actual. bit: Significado: 1 corte de energa 3 E/S 4 ejecucin de instruccin (programa) 5 administrador de fallos 6 temporizador de control (watchdog) 7 pila 8 cambio de modo 11 movimiento Los bits individuales indican la razn del fallo menor actual. bit: Significado: 4 ejecucin de instruccin (programa) 6 temporizador de control (watchdog) 9 puerto en serie 10 batera

MajorFaultBits

DINT

GSV SSV

Cmo obtener acceso al objeto MESSAGE


Usted puede obtener acceso al objeto MESSAGE mediante las instrucciones GSV/SSV. Especifique el nombre del tag de mensaje para determinar el objeto MESSAGE deseado. El objeto MESSAGE proporciona una interface para configurar y activar las comunicaciones entre dispositivos similares. Este objeto reemplaza el tipo de datos MSG del procesador PLC-5.
Atributo: ConnectionPath Tipo de datos: SINT[130] Instruccin: GSV SSV GSV SSV GSV SSV GSV SSV Descripcin: Los datos necesarios para configurar la ruta de conexin. Los dos primeros bytes (byte inferior y byte superior) representan la longitud en bytes de la ruta de conexin. Rgimen de paquete solicitado de la conexin. Especifica el tipo de mensaje. Valor: Significado: 0 no inicializado Indica el puerto en que se debe enviar el mensaje. Valor: Significado: 1 backplane 2 puerto en serie

ConnectionRate MessageType

DINT SINT

Puerto

SINT

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-43

Atributo: TimeoutMultiplier

Tipo de datos: SINT

Instruccin: GSV SSV

Descripcin: Determina cundo una conexin se debe considerar como que ha sobrepasado el tiempo de espera y cerrado. Valor: Significado: 0 la conexin sobrepasar el tiempo de espera en un lapso igual a 4 veces el rgimen de actualizacin (predeterminado) 1 la conexin sobrepasar el tiempo de espera en un lapso igual a 8 veces el rgimen de actualizacin 2 la conexin sobrepasar el tiempo de espera en un lapso igual a 16 veces el rgimen de actualizacin El tiempo de espera en microsegundos para todos los mensajes no conectados. La opcin predeterminada es 30.000.000 microsegundos (30 segundos).

UnconnectedTimeout

DINT

GSV SSV

Siga los pasos a continuacin para cambiar un atributo MESSAGE: 1. Use una instruccin GSV para obtener el atributo MessageType y gurdelo en un tag. 2. Use una instruccin SSV para establecer el MessageType en 0. 3. Use una instruccin SSV para establecer el atributo MESSAGE que desea cambiar. 4. Use una instruccin SSV para establecer el atributo MessageType nuevamente en el valor original que se obtuvo en el paso 1.

1756-6.4.1ES - Octubre de 1999

3-44

Instrucciones de entrada/salida (MSG, GSV, SSV)

Cmo obtener acceso al objeto MODULE


El objeto MODULE proporciona informacin de estado acerca del mdulo. Para seleccionar un objeto MODULE determinado, establezca el operando Nombre de objeto de la instruccin GSV/SSV en el nombre del mdulo.
Atributo: EntryStatus Tipo de datos: INT Instruccin: GSV Descripcin: Especifica el estado actual de la entrada de mapa especificada. Los 12 bits inferiores se deben enmascarar cuando se realiza una operacin de comparacin. Solamente los bits 12 15 son vlidos. Valor: Significado: 16#0000 De espera: el controlador se enciende. 16#1000 Con fallo: cualquiera de las conexiones del objeto MODULE al mdulo asociado entran en fallo. No se debe usar este valor para determinar si el mdulo ha entrado en fallo puesto que el objeto MODULE sale peridicamente de este estado cuando intenta volver a conectarse al mdulo. En cambio, realice una prueba para ver si hay un Estado de marcha (16#4000). Verifique si hay un FaultCode que no sea igual a 0 para determinar si un mdulo ha entrado en fallo. Una vez entrados en fallo, los atributos FaultCode y FaultInfo son vlidos hasta que se corrigen la condicin de fallo. 16#2000 Validacin: el objeto MODULE verifique la integridad del objeto MODULE antes de establecer las conexiones al mdulo. 16#3000 Conexin: el objeto MODULE inicia las conexiones al mdulo. 16#4000 Se ejecuta: todas las conexiones al mdulo han sido establecidas y los datos se transfieren con xito. 16#5000 Desactivacin: el objeto MODULE est desactivando todas las conexiones al mdulo. 16#6000 Inhibido: el objeto MODULE se inhibe (el bit de inhibicin est establecido en el atributo de Modo). 16#7000 De espera: no funciona el objeto MODULE del cual depende este objeto MODULE. Un nmero que identifica un fallo del mdulo, si ocurre. Especifica informacin especfica acerca del cdigo de fallo del objeto MODULE. Especifica el estado de los forzados. bit: Significado: 0 forzados instalados (1 = s, 0 = no) 1 forzados habilitados (1 = s, 0 = no) 2 15 no se usa

FaultCode FaultInfo ForceStatus

INT DINT INT

GSV GSV GSV

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-45

Atributo: Instance LEDStatus

Tipo de datos: DINT INT

Instruccin: GSV GSV

Descripcin: Proporciona el nmero de instancia de este objeto MODULE. Especifica el estado actual del indicador LED de E/S en la parte frontal del controlador. Valor: Significado: 0 Indicador LED apagado: No hay objetos MODULE configurados para el controlador (no hay mdulos en la seccin Configuracin de E/S del organizador de controlador). 1 Rojo parpadeante: No se ejecutan los objetos MODULE. 2 Verde parpadeante: No se ejecuta por lo menos un objeto MODULE. 3 Verde fijo: Se ejecutan todos los objetos del mdulo. Nota: No introduzca un nombre de objeto con este atributo puesto que el atributo se aplica a la recoleccin toda de mdulos. Especifica el modo actual del objeto MODULE. bit: Significado: 0 Si est establecido, causa que se genere un fallo mayor si cualquiera de las conexiones del objeto MODULE entran en fallo mientras el controlador est en el modo marcha. 2 Si est establecido, causa que el objeto MODULE entre en el estado inhibido despus de desactivar todas las conexiones al mdulo.

Mode

INT

GSV SSV

Cmo obtener acceso al objeto MOTIONGROUP


El objeto MOTIONGROUP proporciona informacin de estado acerca de un grupo de ejes para el mdulo servo. Especifique el nombre de tag del grupo de movimiento para determinar el objeto MOTIONGROUP deseado.
Atributo: Instance Tipo de datos: DINT Instruccin: GSV Descripcin: Proporciona el nmero de instancia de este objeto MOTION_GROUP.

1756-6.4.1ES - Octubre de 1999

3-46

Instrucciones de entrada/salida (MSG, GSV, SSV)

Cmo obtener acceso al objeto PROGRAM


El objeto PROGRAM proporciona informacin de estado acerca del programa. Especifique el nombre del programa de mensaje para determinar el objeto PROGRAM deseado.
Atributo: DisableFlag Tipo de datos: SINT Instruccin: GSV SSV Descripcin: Controla la ejecucin de este programa. Valor: Significado: 0 ejecucin habilitada 1 ejecucin inhabilitada Proporciona el nmero de instancia de este objeto PROGRAM. El tiempo necesario para ejecutar este programa desde la ltima vez que se ejecut. El tiempo se representa en microsegundos. Registra los fallos mayores para este programa Recomendamos que usted cree una estructura definida por el usuario para simplificar el acceso al atributo MajorFaultRecord: Descripcin: los 32 bits inferiores de un valor de sello de hora de fallo los 32 bits superiores de un valor de sello de hora de fallo tipo de fallo (programa, E/S, etc.) cdigo nico para el fallo (depende del tipo de fallo) informacin acerca de un fallo especfico (depende del tipo y cdigo de fallo) El tiempo de ejecucin mximo registrado para este programa. El tiempo se representa en microsegundos. Registra los fallos menores para este programa Recomendamos que usted cree una estructura definida por el usuario para simplificar el acceso al atributo MinorFaultRecord: Descripcin: los 32 bits inferiores de un valor de sello de hora de fallo los 32 bits superiores de un valor de sello de hora de fallo tipo de fallo (programa, E/S, etc.) cdigo nico para el fallo (depende del tipo de fallo) informacin acerca de un fallo especfico (depende del tipo y cdigo de fallo) no se usa reservado para uso futuro

Instance LastScanTime MajorFaultRecord

DINT DINT DINT[11]

GSV GSV SSV GSV SSV Estilo: Decimal Decimal Decimal Decimal Hexadecimal GSV SSV GSV SSV Estilo: Decimal Decimal Decimal Decimal Hexadecimal GSV SSV

Nombre: TimeLow TimeHigh Type Code Info MaxScanTime MinorFaultRecord

Tipo de datos: DINT DINT INT INT DINT[8] DINT DINT[11]

Nombre: TimeLow TimeHigh Type Code Info SFCRestart

Tipo de datos: DINT DINT INT INT DINT[8] INT

Cmo obtener acceso al objeto ROUTINE


El objeto ROUTINE proporciona informacin de estado acerca de la rutina. Especifique el nombre de la rutina para determinar el objeto ROUTINE deseado.
Atributo: Instance Tipo de datos: DINT Instruccin: GSV Descripcin: Proporciona el nmero de instancia de este objeto ROUTINE. Los valores vlidos son 0 65,535.

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-47

Cmo obtener acceso al objeto SERIALPORT


El objeto SERIALPORT proporciona una interface al puerto de comunicacin en serie.
Atributo: BaudRate Tipo de datos: DINT Instruccin: GSV Descripcin: Especifica la velocidad en baudios. Los valores vlidos son 110, 300, 600, 1,200, 2,400, 4,800, 9,600 y 19,200 (predeterminados). Especifica el nmero de bits de datos por carcter. Valor: Significado: 7 7 bits de datos (ASCII solamente) 8 8 bits de datos (opcin predeterminada) Especifica la paridad. Valor: Significado: 0 sin paridad (sin paridad predeterminada) 1 imparidad (ASCII solamente) 2 paridad La cantidad de tiempo necesario para retardar la desconexin de la lnea RTS despus de la transmisin del ltimo carcter. El valor vlido es 0 32,767. Retardo de conteos de perodos de 20 mseg. El valor predeterminado es 0 mseg. La cantidad de tiempo necesario para retardar la transmisin del primer carcter de un mensaje despus de activar la lnea RTS. El valor vlido es 0 32,767. Retardo de conteos de perodos de 20 mseg. El valor predeterminado es 0 mseg. Especifica el nmero de bits de paro. Valor: Significado: 1 1 bit de paro (opcin predeterminada) 2 2 bits de paro (ASCII solamente) Valor pendiente para el atributo BaudRate. Valor pendiente para el atributo DataBits. Valor pendiente para el atributo Parity. Valor pendiente para el atributo RTSOffDelay. Valor pendiente para el atributo RTSSendDelay. Valor pendiente para el atributo StopBits.

DataBits

SINT

GSV

Paridad

SINT

GSV

RTSOffDelay

INT

GSV

RTSSendDelay

INT

GSV

StopBits

SINT

GSV

PendingBaudRate PendingDataBits PendingParity PendingRTSOffDelay PendingRTSSendDelay PendingStopBits

DINT SINT SINT INT INT SINT

SSV SSV SSV SSV SSV SSV

Para aplicar los valores para cualquiera de los atributos SERIALPORT pendientes: 1. Use una instruccin SSV para establecer el valor para el atributo pendiente. Usted puede establecer cualquier cantidad de atributos pendientes usando una instruccin SSV para cada atributo pendiente.

1756-6.4.1ES - Octubre de 1999

3-48

Instrucciones de entrada/salida (MSG, GSV, SSV)

2. Use una instruccin MSG para aplicar el valor. La instruccin MSG aplica cada atributo pendiente establecido. Configure las instrucciones MSG como:
Ficha Configuracin MSG: Configuracin Campo: Tipo de mensaje Cdigo de servicio Tipo de objeto ID del objeto Atributo del objeto Origen Nmero de elementos Destino Comunicacin Ruta de acceso Valor: CIP genrico 0d hex 6f hex 1 deje en blanco deje en blanco 0 deje en blanco ruta de comunicacin a s misma (1,s donde s = nmero de ranura del controlador)

Cmo obtener acceso al objeto TASK


El objeto TASK proporciona informacin de estado acerca de la tarea. Especifique el nombre de la tarea para determinar el objeto TASK deseado.
Atributo: Instance LastScanTime MaxInterval Tipo de datos: DINT DINT DINT[2] Instruccin: GSV GSV SSV GSV SSV Descripcin: Proporciona el nmero de instancia de este objeto TASK. Los valores vlidos son 0 31. El tiempo necesario para ejecutar esta tarea desde la ltima vez que se ejecut. El tiempo se representa en microsegundos. El intervalo de tiempo mximo entre las ejecuciones sucesivas de la tarea. DINT[0] contiene los bits inferiores del valor; DINT[1] contiene los 32 bits superiores del valor. Un valor de 0 indica 1 menos ejecuciones de la tarea. El tiempo de ejecucin mximo registrado para este programa. El tiempo se representa en microsegundos. El intervalo de tiempo mnimo entre las ejecuciones sucesivas de la tarea. DINT[0] contiene los bits inferiores del valor; DINT[1] contiene los 32 bits superiores del valor. Un valor de 0 indica 1 menos ejecuciones de la tarea. La prioridad relativa de esta tarea comparada con las otras tareas. Los valores vlidos son 0 15.

MaxScanTime MinxInterval

DINT DINT[2]

GSV SSV GSV SSV

prioridad

INT

GSV

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-49

Atributo: Rate StartTime

Tipo de datos: DINT DINT[2]

Instruccin: GSV GSV SSV GSV SSV

Descripcin: El intervalo de tiempo entre las ejecuciones de la tarea. El tiempo se representa en microsegundos. El valor WALLCLOCKTIME cuando se inici la ltima ejecucin de la tarea. DINT[0] contiene los bits inferiores del valor; DINT[1] contiene los 32 bits superiores del valor. El lmite de tiempo para la ejecucin de todos los programas asociados con esta tarea. El tiempo se representa en microsegundos. Si se introduce 0, se asignan estos valores: Tiempo: Tipo de tarea: 0.5 seg peridico 5.0 seg continuo

Temporizador de control (watchdog)

DINT

Cmo obtener acceso al objeto WALLCLOCKTIME


El objeto WALLCLOCKTIME proporciona un sello de hora que el controlador puede usar para el establecimiento de prioridades.
Atributo: CSTOffset Tipo de datos: DINT[2] Instruccin: GSV SSV Descripcin: El offset positivo del CurrentValue del objeto CST (hora coordinada del sistema); vea la pgina 3-38 DINT[0] contiene los bits inferiores del valor; DINT[1] contiene los 32 bits superiores del valor. El valor en segs. El valor predeterminado es 0. El valor actual de la hora del reloj. DINT[0] contiene los bits inferiores del valor; DINT[1] contiene los 32 bits superiores del valor. El valor es el nmero de microsegundos que han transcurrido desde 0000 hrs 1 de enero de 1972. Los objetos CST y WALLCLOCKTIME tienen una relacin matemtica con el controlador. Por ejemplo, si se suman CST CurrentValue y WALLCLOCKTIME CTSOffset, el resultado es WALLCLOCKTIME CurrentValue. La fecha y hora en un formato legible. DINT[0] ao DINT[1] la representacin de nmero entero del mes (1 12) DINT[2] la representacin de nmero entero del mes (1 31) DINT[3] hora (0 23) DINT[4] minuto (0 59) DINT[5] segundos (0 59) DINT[6] microsegundos (0 999,999)

CurrentValue

DINT[2]

GSV SSV

DateTime

DINT[7]

GSV SSV

1756-6.4.1ES - Octubre de 1999

3-50

Instrucciones de entrada/salida (MSG, GSV, SSV)

Ejemplo de programacin GSV/SSV

Cmo obtener informacin de fallo


Los ejemplos siguientes usan las instrucciones GSV para obtener informacin de fallo.

Cmo obtener informacin de fallo de E/S Este ejemplo obtiene informacin de fallo desde el mdulo de E/S disc_in_2 y coloca los datos en una estructura definida por el usuario disc_in_2_info.

Cmo obtener informacin de estado del programa Este ejemplo obtiene informacin de estado acerca del programa discrete y coloca los datos en una estructura definida por el usuario discrete_info.

Cmo obtener informacin de estado de tarea Este ejemplo obtiene informacin de estado acerca de la tarea IO_test y coloca los datos en una estructura definida por el usuario io_test_info.

1756-6.4.1ES - Octubre de 1999

Instrucciones de entrada/salida (MSG, GSV, SSV)

3-51

Cmo establecer los indicadores de habilitacin e inhabilitacin


El ejemplo siguiente usa la instruccin SSV para habilitar o inhabilitar un programa. Tambin se puede usar este mtodo para habilitar o inhabilitar un mdulo de E/S, lo cual es una solucin de programa semejante al uso de bits de inhibicin con un procesador PLC-5.

Segn el estado de SW.1, coloque el valor apropiado en el atributo disableflag del programa discrete.

1756-6.4.1ES - Octubre de 1999

3-52

Instrucciones de entrada/salida (MSG, GSV, SSV)

Notas:

1756-6.4.1ES - Octubre de 1999

Captulo

Instrucciones de comparacin
(CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Introduccin

Las instrucciones de comparacin le permiten comparar los valores usando una expresin o una instruccin de comparacin especfica.
Si usted desea: comparar los valores segn una expresin determinar si dos valores son iguales determinar si un valor es mayor o igual a otro valor determinar si un valor es mayor que otro valor determinar si un valor es menor o igual a otro valor determinar si un valor es menor que otro valor determinar si un valor se encuentra entre dos otros valores pasar dos valores a travs de una mscara y determinar si son iguales determinar si un valor no es igual a otro valor Use esta instruccin: Vea la pgina: CMP EQU GEQ GRT LEQ LES LIM 4-2 4-6 4-8 4-10 4-12 4-14 4-16

MEQ

4-19

NEQ

4-22

Usted puede comparar los valores de diferentes tipos de datos, tales como el punto flotante (coma flotante) y nmeros enteros. Los tipos de datos con letras negritas indican los tipos de datos ptimos. Una instruccin se ejecuta ms rpidamente y requiere menos memoria si todos los operandos de la instruccin usan el mismo tipo de datos ptimo, tpicamente DIN o REAL.

1756-6.4.1ES - Octubre de 1999

4-2

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Compare (CMP)
Operandos:

La instruccin CMP es una instruccin de entrada.

Operando: Expresin

Tipo: SINT INT DINT REAL

Formato: inmediato tag

Descripcin: una expresin que consiste en tags y/o valores inmediatos separados por operadores.

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6.

Descripcin: La instruccin CMP realiza una comparacin de las operaciones aritmticas que se especifican en la expresin. Defina la expresin usando operadores, tags y valores inmediatos. Use los parntesis ( ) para definir secciones de las expresiones ms complejas. La ejecucin de una instruccin CMP es un poco ms lenta y usa ms memoria que la ejecucin de las otras instrucciones de comparacin. La ventaja de la instruccin CMP es que le permite introducir expresiones complejas en una sola instruccin. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa.

evale la expresin

la expresin es verdadera

la condicin de salida de rengln est establecida como verdadera

la expresin es falsa

la condicin de salida de rengln est establecida como falsa fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

4-3

Ejemplo de CMP:
Si la instruccin CMP determina que la expresin es verdadera, la condicin de salida de rengln se establece como verdadera.

Si introduce una expresin sin un operador de comparacin, tal como value_1 + value_2 value_1, la instruccin evala la expresin como:
Si la expresin es: sin cero cero La condicin de salida de rengln est establecida como: verdadero falso

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: CMP(expression); CMP expression

Instrucciones relacionadas: CPT, FAL, FSC Usted programa las expresiones en las instrucciones CMP de la misma manera que las expresiones en las instrucciones FSC. Use las secciones siguientes para obtener informacin acerca de operadores vlidos, formato y orden de operacin, los cuales son comunes en ambas instrucciones.

1756-6.4.1ES - Octubre de 1999

4-4

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Operadores vlidos
Operador: + * / = < <= > >= <> ** ABS ACS AND ASN ATN Descripcin: sumar restar/cambiar signo multiplicar dividir igual menor que menor que o igual mayor que mayor que o igual diferente exponente (x a y) valor absoluto arco coseno funcin Y arco seno arco tangente Optimo: DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL real DINT REAL REAL Operador: COS DEG FRD LN LOG MOD NOT OR RAD SIN SQR TAN TOD TRN XOR Descripcin: coseno radianes a grados BCD a nmero entero logaritmo natural logaritmo de base 10 mdulo-divisin Optimo: REAL DINT, REAL DINT REAL REAL DINT, REAL

complemento bit a bit DINT funcin O radianes a grados seno raz cuadrada tangente nmero entero a BCD truncar OR exclusivo, bit a bit DINT DINT, REAL REAL DINT, REAL REAL DINT DINT, REAL DINT

Cmo formatear expresiones


Para cada operador que usted usa en una expresin, tiene que proporcionar uno o dos operandos (tags o valores inmediatos). Use la tabla siguiente para formatear los operadores y operandos dentro de una expresin:
Para los operadores Use este formato: que realizan la operacin en: un operando dos operandos operador (operando) Ejemplos:

ABS(tag_a)

operand_a operador operand_b tag_b + 5 tag_c AND tag_d (tag_e ** 2) MOD (tag_f / tag_g)

1756-6.4.1ES - Octubre de 1999

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

4-5

Cmo determinar el orden de operacin


Las operaciones que usted escribe en la expresin son realizadas por la instruccin en un orden determinado y no necesariamente segn el orden en que las escribi. Puede anular el orden de operacin agrupando los trminos entre parntesis, lo cual causa que la instruccin realice una operacin entre parntesis antes que las otras operaciones. Las operaciones de orden igual se realizan desde la izquierda hacia la derecha.
Orden: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Operacin: () ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG, RAD, SIN, SQR, TAN, TOD, TRN ** (cambiar signo), NOT *, /, MOD <, <=, >, >=, = (restar), + AND XOR OR

1756-6.4.1ES - Octubre de 1999

4-6

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Equal to (EQU)
Operandos:

La instruccin EQU es una instruccin de entrada.

Operando: Origen A

Tipo: SINT INT DINT real

Formato: inmediato tag

Descripcin: valor que se prueba contra el origen B

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Origen B SINT INT DINT real inmediato tag valor que se prueba contra el origen A

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6.

Descripcin: La instruccin EQU determina si el origen A es igual al origen B. Los valores REAL rara vez son absolutamente iguales. Si usted necesita determinar la igualdad de dos valores REAL, use la instruccin LIM. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa.

Origen A = Origen B

la condicin de salida de rengln se establece como verdadera

no

la condicin de salida de rengln se establece como falsa fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

4-7

Ejemplo de EQU:
Si value_1 es igual que value_2, la condicin de salida de rengln se establece como verdadera.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: EQU(source_A,source_B); EQU source_A source_B

Instrucciones relacionadas: CMP, GEQ, LEQ, MEQ, NEQ

1756-6.4.1ES - Octubre de 1999

4-8

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Greater Than or Equal to (GEQ)


Operandos:

La instruccin GEQ es una instruccin de entrada.

Operando: Origen A

Tipo: SINT INT DINT REAL

Formato: inmediato tag

Descripcin: valor que se prueba contra el origen B

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Origen B SINT INT DINT REAL inmediato tag valor que se prueba contra el origen A

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6.

Descripcin: La instruccin GEQ determina si el origen A es mayor o igual que el origen B. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln est establecida como falsa.

Origen A origen B

la condicin de salida de rengln se establece como verdadera

no

la condicin de salida de rengln se establece como falsa fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

4-9

Ejemplo de GEQ:
Si value_1 es mayor o igual que value_2, la condicin de salida de rengln se establece como verdadera.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: GEQ(source_A,source_B); GEQ source_A source_B

Instrucciones relacionadas: CMP, EQU, LEQ, MEQ, NEQ

1756-6.4.1ES - Octubre de 1999

4-10

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Greater Than (GRT)


Operandos:

La instruccin GRT es una instruccin de entrada.

Operando: Origen A

Tipo: SINT INT DINT REAL

Formato: inmediato tag

Descripcin: valor que se prueba contra el origen B

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Origen B SINT INT DINT REAL inmediato tag valor que se prueba contra el origen A

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6.

Descripcin: La instruccin GRT determina si el origen A es mayor que el origen B. Ejecucin:


Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa.

Origen A > Origen B

la condicin de salida de rengln se establece como verdadera

no

la condicin de salida de rengln se establece como falsa fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

4-11

Ejemplo de GRT:

Si value_1 es mayor que value_2, la instruccin es verdadera.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: GRT(source_A,source_B); GRT source_A source_B

Instrucciones relacionadas: CMP, LES

1756-6.4.1ES - Octubre de 1999

4-12

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Less Than or Equal to (LEQ)


Operandos:

La instruccin LEQ es una instruccin de entrada.

Operando: Origen A

Tipo: SINT INT DINT REAL

Formato: inmediato tag

Descripcin: valor que se prueba contra el origen B

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Origen B SINT INT DINT REAL inmediato tag valor que se prueba contra el origen A

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6.

Descripcin: La instruccin LEQ determina si el origen A es menor que o igual al origen B. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa.

Origen A origen B

la condicin de salida de rengln se establece como verdadera

no

la condicin de salida de rengln se establece como falsa fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

4-13

Ejemplo de LEQ:
Si value_1 es menor o igual que value_2, la condicin de salida de rengln se establece como verdadera.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: LEQ(source_A,source_B); LEQ source_A source_B

Instrucciones relacionadas: CMP, EQU, GEQ, MEQ, NEQ

1756-6.4.1ES - Octubre de 1999

4-14

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Less Than (LES)


Operandos:

La instruccin LES es una instruccin de entrada.

Operando: Origen A

Tipo: SINT INT DINT REAL

Formato: inmediato tag

Descripcin: valor que se prueba contra el origen B

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Origen B SINT INT DINT REAL inmediato tag valor que se prueba contra el origen A

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6.

Descripcin: La instruccin LES determina si el origen A es menor que el origen B. Ejecucin:


Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln est establecida como falsa.

Origen A < origen B

la condicin de salida de rengln se establece como verdadera

no

la condicin de salida de rengln se establece como falsa fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

4-15

Ejemplo de LES:
Si value_1 es menor que value_2, la condicin de salida de rengln se establece como verdadera.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: LES(source_A,source_B); LES source_A source_B

Instrucciones relacionadas: CMP, GRT

1756-6.4.1ES - Octubre de 1999

4-16

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Limit (LIM)
Operandos:

La instruccin LIM es una instruccin de entrada.

Operando: Lmite bajo

Tipo: SINT INT DINT REAL

Formato: inmediato tag

Descripcin: valor del lmite inferior

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Prueba SINT INT DINT REAL inmediato tag valor que se prueba

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Lmite alto SINT INT DINT REAL inmediato tag valor del lmite superior

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6.

Descripcin: La instruccin LIM determina si el valor de prueba se encuentra dentro del rango de los lmites inferior y superior. Los nmeros enteros con signo continan del nmero positivo mximo al nmero negativo mximo cuando se establece el bit ms significativo. Por ejemplo, en los nmeros enteros de 16 bits (tipo INT), el nmero entero positivo mximo es 32,767, el cual se representa en hexadecimal como 16#7FFF (todos los bits de 0 a 14 estn establecidos). Si usted incrementa dicho nmero en un valor de 1, el resultado es 16#8.000 (el bit 16 est establecido). Para los nmeros enteros con signo, 16#8.000 hexadecimal es igual a 32,768 decimal. El incremento desde este punto hasta que se establecen los 16 bits resulta en 16#FFF, el cual es igual a 1 decimal. Esto se puede mostrar como una lnea numrica circular (vea los diagramas a continuacin). La instruccin LIM comienza a partir del lmite inferior e incrementa hacia la derecha hasta que llega al lmite superior. Cualquier valor de prueba en el rango horario desde el lmite inferior al lmite superior establece la condicin de salida de rengln como verdadera. Cualquier valor de prueba en el rango horario desde el lmite superior al lmite inferior establece la condicin de salida de rengln como verdadera.

1756-6.4.1ES - Octubre de 1999

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

4-17

Lmite inferior lmite superior


La instruccin es verdadera si el valor de prueba es igual a o se encuentra entre los lmites inferior y superior. 0 1 +1 lmite bajo

Lmite inferior lmite superior


La instruccin es verdadera si el valor de prueba es igual a o se encuentra fuera de los lmites inferior y superior. 0 1 +1 lmite alto

lmite alto (n+1)

lmite bajo +n (n+1) n = valor mximo

+n

n = valor mximo

Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa.

evale el lmite

la comparacin es verdadera la condicin de salida de rengln se establece como verdadera

la comparacin es falsa

la condicin de salida de rengln se establece como falsa fin

Si es lmite inferior:

Y el valor de prueba es:

La condicin de salida de rengln est establecida como: verdadero falso verdadero falso

igual a o entre los lmites lmite alto no igual a o fuera de los lmites igual a o fuera de los lmites lmite alto no igual a o dentro de los lmites

1756-6.4.1ES - Octubre de 1999

4-18

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Ejemplo LIM:


ejemplo 1

Lmite inferior lmite superior Cuando 0 value 100, se enciende light_1.

ejemplo 2

Lmite inferior lmite superior Cuando value 0 value 100, se enciende light_1 turns.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: LIM(low_limit,test,high_limit); LIM low_limit test high_limit

Instrucciones relacionadas: CMP

1756-6.4.1ES - Octubre de 1999

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

4-19

Mask Equal to (MEQ)


Operandos:

La instruccin MEQ es una instruccin de entrada.

Operando: Origen

Tipo: SINT INT DINT

Formato: inmediato tag

Descripcin: valor que se prueba contra la comparacin

Un tag SINT o INT se convierte a un valor DINT segn un relleno de cero. Consulte Conversiones de datos en la pgina A-6. Mscara SINT INT DINT inmediato tag qu bits se bloquean o se pasan

Un tag SINT o INT se convierte a un valor DINT segn un relleno de cero. Consulte Conversiones de datos en la pgina A-6. Comparacin SINT INT DINT inmediato tag valor que se prueba contra el origen

Un tag SINT o INT se convierte a un valor DINT segn un relleno de cero. Consulte Conversiones de datos en la pgina A-6.

Descripcin: La instruccin MEQ pasa los valores de origen y comparacin a travs de una mscara y compara los resultados. Un nmero 1 en la mscara significa que se pasa el bit de datos. Un nmero 0 en la mscara significa que se bloquea el bit de datos. Tpicamente los valores de origen, mscara y comparacin son todos del mismo tipo de datos. Si combina los tipos de datos enteros, la instruccin llena los bits superiores de los tipos de datos enteros menores con ceros para que tengan el mismo tamao que el tipo de datos ms grande.

Cmo introducir un valor de mscara inmediato


Cuando introduce una mscara, el software de programacin tiene valores decimales predeterminados. Si desea introducir una mscara usando otro formato, ponga el prefijo correcto ante el valor.
Prefijo: 16# 8# 2# Descripcin: hexadecimal por ejemplo; 16#0F0F octal por ejemplo; 8#16 binario por ejemplo; 2#00110011

1756-6.4.1ES - Octubre de 1999

4-20

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa.

origen enmascarado = comparacin enmascarada

la condicin de salida de rengln se establece como verdadera

no

la condicin de salida de rengln se establece como falsa fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Ejemplo MEQ:


ejemplo 1

value_1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 mask_1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 value_1 0 1 0 1 0 1 0 1 1 1 1 1 x x x x

value_2 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 mask_1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 value_2 0 1 0 1 0 1 0 1 1 1 1 1 x x x x

El value_1 enmascarado es igual al value_2 enmascarado, por lo tanto se enciende light_1. Un nmero 0 en la mscara impide que la instruccin compare el bit (representado por x en el ejemplo).

1756-6.4.1ES - Octubre de 1999

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

4-21

ejemplo 2

value_1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 mask_1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 value_1 enmascarado x x x x x x x x x x x x 1 1 1 1

value_2 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 mask_1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 value_2 enmascarado x x x x x x x x x x x x 0 0 0 0

El value_1 enmascarado no es igual al value_2 enmascarado, por lo tanto se apaga light_1. Un nmero 0 en la mscara impide que la instruccin compare el bit (representado por x en el ejemplo).

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: MEQ(source,mask,compare); MEQ source mask compare

Instrucciones relacionadas: CMP, EQU, GEQ, LEQ, MEQ, NEQ

1756-6.4.1ES - Octubre de 1999

4-22

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Not Equal to (NEQ)


Operandos:

La instruccin NEQ es una instruccin de entrada.

Operando: Origen A

Tipo: SINT INT DINT REAL

Formato: inmediato tag

Descripcin: valor que se prueba contra el origen B

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Origen B SINT INT DINT REAL inmediato tag valor que se prueba contra el origen A

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6.

Descripcin: La instruccin NEQ determina si dos valores no son iguales. Ejecucin:


Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln est establecida como falsa.

Origen A origen B

la condicin de salida de rengln se establece como verdadera

no

la condicin de salida de rengln se establece como falsa fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

4-23

Ejemplo de NEQ:
Si value_1 no es igual a value_2, la condicin de salida de rengln se establece como verdadera.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: NEQ(source_A,source_B); NEQ source_A source_B

Instrucciones relacionadas: CMP, EQU, LEQ, GEQ, MEQ

1756-6.4.1ES - Octubre de 1999

4-24

Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Notas:

1756-6.4.1ES - Octubre de 1999

Captulo

Instrucciones de clculo/matemticas
(CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Introduccin

Las instrucciones de clculo/matemticas evalan las operaciones aritmticas usando una expresin o una instruccin aritmtica especfica.
Si usted desea: evaluar una expresin sumar dos valores restar dos valores multiplicar dos valores dividir dos valores determinar el resto despus de dividir un valor entre otro calcular la raz cuadrada de un valor hallar el signo opuesto de un valor hallar el valor absoluto de un valor Use esta instruccin: CPT ADD SUB MUL DIV MOD SQR NEG ABS Vea la pgina: 5-2 5-5 5-7 5-9 5-11 5-13 5-15 5-17 5-18

Usted puede combinar los tipos de datos, pero esto puede resultar en una prdida de precisin y errores de redondeo, y la instruccin necesita ms tiempo para ejecutarse. Verifique el bit S:V para ver si el resultado se trunc. Los tipos de datos con letras negritas indican los tipos de datos ptimos. Una instruccin se ejecuta ms rpidamente y requiere menos memoria si todos los operandos de la instruccin usan el mismo tipo de datos ptimo, tpicamente DIN o REAL. Una instruccin de clculo/matemtica se ejecuta cada vez que se escanea la instruccin siempre que la condicin de entrada de rengln sea verdadera. Si desea que la expresin se evale solamente una vez, use cualquier instruccin de un impulso para activar la instruccin.

1756-6.4.1ES - Octubre de 1999

5-2

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Compute (CPT)
Operandos:

La instruccin CPT es una instruccin de salida.

Operando: Destino

Tipo: SINT INT DINT REAL SINT INT DINT REAL

Formato: tag

Descripcin: tag para almacenar el resultado

Expresin

valor inmediato tag

una expresin que consiste en tags y/o valores inmediatos separados por operadores.

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6.

Descripcin: La instruccin CPT realiza las operaciones aritmticas que se definen en la expresin. Cuando est habilitada, la instruccin CPT evala la expresin y coloca el resultado en el destino. La ejecucin de una instruccin CPT es un poco ms lenta y usa ms memoria que la ejecucin de las otras instrucciones de clculo/matemticas. La ventaja de la instruccin CPT es que le permite introducir expresiones complejas en una sola instruccin. La longitud de una expresin es ilimitada. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La instruccin CPT evala la expresin y coloca el resultado en el destino. La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplos de CPT:
ejemplo 1

Cuando est habilitada, la instruccin CPT evala value_1 multiplicado por 5 y divide el resultado entre el resultado de value_2 dividido entre 7 y coloca el resultado final en result_1.

1756-6.4.1ES - Octubre de 1999

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

5-3

ejemplo 2

Cuando est habilitada, la instruccin CPT trunca float_value_1 y float_value_2, aumenta el float_value_2 truncado a la potencia de dos y divide el float_value_1 truncado entre el resultado, y almacena el resto despus de la divisin en float_value_result_cpt.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: CPT(destination,expression); CPT destination expression

Instrucciones relacionadas: CMP, FAL, FSC Usted programa las expresiones en las instrucciones CPT de la misma manera que las expresiones en las instrucciones FAL. Use las secciones siguientes para obtener informacin acerca de operadores vlidos, formato y orden de operacin, los cuales son comunes en ambas instrucciones.

Operadores vlidos
Operador: + * / ** ABS ACS AND ASN ATN COS DEG FRD Descripcin: sumar restar/cambiar signo multiplicar dividir exponente (x a y) valor absoluto arco coseno funcin Y arco seno arco tangente coseno radianes a grados BCD a nmero entero Optimo: DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL REAL DINT REAL REAL REAL DINT, REAL DINT Operador: LN LOG MOD NOT OR RAD SIN SQR TAN TOD TRN XOR Descripcin: logaritmo natural logaritmo de base 10 mdulo-divisin Optimo: REAL REAL DINT, REAL

complemento bit a bit DINT funcin O radianes a grados seno raz cuadrada tangente nmero entero a BCD truncar OR exclusivo, bit a bit DINT DINT, REAL REAL DINT, REAL REAL DINT DINT, REAL DINT

1756-6.4.1ES - Octubre de 1999

5-4

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Cmo formatear expresiones


Para cada operador que usted usa en una expresin, tiene que proporcionar uno o dos operandos (tags o valores inmediatos). Use la tabla siguiente para formatear los operadores y operandos dentro de una expresin:
Para los operadores Use este formato: que realizan la operacin en: un operando dos operandos operador (operando) Ejemplos:

ABS(tag_a)

operand_a operador operand_b tag_b + 5 tag_c AND tag_d (tag_e ** 2) MOD (tag_f / tag_g)

Cmo determinar el orden de operacin


Las operaciones que usted escribe en la expresin son realizadas por la instruccin en un orden determinado y no necesariamente segn el orden en que las escribi. Puede anular el orden de operacin agrupando los trminos entre parntesis, lo cual causa que la instruccin realice una operacin entre parntesis antes que las otras operaciones. Las operaciones de orden igual se realizan desde la izquierda hacia la derecha.
Orden: 1. 2. 3. 4. 5. 6. 7. 8. 9. Operacin: () ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG, RAD, SIN, SQR, TAN, TOD, TRN ** (cambiar signo), NOT *, /, MOD (restar), + AND XOR OR

1756-6.4.1ES - Octubre de 1999

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

5-5

Add (ADD)
Operandos:

La instruccin ADD es una instruccin de salida.

Operando: Origen A

Tipo: SINT INT DINT REAL

Formato: valor inmediato tag

Descripcin: valor que se suma al origen B

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Origen B SINT INT DINT REAL valor inmediato tag valor que se suma al origen A

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT REAL tag tag para almacenar el resultado

Descripcin: La instruccin ADD suma el origen A al origen B y coloca el resultado en el destino. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. Destino = origen A + origen B La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de ADD:
Una vez habilitada, la instruccin ADD suma float_value_1 a float_value_2 y coloca el resultado en add_result.

1756-6.4.1ES - Octubre de 1999

5-6

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: ADD(source_A,source_B,destination); ADD source_A source_B destination

Instrucciones relacionadas: CPT, DIV, MUL, SUB

1756-6.4.1ES - Octubre de 1999

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

5-7

Subtract (SUB)
Operandos:

La instruccin SUB es una instruccin de salida.

Operando: Origen A

Tipo: SINT INT DINT REAL

Formato: valor inmediato tag

Descripcin: valor del cual se resta el origen B

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Origen B SINT INT DINT REAL valor inmediato tag valor que se resta del origen A

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT REAL tag tag para almacenar el resultado

Descripcin: La instruccin SUB resta el origen B del origen A y coloca el resultado en el destino. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. Destino = origen A origen B La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de SUB:
Una vez habilitada, la instruccin SUB resta float_value_2 de float_value_1 y coloca el resultado en subtract_result.

1756-6.4.1ES - Octubre de 1999

5-8

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: SUB(source_A,source_B,destination); SUB source_A source_B destination

Instrucciones relacionadas: CPT, ADD DIV, MUL

1756-6.4.1ES - Octubre de 1999

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

5-9

Multiply (MUL)
Operandos:

La instruccin MUL es una instruccin de salida.

Operando: Origen A

Tipo: SINT INT DINT REAL

Formato: valor inmediato tag

Descripcin: valor del multiplicando

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Origen B SINT INT DINT REAL valor inmediato tag valor del multiplicador

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT REAL tag tag para almacenar el resultado

Descripcin: La instruccin MUL multiplica el origen A por el origen B y coloca el resultado en el destino. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. Destino = Origen A Origen B La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de MUL:
Una vez habilitada, la instruccin MUL multiplica float_value_1 por float_value_2 y coloca el resultado en multiply_result.

1756-6.4.1ES - Octubre de 1999

5-10

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: MUL(source_A,source_B,destination); MUL source_A source_B destination

Instrucciones relacionadas: CPT, ADD, DIV, SUB

1756-6.4.1ES - Octubre de 1999

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

5-11

Divide (DIV)
Operandos:

La instruccin DIV es una instruccin de salida.

Operando: Origen A

Tipo: SINT INT DINT REAL

Formato: valor inmediato tag

Descripcin: valor del dividendo

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Origen B SINT INT DINT REAL valor inmediato tag valor del divisor

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT REAL tag tag para almacenar el resultado

Descripcin: La instruccin DIV divide el origen A entre el origen B y coloca el resultado en el destino. Si el destino no es REAL, la instruccin procesa la porcin fraccionaria del resultado de la manera siguiente:
Si el origen A: y el origen B no son REAL La porcin fraccionaria Ejemplo: del resultado: se trunca Origen A Origen B Destino o el origen B es REAL se redondea Origen A Origen B Destino DINT DINT DINT REAL DINT DINT 5 3 1 5.0 3 2

Si el origen B (el divisor) es cero, el destino se establece como igual al origen B (el dividendo) y se registra un fallo menor como un overflow aritmtico. Puede detectar la posible ocurrencia de una operacin de divisin entre cero monitoreando el bit de fallo menor (S:MINOR). Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. Destino = origen A/origen B La condicin de salida de rengln se establece como verdadera.

1756-6.4.1ES - Octubre de 1999

5-12

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de DIV:
Una vez habilitada, la instruccin DIV divide float_value_1 entre float_value_2 y coloca el resultado en divide_result.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: DIV(source_A,source_B,destination); DIV source_A source_B destination

Instrucciones relacionadas: CPT, ADD, MUL, SUB

1756-6.4.1ES - Octubre de 1999

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

5-13

Modulo (MOD)
Operandos:

La instruccin MOD es una instruccin de salida.

Operando: Origen A

Tipo: SINT INT DINT REAL

Formato: valor inmediato tag

Descripcin: valor del dividendo

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Origen B SINT INT DINT REAL valor inmediato tag valor del divisor

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT REAL tag tag para almacenar el resultado

Descripcin: La instruccin MOD divide el origen A entre el origen B y coloca el resto en el destino. Si el origen B (el divisor) es cero, se registra un fallo menor como un overflow aritmtico y el destino se establece segn lo indicado en la tabla siguiente:
Si el divisor es cero y el destino es un tag de este tipo de datos: SINT, INT o DINT REAL El destino est establecido en: cero infinito

Para detectar la posible ocurrencia de una operacin de divisin entre cero, examine el bit de fallo menor (S:MINOR). Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establecea como falsa. La condicin de salida de rengln se establece como falsa. Destino = Origen A ( TRN ( Origen A / Origen B ) * Origen B ) La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados.

1756-6.4.1ES - Octubre de 1999

5-14

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Condiciones de fallo:
Ocurre un fallo menor si: el divisor es cero Tipo de fallo: 4 Cdigo de fallo: 4

Ejemplo de MOD:
Cuando est habilitada, la instruccin MOD divide el dividendo entre el divisor y coloca el resto en resto. En este ejemplo, tres se divide entre 10 tres veces, con un resto de uno.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: MOD(source_A,source_B,destination); MOD source_A source_B destination

Instrucciones relacionadas: CPT, ADD, MUL, SUB, DIV

1756-6.4.1ES - Octubre de 1999

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

5-15

Square Root (SQR)


Operandos:

La instruccin SQR es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL

Formato: valor inmediato tag

Descripcin: hallar la raz cuadrada de este valor

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT REAL tag tag para almacenar el resultado

Descripcin: La instruccin SQR calcula la raz cuadrada del origen y coloca el resultado en el destino. Si el destino no es REAL, la instruccin procesa la porcin fraccionaria del resultado de la manera siguiente:
Si el origen: La porcin fraccionaria Ejemplo: del resultado: se trunca Origen Destino es REAL se redondea Origen Destino DINT DINT REAL DINT 3 1 3.0 2

no es REAL

Si el origen es negativo, la instruccin halla el valor absoluto del origen antes de calcular la raz cuadrada. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa.

Destino =

Origen

La condicin de salida de rengln se establece como verdadera

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

5-16

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Ejemplo de SQR:
Una vez habilitada, la instruccin SQR calcula la raz cuadrada de value_1 y coloca el resultado en sqr_result.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: SQR(source,destination); SQR source destination

Instrucciones relacionadas: CPT, NEG

1756-6.4.1ES - Octubre de 1999

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

5-17

Negate (NEG)
Operandos:

La instruccin NEG es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL

Formato: valor inmediato tag

Descripcin: valor del cual se cambia el signo

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT REAL tag tag para almacenar el resultado

Descripcin: La instruccin NEG cambia el signo del origen y coloca el resultado en el destino. Si cambia el signo de un valor negativo, el resultado es positivo. Si cambia el signo de un valor positivo, el resultado es negativo. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. Destino = 0 Origen La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de NEG:
Una vez habilitada, la instruccin NEG cambia el signo de value_1 y coloca el resultado en negate_result.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: NEG(source,destination); NEG source destination

Instrucciones relacionadas: CPT, SQR

1756-6.4.1ES - Octubre de 1999

5-18

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Absolute Value (ABS)


Operandos:

La instruccin ABS es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL

Formato: valor inmediato tag

Descripcin: valor desde el cual se extrae el valor absoluto

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT REAL tag tag para almacenar el resultado

Descripcin: La instruccin ABS halla el valor absoluto del origen y coloca el resultado en el destino. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. Destino = | Origen | La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de ABS:
Cuando est habilitada, la instruccin ABS coloca el valor absoluto de value_1 en value_1_absolute. En este ejemplo, el valor absoluto de cuatro negativo es cuatro positivo.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: ABS(source,destination); ABS source destination

Instrucciones relacionadas: CPT, NEG, SQR, TRN

1756-6.4.1ES - Octubre de 1999

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

5-19

Notas:

1756-6.4.1ES - Octubre de 1999

5-20

Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

1756-6.4.1ES - Octubre de 1999

Captulo

Instrucciones de transferencia/lgica
(MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

Introduccin

Las instrucciones de transferencia modifican y transfieren los bits.


Si usted desea: copiar un valor copiar una porcin especifica de un nmero entero mover bits dentro de un nmero entero o entre nmeros enteros borrar un valor Use esta instruccin: MOV MVM BTD CLR Vea la pgina: 6-2 6-3 6-5 6-8

Las instrucciones lgicas realizan operaciones lgicas en los bits.


Si usted desea realizar una: funcin A, bit a bit funcin O, bit a bit funcin O exclusivo, bit a bit funcin NO, bit a bit Use esta instruccin: AND OR XOR NOT Vea la pgina: 6-9 6-11 6-13 6-15

Usted puede combinar los tipos de datos, pero esto puede resultar en una prdida de precisin y errores de redondeo, y la instruccin necesita ms tiempo para ejecutarse. Verifique el bit S:V para ver si el resultado se trunc. Los tipos de datos con letras negritas indican los tipos de datos ptimos. Una instruccin se ejecuta ms rpidamente y requiere menos memoria si todos los operandos de la instruccin usan el mismo tipo de datos ptimo, tpicamente DIN o REAL. Una instruccin de transferencia/lgica se ejecuta cada vez que se escanea la instruccin siempre que la condicin de entrada de rengln sea verdadera. Si desea que la expresin se evale solamente una vez, use cualquier instruccin de un impulso para activar la instruccin de transferencia/ lgica.

1756-6.4.1ES - Octubre de 1999

6-2

Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

Move (MOV)
Operandos:

La instruccin MOV es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL

Formato: valor inmediato tag

Descripcin: valor que se mueve (se copia)

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT REAL tag tag para almacenar el resultado

Descripcin: La instruccin MOV copia el origen al destino. El origen no se cambia. Ejecucin:


Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La instruccin copia el origen en el destino. La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de MOV:

Una vez habilitada, la instruccin MOV copia los datos en value_1 a value_2.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: MOV(source,destination); MOV source destination

Instrucciones relacionadas: BTD, CLR, MVM

1756-6.4.1ES - Octubre de 1999

Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

6-3

Masked Move (MVM)


Operandos:

La instruccin MVM es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT

Formato: valor inmediato tag

Descripcin: valor que se mueve

Un tag SINT o INT se convierte a un valor DINT segn un relleno de cero. Consulte Conversiones de datos en la pgina A-6. Mscara SINT INT DINT valor inmediato tag qu bits se bloquean o se pasan

Un tag SINT o INT se convierte a un valor DINT segn un relleno de cero. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT tag tag para almacenar el resultado

Descripcin: La instruccin MVM copia el origen a un destino y permite que se enmascaren porciones de los datos. El origen no se cambia. Una vez habilitada, la instruccin MVM usa una mscara para pasar o bloquear los bits de datos del origen. Un nmero 1 en la mscara significa que se pasa el bit de datos. Un nmero 0 en la mscara significa que se bloquea el bit de datos. Si combina los tipos de datos enteros, la instruccin llena con ceros los bits superiores de los tipos de datos enteros menores para que tengan el mismo tamao que el tipo de datos ms grande.

Cmo introducir un valor de mscara inmediato


Cuando introduce una mscara, el software de programacin vuelve a establecer los valores decimales predeterminados. Si desea introducir una mscara usando otro formato, ponga el prefijo correcto antes del valor.
Prefijo: 16# 8# 2# Descripcin: hexadecimal por ejemplo; 16#0F0F octal por ejemplo; 8#16 binario por ejemplo; 2#00110011

1756-6.4.1ES - Octubre de 1999

6-4

Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La instrucciones pasa el origen a travs de la mscara y copia el resultado en el destino. Los bits sin mscara en el destino no se cambian. La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de MVM:

Una vez habilitada, la instruccin MVM copia los datos de value_a a value_b, permitiendo as que los datos se enmascaren (un 0 enmascara los datos en value_a).

value_2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 antes de la instruccin MVM value_1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 mask_1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 value_2 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 despus de la instruccin MVM

Las casillas sombreadas muestran los bits que se cambiaron en value_2.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: MVM(source,mask,destination); MVM source mask destination

Instrucciones relacionadas: BTD, CLR, MOV

1756-6.4.1ES - Octubre de 1999

Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

6-5

Bit Field Distribute (BTD)


Operandos:

La instruccin BTD es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT

Formato: valor inmediato tag

Descripcin: tag que contiene los bits que se mueven

Un tag SINT o INT se convierte a un valor DINT segn un relleno de cero. Consulte Conversiones de datos en la pgina A-6. Bit de origen DINT valor inmediato (0 31 DINT) (0 15 INT) (0 7 SINT) tag nmero del bit (el nmero de bit menor de todos) desde el cual se inicia el movimiento debe encontrarse dentro del rango vlido para el tipo de datos del origen tag al cual se mueven los bits

Destino

SINT INT DINT DINT

Bit de destino

valor inmediato (0 31 DINT) (0 15 INT) (0 7 SINT)

el nmero del bit (el nmero de bit menor de todos) donde se inicia el copiado de los bits del origen debe encontrarse dentro del rango vlido para el tipo de datos del destino nmero de bits que se mueven

Longitud

DINT

inmediato (1 32)

Descripcin: La instruccin BTD copia los bits especificados desde el origen, desplaza los bits en la posicin apropiada y escribe los bits al destino. No se cambia el resto del destino. Una vez habilitada, la instruccin BTD copia un grupo de bits desde el origen hacia el destino. El grupo de bits se identifica por el bit de origen (el nmero de bit menor del grupo) y la longitud (el nmero de bits que se copian). El bit de destino identifica el nmero de bit menor con el cual se comienza en el destino. El origen no se cambia. Si la longitud del campo de bits se extiende ms all del destino, la instruccin no guarda los bits adicionales. Los bits adicionales no pasan a la prxima palabra. Si combina los tipos de datos enteros, la instruccin llena con ceros los bits superiores de los tipos de datos enteros menores para que tengan el mismo tamao que el tipo de datos ms grande. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La instruccin copia y desplaza los bits de origen al destino. La condicin de salida de rengln se establece como verdadera.
1756-6.4.1ES - Octubre de 1999

6-6

Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de BTD:
ejemplo 1 Una vez habilitada, la instruccin BTD mueve los bits dentro de value_1.

bit de destino

bit de origen

value_1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 antes de la instruccin BTD

value_1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 despus de la instruccin BTD


Las casillas sombreadas muestran los bits que se cambiaron en value_1.

1756-6.4.1ES - Octubre de 1999

Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

6-7

ejemplo 2

Una vez habilitada, la instruccin BTD mueve 10 bits de value_1 a value_2.

bit de origen

value_1

1 111 11 11 1 1 1 1 1 1 1 11 1 1 1 11 1 1 11 1 1 1 1 1 1

bit de destino

value_2 antes de la instruccin BTD

0 000 00 00 0 0 0 0 0 0 0 00 0 0 0 00 0 0 00 0 0 0 0 0 0

value_2 despus de la instruccin BTD

0 000 00 00 0 0 0 0 0 0 0 00 1 1 1 11 1 1 11 1 0 0 0 0 0

Las casillas sombreadas muestran los bits que se cambiaron en value_2.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: BTD(source,source_bit,destination,destination_bit,length); BTD source source_bit destination destination_bit length

Instrucciones relacionadas: CLR, MOV, MVM

1756-6.4.1ES - Octubre de 1999

6-8

Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

Clear (CLR)
Operandos:

La instruccin CLR es una instruccin de salida.

Operando: Destino

Tipo: SINT INT DINT REAL

Formato: tag

Descripcin: tag que se borra

Descripcin: La instruccin CLR restablece todos los bits del destino. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La instruccin borra el destino. La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de CLR:

Una vez habilitada, la instruccin CLR pone todos los bits de value_1 a 0.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: CLR(destination); CLR destination

Instrucciones relacionadas: MOV

1756-6.4.1ES - Octubre de 1999

Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

6-9

Bitwise AND (AND)


Operandos:

La instruccin AND es una instruccin de salida.

Operando: Origen A

Tipo: SINT INT DINT

Formato: valor inmediato tag

Descripcin: valor en que se realiza la funcin Y con el origen B

Un tag SINT o INT se convierte a un valor DINT segn un relleno de cero. Consulte Conversiones de datos en la pgina A-6. Origen B SINT INT DINT valor inmediato tag valor en que se realiza la funcin Y con el origen A

Un tag SINT o INT se convierte a un valor DINT segn un relleno de cero. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT tag almacena el resultado

Descripcin: La instruccin AND realiza una funcin Y bit a bit usando los bits en los orgenes A y B y coloca el resultado en el destino. Una vez habilitada, la instruccin evala la funcin Y:
Si el bit en el origen A es: 0 0 1 1 Y el bit en el origen B es: 0 1 0 1 El bit en el destino es: 0 0 0 1

Si combina los tipos de datos enteros, la instruccin llena con ceros los bits superiores de los tipos de datos enteros menores para que tengan el mismo tamao que el tipo de datos ms grande. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La instruccin realiza una funcin Y bit a bit. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

6-10

Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

Ejemplo de AND:

Cuando est habilitada, la instruccin AND realiza una funcin Y en value_1 y value_2 y coloca el resultado en value_result_and.

value_1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 value_2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 value_3 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0


Las casillas sombreadas muestran los bits que se cambiaron.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: AND(source_A,source_B,destination); AND source_A source_B destination

Instrucciones relacionadas: NOT, OR, XOR

1756-6.4.1ES - Octubre de 1999

Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

6-11

Bitwise OR (OR)
Operandos:

La instruccin OR es una instruccin de salida.

Operando: Origen A

Tipo: SINT INT DINT

Formato: valor inmediato tag

Descripcin: valor en que se realiza la funcin O con el origen B

Un tag SINT o INT se convierte a un valor DINT segn un relleno de cero. Consulte Conversiones de datos en la pgina A-6. Origen B SINT INT DINT valor inmediato tag valor en que se realiza la funcin O con el origen A

Un tag SINT o INT se convierte a un valor DINT segn un relleno de cero. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT tag almacena el resultado

Descripcin: La instruccin OR realiza una funcin O bit a bit usando los bits en los orgenes A y B y coloca el resultado en el destino. Una vez habilitada, la instruccin evala la funcin O:
Si el bit en el origen A es: 0 0 1 1 Y el bit en el origen B es: 0 1 0 1 El bit en el destino es: 0 1 1 1

Si combina los tipos de datos enteros, la instruccin llena con ceros los bits superiores de los tipos de datos enteros menores para que tengan el mismo tamao que el tipo de datos ms grande. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La instruccin realiza una funcin O bit a bit. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

6-12

Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

Ejemplo de OR:

Cuando est habilitada, la instruccin OR realiza una funcin O en value_1 y value_2 y coloca el resultado en value_result_or.

value_1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 value_2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 value_3 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1


Las casillas sombreadas muestran los bits que se cambiaron.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: OR(source_A,source_B,destination); OR source_A source_B destination

Instrucciones relacionadas: AND, OR, XOR

1756-6.4.1ES - Octubre de 1999

Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

6-13

Bitwise Exclusive OR (XOR)


Operandos:

La instruccin XOR es una instruccin de salida.

Operando: Origen A

Tipo: SINT INT DINT

Formato: valor inmediato tag

Descripcin: valor en que se realiza la funcin XOR con el origen B

Un tag SINT o INT se convierte a un valor DINT segn un relleno de cero. Consulte Conversiones de datos en la pgina A-6. Origen B SINT INT DINT valor inmediato tag valor en que se realiza la funcin XOR con el origen A

Un tag SINT o INT se convierte a un valor DINT segn un relleno de cero. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT tag almacena el resultado

Descripcin: La instruccin XOR realiza una funcin O exclusivo bit a bit usando los bits en los orgenes A y B y coloca el resultado en el destino. Una vez habilitada, la instruccin evala la funcin O exclusivo:
Si el bit en el origen A es: 0 0 1 1 Y el bit en el origen B es: 0 1 0 1 El bit en el destino es: 0 1 1 0

Si combina los tipos de datos enteros, la instruccin llena con ceros los bits superiores de los tipos de datos enteros menores para que tengan el mismo tamao que el tipo de datos ms grande. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La instruccin realiza una funcin O exclusivo bit a bit. La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

6-14

Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

Ejemplo de XOR:

Cuando est habilitada, la instruccin XOR realiza una funcin XOR en value_1 y value_2 y coloca el resultado en value_result_or.

value_1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 value_2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 value_3 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1


Las casillas sombreadas muestran los bits que se cambiaron.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: XOR(source_A,source_B,destination); XOR source_A source_B destination

Instrucciones relacionadas: AND, NOT, OR

1756-6.4.1ES - Octubre de 1999

Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

6-15

Bitwise NOT (NOT)


Operandos:

La instruccin NOT es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT

Formato: valor inmediato tag

Descripcin: valor en que se realiza la funcin NO

Un tag SINT o INT se convierte a un valor DINT segn un relleno de cero. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT tag almacena el resultado

Descripcin: La instruccin NOT realiza una funcin NO bit a bit usando los bits en el origen y coloca el resultado en el destino. Una vez habilitada, la instruccin evala la funcin NO:
Si el bit en el origen es: 0 1 El bit en el destino es: 1 0

Si combina los tipos de datos enteros, la instruccin llena con ceros los bits superiores de los tipos de datos enteros menores para que tengan el mismo tamao que el tipo de datos ms grande. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La instruccin realiza una funcin NO bit a bit. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

6-16

Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)

Ejemplo de NOT:

Cuando est habilitada, la instruccin NOT realiza una funcin NOT en value_1 y coloca el resultado en value_result_not.

value_1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 value_3 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: NOT(source,destination); NOT source destination

Instrucciones relacionadas: AND, OR, XOR

1756-6.4.1ES - Octubre de 1999

Captulo

Instrucciones de arreglo (archivo)/ miscelneos


(FAL, FSC, COP, FLL, AVE, SRT, STD)

Introduccin

Las instrucciones de archivo/varias realizan operaciones en arreglos de datos.


Si usted desea: realizar operaciones aritmticas, lgicas, de desplazamiento y funcin en valores en arreglos buscar y comparar valores en arreglos copiar el contenido de un arreglo a otro arreglo llenar un arreglo con datos especficos calcular el promedio de un arreglo de valores organizar una dimensin de datos de arreglo en orden ascendente calcular la desviacin estndar de un arreglo de valores Use esta instruccin: FAL Vea la pgina: 7-7

FSC COP FLL AVE SRT STD

7-18 7-28 7-32 7-35 7-39 7-42

Usted puede combinar los tipos de datos, pero esto puede resultar en una prdida de precisin y errores de redondeo, y la instruccin necesita ms tiempo para ejecutarse. Verifique el bit S:V para ver si el resultado se trunc. Los tipos de datos con letras negritas indican los tipos de datos ptimos. Una instruccin se ejecuta ms rpidamente y requiere menos memoria si todos los operandos de la instruccin usan el mismo tipo de datos ptimo, tpicamente DIN o REAL.

1756-6.4.1ES - Octubre de 1999

7-2

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Cmo seleccionar el modo de operacin

Para las instrucciones FAL y FSC, el modo indica al controlador cmo distribuir la operacin del arreglo.
Si usted desea: realizar una operacin en todos los elementos especificados de un arreglo antes de continuar a la prxima instruccin distribuir la operacin de arreglo para un nmero de escanes introducir el nmero de elementos en que se realiza una operacin por escn (1 2147483647) manipular un elemento del arreglo cada vez que la condicin de entrada de rengln va de falso a verdadero Seleccione este modo: Todos

Numrico

Incremental

Modo todos
En el modo todos, se realiza una operacin en todos los elementos especificados en el arreglo antes de continuar a la prxima instruccin. La operacin se inicia cuando la condicin de entrada de rengln va de falso a verdadero. El valor de posicin (.POS) en la estructura de control indica el elemento en el arreglo que la instruccin est usando actualmente. La operacin se detiene cuando el valor .POS es igual al valor .LEN.
Arreglo de datos un escn

16639

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-3

El siguiente diagrama de temporizacin indica la relacin entre los bits de estado y la operacin de la instruccin. Cuando se completa la ejecucin de la instruccin, se establece el bit .DN. El bit .DN, el bit .EN y el valor .POS se borran cuando la condicin de entrada de rengln es falsa. Slo entonces se puede activar otra ejecucin de la instruccin debido a una transicin de falso a verdadero de una condicin de entrada de rengln.
un escn

condicin de entrada de rengln

bit .EN

bit .DN restablece los bits de estado y borra el valor .POS escn de la instruccin

operacin concluida

no se ejecuta
40010

Modo numrico
El modo numrico distribuye la operacin del arreglo para un nmero de escanes. Este modo es til cuando se trabaja con datos sin tiempo crtico o grandes cantidades de datos. Usted introduce el nmero de elementos en que desea realizar una operacin para cada escn, lo cual reduce el tiempo de escn. La ejecucin se activa cuando la condicin de entrada de rengln va de falso a verdadero. Una vez activada, la instruccin se ejecuta cada vez que se escanea durante el nmero de escanes necesarios para completar la operacin en todo el arreglo. Una vez activada, la condicin de entrada de

1756-6.4.1ES - Octubre de 1999

7-4

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

rengln se puede cambiar repetidamente sin interrumpir la ejecucin de la instruccin.


un escn

segundo escn prximo escn

16641

Importante: Evite usar los resultados de una operacin de instruccin de archivo en el modo numrico hasta que se establezca el bit .DN.

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-5

El siguiente diagrama de temporizacin indica la relacin entre los bits de estado y la operacin de la instruccin. Cuando se completa la ejecucin de la instruccin, se establece el bit .DN.
el rengln es verdadero cuando concluye la ejecucin mltiples escanes el rengln es falso cuando concluye la ejecucin mltiples escanes

condicin de entrada de rengln

bit .EN bit .DN escn de la instruccin operacin concluida operacin concluida
40013

restablece los bits de estado y borra el valor .POS

restablece los bits de estado y borra el valor .POS

Si la condicin de entrada de rengln es verdadera al completarse la ejecucin, los bits .EN y .DN se establecen hasta que la condicin de entrada de rengln se hace falsa. Cuando la condicin de entrada de rengln se hace falsa, estos bits se restablecen y el valor .POS se borra. Si la condicin de entrada de rengln es falsa al concluir la ejecucin, el bit .EN se restablece inmediatamente. El bit .DN y el valor .POS se restablecen un escn despus de que se restablece el bit .EN.

Modo incremental
El modo incremental manipula un elemento del arreglo cada vez que la condicin de entrada de rengln de la instruccin va de falso a verdadero.

1 habilitacin de instruccin 2 habilitacin de instruccin 3 habilitacin de instruccin

ltima habilitacin de instruccin

16643

1756-6.4.1ES - Octubre de 1999

7-6

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

El siguiente diagrama de temporizacin indica la relacin entre los bits de estado y la operacin de instruccin. La ejecucin ocurre solamente en un escn en el cual la condicin de entrada de rengln va de falso a verdadero. Cada vez que ocurre esto, se manipula solamente un elemento del arreglo. Si la condicin de entrada de rengln permanece verdadera durante ms de un escn, la instruccin se ejecuta solamente durante el primer escn.
un escn

condicin de entrada de rengln

bit .EN

bit .DN

escn de la instruccin

40014

operacin concluida

restablece los bits de estado y borra el valor .POS

El bit .EN se establece cuando la condicin de entrada de rengln es verdadera. El bit .DN se establece cuando el ltimo elemento en el arreglo ha sido manipulado. Cuando el ltimo elemento ha sido manipulado y la condicin de entrada de rengln se hace falsa, el bit .EN, el bit .DN y el valor .POS se restablecen. La diferencia entre el modo incremental y el modo numrico en un rgimen de un elemento por escn es: El modo numrico con cualquier nmero de elementos por escn requiere solamente una transicin de falso a verdadero de la condicin de entrada de rengln para iniciar la ejecucin. La instruccin contina ejecutando el nmero especificado de elementos durante cada escn hasta concluir independientemente del estado de la condicin de entrada de rengln. El modo incremental requiere que la condicin de entrada de rengln cambie de falsa a verdadera para manipular un elemento en el arreglo.

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-7

File Arithmetic and Logic (FAL) La instruccin FAL es una instruccin de salida.
Operandos:
Operando: Control Longitud Posicin Modo Tipo: CONTROL DINT DINT DINT Formato: tag valor inmediato valor inmediato valor inmediato tag Descripcin: estructura de control para la operacin nmero de elementos en el arreglo que se manipulan elemento actual en el arreglo el valor inicial es tpicamente 0 cmo distribuir la operacin seleccione INC, TODOS o introduzca un nmero tag para almacenar el resultado

Destino

SINT INT DINT REAL SINT INT DINT REAL

Expresin

valor inmediato tag

una expresin que consiste en tags y/o valores inmediatos separados por operadores.

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6.

Estructura CONTROL:
Mnemnico: Tipo de datos: .EN .DN .ER BOOL BOOL BOOL Descripcin: El bit de habilitacin indica que la instruccin FAL est habilitada. El bit de efectuado se establece cuando la instruccin ha efectuado la operacin en el ltimo elemento (.POS = .LEN). El bit de error se establece si la expresin genera un overflow (se establece S:V). La instruccin ya no se ejecuta hasta que el programa restablece el bit .ER. El valor .POS contiene la posicin del elemento que caus el overflow. La longitud especifica el nmero de elementos en el arreglo en que la instruccin realiza una operacin. La posicin contiene la posicin del elemento actual al cual la instruccin obtiene acceso.

.LEN .POS

DINT DINT

Descripcin: La instruccin FAL realiza operaciones de copia, aritmticas, lgicas y funcin en los datos almacenados en un arreglo. La instruccin FAL realiza las mismas operaciones en los arreglos que la instruccin CPT realiza en los elementos. El ejemplo que aparece en la pgina 7-13 muestra cmo usar el valor .POS para procesar el arreglo. Si un subndice de la expresin del destino se encuentra fuera de rango, la instruccin FAL genera un fallo mayor (tipo 4, cdigo 20).

1756-6.4.1ES - Octubre de 1999

7-8

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Ejecucin
Condicin: preescn Accin: La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es falsa

examine el bit .DN

bit .DN = 0

modo INC

no

se restablece el bit interno

bit .DN = 1 el bit .EN se restablece ll bit .ER se restablece el bit .DN se restablece. el valor .POS se borra

s el bit .EN se restablece Modo TODOS s no .LEN < 0 o .POS < 0 no s fallo mayor

.POS = .POS + 1

.LEN < 0

no .POS = 0 s no no .POS = .POS + 1

.POS < .LEN

no

modo .LEN >


el bit .DN se establece el bit .EN est establecido el bit .DN se establece el bit .EN se restablece modo numrico s modo .LEN >

pgina 7-12

la condicin de salida de rengln est establecida como falsa fin

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-9

Condicin:

Accin:

la condicin de entrada de rengln es verdadera


.LEN < 0 o .POS < 0 examine el .ER el bit .ER = 0 no bit .DN = 0 .LEN < 0 no modo INC no Modo TODOS s no s

pgina7-12
fallo mayor modo numrico

el bit .ER = 1 examine el bit .DN

bit .DN = 1

s el bit .DN se establece el bit .EN est establecido

modo INC

Modo TODOS

pgina 7-10
comn

pgina 7-11

loop_count = loop_count 1

loop_count < 0
s

no

.POS = .POS + 1

evale la expresin

examine S:V s .POS = .POS + 1 el bit .ER est establecido

no

.POS = .LEN

no

s el bit .DN se establece el bit .EN est establecido

.POS = .POS + 1

la condicin de salida de rengln est establecida como verdadera

fin

1756-6.4.1ES - Octubre de 1999

7-10

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Condicin:
Modo INC

Accin:

bit .EN = 1 examine el bit .EN

bit .EN = 0

examine el bit interno

bit = 1
.POS = .POS + 1

bit = 0

se establece el bit interno

.POS .LEN no el bit .EN est establecido loop_count = 1 .POS = .POS + 1

.POS = 0

no .POS = .POS + 1

el bit .DN se establece el bit .EN est establecido

comn

pgina 7-9

la condicin de salida de rengln est establecida como verdadera fin

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-11

Condicin:
Modo TODOS

Accin:

bit .EN = 0 examine el bit .EN

examine el bit interno

bit = 1

bit .EN = 1

bit = 0

.POS = .POS + 1

el bit .EN est establecido

.POS .LEN no

.POS = 0

no .POS = .POS + 1

loop_count = .LEN .POS .POS = .POS + 1

comn

pgina 7-9

el bit .DN se establece el bit .EN est establecido

la condicin de salida de rengln est establecida como verdadera

fin

1756-6.4.1ES - Octubre de 1999

7-12

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Condicin:
modo numrico

Accin:

bit .EN = 1 examine el bit .EN

bit .EN = 0

.POS = .POS + 1

examine el bit interno

bit = 1

bit = 0
se establece el bit interno

.POS .LEN no

.POS = 0

no .POS = .POS + 1

no modo .LEN >

modo .LEN s

el bit .EN est establecido loop_count = .LEN .POS .POS = .POS + 1

el bit .DN se establece el bit .EN est establecido

la condicin de salida de rengln est establecida como verdadera

fin

modo loop_count no el bit .EN est establecido modo = loop_count

comn

pgina 7-9

Indicadores de estado aritmtico: Los indicadores de estado aritmtico estn afectados. Condiciones de fallo:
Ocurrir un fallo mayor si: el subndice est fuera de rango .POS < 0 .LEN < 0 Tipo de fallo: 4 4 Cdigo de fallo: 20 21

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-13

Ejemplo de FAL:
copia de arreglo a arreglo Una vez habilitada, la instruccin FAL copia cada elemento de array_2 en la misma posicin dentro de array_1.

Expresin array_2[control_2.pos] copia de elemento a arreglo

Destino array_1[control_2.pos]

Una vez habilitada, la instruccin FAL copia value_1 en las 10 primeras posiciones de la segunda dimensin de array_2.

Expresin value_1

Destino array_2[0,control_2.pos]

copia de arreglo a elemento Cada vez que se habilita la instruccin FAL, sta copia el valor actual de array_1 a value_1. La instruccin FAL usa el modo incremental, por lo tanto se copia solamente un arreglo cada vez que se habilita la instruccin. La prxima vez que se habilita la instruccin, sta sobrescribe value_1 con el prximo valor en array_1.

Expresin array_1[control_1.pos]

Destino value_1

1756-6.4.1ES - Octubre de 1999

7-14

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

operacin aritmtica: (arreglo/arreglo) a arreglo Una vez habilitada, la instruccin FAL divide el valor en la posicin actual de array_2 entre el valor en la posicin actual de array_3 y almacena el resultado en la posicin actual de array_1.

Expresin array_2[control_2.pos] / array_3[control_2.pos] operacin aritmtica: (elemento + elemento) a arreglo

Destino array_1[control_2.pos]

Una vez habilitada, la instruccin FAL suma value_1 y value_2 y almacena el resultado en la posicin actual de array_1.

Expresin value_1 + value_2

Destino array_1[control_1.pos]

operacin aritmtica: (arreglo + elemento) a arreglo Una vez habilitada, la instruccin FAL suma el valor en la posicin actual de array_1 a value_1 y almacena el resultado en la posicin actual en array_3. La instruccin se debe ejecutar 10 veces para que array_1 y array_3 se manipulen por entero.

Expresin array_1[control_1.pos] + value_1

Destino array_3[control_1.pos]

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-15

operacin aritmtica: (elemento + arreglo) a elemento Cada vez que se habilita la instruccin FAL, sta suma value_1 al valor actual de array_1 y almacena el resultado en value_2. La instruccin FAL usa el modo incremental, por lo tanto se suma solamente un valor de arreglo a value_1 cada vez que se habilita la instruccin. La prxima vez que se habilita la instruccin, sta sobrescribe value_2.

Expresin value_1 + array_1[control_1.pos] operacin aritmtica: (arreglo arreglo) a elemento

Destino value_2

Una vez habilitada, la instruccin FAL multiplica el valor actual de array_1 por el valor actual de array_3 y almacena el resultado en value_1. La instruccin FAL usa el modo incremental, por lo tanto se multiplica solamente un par de valores de arreglo cada vez que se habilita la instruccin. La prxima vez que se habilita la instruccin, sta sobrescribe value_1.

Expresin array_1[control_1.pos] * array_3[control_1.pos]

Destino value_1

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: FAL(control,length,position,mode,destination,expression); FAL control length position mode destination expression

Instrucciones relacionadas: CPT, CMP, FSC Usted programa las expresiones en las instrucciones FAL de la misma manera que las expresiones en las instrucciones CPT. Use las secciones siguientes para obtener informacin acerca de operadores vlidos, formato y orden de operacin, los cuales son comunes en ambas instrucciones.

1756-6.4.1ES - Octubre de 1999

7-16

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Operadores vlidos
Operador: + * / ** ABS ACS AND ASN ATN COS DEG FRD Descripcin: sumar restar/cambiar signo multiplicar dividir exponente (x a y) valor absoluto arco coseno funcin Y arco seno arco tangente coseno radianes a grados BCD a nmero entero Optimo: DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL REAL DINT REAL REAL REAL DINT, REAL DINT Operador: LN LOG MOD NOT OR RAD SIN SQR TAN TOD TRN XOR Descripcin: logaritmo natural logaritmo de base 10 mdulo-divisin Optimo: REAL REAL DINT, REAL

complemento bit a bit DINT funcin O radianes a grados seno raz cuadrada tangente nmero entero a BCD truncar OR exclusivo, bit a bit DINT DINT, REAL REAL DINT, REAL REAL DINT DINT, REAL DINT

Cmo formatear expresiones


Para cada operador que usted usa en una expresin, tiene que proporcionar uno o dos operandos (tags o valores inmediatos). Use la tabla siguiente para formatear los operadores y operandos dentro de una expresin:
Para los operadores Use este formato: que realizan la operacin en: un operando dos operandos operador (operando) Ejemplos:

ABS(tag_a)

operand_a operador operand_b tag_b + 5 tag_c AND tag_d (tag_e ** 2) MOD (tag_f / tag_g)

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-17

Cmo determinar el orden de operacin


Las operaciones que usted escribe en la expresin son realizadas por la instruccin en un orden determinado y no necesariamente segn el orden en que las escribi. Puede anular el orden de operacin agrupando los trminos entre parntesis, lo cual causa que la instruccin realice una operacin entre parntesis antes que las otras operaciones. Las operaciones de orden igual se realizan desde la izquierda hacia la derecha.
Orden: 1. 2. 3. 4. 5. 6. 7. 8. 9. Operacin: () ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG, RAD, SIN, SQR, TAN, TOD, TRN ** (cambiar signo), NOT *, /, MOD (restar), + AND XOR OR

1756-6.4.1ES - Octubre de 1999

7-18

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

File Search and Compare (FSC) La instruccin FCS es una instruccin de salida.
Operandos:
Operando: control Longitud Posicin Modo Tipo: CONTROL DINT DINT DINT Formato: tag valor inmediato valor inmediato valor inmediato valor inmediato tag Descripcin: estructura de control para la operacin nmero de elementos en el arreglo que se manipulan offset en el arreglo el valor inicial es tpicamente 0 cmo distribuir la operacin seleccione INC, TODOS o introduzca un nmero una expresin que consiste en tags y/o valores inmediatos separados por operadores.

Expresin

SINT INT DINT REAL

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6.

Estructura CONTROL:
Mnemnico: Tipo de datos: .EN .DN .ER .IN BOOL BOOL BOOL BOOL Descripcin: El bit de habilitacin indica que la instruccin FSC est habilitada. El bit de efectuado se establece cuando la instruccin ha efectuado la operacin en el ltimo elemento (.POS = .LEN). El bit de error no se modifica. El bit de inhibicin indica que la instruccin FSC ha detectado una comparacin verdadera. Usted debe restablecer este bit para poder continuar la operacin de buscar. El bit de encontrado indica que la instruccin FSC ha detectado una comparacin verdadera. La longitud especifica el nmero de elementos en el arreglo en que la instruccin realiza una operacin. La posicin contiene la posicin del elemento actual al cual la instruccin obtiene acceso.

.FD .LEN .POS

BOOL DINT DINT

Descripcin: La instruccin FSC compara los valores en un arreglo, elemento por elemento, para las operaciones lgicas que se especifican en la expresin. Vea las seccin Cmo ver un arreglo como un conjunto de elementos en la pgina B-1. Cuando la instruccin FSC est habilitada y la comparacin es verdadera, la instruccin establece el bit .FD y el bit .POS refleja la posicin de arreglo donde la instruccin encontr la comparacin verdadera. La instruccin establece el bit .IN para interrumpir la bsqueda.

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-19

Ejecucin:
Condicin: preescn Accin: La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es falsa

examine el bit .DN

bit .DN = 0

modo INC

no

se restablece el bit interno

bit .DN = 1 el bit .EN se restablece el bit .ER se restablece el bit .DN se restablece. el valor .POS se borra

s el bit .EN se restablece Modo TODOS s no .LEN < 0 o .POS < 0 no s fallo mayor

.POS = .POS + 1

.LEN < 0

no .POS = 0 s no no .POS = .POS + 1

.POS < .LEN

no

modo .LEN >


el bit .DN se establece el bit .EN est establecido el bit .DN se establece el bit .EN se restablece modo numrico s modo .LEN >

pgina 7-12

la condicin de salida de rengln est establecida como falsa fin

1756-6.4.1ES - Octubre de 1999

7-20

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Condicin:

Accin:

la condicin de entrada de rengln es verdadera


.LEN < 0 o .POS < 0 examine el .ER el bit .ER = 1 examine el bit .IN bit .DN = 1 bit .IN = 0 s el bit .DN se establece el bit .EN est establecido examine el bit .DN bit .DN = 1 comn bit .DN = 0 s s el bit .ER = 0 no bit .DN = 0 .LEN < 0 no modo INC no Modo TODOS no s

pgina 7-23
fallo mayor modo numrico

modo INC

Modo TODOS

pgina 7-21

pgina 7-22

loop_count = loop_count 1

loop_count < 0
s

no

.POS = .POS + 1

evale la comparacin

coincidencia s .POS = .POS + 1 el bit .EN est establecido el bit .FD se establece se establece el bit .IN no

no

.POS = .LEN

s el bit .DN se establece

.POS = .POS + 1

la condicin de salida de rengln est establecida como verdadera

fin

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-21

Condicin:
Modo INC

Accin:

bit .EN = 1 examine el bit .EN

bit .EN = 0

examine el bit interno

bit = 1
.POS = .POS + 1

bit = 0

se establece el bit interno

.POS .LEN no el bit .EN est establecido loop_count = 1 .POS = .POS + 1

.POS = 0

no .POS = .POS + 1

comn

el bit .DN se establece el bit .EN est establecido

pgina 7-20

la condicin de salida de rengln est establecida como verdadera fin

1756-6.4.1ES - Octubre de 1999

7-22

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Condicin:
Modo TODOS

Accin:

bit .EN = 0 examine el bit .EN

examine el bit interno

bit = 1

bit .EN = 1

bit = 0

.POS = .POS + 1

el bit .EN est establecido el bit .FD se restablece

.POS .LEN no

.POS = 0

no .POS = .POS + 1

loop_count = .LEN .POS .POS = .POS + 1

comn

pgina 7-20

el bit .DN se establece el bit .EN est establecido

la condicin de salida de rengln est establecida como verdadera

fin

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-23

Condicin:
modo numrico

Accin:

bit .EN = 1 examine el bit .EN

bit .EN = 0

.POS = .POS + 1

examine el bit interno

bit = 1

bit = 0
se establece el bit interno

.POS .LEN no

.POS = 0

no .POS = .POS + 1

no modo .LEN >

modo .LEN s

el bit .EN est establecido loop_count = .LEN .POS el bit .FD se restablece .POS = .POS + 1

el bit .DN se establece el bit .EN est establecido

la condicin de salida de rengln est establecida como verdadera

fin

loop_count = modo no el bit .EN est establecido modo = loop_count

comn

pgina 7-20

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo:
Ocurrir un fallo mayor si: .POS < 0 .LEN < 0 Tipo de fallo: 4 Cdigo de fallo: 21

1756-6.4.1ES - Octubre de 1999

7-24

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Ejemplo de FSC:
ejemplo 1 buscar una coincidencia entre dos arreglos

Una vez habilitada, la instruccin FSC compara cada uno de los 10 primeros elementos en array_1 con los elementos correspondientes en array_2.

array_1
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000001111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111

array_2
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 11111111111111110000000000000000 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111

control_3.pos
0 1 2 3 4 5 6 7 8 9

La instruccin FSC determina que estos elementos son diferentes. La instruccin establece los bits .FD e .IN. El valor .POS (4) indica la posicin de los elementos que son diferentes. Restablezca el bit .IN para continuar comparando el resto del arreglo.

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-25

ejemplo 2 buscar una coincidencia en un arreglo

Una vez habilitada, la instruccin FSC compara MySearchKey con los 10 elementos en array_1.

MySearchKey

referencia
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000

control_3.pos
0 1 2 3 4 5 6 7 8 9

11111111111111110000000000000000

11111111111111110000000000000000 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111

La instruccin FSC determina que este elemento de arreglo es igual a MySearchKey. La instruccin establece los bits .FD e .IN. El valor .POS (4) indica la posicin de elemento igual. Restablezca el bit .IN para continuar comparando el resto del arreglo.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: FSC(control,length,position,mode,expression); FSC control length position mode expression

Instrucciones relacionadas: CMP, CPT, FAL Usted programa las expresiones en las instrucciones FSC de la misma manera que las expresiones en las instrucciones CMP. Use las secciones siguientes para obtener informacin acerca de operadores vlidos, formato y orden de operacin, los cuales son comunes en ambas instrucciones.

1756-6.4.1ES - Octubre de 1999

7-26

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Operadores vlidos
Operador: + * / = < <= > >= <> ** ABS ACS AND ASN ATN Descripcin: sumar restar/cambiar signo multiplicar dividir igual menor que menor que o igual mayor que mayor que o igual diferente exponente (x a y) valor absoluto arco coseno funcin Y arco seno arco tangente Optimo: DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL real DINT REAL REAL Operador: COS DEG FRD LN LOG MOD NOT OR RAD SIN SQR TAN TOD TRN XOR Descripcin: coseno radianes a grados BCD a nmero entero logaritmo natural logaritmo de base 10 mdulo-divisin Optimo: REAL DINT, REAL DINT REAL REAL DINT, REAL

complemento bit a bit DINT funcin O radianes a grados seno raz cuadrada tangente nmero entero a BCD truncar OR exclusivo, bit a bit DINT DINT, REAL REAL DINT, REAL REAL DINT DINT, REAL DINT

Cmo formatear expresiones


Para cada operador que usted usa en una expresin, tiene que proporcionar uno o dos operandos (tags o valores inmediatos). Use la tabla siguiente para formatear los operadores y operandos dentro de una expresin:
Para los operadores Use este formato: que realizan la operacin en: un operando dos operandos operador (operando) Ejemplos:

ABS(tag_a)

operand_a operador operand_b tag_b + 5 tag_c AND tag_d (tag_e ** 2) MOD (tag_f / tag_g)

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-27

Cmo determinar el orden de operacin


Las operaciones que usted escribe en la expresin son realizadas por la instruccin en un orden determinado y no necesariamente segn el orden en que las escribi. Puede anular el orden de operacin agrupando los trminos entre parntesis, lo cual causa que la instruccin realice una operacin entre parntesis antes que las otras operaciones. Las operaciones de orden igual se realizan desde la izquierda hacia la derecha.
Orden: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Operacin: () ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG, RAD, SIN, SQR, TAN, TOD, TRN ** (cambiar signo), NOT *, /, MOD <, <=, >, >=, = (restar), + AND XOR OR

1756-6.4.1ES - Octubre de 1999

7-28

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

File Copy (COP)


Operandos:

La instruccin COP es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL estructura SINT INT DINT REAL estructura

Formato: tag

Descripcin: elemento inicial que se copia Importante: Los operandos de origen y destino deben ser del mismo tipo, de lo contrario pueden ocurrir resultados inesperados el elemento inicial que va a ser sobrescrito por el origen Importante: Los operandos de origen y destino deben ser del mismo tipo, de lo contrario pueden ocurrir resultados inesperados nmero de elementos de destino que se copian

Destino

tag

Longitud

DINT

valor inmediato tag

Descripcin: La instruccin COP copia los valores del origen al destino. El origen no se cambia. El nmero de bytes copiados es: Conteo de bytes = longitud (nmero de bytes en el tipo de datos de destino) ATENCION: Si el conteo de bytes es mayor que la longitud del origen, se copian datos inciertos para el resto de los elementos.

La instruccin COP realiza la operacin en la memoria de datos contiguos y realiza una copia directa de memoria de byte a byte, lo cual requiere entender la configuracin de memoria del controlador. Vea la pgina B-4, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin. La instruccin COP no escribe ms all del fin del arreglo. Si la longitud es mayor que el nmero total de elementos en el arreglo de destino, la instruccin COP se detiene al final del arreglo. No se genera un fallo mayor.

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-29

Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa.

end_address = start_address + (longitud nmero de bytes en un elemento de destino)

end_address > fin de un arreglo de destino

end_address = fin de un arreglo de destino

no

source_address = origen

destination_address = end_address

no

copie los datos en source_address a destination _address

source_address = source _address + 1

destination_address = destination_address + 1

la condicin de salida de rengln est establecida como verdadera

fin

Indicadores de estado aritmtico: no afectados

1756-6.4.1ES - Octubre de 1999

7-30

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Condiciones de fallo: ninguna Ejemplo de COP:


ejemplo 1

El array_4 y array_5 son del mismo tipo de datos. Una vez habilitada, la instruccin COP copia los 10 primeros elementos de array_4 en los 10 primeros elementos de array_5.

ejemplo 2

Una vez habilitada, la instruccin COP copia la estructura timer_1 en el elemento 5 de array_timer. La instruccin copia solamente una estructura a un elemento de arreglo.

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-31

ejemplo 3

Este ejemplo inicializa un arreglo de estructuras de temporizador. Una vez habilitadas, las instrucciones MOV inicializan los valores .PRE y .ACC del primer elemento de array_timer. Una vez habilitada, la instruccin COP copia un bloque contiguo de bytes a partir de array_timer[0]. La longitud es nueve estructuras de temporizador.

array_timer
array_timer[0]

Primero la instruccin copia los valores de timer[0] a timer[1] Luego la instruccin copia los valores de timer[1] a timer[2] Luego la instruccin copia los valores de timer[2] a timer[3] Luego la instruccin copia los valores de timer[3] a timer[4]

array_timer[1]

array_timer[2]

array_timer[3]

array_timer[4]

array_timer[5]

Finalmente, la instruccin copia los valores de timer[9] a timer[10]


array_timer[10]

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: COP(source,destination,length); COP(source,destination,length)

Instrucciones relacionadas: FAL, FLL, MOV

1756-6.4.1ES - Octubre de 1999

7-32

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

File Fill (FLL)


Operandos:

La instruccin FLL es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL

Formato: valor inmediato tag

Descripcin: elemento que se copia Importante: Los operandos de origen y destino deben ser del mismo tipo, de lo contrario pueden ocurrir resultados inesperados el elemento inicial que ser sobrescrito por el origen Importante: Los operandos de origen y destino deben ser del mismo tipo, de lo contrario pueden ocurrir resultados inesperados El mtodo preferido de inicializar una estructura es usar la instruccin COP. nmero de elementos que se llenan

Destino

SINT INT DINT REAL estructura

tag

Longitud

DINT

valor inmediato

Descripcin: La instruccin FLL llena los elementos de un arreglo con el valor de origen. El origen no se cambia. El nmero de bytes llenados es: Conteo de bytes = longitud (nmero de bytes en el tipo de datos de destino) La instruccin FLL realiza la operacin en la memoria de datos contiguos. Vea la pgina B-4, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin. La instruccin FLL no escribe ms all del fin de un arreglo. Si la longitud es mayor que el nmero total de elementos en el arreglo de destino, la instruccin FLL se detiene al final del arreglo. No se genera un fallo mayor. El origen y el destino deben ser del mismo tipo para obtener los resultados ptimos. Si usted desea llenar una estructura, use la instruccin COP (vea el ejemplo 3 en la pgina 7-31).Si combina los tipos de datos para el origen y destino, los elementos de destino se llenan con los valores de origen convertidos.
Si el origen es: SINT, INT, DINT o REAL SINT, INT, DINT o REAL SINT, INT, DINT o REAL SINT, INT, DINT o REAL SINT INT DINT REAL
1756-6.4.1ES - Octubre de 1999

Y el destino es: SINT INT DINT REAL estructura estructura estructura estructura

El origen se convierte en: SINT INT DINT REAL SINT (no se convierte) INT (no se convierte) DINT (no se convierte) REAL (no se convierte)

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-33

Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa.

end_address = start_address + (longitud nmero de bytes en un elemento de destino)

end_address > fin de un arreglo de destino

end_address = fin de un arreglo de destino

no

source_address = origen

destination_address = end_address

no

copie los datos en source_address a destination _address

destination_address = destination_address + 1

la condicin de salida de rengln est establecida como verdadera

fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

7-34

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Ejemplo de FLL:

Una vez habilitada, la instruccin FLL copia el valor en value_1 a dest_1.

Tipo de datos de Valor de origen origen (value_1): (value_1): SINT DINT SINT REAL SINT 16#80 (128) 16#1234 5678 16#01 2.0 16#01

Tipo de datos de Valor de destino destino (dest_1): (dest_1) despus de FLL: DINT SINT REAL INT TIMER 16#FFFF FF80 (128) 16#78 1.0 16#0002 16#0101 0101 16#0101 0101 16#0101 0101 16#0001 0001 16#0001 0001 16#0001 0001 16#0000 0001 16#0000 0001 16#0000 0001

INT

16#0001

TIMER

DINT

16#0000 0001

TIMER

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: FLL(source,destination,length); FLL(source,destination,length)

Instrucciones relacionadas: FAL, COP, MOV

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-35

File Average (AVE)


Operandos:

La instruccin AVE es una instruccin de salida.

Operando: Arreglo

Tipo: SINT INT DINT REAL

Formato: tag de arreglo

Descripcin: hallar el promedio de los valores en este arreglo especificar el primer elemento del grupo de elementos que se va a promediar no use CONTROL.POS en el subndice qu dimensin usar segn el nmero de dimensiones, el orden es: array[dim_0,dim_1,dim_2] array[dim_0,dim_1] array[dim_0] resultado de la operacin

Dimensin para variar:

DINT

valor inmediato (0, 1, 2)

Destino

SINT INT DINT REAL CONTROL DINT DINT

tag

Control Longitud Posicin

tag valor inmediato valor inmediato

estructura de control para la operacin nmero de elementos en el arreglo que se va a promediar elemento actual en el arreglo el valor inicial es tpicamente 0

Estructura CONTROL:
Mnemnico: Tipo de datos: .EN .DN .ER BOOL BOOL BOOL Descripcin: El bit de habilitacin indica que la instruccin AVE est habilitada. El bit de efectuado se establece cuando la instruccin ha realizado una operacin en el ltimo elemento del arreglo (.POS = .LEN). Se establece el bit de error si la instruccin genera un overflow. La instruccin ya no se ejecuta hasta que el programa restablece el bit .ER. La posicin del elemento que caus el overflow se almacena en el valor .POS. La longitud especifica el nmero de elementos en el arreglo en que la instruccin realiza una operacin. La posicin contiene la posicin del elemento actual al cual la instruccin obtiene acceso.

.LEN .POS

DINT DINT

Descripcin: La instruccin AVE calcula el promedio de un conjunto de valores. Importante: Asegrese de que la longitud no cause que la instruccin exceda la dimensin especificada para variar. Si ocurre esto, el destino ser incorrecto. Vea la pgina B-4, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin.

1756-6.4.1ES - Octubre de 1999

7-36

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Ejecucin:
Condicin: preescn Accin: El bit .EN se restablece. El bit .DN se restablece. El bit .ER se restablece. La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es falsa

examine el bit .DN

bit .DN = 0

bit .DN = 1

el bit .EN se restablece el bit .ER se restablece el bit .DN se restablece. el valor .POS se borra

la condicin de salida de rengln est establecida como falsa

fin

la condicin de entrada de rengln es verdadera

La instruccin AVE calcula el promedio sumando todos los elementos especificados en el arreglo y dividindolos por el nmero de elementos. Internamente, la instruccin usa una instruccin FAL para calcular el promedio. Expresin = clculo de promedio Modo = TODOS Para obtener detalles acerca de cmo se ejecuta la instruccin FAL, vea la pgina 7-8.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados.

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-37

Condiciones de fallo:
Ocurrir un fallo mayor si: .POS < 0 .LEN < 0 La dimensin que se va a variar no existe para el arreglo especificado Tipo de fallo: 4 4 Cdigo de fallo: 21 20

Ejemplo de AVE:
ejemplo 1

array_dint es DINT[4,5]

dimensin 1
su bn dic es

0 20 15 10 5

1 19 14 9 4

2 18 13 8 3

3 17 12 7 2

4 16 11 6 1

0 dimensin 0 1 2 3

19 + 14 + 9 + 4 46 AVE = ------------------------------------ = ----- = 11.5 4 4


dint_ave = 12

ejemplo 2

array_dint es DINT[4,5]

dimensin 1
su dic bn es

0 20 15 10 5

1 19 14 9 4

2 18 13 8 3

3 17 12 7 2

4 16 11 6 1

0 dimensin 0 1 2 3

5+4+3+2+1 15 AVE = --------------------------------------- = ----- = 3 5 5


dint_ave = 3

1756-6.4.1ES - Octubre de 1999

7-38

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: AVE(array,dim_to_vary,destination,control,length,position); AVE array dim_to_vary destination control length position

Instrucciones relacionadas: SRT, STD

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-39

File Sort (SRT)


Operandos:

La instruccin SRT es una instruccin de salida.

Operando: Arreglo

Tipo: SINT INT DINT REAL

Formato: tag de arreglo

Descripcin: arreglo que se clasifica especificar el primer elemento del grupo de elementos que se clasifica no use CONTROL.POS en el subndice qu dimensin usar segn el nmero de dimensiones, el orden es: array[dim_0,dim_1,dim_2] array[dim_0,dim_1] array[dim_0] estructura de control para la operacin nmero de elementos en el arreglo que se clasifica elemento actual en el arreglo el valor inicial es tpicamente 0

Dimensin para variar:

DINT

valor inmediato (0, 1, 2)

Control Longitud Posicin

CONTROL DINT DINT

tag valor inmediato valor inmediato

Estructura CONTROL:
Mnemnico: Tipo de datos: .EN .DN .ER .LEN .POS BOOL BOOL BOOL DINT DINT Descripcin: El bit de habilitacin indica que la instruccin SRT est habilitada. Se establece el bit de efectuado cuando los elementos especificados se han clasificado. Se establece el bit de error cuando .LEN < 0 .POS < 0. Cualquiera de estas condiciones tambin genera un fallo mayor. La longitud especifica el nmero de elementos en el arreglo en que la instruccin realiza una operacin. La posicin contiene la posicin del elemento actual al cual la instruccin obtiene acceso.

Descripcin: La instruccin SRT clasifica un conjunto de valores en una dimensin (dimensin para variar) del arreglo en orden ascendente. Importante: Asegrese de que la longitud no cause que la instruccin exceda la dimensin especificada para variar. Si ocurre esto, ocurrirn resultados inesperados. Vea la pgina, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin B-4.

1756-6.4.1ES - Octubre de 1999

7-40

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Ejecucin:
Condicin: preescn Accin: El bit .EN se restablece. El bit .DN se restablece. El bit .ER se restablece. La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es falsa

examine el bit .DN

bit .DN = 0

bit .DN = 1

el bit .EN se restablece el bit .ER se restablece el bit .DN se restablece el valor .POS se borra

la condicin de salida de rengln est establecida como falsa

fin

la condicin de entrada de rengln es verdadera

La instruccin SRT clasifica los elementos especificados del arreglo en orden ascendente.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo:
Ocurrir un fallo mayor si: .POS < 0 .LEN < 0 La dimensin que se va a variar no existe para el arreglo especificado La instruccin intenta obtener acceso a los datos fuera de los lmites del arreglo. Tipo de fallo: 4 4 Cdigo de fallo: 21 20

20

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-41

Ejemplo de SRT:
ejemplo 1

int _array es DINT[4,5]

Antes
dimensin 1
bn su dic es

Despus
dimensin 1
b n su

0 20 15 10 5

1 19 14 9 4

2 18 13 8 3

3 17 12 7 2

4 16 11 6 1 dimensin 0

0 20 15 10 5

1 19 14 9 4 3 8

3 17 12 7 2

4 16 11 6 1

e dic

0 dimensin 0 1 2 3

0 1 2 3

13 18

ejemplo 2
int _array es DINT[4,5]

Antes
dimensin 1
su bn dic es

Despus
dimensin 1
su bn dic

0 20 15 10 5

1 19 14 9 4

2 18 13 8 3

3 17 12 7 2

4 16 11 6 1 dimensin 0

0 20 15 6 5

1 19 14 7 4

2 18 13 8 3

3 17 12 9 2

4 16 11 10 1

es

0 dimensin 0 1 2 3

0 1 2 3

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: SRT(array,dim_to_vary,control,length,position); SRT array dim_to_vary control length position

Instrucciones relacionadas: AVE, STD

1756-6.4.1ES - Octubre de 1999

7-42

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

File Standard Deviation (STD)


Operandos:

La instruccin STD es una instruccin de salida.

Operando: Arreglo

Tipo: SINT INT DINT REAL

Formato: tag de arreglo

Descripcin: hallar la desviacin estndar de los valores en este arreglo especificar el primer elemento del grupo de elementos que se usan para calcular la desviacin estndar no use CONTROL.POS en el subndice

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Dimensin para variar: DINT valor inmediato (0, 1, 2) qu dimensin usar segn el nmero de dimensiones, el orden es: array[dim_0,dim_1,dim_2] array[dim_0,dim_1] array[dim_0] resultado de la operacin estructura de control para la operacin el nmero de elementos del arreglo que se usan para calcular el desviacin estndar elemento actual en el arreglo el valor inicial es tpicamente 0

Destino Control Longitud

REAL CONTROL DINT

tag tag valor inmediato valor inmediato

Posicin

DINT

Estructura CONTROL:
Mnemnico: Tipo de datos: .EN .DN .ER BOOL BOOL BOOL Descripcin: El bit de habilitacin indica que la instruccin STD est habilitada. Se establece el bit de efectuado cuando se completa el clculo. Se establece el bit de error cuando la instruccin genera un overflow. La instruccin ya no se ejecuta hasta que el programa restablece el bit .ER. La posicin del elemento que caus el overflow se almacena en el valor .POS. La longitud especifica el nmero de elementos en el arreglo en que la instruccin realiza una operacin. La posicin contiene la posicin del elemento actual al cual la instruccin obtiene acceso.

.LEN .POS

DINT DINT

Descripcin: La instruccin STD calcula la desviacin estndar de un conjunto de valores en una dimensin del arreglo y almacena el resultado en el destino. Importante: Asegrese de que la longitud no cause que la instruccin exceda la dimensin especificada para variar. Si ocurre esto, el destino ser incorrecto. Vea la pgina B-4, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin.
1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-43

La desviacin estndar se calcula segn la frmula siguiente:

Desviacin estndar =

N 2 [ X( start + i ) AVE ] i = 1 ------------------------------------------------------------------(N 1)

donde: inicio = subndice de la dimensin para variar del operando del arreglo xi = elemento variable en el arreglo N = nmero de elementos especificados en el arreglo AVE =

x ( start + i ) i = 1 ---------------------------------------N

1756-6.4.1ES - Octubre de 1999

7-44

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Ejecucin:
Condicin: preescn Accin: El bit .EN se restablece. El bit .DN se restablece. El bit .ER se restablece. La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es falsa

examine el bit .DN

bit .DN = 0

bit .DN = 1

el bit .EN se restablece el bit .ER se restablece el bit .DN se restablece el valor .POS se borra

la condicin de salida de rengln est establecida como falsa

fin

la condicin de entrada de rengln es verdadera

La instruccin STD calcula la desviacin estndar de los elementos especificados. Internamente, la instruccin usa una instruccin FAL para calcular el promedio. Expresin = clculo de la desviacin estndar Modo = TODOS Para obtener detalles acerca de cmo se ejecuta la instruccin FAL, vea la pgina 7-8.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo:
Ocurrir un fallo mayor si: .POS < 0 .LEN < 0 La dimensin que se va a variar no existe para el arreglo especificado Tipo de fallo: 4 4 Cdigo de fallo: 21 20

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

7-45

Ejemplo de STD:
ejemplo 1

dint_array es DINT[4,5]
dimensin 1
b su nd ice

0 20 15 10 5

1 19 14 9 4

2 18 13 8 3

3 17 12 7 2

4 16 11 6 1

0 dimensin 0 1 2

16 + 11 + 6 + 1 34 AVE = ------------------------------------ = ----- = 8.5 4 4


2 2 2

STD =

16 8.5 + 11 8.5 + 6 8.5 + 1 8.5 -------------------------------------------------------------------------------------------------------------------------- = 6.454972 4 1

real_std = 6.454972

ejemplo 2

dint_array es DINT[4,5]
dimensin 1
su d bn ice

0 20 15 10 5

1 19 14 9 4

2 18 13 8 3

3 17 12 7 2

4 16 11 6 1

0 dimensin 0 1 2

20 + 19 + 18 + 17 + 16 90 AVE = ------------------------------------------------------ = ----- = 18 5 5


2 2 2

STD =

20 18 + 19 18 + 18 18 + 17 18 + 16 18 ----------------------------------------------------------------------------------------------------------------------------------------------------------- = 1.581139 5 1

real_std = 1.581139 Otros formatos:


Formato: texto neutro texto ASCII Sintaxis: STD(array,dim_to_vary,destination,control,length,position); STD array dim_to_vary destination control length position

Instrucciones relacionadas: AVE, SRT

1756-6.4.1ES - Octubre de 1999

7-46

Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)

Notas:

1756-6.4.1ES - Octubre de 1999

Captulo

Instrucciones de arreglo (archivo)/ desplazamiento


(BSL, BSR, FFL, FFU, LFL, LFU)

Introduccin

Use las instrucciones de arreglo (archivo)/desplazamiento para modificar la ubicacin de datos dentro de los arreglos.
Si usted desea: Cargar bits en, desplazar bits a travs de y descarga bits desde un arreglo de bit, bit tras bit. Cargar y descargar valores en el mismo orden. Cargar y descargar valores en el orden invertido. Use esta instruccin: BSL BSR FFL FFU LFL LFU Vea la pgina: 8-2 8-5 8-8 8-14 8-20 8-26

Usted puede combinar los tipos de datos, pero esto puede resultar en la prdida de precisin y errores de redondeo. Los tipos de datos con letras negritas indican los tipos de datos ptimos. Una instruccin se ejecuta ms rpidamente y requiere menos memoria si todos los operandos de la instruccin usan el mismo tipo de datos ptimo, tpicamente DIN o REAL.

1756-6.4.1ES - Octubre de 1999

8-2

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

Bit Shift Left (BSL)


Operandos:

La instruccin BSL es una instruccin de salida.

Operando: Arreglo

Tipo: DINT

Formato: tag de arreglo

Descripcin: arreglo que se modifica especificar el primer elemento del grupo de elementos no use CONTROL.POS en el subndice estructura de control para la operacin bit que se desplaza nmero de bits en el arreglo que se desplazan

Control

CONTROL

tag tag valor inmediato

Bit de origen BOOL Longitud DINT

Estructura CONTROL:
Mnemnico: Tipo de datos: .EN .DN .UL .ER .LEN BOOL BOOL BOOL BOOL DINT Descripcin: El bit de habilitacin indica que la instruccin BSL est habilitada. Se establece el bit de efectuado para indicar que los bits se han desplazado una posicin a la izquierda. El bit de descarga es la salida de la instruccin. El bit .UL almacena el estado del bit que se desplaz fuera del rango de los bits. Se establece el bit de error cuando .LEN < 0. La longitud especifica el nmero de bits de arreglo que se desplazan.

Descripcin: La instruccin BSL desplaza los bits especificados dentro del arreglo una posicin a la izquierda. Una vez habilitada, la instruccin descarga el bit superior de los bits especificados al bit .UL, desplaza el resto de los bits una posicin a la izquierda y carga el bit de origen en el bit 0 del arreglo. La instruccin BSL realiza la operacin en la memoria de datos contiguos. Vea la pgina B-4, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin. Ejecucin:
Condicin: preescn Accin: El bit .EN se restablece. El bit .DN se restablece. El bit .ER se restablece. El valor .POS se restablece. La condicin de salida de rengln se establece como falsa. El bit .EN se restablece. El bit .DN se restablece. El bit .ER se restablece. El valor .POS se restablece. La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es falsa

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

8-3

Condicin:

Accin:

la condicin de entrada de rengln es verdadera

examine el bit .EN

bit .EN = 1

bit .EN = 0 el bit .EN est establecido

.LEN < 0

el bit .DN se establece

no examine el bit de origen el bit .ER est establecido .bit de origen = 0 no desplazar el arreglo una posicin a la izquierda bit .UL arreglo bit de origen el bit .UL est establecido .bit de origen = 1

.LEN < 0

el bit .UL permanece establecido

el bit .DN se establece .POS = .LEN

la condicin de salida de rengln est establecida como verdadera

fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

8-4

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

Ejemplo de BSL:
ejemplo 1

9 876 54 32 1 0 array_dint[0] 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 antes del desplazamiento 1 0 bit .UL 9 8 76 54 32 1 0 estos bits se

input_1

array_dint[0] despus del desplazamiento

011 11 00 0 0 1

Una vez habilitada, la instruccin BSL comienza a partir del bit 0 en array_dint[0]. La instruccin descarga array_dint[0].9 en el bit .UL, desplaza el resto de los bits y carga input_1 en array_dint[0].0. Los valores en el resto de los bits (10-31) no son vlidos.

ejemplo 2

array_dint[0]

31 0 1 111 00 00 1 1 1 1 0 0 0 01 1 1 1 00 0 0 1 1 1 1 0 0 0 0 1 estos bits se

input_1
0

31 array_dint[1] 001 11 10 0 0 0 1 1 1 1 00 0 0 1 11 1 0 0 0 0

0 bit .UL

estos bits se desplazan a la izquierda

Una vez habilitada, la instruccin BSL comienza a partir del bit 0 en array_dint[0]. La instruccin descarga array_dint[1].25 en el bit .UL, desplaza el resto de los bits y carga input_1 en array_dint[0].0. Los valores en el resto de los bits (31-26 en array_dint[1]) no son vlidos. Observe cmo array_dint[0].31 se desplaza a travs de las palabras a array_dint[1].0.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: BSL(array,control,source_bit,length); BSL array control source_bit length

Instrucciones relacionadas: BSR

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

8-5

Bit Shift Right (BSR)


Operandos:

La instruccin BSR es una instruccin de salida.

Operando: Arreglo

Tipo: DINT

Formato: tag de arreglo

Descripcin: arreglo que se modifica especificar el elemento a partir del cual se inicia el desplazamiento no use CONTROL.POS en el subndice estructura de control para la operacin bit que se desplaza nmero de bits en el arreglo que se desplazan

Control

CONTROL

tag tag valor inmediato

Bit de origen BOOL Longitud DINT

Estructura CONTROL:
Mnemnico: Tipo de datos: .EN .DN .UL .ER .LEN BOOL BOOL BOOL BOOL DINT Descripcin: El bit de habilitacin indica que la instruccin BSR est habilitada. Se establece el bit de efectuado para indicar que los bits se han desplazado una posicin a la derecha. El bit de descarga es la salida de la instruccin. El bit .UL almacena el estado del bit que se desplaz fuera del rango de los bits. Se establece el bit de error cuando .LEN < 0. La longitud especifica el nmero de bits de arreglo que se desplazan.

Descripcin: La instruccin BSR desplaza los bits especificados dentro del arreglo una posicin a la derecha. Una vez habilitada, la instruccin descarga el valor en el bit 0 del arreglo al bit .UL, desplaza el resto de los bits una posicin a la derecha y carga el bit de origen en el bit superior de los bits especificados. La instruccin BSR realiza la operacin en la memoria de datos contiguos. Vea la pgina B-4, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin. Ejecucin:
Condicin: preescn Accin: El bit .EN se restablece. El bit .DN se restablece. El bit .ER se restablece. El valor .POS se restablece. La condicin de salida de rengln se establece como falsa. El bit .EN se restablece. El bit .DN se restablece. El bit .ER se restablece. El valor .POS se restablece. La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es falsa

1756-6.4.1ES - Octubre de 1999

8-6

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

Condicin:

Accin:

la condicin de entrada de rengln es verdadera

examine el bit .EN

bit .EN = 1

bit .EN = 0 el bit .EN est establecido

.LEN < 0

el bit .DN se establece

no examine el bit de origen el bit .ER est establecido .bit de origen = 0 no desplazar el arreglo una posicin a la izquierda bit de origen arreglo bit .UL el bit .UL est establecido .bit de origen

.LEN < 0

el bit .UL permanece establecido

el bit .DN se establece .POS = .LEN

la condicin de salida de rengln est establecida como verdadera

fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

8-7

Ejemplo de BSR:
ejemplo 1

9 876 54 32 1 0 array_dint[0] 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 antes del desplazamiento 0 1 estos bits se desplazan a la derecha 9 876 54 32 1 0 bit .UL

input_1 array_dint[0] despus del desplazamiento

100 11 11 0 0 0

Una vez habilitada, la instruccin BSR comienza a partir del bit 9 en array_dint[0]. La instruccin descarga array_dint[0].0 en el bit .UL, desplaza el resto de los bits a la derecha y carga input_1 en array_dint[0].9. Los valores en el resto de los bits (10 31) no son vlidos.

ejemplo 2

array_dint[0]

31 0 1 111 00 00 1 1 1 1 0 0 0 01 1 1 1 00 0 0 1 1 1 1 0 0 0 0 estos bits se desplazan a la derecha 0 bit .UL 31 0 001 11 10 0 0 0 1 1 1 1 00 0 0 1 11 1 0 0 0 0

array_dint[1]

estos bits se desplazan a la derecha

input_1 Una vez habilitada, la instruccin BSR comienza a partir del bit 25 en array_dint[1]. La instruccin descarga array_dint[0].0 en el bit .UL, desplaza el resto de los bits a la derecha y carga input_1 en array_dint[1].25. Los valores en el resto de los bits (31 26 en dint_array[1]) no son vlidos Observe cmo array_dint[1].0 se desplaza a travs de las palabras a array_dint[0].31.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: BSR(array,control,source_bit,length); BSR array control source_bit length

Instrucciones relacionadas: BSL

1756-6.4.1ES - Octubre de 1999

8-8

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

FIFO Load (FFL)


Operandos:

La instruccin FFL es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL estructura

Formato: valor inmediato tag

Descripcin: datos que se almacenan en FIFO

El origen se convierte al tipo de datos del tag de arreglo. Un nmero entero menor se convierte en un nmero entero mayor segn la extensin con signo. Consulte Conversiones de datos en la pgina A-6. FIFO SINT INT DINT REAL estructura CONTROL tag de arreglo FIFO que se modifica especificar el primer elemento FIFO no use CONTROL.POS en el subndice estructura de control para la operacin generalmente se usa el mismo CONTROL que el FFU asociado nmero mximo de elementos que FIFO puede contener a la vez La prxima ubicacin en FIFO donde la instruccin carga datos el valor inicial es tpicamente 0

Control

tag

Longitud

DINT

valor inmediato valor inmediato

Posicin

DINT

Si usted usa una estructura definida por el usuario como el tipo de datos para el operando de origen o FIFO, use la misma estructura para los dos operandos. Estructura CONTROL:
Mnemnico: Tipo de datos: .EN .DN .EM .LEN .POS BOOL BOOL BOOL DINT DINT Descripcin: El bit de habilitacin indica que la instruccin FFL est habilitada. Se establece el bit de efectuado para indicar que FIFO est lleno (.POS = .LEN). El bit .DN inhibe la carga de FIFO hasta que .POS < .LEN. El bit de vaco indica que FIFO est vaco. Si .LEN 0 .POS < 0, se establecen los bits .EM y .DN. La longitud especifica el nmero mximo de elementos que FIFO puede contener a la vez. La posicin identifica la ubicacin en FIFO donde la instruccin cargar el prximo valor.

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

8-9

Descripcin: La instruccin FFL copia el valor de origen a FIFO. Use la instruccin FFL con una instruccin FFU para almacenar y recuperar datos segn un orden de primero en entrar/primero en salir. Cuando se usan en parejas, las instrucciones FFL y FFU establecen un registro de desplazamiento asncrono. Tpicamente el origen y el FIFO son del mismo tipo de datos. Una vez habilitada, la instruccin FFL carga el valor de origen a la posicin en el FIFO identificado por el valor .POS. La instruccin carga un valor cada vez que la instruccin se habilita hasta que el FIFO est lleno. La instruccin FFL realiza la operacin en la memoria de datos contiguos. Vea la pgina B-4, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin.

1756-6.4.1ES - Octubre de 1999

8-10

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

Ejecucin:
Condicin: preescn Accin:

Se establece el bit .EN para evitar una carga falsa cuando se inicia el escn

.LEN < 0

no

.POS < 0

no

el bit .EM se restablece el bit .DN se restablece

el bit .EM est establecido el bit .DN est establecido

.POS = 0

el bit .EM est establecido

no

.POS .LEN

el bit .DN est establecido

no

la condicin de salida de rengln est establecida como falsa

fin

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

8-11

Condicin: la condicin de entrada de rengln es falsa

Accin:

el bit .EN se restablece

.LEN < 0

no

.POS < 0

no

el bit .EM se restablece el bit .DN se restablece

el bit .EM est establecido el bit .DN est establecido

.POS = 0

el bit .EM est establecido

no

.POS .LEN

el bit .DN est establecido

no

la condicin de salida de rengln est establecida como falsa

fin

1756-6.4.1ES - Octubre de 1999

8-12

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

Condicin:

Accin:

la condicin de entrada de rengln es verdadera

examine el bit .EN

.EN = 0

el bit .EN est establecido

.LEN < 0

.EN = 1

no

.LEN < 0

.POS < 0

no

no el bit .EM se restablece el bit .DN se restablece .POS = .POS + 1 el bit .EM est establecido el bit .DN est establecido el bit .EM est establecido

.POS < 0

no el bit .EM se restablece el bit .DN se restablece

.POS .LEN no

el bit .DN se establece

.POS = 0

el bit .EM est establecido .POS o .LEN > tamao del arreglo no s fallo mayor

no

.POS .LEN no

el bit .DN se establece .POS > .LEN s .POS = .POS + 1

no

FIFO[.POS 1] = origen

la condicin de salida de rengln est establecida como verdadera

fin

Indicadores de estado aritmtico: no afectados

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

8-13

Condiciones de fallo:
Ocurrir un fallo mayor si: (elemento inicial + .POS) > tamao del arreglo FIFO Tipo de fallo: 4 Cdigo de fallo: 20

Ejemplo de FFL:

antes de la carga FIFO

despus de la carga FIFO


00000 11111 22222 33333 44444 55555 00000 00000 00000 00000

array_dint[0]

00000 11111 22222 33333 44444

control_1.pos = 5 value_1 = 55555

array_dint[5]

00000 00000 00000 00000 00000

control_1.pos = 6

Una vez habilitada, la instruccin FFL carga value_1 en la prxima posicin en el FIFO, la cual es array_dint[5] en este ejemplo.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: FFL(source,FIFO,control,length,position); FFL source FIFO control length position

Instrucciones relacionadas: FFU, LFL, LFU

1756-6.4.1ES - Octubre de 1999

8-14

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

FIFO Unload (FFU)


Operandos:

La instruccin FFU es una instruccin de salida.

Operando: FIFO

Tipo: SINT INT DINT REAL estructura SINT INT DINT REAL estructura

Formato: tag de arreglo

Descripcin: FIFO que se modifica especificar el primer elemento FIFO no use CONTROL.POS en el subndice valor que sale del FIFO

Destino

tag

El valor de destino se convierte al tipo de datos del tag de destino. Un nmero entero menor se convierte en un nmero entero mayor segn la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Control CONTROL tag estructura de control para la operacin generalmente se usa el mismo CONTROL que el FFL asociado nmero mximo de elementos que FIFO puede contener a la vez La prxima ubicacin en FIFO donde la instruccin descarga datos el valor inicial es tpicamente 0

Longitud

DINT

valor inmediato valor inmediato

Posicin

DINT

Si usted usa una estructura definida por el usuario como el tipo de datos para el operando FIFO o de destino, use la misma estructura para los dos operandos. Estructura CONTROL:
Mnemnico: Tipo de datos: .EU BOOL Descripcin: El bit de descarga habilitacin indica que la instruccin FFU est habilitada. El bit .EU se establece para impedir una descarga falsa cuando se inicia el escn del programa. Se establece el bit de efectuado para indicar que FIFO est lleno (.POS = .LEN). El bit de vaco indica que FIFO est vaco. Si .LEN 0 .POS < 0, se establecen los bits .EM y .DN. La longitud especifica el nmero mximo de elementos en FIFO. La posicin identifica el fin de los datos que se han cargado en FIFO.

.DN .EM .LEN .POS

BOOL BOOL DINT DINT

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

8-15

Descripcin: La instruccin FFU descarga el valor desde la posicin 0 (primera posicin) de FIFO y almacena dicho valor en el destino. El resto de los datos en l FIFO se desplaza hacia abajo una posicin. Use la instruccin FFU con una instruccin FFL para almacenar y recuperar datos segn un orden de primero en entrar/primero en salir. Si FIFO es del tipo de datos DINT, el destino debe ser un tipo de datos DINT; si FIFO es del tipo de datos REAL, el destino debe ser un tipo de datos REAL. Una vez habilitada, la instruccin FFU descarga los datos desde el primer elemento de FIFO y coloca dicho valor en el destino. La instruccin descarga un valor cada vez que la instruccin se habilita hasta que FIFO est vaco. Si FIFO est vaco, FFU retorna la cifra 0 al destino. La instruccin FFU realiza la operacin en la memoria de datos contiguos. Vea la pgina B-4, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin.

1756-6.4.1ES - Octubre de 1999

8-16

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

Ejecucin:
Condicin: preescn Accin:

Se establece el bit .EU para evitar una descarga falsa cuando se inicia el escn

.LEN < 0

no

.POS < 0

no

el bit .EM se restablece el bit .DN se restablece

el bit .EM est establecido el bit .DN est establecido

.POS = 0

el bit .EM est establecido

no

.POS .LEN

el bit .DN est establecido

no

la condicin de salida de rengln est establecida como falsa

fin

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

8-17

Condicin: la condicin de entrada de rengln es falsa

Accin:

El bit .EU se restablece

.LEN < 0

no

.POS < 0

no

el bit .EM se restablece el bit .DN se restablece

el bit .EM est establecido el bit .DN est establecido

.POS = 0

el bit .EM est establecido

no

.POS .LEN

el bit .DN est establecido

no

la condicin de salida de rengln est establecida como falsa

fin

1756-6.4.1ES - Octubre de 1999

8-18

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

Condicin:

Accin:

la condicin de entrada de rengln es verdadera

examine el bit .EU

.EU = 0

el bit .EU est establecido

.LEN < 0

.EU = 1

no

.LEN < 0

.POS < 0

no

no el bit .EM se restablece el bit .EM est establecido el bit .DN est establecido

.POS < 0

no el bit .EM se restablece el bit .DN se restablece el bit .EM est establecido .LEN > tamao del arreglo no s s fallo mayor

.POS = 0

el bit .EM est establecido

.POS 1 no

el bit .EM est establecido

no

.POS .LEN no

.POS < 1 el bit .DN se establece no .POS = .POS + 1 Destino = FIFO[0] i=1

Destino = 0

FIFO[i 1] = FIFO[i] i = i +1

i < .LEN
no la condicin de salida de rengln est establecida como verdadera

fin

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

8-19

Indicadores de estado aritmtico: no afectados Condiciones de fallo:


Ocurrir un fallo mayor si: Longitud > tamao del arreglo FIFO Tipo de fallo: 4 Cdigo de fallo: 20

Ejemplo de FFU:

antes de la descarga FIFO

despus de la descarga FIFO


11111 22222 33333 44444 55555 00000

array_dint[0]

00000 11111 22222 33333 44444

array_dint[5]

55555 00000 00000 00000 00000

control_1.pos = 6

00000 00000 00000 00000

control_1.pos = 5 value_2 = 00000

Una vez habilitada, la instruccin FFU descarga array_dint[0] en value_2 y desplaza el resto de los elementos en array_dint.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: FFU(FIFO,destination,control,length,position); FFU FIFO destination control length position

Instrucciones relacionadas: FFL, LFL, LFU

1756-6.4.1ES - Octubre de 1999

8-20

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

LIFO Load (LFL)


Operandos:

La instruccin LFL es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL estructura

Formato: valor inmediato tag

Descripcin: datos que se almacenan en LIFO

El origen se convierte al tipo de datos del tag de arreglo. Un nmero entero menor se convierte en un nmero entero mayor segn la extensin con signo. Consulte Conversiones de datos en la pgina A-6. LIFO SINT INT DINT REAL estructura CONTROL tag de arreglo LIFO que se modifica especificar el primer elemento de LIFO no use CONTROL.POS en el subndice estructura de control para la operacin generalmente se usa el mismo CONTROL que el LFU asociado nmero mximo de elementos que LIFO puede contener a la vez La prxima ubicacin en LIFO donde la instruccin carga datos el valor inicial es tpicamente 0

Control

tag

Longitud

DINT

valor inmediato valor inmediato

Posicin

DINT

Si usted usa una estructura definida por el usuario como el tipo de datos para el operando de origen o LIFO, use la misma estructura para los dos operandos. Estructura de control:
Mnemnico: Tipo de datos: .EN .DN .EM .LEN .POS BOOL BOOL BOOL DINT DINT Descripcin: El bit de habilitacin indica que la instruccin LFL est habilitada. Se establece el bit de efectuado para indicar que LIFO est lleno (.POS = .LEN). El bit .DN inhibe la carga de LIFO hasta que .POS < .LEN. El bit de vaco indica que LIFO est vaco. Si .LEN 0 .POS < 0, se establecen los bits .EM y .DN. La longitud especifica el nmero mximo de elementos que LIFO puede contener a la vez. La posicin identifica la ubicacin en LIFO donde la instruccin cargar el prximo valor.

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

8-21

Descripcin: La instruccin LFL copia el valor de origen a LIFO. Use la instruccin LFL con una instruccin LFU para almacenar y recuperar datos segn un orden de ltimo en entrar/primero en salir. Cuando se usan en parejas, las instrucciones LFL y LFU establecen un registro de desplazamiento asncrono. Tpicamente el origen y LIFO son del mismo tipo de datos. Una vez habilitada, la instruccin LFL carga el valor de origen a la posicin en LIFO identificada por el valor .POS. La instruccin carga un valor cada vez que la instruccin se habilita hasta que LIFO est lleno. La instruccin LFL realiza la operacin en la memoria de datos contiguos. Vea la pgina B-4, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin.

1756-6.4.1ES - Octubre de 1999

8-22

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

Ejecucin:
Condicin: preescn Accin:

Se establece el bit .EN para evitar una carga falsa cuando se inicia el escn

.LEN < 0

no

.POS < 0

no

el bit .EM se restablece el bit .DN se restablece

el bit .EM est establecido el bit .DN est establecido

.POS = 0

el bit .EM est establecido

no

.POS .LEN

el bit .DN est establecido

no

la condicin de salida de rengln est establecida como falsa

fin

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

8-23

Condicin: la condicin de entrada de rengln es falsa

Accin:

el bit .EN se restablece

.LEN < 0

no

.POS < 0

no

el bit .EM se restablece el bit .DN se restablece

el bit .EM est establecido el bit .DN est establecido

.POS = 0

el bit .EM est establecido

no

.POS .LEN

el bit .DN est establecido

no

la condicin de salida de rengln est establecida como falsa

fin

1756-6.4.1ES - Octubre de 1999

8-24

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

Condicin:

Accin:

la condicin de entrada de rengln es verdadera

examine el bit .EN

.EN = 0

el bit .EN est establecido

.LEN < 0

.EN = 1

no

.LEN < 0

.POS < 0

no

no el bit .EM se restablece el bit .DN se restablece. .POS = .POS + 1 el bit .EM est establecido el bit .DN est establecido el bit .EM est establecido el bit .DN est establecido

.POS < 0

no el bit .EM se restablece el bit .DN se restablece

.POS .LEN no

el bit .DN se establece

.POS = 0

el bit .EM est establecido .POS o .LEN > tamao del arreglo no s fallo mayor

no

.POS .LEN no

el bit .DN se establece .POS > .LEN s .POS = .POS + 1

no

LIFO[.POS 1] = origen

la condicin de salida de rengln est establecida como verdadera

fin

Indicadores de estado aritmtico: no afectados

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

8-25

Condiciones de fallo:
Ocurrir un fallo mayor si: (elemento inicial + .POS) > tamao del arreglo LIFO Tipo de fallo: 4 Cdigo de fallo: 20

Ejemplo de LFL:

antes de la carga LIFO

despus de la carga LIFO


00000 11111 22222 33333 44444 55555 00000 00000 00000 00000

array_dint[0]

00000 11111 22222 33333 44444

control_1.pos = 5 value_1 = 55555

array_dint[5]

00000 00000 00000 00000 00000

control_1.pos = 6

Una vez habilitada, la instruccin LFL carga value_1 a la prxima posicin en LIFO, la cual es array_dint[5] en este ejemplo.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: LFL(source,LIFO,control,length,position); LFL source LIFO control length position

Instrucciones relacionadas: LFU, FFL, FFU

1756-6.4.1ES - Octubre de 1999

8-26

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

LIFO Unload (LFU)


Operandos:

La instruccin LFU es una instruccin de salida.

Operando: LIFO

Tipo: SINT INT DINT REAL estructura SINT INT DINT REAL estructura

Formato: tag de arreglo

Descripcin: LIFO que se modifica especificar el primer elemento LIFO no use CONTROL.POS en el subndice valor que sale del LIFO

Destino

tag

El valor de destino se convierte al tipo de datos del tag de destino. Un nmero entero menor se convierte en un nmero entero mayor segn la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Control CONTROL tag estructura de control para la operacin generalmente se usa el mismo CONTROL que el LFL asociado nmero mximo de elementos que LIFO puede contener a la vez La prxima ubicacin en LIFO donde la instruccin descarga datos el valor inicial es tpicamente 0

Longitud

DINT

valor inmediato valor inmediato

Posicin

DINT

Si usted usa una estructura definida por el usuario como el tipo de datos para el operando LIFO o de destino, use la misma estructura para los dos operandos. Estructura CONTROL:
Mnemnico: Tipo de datos: .EU BOOL Descripcin: El bit de habilitacin de descarga indica que la instruccin LFU est habilitada. El bit .EU se establece para impedir una descarga falsa cuando se inicia el escn del programa. Se establece el bit de efectuado para indicar que LIFO est lleno (.POS = .LEN). El bit de vaco indica que LIFO est vaco. Si .LEN 0 .POS < 0, se establecen los bits .EM y .DN. La longitud especifica el nmero mximo de elementos que LIFO puede contener a la vez. La posicin identifica el fin de los datos que se han cargado en el LIFO.

.DN .EM .LEN .POS

BOOL BOOL DINT DINT

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

8-27

Descripcin: La instruccin LFU descarga el valor en .POS de LIFO y almacena 0 en ese lugar. Use la instruccin LFU con una instruccin LFL para almacenar y recuperar datos segn un orden de ltimo en entrar/primero en salir. Si LIFO es del tipo de datos DINT, el destino debe ser un tipo de datos DINT; si LIFO es del tipo de datos REAL, el destino debe ser un tipo de datos REAL. Una vez habilitada, la instruccin LFU descarga el valor de .POS de LIFO y coloca dicho valor en el destino. La instruccin descarga un valor y lo reemplaza con 0 cada vez que se habilita la instruccin hasta que LIFO est vaco. Si LIFO est vaco, la instruccin LFU retorna la cifra 0 al destino. La instruccin LFU realiza la operacin en la memoria de datos contiguos. Vea la pgina B-4, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin.

1756-6.4.1ES - Octubre de 1999

8-28

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

Ejecucin:
Condicin: preescn Accin:

Se establece el bit .EU para evitar una descarga falsa cuando se inicia el escn

.LEN < 0

no

.POS < 0

no

el bit .EM se restablece el bit .DN se restablece

el bit .EM est establecido el bit .DN est establecido

.POS = 0

el bit .EM est establecido

no

.POS .LEN

el bit .DN est establecido

no

la condicin de salida de rengln est establecida como falsa

fin

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

8-29

Condicin: la condicin de entrada de rengln es falsa

Accin:

El bit .EU se restablece

.LEN < 0

no

.POS < 0

no

el bit .EM se restablece el bit .DN se restablece

el bit .EM est establecido el bit .DN est establecido

.POS = 0

el bit .EM est establecido

no

.POS .LEN

el bit .DN est establecido

no

la condicin de salida de rengln est establecida como falsa

fin

1756-6.4.1ES - Octubre de 1999

8-30

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

Condicin:

Accin:

la condicin de entrada de rengln es verdadera

examine el bit .EU

.EU = 0

el bit .EU est establecido

.LEN < 0

.EU = 1

no

.LEN < 0

.POS < 0

no

no el bit .EM se restablece el bit .DN se restablece el bit .EM est establecido el bit .DN est establecido el bit .EM est establecido el bit .DN est establecido

.POS < 0

no el bit .EM se restablece el bit .DN se restablece .POS 1 no s el bit .EM est

.POS = 0

el bit .EM est establecido

.POS < 1

Destino = 0

no

no

.POS .LEN no

.POS > .LEN el bit .DN se establece

.POS = .LEN

no .POS = .POS + 1

.LEN > tamao del arreglo no

fallo mayor

Destino = LIFO[control.POS] LIFO[control.POS) = 0

la condicin de salida de rengln est establecida como verdadera

fin

1756-6.4.1ES - Octubre de 1999

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

8-31

Indicadores de estado aritmtico: no afectados Condiciones de fallo:


Ocurrir un fallo mayor si: Longitud > tamao del arreglo LIFO Tipo de fallo: 4 Cdigo de fallo: 20

Ejemplo de LFU:

antes de la wdescarga LIFO

despus de la descarga LIFO


00000 11111 22222 33333 44444 00000

array_dint[0]

00000 11111 22222 33333 44444

array_dint[5]

55555 00000 00000 00000 00000

control_1.pos = 6

00000 00000 00000 00000

control_1.pos = 5 value_2 = 55555

Una vez habilitada, la instruccin LFU descarga array_dint[5] en value_2.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: LFU(LIFO,destination,control,length,position); LFU LIFO destination control length position

Instrucciones relacionadas: LFU, FFL, FFU

1756-6.4.1ES - Octubre de 1999

8-32

Instrucciones de arreglo (archivo)/desplazamiento (BSL, BSR, FFL, FFU, LFL, LFU)

Notas:

1756-6.4.1ES - Octubre de 1999

Captulo

Instrucciones de secuenciador
(SQI, SQO, SQL)

Introduccin

Las instrucciones de secuenciador monitorean las operaciones uniformes y repetibles.


Si usted desea: Detectar cundo un paso se ha completado. Establecer las condiciones de salida para el prximo paso. Cargar condiciones de referencia en los arreglos del secuenciador. Use esta instruccin: SQI SQO SQL Vea la pgina: 9-2 9-6 9-11

Los tipos de datos con letras negritas indican los tipos de datos ptimos. Una instruccin se ejecuta ms rpidamente y requiere menos memoria si todos los operandos de la instruccin usan el mismo tipo de datos ptimo, tpicamente DIN o REAL.

1756-6.4.1ES - Octubre de 1999

9-2

Instrucciones de secuenciador (SQI, SQO, SQL)

Sequencer Input (SQI)


Operandos:

La instruccin SQI es una instruccin de entrada.

Operando: Arreglo

Tipo: DINT

Formato: tag de arreglo

Descripcin: arreglo de secuenciador especifique el primer elemento del arreglo de secuenciador no use CONTROL.POS en el subndice qu bits se bloquean o se pasan

Mscara

SINT INT DINT

tag valor inmediato

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Origen SINT INT DINT tag datos de entrada para el arreglo de secuenciador

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Control CONTROL tag estructura de control para la operacin generalmente se usa el mismo CONTROL usado con instrucciones SQO y SQL nmero de elementos en el arreglo (tabla de secuenciadores) que se comparan posicin actual en el arreglo el valor inicial es tpicamente 0

Longitud

DINT

valor inmediato valor inmediato

Posicin

DINT

Estructura CONTROL:
Mnemnico: Tipo de datos: .ER .LEN .POS BOOL DINT DINT Descripcin: Se establece el bit de error cuando .LEN 0, .POS < 0 .POS > .LEN. La longitud especifica el nmero de pasos en el arreglo de secuenciador. La posicin identifica el elemento que la instruccin compara actualmente.

Descripcin: La instruccin SQI detecta cundo se completa un paso en un pareja secuencial de instrucciones SQO/SQI. Una vez habilitada, la instruccin SQI compara un elemento de origen mediante una mscara con un elemento del arreglo para ver si hay igualdad. Generalmente se usa la misma estructura CONTROL usada con las instrucciones SQO y SQL. La instruccin SQI realiza la operacin en la memoria de datos contiguos. Vea la pgina B-4, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin.
1756-6.4.1ES - Octubre de 1999

Instrucciones de secuenciador (SQI, SQO, SQL)

9-3

Cmo introducir un valor de mscara inmediato


Cuando se introduce una mscara, el software de programacin tiene valores decimales predeterminados. Si desea introducir una mscara usando otro formato, ponga el prefijo correcto antes del valor.
Prefijo: 16# 8# 2# Descripcin: hexadecimal por ejemplo; 16#0F0F octal por ejemplo; 8#16 binario por ejemplo; 2#00110011

Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es verdadera

.LEN 0 .POS < 0 o .POS > .LEN

no

bit .ER se restablece

s el bit .ER est establecido

no

origen enmascarado = arreglo [.POS] enmascarado s

la condicin de salida de rengln est establecida como falsa

la condicin de salida de rengln est establecida como verdadera

fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

9-4

Instrucciones de secuenciador (SQI, SQO, SQL)

Ejemplo de SQI:

Una vez habilitada, la instruccin SQI pasa value_2 a travs de la mscara para determinar si el resultado es igual al elemento actual en array_dint. La comparacin con mscara es verdadera, por lo tanto la condicin de salida de rengln se hace verdadera.

Operando SQI: Origen Mscara Arreglo

Ejemplos de valores (DINT mostrados en la pantalla en formato binario): xxxxxxxx xxxxxxxx xxxx0101 xxxx1010 00000000 00000000 00001111 00001111 xxxxxxxx xxxxxxxx xxxx0101 xxxx1010

Una cifra 0 en la mscara significa que el bit no se compara (designado por xxxx en este ejemplo).

1756-6.4.1ES - Octubre de 1999

Instrucciones de secuenciador (SQI, SQO, SQL)

9-5

Cmo usar SQI sin SQO


Si usted usa la instruccin SQI sin una instruccin SQO como pareja, es necesario incrementar externamente el arreglo de secuenciador.

La instruccin SQI compara el valor de origen. La instruccin ADD incrementa el arreglo de secuenciador. La instruccin GRT determina si hay otro valor disponible para verificar el arreglo de secuenciador. La instruccin MOV restablece el valor de posicin despus de pasar por el arreglo de secuenciador una vez.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: SQI(array,mask,source,control,length,position); SQI array mask source control length position

Instrucciones relacionadas: SQO, SQL

1756-6.4.1ES - Octubre de 1999

9-6

Instrucciones de secuenciador (SQI, SQO, SQL)

Sequencer Output (SQO)


Operandos:

La instruccin SQO es una instruccin de salida.

Operando: Arreglo

Tipo: DINT

Formato: tag de arreglo

Descripcin: arreglo de secuenciador especifique el primer elemento del arreglo de secuenciador no use CONTROL.POS en el subndice qu bits se bloquean o se pasan

Mscara

SINT INT DINT

tag valor inmediato

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Destino Control DINT CONTROL tag tag datos de salida desde el arreglo de secuenciador estructura de control para la operacin generalmente se usa el mismo CONTROL usado con las instrucciones SQI y SQL nmero de elementos en el arreglo (tabla de secuenciadores) de los cuales se establecen salidas posicin actual en el arreglo el valor inicial es tpicamente 0

Longitud

DINT

valor inmediato valor inmediato

Posicin

DINT

Estructura CONTROL:
Mnemnico: Tipo de datos: .EN .DN .ER .LEN .POS BOOL BOOL BOOL DINT DINT Descripcin: El bit de habilitacin indica que la instruccin SQO est habilitada. Se establece el bit de efectuado cuando todos los elementos especificados han sido movidos al destino. Se establece el bit de error cuando .LEN 0, .POS < 0 .POS > .LEN. La longitud especifica el nmero de pasos en el arreglo de secuenciador. La posicin identifica el elemento que el controlador manipula actualmente.

Descripcin: La instruccin SQO establece las condiciones de salida para el prximo paso de una pareja secuencial de las instrucciones SQO/SQI. Una vez habilitada, la instruccin SQO incrementa la posicin, mueve los datos en la posicin mediante la mscara y almacena el resultado en el destino. Si .POS > .LEN, la instruccin da la vuelta al inicio del arreglo de secuenciador y contina con .POS = 1. Generalmente se usa la misma estructura CONTROL usada con las instrucciones SQI y SQL. La instruccin SQO realiza la operacin en la memoria de datos contiguos. Vea la pgina B-4, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin.
1756-6.4.1ES - Octubre de 1999

Instrucciones de secuenciador (SQI, SQO, SQL)

9-7

Cmo introducir un valor de mscara inmediato


Cuando se introduce una mscara, el software de programacin tiene valores decimales predeterminados. Si desea introducir una mscara usando otro formato, ponga el prefijo correcto antes del valor.
Prefijo: 16# 8# 2# Descripcin: hexadecimal por ejemplo; 16#0F0F octal por ejemplo; 8#16 binario por ejemplo; 2#00110011

Ejecucin:
Condicin: preescn Accin: El bit .EN se establece para impedir una carga falsa cuando se inicia el escn del programa. La condicin de salida de rengln se establece como falsa. El bit .EN se restablece. La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es falsa

1756-6.4.1ES - Octubre de 1999

9-8

Instrucciones de secuenciador (SQI, SQO, SQL)

Condicin:

Accin:

la condicin de entrada de rengln es verdadera

.LEN 0 .POS < 0 s

no

examine el bit .EN

.EN = 0

.EN = 1

el bit .EN est establecido bit .ER se restablece el bit .DN se establece

.POS = .LEN

no

.POS .LEN

.POS = 1

s el bit .DN se establece

no .POS = .POS + 1

el valor .POSC da la vuelta al valor inicial

error de ir a

no

.POS = .LEN

el bit .DN se establece

no

.POS > .LEN

no

error

el bit .ER est establecido

Destino = (Destination AND (NOT(Mask))) O (Array[control.POS] AND Mask)

la condicin de salida de rengln est establecida como verdadera

fin

Indicadores de estado aritmtico: no afectados

1756-6.4.1ES - Octubre de 1999

Instrucciones de secuenciador (SQI, SQO, SQL)

9-9

Condiciones de fallo: ninguna Ejemplo de SQO:

Una vez habilitada, la instruccin SQO incrementa la posicin, pasa los datos en dicha posicin a array_dint a travs de la mscara y almacena el resultado en value_1.

Operando SQO: Arreglo Mscara Destino

Ejemplos de valores (usando DINT mostrados en la pantalla en formato binario): xxxxxxxx xxxxxxxx xxxx0101 xxxx1010 00000000 00000000 00001111 00001111 xxxxxxxx xxxxxxxx xxxx0101 xxxx1010

Una cifra 0 en la mscara no cambia el bit (designado por xxxx en este ejemplo).

Cmo usar SQI con SQO


Si usted combina una instruccin SQI con una instruccin SQO, asegrese de que ambas instrucciones usen los mismos valores de control, longitud y posicin.

1756-6.4.1ES - Octubre de 1999

9-10

Instrucciones de secuenciador (SQI, SQO, SQL)

Cmo restablecer la posicin de SQO


Cada vez que el controlador va del modo de programacin al modo marcha, la instruccin SQO restablece (inicializa) el valor .POS. Para restablecer .POS en el valor de inicializacin (.POS = 0), use la instruccin RES para borrar el valor de posicin. Este ejemplo usa el estado del bit de primer escn para borrar el valor .POS.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: SQO(array,mask,destination,control,length,position); SQO array mask destination control length position

Instrucciones relacionadas: SQI, SQL

1756-6.4.1ES - Octubre de 1999

Instrucciones de secuenciador (SQI, SQO, SQL)

9-11

Sequencer Load (SQL)


Operandos:

La instruccin SQL es una instruccin de salida.

Operando: Arreglo

Tipo: DINT

Formato: tag de arreglo

Descripcin: arreglo de secuenciador especifique el primer elemento del arreglo de secuenciador no use CONTROL.POS en el subndice datos de entrada que se cargan en el arreglo de secuenciador

Origen

SINT INT DINT

tag valor inmediato

Un tag SINT o INT se convierte a un valor DINT usando la extensin con signo. Consulte Conversiones de datos en la pgina A-6. Control CONTROL tag estructura de control para la operacin generalmente se usa el mismo CONTROL usado con las instrucciones SQI y SQO nmero de elementos en el arreglo (tabla de secuenciadores) que se cargan posicin actual en el arreglo el valor inicial es tpicamente 0

Longitud

DINT

valor inmediato valor inmediato

Posicin

DINT

Estructura CONTROL:
Mnemnico: Tipo de datos: .EN .DN .ER .LEN .POS BOOL BOOL BOOL DINT DINT Descripcin: El bit de habilitacin indica que la instruccin SQL est habilitada. Se establece el bit de efectuado cuando todos los elementos especificados se han cargado en el arreglo. Se establece el bit de error cuando .LEN 0, .POS < 0 .POS > .LEN. La longitud especifica el nmero de pasos en el arreglo de secuenciador. La posicin identifica el elemento que el controlador manipula actualmente.

Descripcin: La instruccin SQL carga condiciones de referencia en un arreglo de secuenciador. Una vez habilitada, la instruccin SQL se incrementa a la prxima posicin en el arreglo de secuenciador y carga el valor de origen en dicha posicin. Si el bit .DN est establecido o si .POS .LEN, la instruccin establece .POS=1. Generalmente se usa la misma estructura CONTROL usada con las instrucciones SQI y SQO. La instruccin SQL realiza la operacin en la memoria de datos contiguos. Vea la pgina B-4, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin.

1756-6.4.1ES - Octubre de 1999

9-12

Instrucciones de secuenciador (SQI, SQO, SQL)

Ejecucin:
Condicin: preescn Accin: El bit .EN se establece para impedir una carga falsa cuando se inicia el escn del programa. La condicin de salida de rengln se establece como falsa. El bit .EN se restablece. La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es falsa

1756-6.4.1ES - Octubre de 1999

Instrucciones de secuenciador (SQI, SQO, SQL)

9-13

Condicin:

Accin:

la condicin de entrada de rengln es verdadera

.LEN 0 .POS < 0 s

no

examine el bit .EN

.EN = 0

.EN = 1

el bit .EN est establecido bit .ER se restablece el bit .DN se establece

.POS = .LEN

no

.POS .LEN

.POS = 1

s el bit .DN se establece

no .POS = .POS + 1

el valor .POSC retorna al valor inicial no

error de ir a

.POS = .LEN

el bit .DN se establece

no

.POS > .LEN

no

s .LEN > tamao del arreglo no fallo mayor el bit .ER est establecido Array[control.POS] = origen s

error

la condicin de salida de rengln est establecida como verdadera

fin

Indicadores de estado aritmtico: no afectados

1756-6.4.1ES - Octubre de 1999

9-14

Instrucciones de secuenciador (SQI, SQO, SQL)

Condiciones de fallo:
Ocurrir un fallo mayor si: Longitud > tamao del arreglo Tipo de fallo: 4 Cdigo de fallo: 20

Ejemplo de SQL:

antes de la carga

despus de la carga
00000 11111 22222 33333 44444 55555 00000 00000 00000 00000

array_dint[0]

00000 11111 22222 33333 44444

control_1.pos = 5 value_1 = 55555

array_dint[5]

00000 00000 00000 00000 00000

control_1.pos = 6

Una vez habilitada, la instruccin SQL carga value_3 en la prxima posicin en el arreglo de secuenciador, el cual es array_dint[5] en este ejemplo.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: SQL(array,source,control,length,position); SQL array source control length position

Instrucciones relacionadas: SQI, SQO

1756-6.4.1ES - Octubre de 1999

Captulo

10

Instrucciones de control de programa


(JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

Introduccin

Use las instrucciones de control del programa para cambiar el flujo de la lgica.
Si usted desea: Saltar por encima de una seccin de lgica que no necesita ejecutarse cada vez. Saltar a una rutina separada, pasar datos a la rutina, ejecutar la rutina y devolver los resultados. Marcar un fin temporal que detiene la ejecucin de la rutina. Inhabilitar todos los renglones en una seccin de lgica. Inhabilitar las tareas del usuario. Habilitar las tareas del usuario. Inhabilitar un rengln. Insertar un marcador de posicin en la lgica. Use esta instruccin: JMP LBL JSR SBR RET TND MCR UID UIE AFI NOP Vea la pgina: 10-2

10-4

10-10 10-11 10-13 10-14 10-15 10-16

1756-6.4.1ES - Octubre de 1999

10-2

Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

Jump to Label (JMP) Label (LBL)


Operandos:

La instruccin JMP es una instruccin de salida. La instruccin LBL es una instruccin de entrada.

Operando:

Tipo:

Formato:

Descripcin:

Instruccin JMP Nombre de etiqueta Instruccin LBL Nombre de etiqueta nombre de etiqueta la ejecucin salta a la instruccin LBL con el nombre de etiqueta al cual se hizo referencia nombre de etiqueta introduzca un nombre para la instruccin LBL asociada

Descripcin: Las instrucciones JMP y LBL saltan porciones de la lgica de escalera. Una vez habilitada, la instruccin JMP salta a la instruccin LBL a la cual se hizo referencia y el controlador contina ejecutndose en ese lugar. Cuando est inhabilitada, la instruccin JMP no afecta la ejecucin de la lgica de escalera. La instruccin JMP puede avanzar o invertir la ejecucin de la lgica de escalera. El salto de avance a una etiqueta ahorra el tiempo de escn del programa omitiendo un segmento de la lgica hasta que sea necesario. El salto de retroceso permite que el controlador repita iteraciones de la lgica. Tenga cuidado de no saltar hacia atrs un nmero de veces excesivo. El temporizador de control (watchdog) puede sobrepasar el tiempo de espera puesto que el controlador no llega nunca al fin de la lgica, lo cual, a su vez, hace que el controlador entre en fallo. ATENCION: La lgica saltada no se escanea. Coloque la lgica crtica fuera de la zona saltada.

La instruccin LBL es el receptor de la instruccin JMP que tiene el mismo nombre de etiqueta. Asegrese de que la instruccin LBL sea la primera instruccin en el rengln. Un nombre de etiqueta debe ser nico dentro de una rutina. El nombre puede: tener hasta 40 caracteres contener letras, nmeros y caracteres de subrayado (_) Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln est establecida como verdadera. La ejecucin salta al rengln que contenga la instruccin LBL con el nombre de etiqueta al cual se hizo referencia.

1756-6.4.1ES - Octubre de 1999

Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

10-3

Indicadores de estado aritmtico: no afectados Condiciones de fallo:


Ocurrir un fallo mayor si: la etiqueta no existe Tipo de fallo: 4 Cdigo de fallo: 42

Ejemplo de JMP/LBL:

[otros renglones de cdigo]

Una vez habilitada la instruccin JMP, la ejecucin salta renglones sucesivos de lgica hasta llegar en el rengln que contiene la instruccin LBL con label_20.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: JMP(label_name); LBL(label_name); JMP label_name LBL label_name

Instrucciones relacionadas: JSR, SBR, RET, FOR, BRK

1756-6.4.1ES - Octubre de 1999

10-4

Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

Jump to Subroutine (JSR) Subroutine (SBR) Return (RET)


Operandos:

La instruccin JSR es una instruccin de salida. La instruccin SBR es una instruccin de entrada. La instruccin RET es una instruccin de salida.

Operando:

Tipo:

Formato:

Descripcin:

Instruccin JSR Nombre de rutina parmetro de entrada rutina SINT INT DINT REAL estructura SINT INT DINT REAL estructura nombre valor inmediato tag tag de arreglo tag tag de arreglo rutina que se ejecuta parmetros que pasan a la rutina

Parmetro de retorno

parmetros (0-n) que se reciben de la rutina

Instruccin SBR parmetro de entrada SINT INT DINT REAL estructura tag tag de arreglo parmetros (0-n) recibidos de JSR

Instruccin RET Parmetro de retorno SINT INT DINT REAL estructura valor inmediato tag tag de arreglo parmetros (0-n) que devuelven a JSR

ATENCION: Un parmetro de entrada y su parmetro de retorno correspondiente deben ser del mismo tipo de datos o pueden ocurrir datos inesperados o una operacin peligrosa.

Descripcin: Las instrucciones JSR, SBR y RET conducen la ejecucin de la lgica a una subrutina distinta dentro del programa, escanean dicha subrutina una vez y retornan al punto inicial. Tambin puede usar la instruccin JSR para probar una rutina de fallo o desactivar el controlador. Vea el documento Logix5000 Controllers User Manual, publicacin 1756-6.5.12.

1756-6.4.1ES - Octubre de 1999

Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

10-5

Una vez habilitada, la instruccin JSR conduce la ejecucin de la lgica a la subrutina especificada y, si fuese necesario, pasa los parmetros a la subrutina. Si no hay parmetros de entrada, el control pasa de la instruccin JSR al primer rengln de la subrutina. Una vez habilitada, la instruccin JSR pasa sus parmetros de entrada, si los hay, y conduce la ejecucin al primer rengln de la subrutina. La instruccin SBR recibe los parmetros de entrada y copia los valores de los mismos en los tags especificados. El nmero y tipo de parmetros de entrada en la instruccin JSR debe coincidir con los de la instruccin SBR. Si la instruccin JSR tiene menos parmetros que la instruccin SBR asociada, el controlador entra en un fallo mayor. La instruccin JSR puede tener ms parmetros de entrada que la instruccin SBR asociada sin causar un fallo. Use la instruccin SBR en la subrutina solamente si desea pasar parmetros a la subrutina. Si usa una instruccin SBR, sta debe ser la primera instruccin en el primer rengln de la rutina. La instruccin SBR opcional identifica los tags que almacenan los parmetros de entrada. Puede introducir una instruccin SBR sin parmetros para ayudar a identificar la rutina como subrutina. No puede colocar una instruccin SBR en una rutina principal. Use la instruccin RET solamente si retorna parmetros a la instruccin JSR. La instruccin RET pone fin a la subrutina y, si fuese necesario, retorna los parmetros a la instruccin JSR. Una subrutina puede tener ms de una instruccin RET. Una vez habilitada, la instruccin RET pasa sus parmetros, si los hay, y reanuda la ejecucin en el rengln que sigue a la instruccin JSR asociada. El nmero y tipo de parmetros de retorno en la instruccin RET debe coincidir con los de la instruccin SBR. Si el nmero de parmetros de retorno en la instruccin RET es menor que el nmero de parmetros de retorno en la instruccin JSR, el controlador entra en un fallo mayor. La instruccin RET puede tener ms parmetros de retorno que la instruccin JSR asociada sin causar un fallo. Cuando est inhabilitada, la instruccin RET no afecta la ejecucin de la lgica. El controlador contina ejecutando la subrutina actual.

1756-6.4.1ES - Octubre de 1999

10-6

Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

No hay restricciones, excepto la memoria del controlador, para el nmero de rutinas anidadas que pueden existir ni para el nmero de parmetros que se pasan o retornan.
nivel 1 subrutina action_1 rutina principal nivel 2 subrutina action_2 nivel 3 subrutina action_3

action_1 JSR

SBR

SBR

SBR

action_2 JSR

action_3 JSR

RET

RET

RET

15294

Las instrucciones JSR, SBR y RET pasan parmetros hacia y desde una rutina segn el valor. Esto significa que las instrucciones usan tiempo de ejecucin y memoria adicionales para copiar los valores. Usted puede reducir el tiempo de ejecucin obteniendo acceso directo a los datos del programa y del controlador cubiertos desde la rutina en vez de pasar los valores. Puede pasar elementos de arreglo individuales, arreglos enteros, elementos de estructuras individuales y estructuras enteras. Los arreglos y las estructuras se copian de la misma manera que una instruccin COP copia los valores. Se recomienda pasar los parmetros de arreglo o estructura a parmetros de arreglo o estructura del mismo tipo, respectivamente.

1756-6.4.1ES - Octubre de 1999

Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

10-7

Ejecucin:
Condicin: preescn Accin: La condicin de salida de rengln se establece como falsa. El controlador ejecuta todas las subrutinas independientemente de la condicin del rengln, pero ignora las instrucciones RET. Todos los parmetros de entrada pasan a la subrutina. Se pasan todos los parmetros de retorno, pero la instruccin RET no sale de la subrutina. Esto asegura que todos los renglones en la subrutina se preescanean. Si existen llamadas recursivas a la misma subrutina, la subrutina se preescanea solamente la primera vez que se llama. Si existen llamadas mltiples (no recursivas) a la misma subrutina, la subrutina se preescanea cada vez. La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es falsa

la condicin de entrada de rengln es verdadera

parmetros de entrada no

JSR copia los parmetros a los tags SBR apropiados

la ejecucin de lgica comienza en la rutina identificada por JSR

s Instruccin RET parmetros de retorno no

JSR copia los parmetros de retorno a los tags JSR apropiados

no

s fin de la subrutina

no la condicin de salida de rengln est establecida como

la condicin de salida de rengln est establecida como falsa contine ejecutando la rutina

fin

Indicadores de estado aritmtico: no afectados

1756-6.4.1ES - Octubre de 1999

10-8

Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

Condiciones de fallo:
Ocurrir un fallo mayor si: la instruccin JSR tiene menos parmetros de entrada que la instruccin SBR la instruccin JSR salta a una rutina de fallo Tipo de fallo: 4 Cdigo de fallo: 31

4 proporcionado por 0 proporcionado por el usuario el usuario 31

la instruccin RET tiene menos 4 parmetros de retorno que la instruccin JSR

Ejemplo de JSR/SBR/RET:
ejemplo 1 Una vez habilitada, la instruccin JSR pasa value_1 y value_2 a routine_1.

La instruccin SBR recibe value_1 y value_2 desde la instruccin JSR y copia estos valores a value_a y value_b, respectivamente. La ejecucin de la lgica contina en esta rutina.

[otros renglones de cdigo]

Una vez habilitada, la instruccin RET enva float_a a la instruccin JSR. La instruccin JSR recibe float_a y copia el valor a float_value_1. La ejecucin de lgica contina con la prxima instruccin que sigue a la instruccin JSR.

1756-6.4.1ES - Octubre de 1999

Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

10-9

ejemplo 2

rutina principal

rutina subroutine_1

Si abc se hace verdadero, se habilita la instruccin JSR y el control pasa a subroutine_1. Si def se habilita, la instruccin RET retorna value_1 al parmetro JSR cookies_1 y el resto de la subrutina no se escanea. Si ghi se habilita, la instruccin RET retorna value_2 al parmetro JSR cookies_1 y el resto de la subrutina no se escanea. Si no se habilitan def ni ghi, la instruccin RET retorna value_3 al parmetro JSR cookies_1. Luego la instruccin ADD suma el valor de cookies_1 a cookies_2 y almacena el resultado en total_cookies.

Otros formatos:
Formato: texto neutro Sintaxis: JSR(routine_name,input_1,...input_n,return_1,..return_n); SBR(routine_name,input_1,...input_n); RET(return_1,...return_n); JSR routine_name input_1 ... input_n return_1 ... return_n SBR routine_name input_1 ... input_n RET return_1 ... return_n

texto ASCII

Instrucciones relacionadas: JMP, LBL, FOR, BRK

1756-6.4.1ES - Octubre de 1999

10-10

Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

Temporary End (TND)

La instruccin TND es una instruccin de salida. Operandos: Ninguno

Descripcin: La instruccin TND sirve como lmite. Una vez habilitada, la instruccin TND permite que el controlador ejecute la lgica solamente hasta esta instruccin. Una vez habilitada, la instruccin TND sirve como el fin de la rutina. Cuando el controlador escanea una instruccin TND, el controlador se mueve al fin de la rutina actual. Si la instruccin TND es una subrutina, el control retorna a la rutina de llamada. Si la instruccin TND se encuentra en una rutina principal, el control retorna al prximo programa dentro de la tarea actual. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln est establecida como verdadera. Se interrumpe la rutina actual.

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Ejemplo de TND: Usted puede usar la instruccin TND al depurar o resolver problemas para ejecutar la lgica hasta cierto punto. Mueva progresivamente la instruccin TND a travs de la lgica a la vez que depura cada nueva seccin.

Una vez habilitada la instruccin TND, el controlador ya no escanea la rutina actual.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: TND(); TND

Instrucciones relacionadas: AFI, MCR, NOP

1756-6.4.1ES - Octubre de 1999

Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

10-11

Master Control Reset (MCR)

La instruccin MCR es una instruccin de salida.

Operandos: Ninguno Descripcin: La instruccin MCR, usada en parejas, crea una zona de programa que puede inhabilitar todos los renglones dentro de las instrucciones MCR. Una vez habilitada la zona MCR, los renglones en la zona MCR se escanean para ver si hay condiciones normales verdaderas o falsas. Cuando est inhabilitado, el controlador todava escanea los renglones dentro de una zona MCR, pero se reduce el tiempo del escn puesto que estn inhabilitadas las salidas no retentivas en la zona. La condicin de entrada de rengln es falsa para todas las instrucciones dentro de la zona MCR inhabilitada. Cuando programe una zona MCR, recuerde que: Debe finalizar la zona con una instruccin MCR sin condiciones. No puede anidar una zona MCR dentro de otra. No salte en una zona MCR. Si la zona es falsa, el saltar a la zona activa la zona a partir del punto al cual se salt hasta el fin de la zona. Si una zona MCR contina hasta el fin de la rutina, no es necesario programar una instruccin MCR para finalizar la zona. Importante: La instruccin MCR no reemplaza a un rel de control maestro cableado que proporciona la capacidad de paro de emergencia. Debe instalar un rel de control maestro cableado para proporcionar interrupcin de emergencia de la alimentacin elctrica a las E/S. ATENCION: No sobreponga ni anide las zonas MCR. Cada zona debe ser separada y completa. Si se sobreponen o se anidan, puede ocurrir una operacin inesperada de la mquina con posibles daos del equipo o lesiones personales. Coloque las operaciones crticas fuera de la zona MCR. Si inicia instrucciones tales como los temporizadores en una zona MCR, se detiene la ejecucin de la instruccin cuando la zona se inhabilita y el temporizador se restablece.

Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. Se escanean las instrucciones en la zona, pero la condicin de entrada de rengln es falsa y las salidas no retentivas en la zona se inhabilitan. La condicin de salida de rengln est establecida como verdadera. Las instrucciones en la zona se escanean normalmente.

1756-6.4.1ES - Octubre de 1999

10-12

Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Ejemplo de MCR:

Cuando se habilita la primera instruccin MCR (input_1, input_2 y input_3 estn establecidos), el controlador ejecuta los renglones en la zona MCR (entre las dos instrucciones MCR) y establece o restablece las salidas segn las condiciones de entrada.
Cuando se inhabilita la primera instruccin MCR (input_1, input_2 y input_3 no estn todos establecidos), el controlador ejecuta los renglones en la zona MCR (entre las dos instrucciones MCR) y la condicin de entrada de rengln se hace falsa para todos los renglones en la zona MCR independientemente de las condiciones de entrada.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: MCR(); MCR

Instrucciones relacionadas: AFI, NOP, TND

1756-6.4.1ES - Octubre de 1999

Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

10-13

User Interrupt Disable (UID)

La instruccin UID es una instruccin de salida.

Operandos: Ninguno Descripcin: La instruccin UID inhabilita temporalmente la conmutacin entre tareas del usuario. Una vez habilitada la instruccin UID, la tarea actual contina ejecutndose sin interrupcin por parte de las tareas de alta prioridad hasta que se ejecuta una instruccin UIE o se llega al fin del programa. La instruccin UID no inhabilita la ejecucin de una rutina de fallo o tarea de fallo. Una vez habilitada, la instruccin UID incrementa un contador interno. Siempre que este valor de contador no ea igual a cero, la tarea que se ejecuta actualmente no se puede interrumpir. Puede anidar hasta 65,535 niveles de instrucciones UID. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. Se evita la interrupcin por tareas de alta prioridad. Se incrementa el contador interno UID. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Ejemplo UID:

Una vez habilitada, la instruccin UID inhabilita temporalmente la conmutacin entre tareas del usuario.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: UID(); UID

Instrucciones relacionadas: UIE

1756-6.4.1ES - Octubre de 1999

10-14

Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

User Interrupt Enable (UIE)

La instruccin UIE es una instruccin de salida.

Operandos: ninguna Descripcin: La instruccin UIE vuelve a habilitar la conmutacin las tareas del usuario. Si la instruccin UIE est habilitada y el contador interno es mayor que cero, el contador se decrementa. Cuando el contador es igual a cero, la tarea que se ejecuta actualmente puede volver a interrumpirse. Las tareas de alta prioridad que no pudieron interrumpir la tarea actual ahora se ejecutan. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. Se decrementa el contador interno UID. Si el conteo interno es igual a 0, las tareas de alta prioridad pueden interrumpir la tarea actual. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Ejemplo de UIE:

Una vez habilitada, la instruccin UIE vuelve a habilitar la conmutacin entre tareas del usuario.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: UIE(); UIE

Instrucciones relacionadas: UID

1756-6.4.1ES - Octubre de 1999

Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

10-15

Always False (AFI)

La instruccin AFI es una instruccin de entrada. Operandos: Ninguno Descripcin: La instruccin AFI establece su condicin de salida de rengln como falsa. Ejecucin:

Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera

Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa.

Indicadores de estado aritmtico: no afectados Condiciones de fallo: Ninguno Ejemplo de AFI: Use la instruccin AFI para inhabilitar temporalmente un rengln mientras depura un programa.

Una vez habilitada, la instruccin AFI inhabilita todas las instrucciones en este rengln.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: AFI(); AFI

Instrucciones relacionadas: MCR, NOP, TND

1756-6.4.1ES - Octubre de 1999

10-16

Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

No Operation (NOP)

La instruccin NOP es una instruccin de entrada y salida. Operandos: Ninguno Descripcin: La instruccin NOP sirve como indicador de posicin. Usted puede colocar la instruccin NOP en cualquier parte de un rengln. Una vez habilitada, la instruccin NOP no realiza una operacin. Una vez inhabilitada, la instruccin NOP no realiza una operacin. Ejecucin:

Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera

Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: no afectados Condiciones de fallo: Ninguno Ejemplo NOP: Esta instruccin es til para localizar bifurcaciones no condicionales cuando coloca la instruccin NOP en la bifurcacin.

La instruccin NOP omite la instruccin XIC para habilitar la salida.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: NOP(); NOP

Instrucciones relacionadas: AFI, MCR, TND

1756-6.4.1ES - Octubre de 1999

Captulo

11

Instrucciones FOR/interrupcin
(FOR, BRK, RET)

Introduccin

Use la instruccin FOR para llamar repetidamente una subrutina. Use la instruccin BRK para interrumpir la ejecucin de una subrutina.
Si usted desea: Ejecutar repetidamente una rutina. Interrumpir la ejecucin repetida de una rutina. Retornar a la instruccin FOR. Use esta instruccin: FOR BRK RET Vea la pgina: 11-2 11-5 11-6

1756-6.4.1ES - Octubre de 1999

11-2

Instrucciones FOR/interrupcin (FOR, BRK, RET)

For (FOR)
Operandos:

La instruccin FOR es una instruccin de salida.

Operando: Nombre de rutina Indice Valor inicial

Tipo: ROUTINE DINT SINT INT DINT SINT INT DINT SINT INT DINT

Formato: nombre de rutina tag valor inmediato tag valor inmediato tag valor inmediato tag

Descripcin: rutina que se ejecuta cuenta cuntas veces la rutina se ha ejecutado valor en que se comienza el ndice valor en que se detiene la ejecucin de la rutina cantidad que se aade al ndice cada vez que la instruccin FOR ejecuta la rutina

Valor terminal Tamao de paso

Descripcin: La instruccin FOR ejecuta una rutina repeditamente. Una vez habilitada, la instruccin FOR ejecuta repetidamente la rutina hasta que el valor del ndice excede el valor terminal. Esta instruccin no pasa parmetros a la rutina. Cada vez que la instruccin FOR ejecuta la rutina, aade el tamao de paso al ndice. Tenga cuidado de no realizar demasiados lazos en un solo escn. Una cantidad excesiva de repeticiones puede causar que el temporizador de control (watchdog) del controlador sobrepase el tiempo de espera, lo cual causar un fallo mayor.

1756-6.4.1ES - Octubre de 1999

Instrucciones FOR/interrupcin (FOR, BRK, RET)

11-3

Ejecucin:
Condicin: preescn Accin: La condicin de salida de rengln se establece como falsa. El controlador ejecuta la subrutina una vez. Si existen instrucciones FOR recursivas en la misma subrutina, la subrutina se preescanea solamente la primera vez que se llama. Si existen mltiples instrucciones FOR (no recursivas) a la misma subrutina, la subrutina se preescanea cada vez. La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es falsa

la condicin de entrada de rengln es verdadera

ndice = initial_value

no

tamao de paso < 0

s ir a fin no ndice valor terminal

s ndice valor terminal

no

ir a fin

ejecute la rutina index =(index + step_size) fin

la condicin de salida de rengln est establecida como verdadera fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

11-4

Instrucciones FOR/interrupcin (FOR, BRK, RET)

Ejemplo de FOR:

Una vez habilitada, la instruccin FOR ejecuta repetidamente routine_2 e incrementa value_2 en un valor de 1 cada vez. Cuando value_2 es > 10 o una instruccin BRK est habilitada, la instruccin FOR ya no ejecuta routine_2.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: FOR(routine_name,index,initial_value,terminal_value,step_size); FOR routine_name index initial_value terminal_value step_size

Instrucciones relacionadas: BRK, JMP, LBL, JSR, SBR, RET

1756-6.4.1ES - Octubre de 1999

Instrucciones FOR/interrupcin (FOR, BRK, RET)

11-5

Break (BRK)

La instruccin BRK es una instruccin de salida. Operandos: ninguna Descripcin: La instruccin BRK interrumpe la ejecucin de una rutina que fue llamada por una instruccin FOR. Una vez habilitada, la instruccin BRK sale de la rutina y retorna el controlador a la instruccin que sigue a FOR. Si hay instrucciones FOR anidadas, una instruccin BRK retorna el control a la instruccin FOR ms profunda. Ejecucin:

Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera

Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln est establecida como verdadera. La ejecucin retorna a la instruccin que sigue a la instruccin FOR que hizo la llamada.

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Ejemplo de BRK:

Una vez habilitada, la instruccin BRK ya no ejecuta la rutina actual y retorna a la instruccin que sigue a la instruccin FOR que hizo la llamada.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: BRK(); BRK

Instrucciones relacionadas: FOR, JMP, LBL, JSR, SBR, RET

1756-6.4.1ES - Octubre de 1999

11-6

Instrucciones FOR/interrupcin (FOR, BRK, RET)

Return (RET)

La instruccin RET es una instruccin de salida. Operandos: ninguna Descripcin: La instruccin RET retorna a la instruccin FOR que hizo la llamada. La instruccin FOR no usa parmetros. La instruccin FOR ignora los parmetros que usted introduce en una instruccin RET. Una vez habilitada, la instruccin RET retorna a la instruccin FOR. La instruccin FOR incrementa el valor del ndice segn el tamao de paso y vuelve a ejecutar la subrutina. Si el valor del ndice excede el valor terminal, la instruccin FOR concluye y la ejecucin contina a la instruccin que sigue a la instruccin FOR. Tambin puede usar una instruccin TND para finalizar la ejecucin de una subrutina. Ejecucin:

Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera

Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna Ejemplo de RET:


rutina que hace subrutina

Una vez habilitada, la instruccin FOR ejecuta repetidamente routine_2 e incrementa value_2 en un valor de 1 cada vez. Cuando value_2 es > 10 o una instruccin BRK est habilitada, la instruccin FOR ya no ejecuta routine_2.

Una vez habilitada, la instruccin RET retorna a la instruccin FOR que hizo la llamada. La instruccin FOR vuelve a ejecutar la subrutina e incrementa el valor del ndice segn el tamao de paso o, si el valor del ndice excede el valor terminal, la instruccin FOR concluye y la ejecucin contina a la instruccin que sigue a la instruccin FOR.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: RET(); RET

Instrucciones relacionadas: BRK, JMP, LBL, TND


1756-6.4.1ES - Octubre de 1999

Captulo

12

Instrucciones especiales
(FBC, DDT, DTR, PID)

Introduccin

Las instrucciones especiales realizan operaciones para aplicaciones especficas.


Si usted desea: Comparar datos contra una referencia confiable conocida y registrar las desigualdades. Comparar los datos contra una referencia confiable conocida, registrar las desigualdades y actualizar la referencia para que coincida con el origen. Pasar los datos de origen mediante una mscara y comparar el resultado contra datos de referencia. Luego escribir el origen en la referencia para la prxima comparacin. Controlar un lazo PID. Use esta instruccin: FBC Vea la pgina: 12-2

DDT

12-9

DTR

12-16

PID

12-19

1756-6.4.1ES - Octubre de 1999

12-2

Instrucciones especiales (FBC, DDT, DTR, PID)

File Bit Comparison (FBC)


Operandos:

La instruccin FBC es una instruccin de salida.

Operando: Origen

Tipo: DINT

Formato: tag de arreglo

Descripcin: arreglo que se compara contra la referencia no use CONTROL.POS en el subndice arreglo que se compara contra el origen no use CONTROL.POS en el subndice arreglo que almacena el resultado no use CONTROL.POS en los subndices estructura de control para la comparacin nmero de bits que se comparan posicin actual en el origen el valor inicial es tpicamente 0 estructura de control para los resultados nmero de ubicaciones de almacenamiento en el resultado posicin actual en el resultado el valor inicial es tpicamente 0

Referencia

DINT

tag de arreglo

Resultado:

DINT

tag de arreglo

Control Cmp control Longitud Posicin Control de resultado Longitud Posicin DINT DINT control DINT DINT

estructura valor inmediato valor inmediato estructura valor inmediato valor inmediato

ATENCION: Use tags diferentes para la estructura de control de comparacin y la estructura de control de resultado. El uso del mismo tag para ambas estructuras puede resultar en una operacin inesperada, la cual puede causar posibles daos al equipo y/o lesiones personales.

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-3

Estructura CONTROL de comparacin:


Mnemnico: Tipo de datos: .EN .DN .FD BOOL BOOL BOOL Descripcin: El bit de habilitacin indica que la instruccin FBC est habilitada. Se establece el bit de efectuado cuando la instruccin FBC compara el ltimo bit en los arreglos de origen y referencia. Se establece el bit de encontrado cada vez que la instruccin FBC registra una desigualdad (operacin uno a uno) o despus de registrar todas las desigualdades (operacin de todos por escn). El bit de inhibicin indica el modo de bsqueda FBC. 0 = modo todos 1 = modo de una desigualdad a la vez Se establece el bit de error si la comparacin .POS < 0, la comparacin .LEN < 0, el resultado .POS < 0 el resultado .LEN < 0. La instruccin ya no se ejecuta hasta que el programa restablece el bit .ER. El valor de longitud identifica el nmero de bits que se comparan. El valor de posicin identifica el bit actual.

.IN

BOOL

.ER

BOOL

.LEN .POS

DINT DINT

Estructura CONTROL de resultado:


Mnemnico: Tipo de datos: .DN .LEN .POS BOOL DINT DINT Descripcin: Se establece el bit de efectuado cuando el arreglo de resultados est lleno. El valor de longitud identifica el nmero de ubicaciones de almacenamiento en el arreglo de resultados. El valor de posicin identifica la posicin actual en el arreglo de resultados.

Descripcin: La instruccin FBC compara los bits de un arreglo de origen contra los bits de un arreglo de referencia. Una vez habilitada, la instruccin FBC compara los bits del arreglo de origen contra los bits del arreglo de referencia y registra el nmero de bit de cada desigualdad en el arreglo de resultados. La instruccin FBC opera en la memoria de datos contiguos. Vea la pgina, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin B-4. La diferencia entre las instrucciones DDT y FBC es que cada vez que la instruccin DDT encuentra una desigualdad, la instruccin cambia el bit de referencia para que coincida con el bit de origen. La instruccin FBC no cambia el bit de referencia.

1756-6.4.1ES - Octubre de 1999

12-4

Instrucciones especiales (FBC, DDT, DTR, PID)

Cmo seleccionar el modo buscar


Si usted desea detectar: Una desigualdad a la vez Seleccione este modo: Establezca el bit .IN en la estructura CONTROL de comparacin. Cada vez que la condicin de entrada de rengln va de falso a verdadero, la instruccin FBC busca la prxima desigualdad entre los arreglos de origen y referencia. Cuando la instruccin encuentra una desigualdad, sta establece el bit .FD, registra la posicin de la desigualdad y detiene la ejecucin. Restablezca el bit .IN en la estructura CONTROL de comparacin. Cada vez que la condicin de entrada de rengln va de falso a verdadero, la instruccin FBC busca todas las desigualdades entre los arreglos de origen y referencia.

Todas las desigualdades

Ejecucin:
Condicin: preescn
se restablece el bit .EN se restablece el bit .FD

Accin:

examine el bit .DN de comparacin

.DN de comparacin = 0

.DN de comparacin = 1 se restablece el bit .DN se restablece el valor .POS de comparacin se restablece el bit .DN de resultado se restablece el valor .POS de resultado

la condicin de salida de rengln est establecida como falsa

fin

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-5

Condicin: la condicin de entrada de rengln es falsa


se restablece el bit .EN se restablece el bit .FD

Accin:

examine el bit .DN de comparacin

.DN de comparacin = 0

.DN de comparacin = 1 se restablece el bit .DN se restablece el valor .POS de comparacin se restablece el bit .DN de resultado se restablece el valor .POS de resultado

la condicin de salida de rengln est establecida como falsa

fin

1756-6.4.1ES - Octubre de 1999

12-6

Instrucciones especiales (FBC, DDT, DTR, PID)

Condicin:

Accin:

la condicin de entrada de rengln es verdadera

examine el bit .EN de comparacin

.EN de comparacin = 1

ir a salida

.EN de comparacin = 0 se establece el bit .EN examine el bit .DN de comparacin .DN de comparacin = 1 ir a salida

.DN de comparacin = 0 se restablece el bit .ER se restablece el bit .FD .LEN de comparacin 0 s

no

salida

.POS de comparacin = 0

no la condicin de salida de rengln est establecida como verdadera

se establece el bit .ER

comparacin

ir a salida

fin

pgina 12-7

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-7

Condicin:
compare

Accin:

.POS de comparacin .LEN de comparacin no

.POS de comparacin = .LEN de comparacin se establece el bit .DN

ir a salida

pgina 12-6

result.DN = 1
origen[compare.POS]= referencia[compare.POS]

no

se establece el bit compare.FD

examine el bit result.DN result.DN = 0

se restablece el bit .DN de resultado se restablece el valor .POS de resultado

s compare.POS = compare.POS + 1

s result.POS < 0

no

s result.LEN 0

no

se establece el bit .ER

s fallo mayor

result.POS > tamao del arreglo de resultados no result[result.POS] = compare.POS result.POS = result.POS + 1

ir a salida

pgina 12-6

no

result.POS > result.LEN

s se establece el bit result.DN

1756-6.4.1ES - Octubre de 1999

12-8

Instrucciones especiales (FBC, DDT, DTR, PID)

Indicadores de estado aritmtico: no afectados Condiciones de fallo:


Ocurrir un fallo mayor si: Result.POS > tamao del arreglo de resultados Tipo de fallo: 4 Cdigo de fallo: 20

Ejemplo de FBC:

Una vez habilitada, la instruccin FBC compara el origen array_dint1 contra la referencia array_dint2 y almacena la ubicaciones de las desigualdades en el resultado array_dint3.

origen 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 array_dint1

referencia 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 array_dint2

resultado array_dint3

5 3

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: FBC(source,reference,result,cmp_control,length,position,result_control, length,position); FBC source reference result cmp_control length position result_control length position

Instrucciones relacionadas: DDT, DTR

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-9

Diagnostic Detect (DDT)


Operandos:

La instruccin DDT es una instruccin de salida.

Operando: Origen

Tipo: DINT

Formato: tag de arreglo

Descripcin: arreglo que se compara contra la referencia no use CONTROL.POS en el subndice arreglo que se compara contra el origen no use CONTROL.POS en el subndice arreglo que almacena los resultados no use CONTROL.POS en el subndice estructura de control para la comparacin nmero de bits que se comparan posicin actual en el origen el valor inicial es tpicamente 0 estructura de control para los resultados nmero de ubicaciones de almacenamiento en el resultado posicin actual en el resultado el valor inicial es tpicamente 0

Referencia

DINT

tag de arreglo

Resultado:

DINT

tag de arreglo

Control Cmp CONTROL Longitud Posicin Control de resultado Longitud Posicin DINT DINT control DINT DINT

estructura valor inmediato valor inmediato estructura valor inmediato valor inmediato

ATENCION: Use tags diferentes para la estructura de control de comparacin y la estructura de control de resultado. El uso del mismo tag para ambas estructuras puede resultar en una operacin inesperada, la cual puede causar posibles daos al equipo y/o lesiones personales.

1756-6.4.1ES - Octubre de 1999

12-10

Instrucciones especiales (FBC, DDT, DTR, PID)

Estructura CONTROL de comparacin:


Mnemnico: Tipo de datos: .EN .DN .FD BOOL BOOL BOOL Descripcin: El bit de habilitacin indica que la instruccin DDT est habilitada. Se establece el bit de efectuado cuando la instruccin DDT compara el ltimo bit en los arreglos de origen y referencia. Se establece el bit de encontrado cada vez que la instruccin DDT registra una desigualdad (operacin uno a uno) o despus de registrar todas las desigualdades (operacin de todos por escn). El bit de inhibicin indica el modo de bsqueda DDT. 0 = modo todos 1 = modo de una desigualdad a la vez Se establece el bit de error si la comparacin .POS < 0, la comparacin .LEN < 0, el resultado .POS < 0 el resultado .LEN < 0. La instruccin ya no se ejecuta hasta que el programa restablece el bit .ER. El valor de longitud identifica el nmero de bits que se comparan. El valor de posicin identifica el bit actual.

.IN

BOOL

.ER

BOOL

.LEN .POS

DINT DINT

Estructura CONTROL de resultado:


Mnemnico: Tipo de datos: .DN .LEN .POS BOOL DINT DINT Descripcin: Se establece el bit de efectuado cuando el arreglo de resultados est lleno. El valor de longitud identifica el nmero de ubicaciones de almacenamiento en el arreglo de resultados. El valor de posicin identifica la posicin actual en el arreglo de resultados.

Descripcin: La instruccin DDT compara los bits en un arreglo de origen contra los bits en un arreglo de referencia para determinar los cambios de estado. Una vez habilitada, la instruccin DDT compara los bits en el arreglo de origen contra los bits en el arreglo de referencia, registra el nmero de bit de cada desigualdad en el arreglo de resultados y cambia el valor de referencia para que coincida con el valor del bit de origen correspondiente. La instruccin DDT opera en la memoria de datos contiguos. Vea la pgina, Cmo ver un arreglo como un bloque de memoria, para obtener ms informacin B-4. La diferencia entre las instrucciones DDT y FBC es que cada vez que la instruccin DDT encuentra una desigualdad, la instruccin DDT cambia el bit de referencia para que coincida con el bit de origen. La instruccin FBC no cambia el bit de referencia.

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-11

Cmo seleccionar el modo buscar


Si usted desea detectar: Una desigualdad a la vez Seleccione este modo: Establezca el bit .IN en la estructura CONTROL de comparacin. Cada vez que la condicin de entrada de rengln va de falso a verdadero, la instruccin DDT busca la prxima desigualdad entre los arreglos de origen y referencia. Cuando la instruccin encuentra una desigualdad, sta establece el bit .FD, registra la posicin de la desigualdad y detiene la ejecucin. Restablezca el bit .IN en la estructura CONTROL de comparacin. Cada vez que la condicin de entrada de rengln va de falso a verdadero, la instruccin DDT busca todas las desigualdades entre los arreglos de origen y referencia.

Todas las desigualdades

Ejecucin:
Condicin: preescn
se restablece el bit .EN se restablece el bit .FD

Accin:

examine el bit .DN de comparacin

.DN de comparacin = 0

.DN de comparacin = 1 se restablece el bit .DN se restablece el valor .POS de comparacin se restablece el bit .DN de resultado se restablece el valor .POS de resultado

la condicin de salida de rengln est establecida como falsa

fin

1756-6.4.1ES - Octubre de 1999

12-12

Instrucciones especiales (FBC, DDT, DTR, PID)

Condicin: la condicin de entrada de rengln es falsa


se restablece el bit .EN se restablece el bit .FD

Accin:

examine el bit .DN de comparacin

.DN de comparacin = 0

.DN de comparacin = 1 se restablece el bit .DN se restablece el valor .POS de comparacin se restablece el bit .DN de resultado se restablece el valor .POS de resultado

la condicin de salida de rengln est establecida como falsa

fin

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-13

Condicin:

Accin:

la condicin de entrada de rengln es verdadera

examine el bit .EN de comparacin

.EN de comparacin = 1

ir a salida

.EN de comparacin = 0 se establece el bit .EN examine el bit .DN de comparacin compare.DN bit = 1 ir a salida

compare.DN bit = 0 se restablece el bit .ER se restablece el bit .FD .LEN de comparacin 0 s

no

salida

.POS de comparacin = 0

no la condicin de salida de rengln est establecida como verdadera

se establece el bit .ER

comparacin

ir a salida

fin

pgina 12-14

1756-6.4.1ES - Octubre de 1999

12-14

Instrucciones especiales (FBC, DDT, DTR, PID)

Condicin:
comparacin

Accin:

.POS de comparacin .LEN de comparacin no

.POS de comparacin = .LEN de comparacin se establece el bit .DN

ir a salida

pgina 12-13

result.DN = 1
origen[compare.POS]= referencia[compare.POS]

no

se establece el bit compare.FD reference[compare.POS] = source[compare.POS]

examine el bit result.DN result.DN = 0

se restablece el bit .DN de resultado se restablece el valor .POS de resultado

s compare.POS = compare.POS + 1

s result.POS < 0

no

s result.LEN 0

no

se establece el bit .ER

s fallo mayor

result.POS > tamao del arreglo de resultados no result[result.POS] = compare.POS result.POS = result.POS + 1

ir a salida

pgina 12-6

no

result.POS > result.LEN

s se establece el bit result.DN

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-15

Indicadores de estado aritmtico: no afectados Condiciones de fallo:


Ocurrir un fallo mayor si: Result.POS > tamao del arreglo de resultados Tipo de fallo: 4 Cdigo de fallo: 20

Ejemplo de DDT:

Una vez habilitada, la instruccin DDT compara el origen array_dint1 contra la referencia array_dint2 y almacena la ubicaciones de las desigualdades en el resultado array_dint3. El controlador tambin cambia los bits desiguales en la referencia array_dint2 para que coincidan con el origen array_dint1.

origen 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 array_dint1

referencia (antes de la 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 comparacin) array_dint2 resultado array_dint3 5 3

referencia (despus de la 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 comparacin) array_dint2

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: DDT(source,reference,result,cmp_control,length,position,result_control, length,position); DDT source reference result cmp_control length position result_control length position

Instrucciones relacionadas: FBC, DTR

1756-6.4.1ES - Octubre de 1999

12-16

Instrucciones especiales (FBC, DDT, DTR, PID)

Data Transitional (DTR)


Operandos:

La instruccin DTR es una instruccin de entrada.

Operando: Origen

Tipo: DINT

Formato: valor inmediato tag valor inmediato tag tag

Descripcin: arreglo que se compara contra la referencia qu bits se bloquean o se pasan

Mscara

DINT

Referencia

DINT

arreglo que se compara contra el origen

Descripcin: La instruccin DTR pasa el valor de origen mediante una mscara y compara el resultado con el valor de referencia. La instruccin DTR tambin escribe el valor de origen enmascarado en el valor de referencia para la prxima comparacin. El origen no se cambia. Un nmero 1 en la mscara significa que se pasa el bit de datos. Un nmero 0 en la mscara significa que se bloquea el bit de datos. Cuando el origen enmascarado difiere de la referencia, la condicin de salida de rengln se hace verdadera durante un escn. Cuando el origen enmascarado es idntico al de la referencia, la condicin de salida de rengln es falsa. ATENCION: La programacin en lnea con esta instruccin puede ser peligrosa. Si el valor de referencia es diferente que el valor de origen, la condicin de salida de rengln es verdadera. Tenga cuidado si inserta esta instruccin cuando el procesador est en el modo marcha o marcha remota.

Cmo introducir un valor de mscara inmediato


Cuando introduce una mscara, el software de programacin vuelve a establecer los valores decimales predeterminados. Si desea introducir una mscara usando otro formato, ponga el prefijo correcto antes del valor.
Prefijo: 16# 8# 2# Descripcin: hexadecimal por ejemplo; 16#0F0F octal por ejemplo; 8#16 binario por ejemplo; 2#00110011

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-17

Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La referencia = mscara AND de origen. La condicin de salida de rengln se establece como falsa. La referencia = mscara AND de origen. La condicin de salida de rengln se establece como falsa.

origen enmascarado = referencia

no

la referencia est establecida para ser igual al origen enmascarado la condicin de salida de rengln est establecida como verdadera

la condicin de salida de rengln est establecida como falsa fin

Indicadores de estado aritmtico: no afectados Condiciones de fallo: ninguna

1756-6.4.1ES - Octubre de 1999

12-18

Instrucciones especiales (FBC, DDT, DTR, PID)

Ejemplo de DTR:

Una vez habilitada, la instruccin DTR enmascara value_1. Si hay una diferencia entre los dos valores, la condicin de salida de rengln se establece como verdadera.

ejemplo 1 origen value_1

ejemplo 2

mscara = 0FFF 00 0 0 1 1 1 1 1 1 1 1 1 1 1 1 00 0 0 1 1 1 1 1 1 1 1 1 1 1 1

escn actual escn anterior

0 0

1 1

8 8

3 3

referencia value_2

0 0

1 1

8 8

7 3

escn actual escn anterior

El rengln permanece falso siempre que el valor de entrada no cambie.

El rengln permanece verdadero durante un escn cuando se detecta un cambio.


13385

Una cifra 0 en la mscara no cambia el bit. Otros formatos:


Formato: texto neutro texto ASCII Sintaxis: DTR(source,mask,reference); DTR source mask reference

Instrucciones relacionadas: FBC, DDT

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-19

Proportional Integral Derivative La instruccin PID es una instruccin de salida. (PID)


Operandos:
Operando: PID Variable de proceso Tipo: PID SINT INT DINT REAL SINT INT DINT REAL Formato: estructura tag Descripcin: Estructura PID valor que desea controlar

Valor retenido

valor inmediato tag

(opcional) salida de una estacin manual/ automtica de hardware que evita la salida del controlador introduzca 0 si no desea este parmetro
valor que va al dispositivo de control final (vlvula, amortiguador, etc.) Si usted usa la banda muerta, la variable de control debe ser REAL, si no se forzar a 0 cuando el error se encuentre dentro de la banda muerta opcional tag PID para el PID maestro Si realiza el control en cascada y este PID es un lazo de esclavo, introduzca el nombre del PID maestro introduzca 0 si no desea este parmetro opcional estado actual del bit mantenido de un canal de salida analgico 1756 para aceptar el reinicio sin perturbaciones introduzca 0 si no desea este parmetro opcional valor de lectura de datos de un canal de salida analgico 1756 para aceptar el reinicio sin perturbaciones introduzca 0 si no desea este parmetro para visualizacin solamente valor actual del punto de ajuste para visualizacin solamente valor actual de la variable de proceso escalada para visualizacin solamente valor de porcentaje de salida actual

Variable de control

SINT INT DINT REAL

tag

Lazo PID maestro PID

estructura

Bit mantenido

BOOL

tag

Valor mantenido

SINT INT DINT REAL

tag

Punto de ajuste Variable de proceso Porcentaje de salida

1756-6.4.1ES - Octubre de 1999

12-20

Instrucciones especiales (FBC, DDT, DTR, PID)

Estructura PID Especifique una estructura PID nica para cada instruccin PID.
Mnemnico: Tipo de datos: .CTL DINT Descripcin: El miembro .CTL proporciona acceso a los miembros de estado (bits) en una palabra de 32 bits. La instruccin PID establece los bits 07 a 15. Este bit: 31 30 29 28 27 26 25 24 23 22 21 20 Este bit: 15 14 13 12 11 10 09 08 07 .SP .KP REAL REAL punto de ajuste independiente dependiente .KI REAL independiente dependiente .KD REAL independiente dependiente .BIAS .MAXS .MINS .DB REAL REAL REAL REAL ganancia proporcional (sin unidad) ganancia del controlador (sin unidad) ganancia integral (1/seg) tiempo de restablecimiento (minutos por repeticin) ganancia de derivada (segundos) tiempo de rgimen (minutos) Es este miembro: .EN .CT .CL .PVT .DOE .SWM .CA .MO .PE .NDF .NOBC .NOZC Es este miembro que la instruccin PID establece: .INI .SPOR .OLL .OLH .EWD .DVNA .DVPA .PVLA .PVHA

porcentaje de prealimentacin o polarizacin valor de escalado mximo de unidad de ingeniera valor de escalado mnimo de unidad de ingeniera unidades de ingeniera de banda muerta

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-21

Mnemnico: Tipo de datos: .SO .MAXO .MINO .UPD .PV .ERR .OUT .PVH .PVL .DVP .DVN .PVDB .DVDB .MAXI .MINI .TIE .MAXCV .MINCV .MINTIE .MAXTIE REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL

Descripcin: porcentaje de salida establecido lmite mximo de salida (% de salida) lmite mnimo de salida (% de salida) tiempo de actualizacin del lazo (segundos) valor PV escalado valor de error escalado porcentaje de salida lmite de alarma alta de la variable de proceso lmite de alarma baja de la variable de proceso lmite de alarma de desviacin positiva lmite de alarma de desviacin negativa banda muerta de la alarma de variable de proceso banda muerta de la alarma de desviacin valor PV mximo (entrada sin escala) valor PV mnimo (entrada sin escala) valor retenido para el control manual valor CV mximo (que corresponde al 100 %) valor CV mnimo (que corresponde al 0 %) valor retenido mnimo (que corresponde al 100 %) valor retenido mximo (que corresponde al 0 %)

1756-6.4.1ES - Octubre de 1999

12-22

Instrucciones especiales (FBC, DDT, DTR, PID)

Mnemnico: Tipo de datos: .DATA REAL[17]

Descripcin: El miembro .DATA almacena: Elemento: .DATA[0] .DATA[1] .DATA[2] .DATA[3] .DATA[4] .DATA[5] .DATA[6] .DATA[7] .DATA[8] .DATA[9] .DATA[10] .DATA[11] .DATA[12] .DATA[13] .DATA[14] .DATA[15] .DATA[16] Descripcin: acumulacin integral valor temporal de uniformidad derivada valor .PV anterior valor .ERR anterior valor .SP vlido anterior constante de escala de porcentaje constante de escala .PV constante de escala derivada valor .KP anterior valor .KI anterior valor .KD anterior ganancia independiente .KP ganancia independiente .KI ganancia independiente .KD valor .CV anterior constante sin escala .CV constante sin escala de valor retenido

.EN .CT .CL .PVT .DOE .SWM .CA .MO .PE .NDF .NOBC .NOZC .INI .SPOR .OLL .OLH .EWD .DVNA

BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL

habilitado tipo en cascada (0 = esclavo; 1 = maestro) lazo en cascada (0 = no; 1 = s) seguimiento de variable de proceso (0 = no; 1 = s) derivada de (0 = PV; 1 = error) modo manual de software (0 = no-auto; 1 = s-interr. manual) accin de control (0 significa E = SP-PV; 1 significa E = PV-SP) modo estacin (0 = automtico; 1 = manual) ecuacin PID (0 = independiente; 1 = dependiente) uniformidad derivada (0 = no; 1 = s) clculo sin datos originales de polarizacin (0 = no; 1 = s) paso por cero para banda muerta (0 = no; 1 = s para banda muerta) PID inicializado (0 = no; 1 = s) punto de ajuste fuera de rango (0 = no; 1 = s) CV se encuentra por debajo del lmite mnimo de salida (0 = no; 1 = s) CV se encuentra por encima del lmite mximo de salida (0 = no; 1 = s) error se encuentra dentro de la banda muerta (0 = no; 1 = s) alarma baja de desviacin (0 = no; 1 = s)

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-23

Mnemnico: Tipo de datos: .DVPA .PVLA .PVHA BOOL BOOL BOOL

Descripcin: alarma alta de desviacin (0 = no; 1 = s) alarma baja de PV (0 = no; 1 = s) alarma alta de PV (0 = no; 1 = s)

Descripcin: La instruccin PID controla una variable de proceso tal como el flujo, la presin, la temperatura o el nivel. La instruccin PID tpicamente recibe la variable de proceso (PV) de un mdulo de entrada analgica y modula una salida de variable de control (CV) en un mdulo de salida analgica para mantener la variable de proceso en el punto de ajuste deseado. El bit .EN indica el estado de ejecucin. Se establece el bit .EN cuando la condicin de entrada de rengln cambia de falso a verdadero. Se restablece el bit .EN cuando la condicin de entrada de rengln se hace falsa. La instruccin PID no usa un bit .DN. La instruccin PID ejecuta cada escn siempre que la condicin de entrada de rengln sea verdadera.

bit .EN

estado de rengln ejecucin de la instruccin PID

41027

Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: no afectados Condiciones de fallo:


Ocurrir un fallo menor si: .UPD 0 punto de ajuste fuera de rango Tipo de fallo: 4 4 Cdigo de fallo: 35 36

Importante: Estos fallos eran fallos mayores en el procesador PLC-5.

1756-6.4.1ES - Octubre de 1999

12-24

Instrucciones especiales (FBC, DDT, DTR, PID)

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: PID(pv,pv_type,tieback,cv,cv_type,master,inhold_bit,inhold_value); PID pv pv_type tieback cv cv_type master inhold_bit inhold_value

Cmo configurar una instruccin PID

Despus de introducir la instruccin PID y especificar la estructura PID, usted usa las fichas de configuracin para especificar cmo debe funcionar la instruccin PID.

Haga clic aqu para configurar la instruccin PID

Cmo especificar el ajuste


Seleccione la ficha Ajuste. Los cambios se realizan despus de hacer clic en otro campo, hace clic en OK, hacer clic en Aplicar o hacer clic en Enter.
En este campo Punto de ajuste (SP) Porcentaje de salida establecido Polarizacin de salida Especifique: Introduzca un valor de punto de ajuste (.SP). Introduzca un porcentaje de salida (.SO). En el modo manual de software, este valor se usa para la salida. En el modo automtico, este valor muestra el porcentaje de salida. Introduzca un porcentaje de polarizacin de salida (.BIAS).

Ganancia proporcional (Kp) Introduzca la ganancia proporcional (.KP). Para las ganancias independientes, sta es la ganancia proporcional (sin unidad). Para las ganancias dependientes, sta es la ganancia del controlador (sin unidad). Ganancia integral (Ki) Introduzca la ganancia integral (.KI). Para las ganancias independientes, sta es la ganancia integral (1/seg). Para las ganancias dependientes, este valor es el tiempo de restablecimiento (minutos por repeticin). Introduzca la ganancia de derivada (.KD). Para las ganancias independientes, sta es la ganancia de derivada (segundos). Para las ganancias dependientes, este valor es el tiempo de rgimen (minutos). Seleccione manual (.MO) o manual mediante software (.SWM). El modo manual anula el modo manual mediante software si se seleccionan los dos.

Tiempo de derivada (Kd)

Modo manual

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-25

Cmo especificar la configuracin


Seleccione la ficha Configuracin. Usted debe hacer clic en OK o Aplicar para que los cambios se realicen.
En este campo Ecuacin PID Especifique: Seleccione ganancias independientes o ganancias dependientes (.PE). Use las ganancias independientes cuando desee que tres ganancias (P, I y D) realicen la operacin independientemente. Use las ganancias dependientes cuando desee una ganancia de controlador general que afecte los tres trminos (P, I y D). Seleccione E = PV-SP o E = SP-PV para la accin de control (.CA). Seleccione PV o error (.DOE). Use la derivada de PV para eliminar los picos de salida que resultan de los cambios del punto de ajuste. Use la derivada de error para obtener respuestas rpidas de cambios del punto de ajuste cuando al algoritmo puede tolerar los sobreimpulsos.

Accin de control Derivada de

Tiempo de actualizacin del Introduzca el tiempo de actualizacin (.UPD) para la instruccin (mayor que o lazo igual a 0.01 segundos). Lmite alto CV Lmite bajo CV Valor de la banda muerta Sin uniformidad de derivada Introduzca un lmite alto para la variable de control (.MAXO). Introduzca un lmite bajo para la variable de control (.MINO). Introduzca un valor de banda muerta (.DB). Habilite o inhabilite esta seleccin (.NDF).

Sin clculo de polarizacin Habilite o inhabilite esta seleccin (.NOBC). Sin paso por cero en la banda muerta Seguimiento PV Lazo en cascada Tipo cascada Habilite o inhabilite esta seleccin (.NOZC). Habilite o inhabilite esta seleccin (.PVT). Habilite o inhabilite esta seleccin (.CL). Si se habilita un lazo en cascada, seleccione un esclavo o maestro (.CT).

Cmo especificar alarmas


Seleccione la ficha Alarmas. Usted debe hacer clic en OK o Aplicar para que los cambios se realicen.
En este campo PV alto PV bajo Banda muerta PV desviacin positiva desviacin negativa banda muerta de desviacin Especifique: Introduzca un valor de alarma alta PV (.PVH). Introduzca un valor de alarma baja PV (.PVL). Introduzca un valor de banda muerta de alarma PV (.PVDB). Introduzca un valor de desviacin positivo (.DVP). Introduzca un valor de desviacin negativo (.DVN). Introduzca un valor de banda muerta de alarma de desviacin (.DVDB).

1756-6.4.1ES - Octubre de 1999

12-26

Instrucciones especiales (FBC, DDT, DTR, PID)

Cmo especificar la escala


Seleccione la ficha Escala. Usted debe hacer clic en OK o Aplicar para que los cambios se realicen.
En este campo PV mximo sin escala PV mnimo sin escala Mximo de unidades de ingeniera PV Mnimo de unidades de ingeniera PV CV mximo CV mnimo Valor retenido mximo Valor retenido mnimo PID inicializado Especifique: Introduzca un valor PV mximo (.MAXI) que sea igual al valor mximo sin escala recibido del canal de entrada analgico para el valor PV. Introduzca un valor PV mnimo (.MINI) que sea igual al valor mnimo sin escala recibido del canal de entrada analgico para el valor PV. Introduzca el mximo de unidades de ingeniera correspondientes a .MAXI (.MAXS). Introduzca el mnimo de unidades de ingeniera correspondientes a .MINI (.MINS). Introduzca un valor CV mximo correspondiente al 100 % (.MAXCV). Introduzca un valor CV mnimo correspondiente al 0 % (.MINCV). Introduzca un valor retenido mximo (.MAXTIE) que sea igual al valor mximo sin escala recibido del canal de entrada analgica para el valor retenido. Introduzca un valor retenido mnimo (.MINTIE) que sea igual al valor mnimo sin escala recibido del canal de entrada analgica para el valor retenido. Si cambia las constantes de escala durante el modo marcha, desactive este campo para reinicializar los valores sin escala internos (.INI).

Cmo usar las instrucciones PID

El control de lazo cerrado PID mantiene una variable de proceso en un punto de ajuste deseado. La figura siguiente muestra un ejemplo de rgimen de flujo/nivel de fluido:

punto de ajuste

error Ecuacin PID

rgimen de flujo variable de proceso variable de control

detector de nivel

14271

En el ejemplo anterior, el nivel en el tanque se compara con el punto de ajuste. Si el nivel sobrepasa el punto de ajuste, la ecuacin PID incrementa la variable de control que causa la abertura de la vlvula de salida del tanque, reduciendo as el nivel en el tanque.

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-27

La ecuacin PID usada en la instruccin PID es una ecuacin de formato posicional que ofrece la opcin de usar ganancias independientes o ganancias dependientes. Cuando se usan las ganancias independientes, las ganancias proporcionales, integrales y de derivada afectan solamente sus trminos proporcionales, integrales o de derivada respectivamente. Cuando se usan las ganancias dependientes, la ganancia proporcional se reemplaza con una ganancia de controlador que afecta los tres trminos. Usted puede usar cualquiera de las ecuaciones para realizar el mismo tipo de control. Se proporcionan dos tipos de ecuacin para permitirle usar el tipo con que est ms familiarizado.
Opcin de ganancias: Ganancias dependientes (norma ISA) Derivada de: error (E)
t

Ecuacin:

CV = K C

1 dE E + ---- Edt + T d ------ + BIAS Ti dt


0

variable de proceso (PV)

E = SP PV
t

CV = K C

1 dPV E + ---- Edt T d ---------- + BIAS Ti dt


0

E = PV SP
t

CV = K C

dPV 1 E + ---- Edt + T d ---------- + BIAS dt Ti


0

ganancias independientes

error (E)
t

dE CV = K P E + K i Edt + Kd ------ + BIAS dt


0

variable de proceso (PV)

E = SP PV
t

dPV CV = K P E + Ki Edt K d ---------- + BIAS dt


0

E = PV SP
t

dPV CV = K P E + K i Edt + Kd ---------- + BIAS dt


0

1756-6.4.1ES - Octubre de 1999

12-28

Instrucciones especiales (FBC, DDT, DTR, PID)

donde:
Variable: KP Ki Descripcin: ganancia proporcional (sin unidad) Kp = Kc sin unidad ganancia integral (segundos 1) Para convertir entre Ki (ganancia integral) y Ti (tiempo de restablecimiento), use:
KC K i = ---------60T i

Kd

ganancia de derivada (segundos) Para convertir entre Kd (ganancia de derivada) y Td (tiempo de rgimen), use: Kd = Kc (Td) 60 ganancia del controlador (sin unidad) tiempo de restablecimiento (minutos/repeticin) tiempo de rgimen (minutos) punto de ajuste variable de proceso error [(SP PV) o (PV SP)] prealimentacin o polarizacin variable de control tiempo de actualizacin del lazo

KC Ti Td SP PV E BIAS CV dt

Si usted no desea usar un trmino determinado de la ecuacin PID, ponga la ganancia en cero. Por ejemplo, si no desea una accin de derivada, ponga Kd o Td en cero.

Bloqueo de accin integral y transferencia sin perturbaciones de manual a automtico


La instruccin PID evita automticamente la accin integral impidiendo que el trmino integral se acumule cuando la salida CV llegue a sus valores mximo o mnimo segn los establecen .MAXO y .MIN. El trmino integral acumulado permanece fijo hasta que la salida CV cae por debajo del lmite mximo o sube por encima del lmite mnimo. La acumulacin integral normal se reanuda automticamente.

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-29

La instruccin PID es compatible con dos modos manuales de control:


Modo manual de control: Descripcin: manual mediante software tambin conocido como modo de salida establecida (.SWM) permite que el usuario establezca el porcentaje de salida mediante el software El valor de salida establecida (.SO) se usa como la salida del lazo. El valor de salida establecida tpicamente proviene de una entrada de operador desde un dispositivo de interface de operador. manual (.MO) halla el valor retenido, como entrada, y ajusta sus variables internas para generar el mismo valor en la salida. La entrada de valor retenido a la instruccin PID se escala al 0 100 % segn los valores de .MINTIE y .MAXTIE y se usa como la salida del lazo. La entrada del valor retenido tpicamente proviene de la salida de una estacin manual/automtica de hardware, la cual evita la salida del controlador. Nota: El modo manual anula el modo manual mediante software si ambos bits de modo estn establecidos.

La instruccin PID tambin proporciona automticamente las transferencias sin perturbaciones desde el modo manual mediante software hacia el modo automtico o desde el modo manual al modo automtico. La instruccin PID calcula en base a datos originales el valor del trmino de acumulacin integral requerido para hacer que la salida CV siga el valor de salida establecida (.SO) en el modo manual mediante software o la entrada del valor retenido en el modo manual. De esta manera, cuando el lazo cambia al modo automtico, la salida CV se inicia a partir de la salida establecida o el valor retenido y no ocurre una perturbacin en el valor de salida. La instruccin PID tambin puede proporcionar automticamente una transferencia sin perturbaciones del modo manual al modo automtico aun cuando no se usa el control integral (por ejemplo, Ki = 0). En tal caso, la instruccin modifica el trmino .BIAS para hacer que la salida CV siga la salida establecida o los valores retenidos. Cuando se reanuda el control automtico, el trmino .BIAS mantiene su ltimo valor. Puede inhabilitar el clculo en base a datos originales del trmino .BIAS estableciendo el bit .NOBC en la estructura de datos PID. Tome nota de que si establece el bit .NOBC como verdadero, la instruccin PID ya no proporciona la transferencia sin perturbaciones desde el modo manual al modo automtico cuando no se usa el control integral.

Temporizacin de la instruccin PID


La instruccin PID y el muestreo de la variable de proceso deben actualizarse segn un rgimen peridico. Este tiempo de actualizacin est relacionado al proceso fsico que se controla. Para los lazos muy lentos, tales como los lazos de temperatura, un tiempo de actualizacin de una vez por segundo o ms largo es generalmente suficiente para obtener un control adecuado. Los lazos ms rpidos, tales como los lazos de presin o flujo, pueden requerir un tiempo de actualizacin tal como una vez cada 250 milisegundos. Hay casos raros, como el control de tensin de una bobina desen-

1756-6.4.1ES - Octubre de 1999

12-30

Instrucciones especiales (FBC, DDT, DTR, PID)

rolladora, que requieren actualizaciones de datos a una velocidad de una vez cada 10 milisegundos o ms rpido. Puesto que la instruccin PID usa una base de tiempo para calcular, usted debe sincronizar la ejecucin de esta instruccin con el muestreo de la variable de proceso (PV). La manera ms fcil de ejecutar la instruccin PID es colocar sta en una tarea peridica. Establezca el tiempo de actualizacin del lazo (.UPD) para que sea igual al rgimen de la tarea peridica y asegrese de que la instruccin PID se ejecuta durante cada escn de la tarea peridica. Por ejemplo, use un rengln de lgica de escalera sin condicin.

Al usar una tarea peridica, asegrese de que la entrada analgica usada para la variable de proceso se actualiza y enva al procesador a un rgimen sumamente ms rpido que el rgimen de la tarea peridica. En el caso ms idneo, la variable de proceso se debe enviar al procesador por lo menos cinco a diez veces ms rpido que el rgimen de la tarea peridica. Esto minimiza la diferencia de tiempo entre los muestreos reales de la variable de proceso y la ejecucin del lazo PID. Por ejemplo, si el lazo PID se encuentra en una tarea peridica de 250 milisegundos, use un tiempo de actualizacin del lazo de 250 milisegundos (.UPD = .25) y configure el mdulo de entrada analgica para que produzca datos por lo menos cada 25 a 50 msegs.

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-31

Otro mtodo menos preciso de ejecutar una instruccin PID es colocar la instruccin en una tarea continua y usar un bit de efectuado del temporizador para activar la ejecucin de la instruccin PID.

Con este mtodo, el tiempo de actualizacin del lazo de la instruccin PID se debe establecer para que sea igual al valor predeterminado del temporizador. Igual al uso de una tarea peridica, se debe establecer el mdulo de entrada analgica para producir la variable de proceso a un rgimen sumamente ms rpido que el tiempo de actualizacin del lazo. Debe usar el mtodo de temporizador de ejecucin PID solamente para los lazos con tiempos de actualizacin del lazo que sean por lo menos varias veces ms largos que el tiempo de ejecucin en el peor de los casos para la tarea continua. La manera ms precisa de ejecutar una instruccin PID es usar la funcin de muestreo en tiempo real (RTS) de los mdulos de entrada analgica 1756. El mdulo de entrada analgica realiza un muestreo de sus entradas al rgimen de muestreo en tiempo real que se configur al instalar el mdulo. Cuando expira el perodo de muestreo en tiempo real del mdulo, ste actualiza sus entradas y actualiza un sello de hora continuo (representado por el miembro RollingTimestamp de la estructura de datos de entrada analgica) producido por el mdulo. El sello de hora tiene un rango de 0 32.767 milisegundos. Monitoree el sello de hora. Cuando cambia, se ha recibido un nuevo muestreo de la variable de proceso. Cada vez que cambie un sello de hora, ejecute la instruccin PID una vez. Puesto que el muestreo de la variable de proceso es accionado por el mdulo de entrada analgica, el tiempo de muestreo de entrada es muy preciso y el tiempo de actualizacin del lazo usado por la instruccin PID debe establecerse para que sea igual al tiempo RTS del mdulo de entrada analgica. Para asegurarse de no pasar por alto los muestreos de la variable de proceso, ejecute la lgica a un rgimen ms rpido que el tiempo RTS. Por ejemplo, si el tiempo RTS es 250 msegs, puede colocar la lgica PID en una tarea peridica que se ejecuta cada 100 msegs asegurando as que nunca se pasa por alto un muestreo. Hasta es posible colocar la lgica PID en una tarea continua siempre que se asegure de que la lgica se actualiza ms frecuentemente que una vez cada 250 milisegundos.
1756-6.4.1ES - Octubre de 1999

12-32

Instrucciones especiales (FBC, DDT, DTR, PID)

Una ejemplo del mtodo RTS de ejecucin se muestra a continuacin. La ejecucin de la instruccin PID depende de la recepcin de nuevos datos de entrada analgica. Si el mdulo de entrada anaIgica entra en fallo o se retira, el controlador ya no recibe los sellos de hora continuos y el lazo PID detiene la ejecucin. Debe monitorear el bit de estado de la entrada analgica PV y, si presenta un estado deficiente, fuerce el lazo en el modo manual mediante software y ejecute el lazo durante cada escn. Esto permite que el operador pueda cambiar manualmente la salida del lazo PID.

Reinicio sin perturbaciones


La instruccin PID puede interactuar con los mdulos de salida analgica 1756 para ser compatible con un reinicio sin perturbaciones cuando el controlador cambia del modo de programacin al modo marcha o cuando se enciende el controlador. Cuando un mdulo de salida analgica 1756 pierde comunicacin con el controlador o cuando detecta que el controlador est en el modo de programacin, el mdulo de salida analgica establece sus salidas en los valores de condicin de fallo que usted especific al configurar el mdulo. Cuando el controlador retorna al modo marcha o cuando restablece la comunicacin con el mdulo de salida analgica, puede hacer que la instruccin PID restablezca automticamente su salida de variable de control para ser igual a la salida analgica usando los parmetros del bit mantenido y valor mantenido en la instruccin PID.

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-33

Para establecer un reinicio sin perturbaciones:


Haga lo siguiente: Detalles: Configurar el canal del mdulo de salida analgica 1756 Selecciona la casilla de verificacin retener hasta inicializacin que recibe la variable de control desde la instruccin PID en la pgina de propiedades para el canal especfico del mdulo. Esto indica al mdulo de salida analgica que, cuando el controlador retorna al modo marcha o restablece la comunicacin con el mdulo, el mdulo debe mantener la salida analgica en su valor actual hasta que el valor enviado desde el controlador coincida (dentro del 0,1 % del intervalo) con el valor actual usado por el canal de salida. La salida del controlador se aumentar al valor de salida actualmente mantenido usando el trmino .BIAS. Este aumento es similar a la transferencia sin perturbaciones automtica. Introducir el tag del bit mantenido y el tag del valor mantenido en la instruccin PID El mdulo de salida analgica 1756 retorna dos valores para cada canal en su estructura de datos de entrada. El bit de estado InHold (por ejemplo, .Ch2InHold), cuando es verdadero, indica que el canal de salida analgica mantiene su valor. El valor de lectura de datos (por ejemplo, .CH2Data) muestra el valor de salida actual en unidades de ingeniera. Introduzca el tag del bit de estado InHold como el parmetro del bit InHold de la instruccin PID. Introduzca el tag del valor de lectura de datos como el parmetro del valor mantenido. Cuando el bit mantenido se hace verdadero, la instruccin PID mueve el valor mantenido en la salida de variable de control y vuelve a inicializarse para ser compatible con un reinicio sin perturbaciones en dicho valor. Cuando el mdulo de salida analgica recibe su valor desde el controlador, desactiva el bit de estado InHold, lo cual permite que la instruccin PID comience a controlar normalmente.

La instruccin PID siguiente usa el bit mantenido y el valor mantenido:

1756-6.4.1ES - Octubre de 1999

12-34

Instrucciones especiales (FBC, DDT, DTR, PID)

Uniformidad de derivada
El clculo de la derivada se mejora mediante un filtro de uniformidad de derivada. Este filtro digital de primer orden y paso bajo ayuda a minimizar los picos grandes del trmino de derivada causados por el ruido en la PV. Esta uniformidad se hace ms agresiva con los valores mayores de ganancia de derivada. Usted puede inhabilitar la uniformidad de derivada si el proceso requiere valores muy grandes de ganancia de derivada (por ejemplo, Kd > 10). Para inhabilitar la uniformidad de derivada, seleccione la opcin Sin uniformidad de derivada en la ficha Configuracin o establezca el bit .NDF en la estructura PID.

Cmo establecer la banda muerta


La banda muerta ajustable le permite seleccionar un rango de error por encima y por debajo del punto de ajuste donde no se cambia la salida siempre que el error permanezca dentro de este rango. Esta banda muerta le permite controlar la precisin de coincidencia de la variable de proceso con el punto de ajuste sin cambiar la salida. La banda muerta tambin ayuda a minimizar el desgaste del dispositivo de control final.

+ banda muerta punto de ajuste banda muerta error dentro del rango de la banda muerta

hora

41026

El paso por cero representa el control de la banda muerta que permite que la instruccin use el error para propsitos de computacin a la vez que la variable de proceso cruza en la banda muerta hasta cruzar el punto de ajuste. Una vez que la variable de proceso cruza el punto de ajuste (el error cruza cero y cambia signo) y siempre que la variable de proceso permanezca en la banda muerta, no se cambiar la salida. La banda muerta se extiende por encima y por debajo del punto de ajuste segn el valor especificado. Introduzca cero para inhibir la banda muerta. La banda muerta tiene las mismas unidades de escala que el punto de ajuste. Puede usar la banda muerta sin la funcin de paso por cero seleccionando la opcin sin paso por cero para la banda muerta en la ficha Configuracin o establezca el bit .NOZC en la estructura PID. Si usted usa la banda muerta, la variable de control debe ser REAL, si no se forzar a 0 cuando el error se encuentre dentro de la banda muerta

1756-6.4.1ES - Octubre de 1999

Instrucciones especiales (FBC, DDT, DTR, PID)

12-35

Cmo usar el lmite de salida


Usted puede establecer un lmite de salida (porcentaje de salida) en la salida de control. Cuando la instruccin detecta que la salida ha llegado a un lmite, establece un bit de alarma e impide que la salida sobrepase el lmite inferior o superior.

Prealimentacin o polarizacin de salida


Usted puede prealimentar una perturbacin del sistema alimentando el valor .BIAS en el valor de prealimentacin/polarizacin de la instruccin PID. El valor de prealimentacin representa una perturbacin alimentada en la instruccin PID antes de que la perturbacin puede cambiar la variable de proceso. La prealimentacin se usa frecuentemente para controlar los procesos con un retraso de transporte. Por ejemplo, un valor de prealimentacin que representa agua fra vertida en una mezcla tibia podra reforzar el valor de salida ms rpidamente que esperar hasta que cambia la variable de proceso como resultado del mezclado. Un valor de polarizacin se usa tpicamente cuando no se usa el control integral. En tal caso, el valor de polarizacin se puede ajustar para mantener la salida en el rango requerido para mantener la PV cerca del punto de ajuste.

Lazos en cascada
La instruccin PID realiza cascadas de dos lazos asignando la salida en porcentaje del lazo maestro al punto de ajuste del lazo de esclavo. El lazo de esclavo convierte automticamente la salida del lazo maestro a las unidades de ingeniera correctas para el punto de ajuste del lazo de esclavo segn los valores del lazo de esclavo para .MAXS y .MINS.

1756-6.4.1ES - Octubre de 1999

12-36

Instrucciones especiales (FBC, DDT, DTR, PID)

Cmo controlar una relacin


Usted puede mantener dos valores en una relacin usando una instruccin MUL con estos parmetros: valor no controlado valor controlado (el punto de ajuste resultante) que ser usado por la instruccin PID) relacin entre dos valores Introduzca lo siguiente en la instruccin MUL:
Para este parmetro MUL: destino origen A origen B Introduzca este valor: valor controlado valor no controlado relacin

1756-6.4.1ES - Octubre de 1999

Captulo

13

Instrucciones trigonomtricas
(SIN, COS, TAN, ASN, ACS, ATN)

Introduccin

Las instrucciones trigonomtricas evalan las operaciones aritmticas usando operaciones trigonomtricas.
Si usted desea: Hallar el seno de un valor. Hallar el coseno de un valor. Hallar la tangente de un valor. Hallar el arco seno de un valor. Hallar el arco coseno de un valor. Hallar el arco tangente de un valor. Use esta instruccin: SIN COS TAN ASN ACS ATN Vea la pgina: 13-2 13-4 13-6 13-8 13-10 13-12

Usted puede combinar los tipos de datos, pero esto puede resultar en una prdida de precisin y errores de redondeo, y la instruccin necesita ms tiempo para ejecutarse. Verifique el bit S:V para ver si el resultado se trunc. Los tipos de datos con letras negritas indican los tipos de datos ptimos. Una instruccin se ejecuta ms rpidamente y requiere menos memoria si todos los operandos de la instruccin usan el mismo tipo de datos ptimo, tpicamente DIN o REAL. Una instruccin trigonomtrica se ejecuta cada vez que se escanea la instruccin siempre que la condicin de entrada de rengln sea verdadera. Si desea que la instruccin se evale solamente una vez, use una instruccin ONS para activar la instruccin trigonomtrica.

1756-6.4.1ES - Octubre de 1999

13-2

Instrucciones trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Sine (SIN)
Operandos:

La instruccin SIN es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL SINT INT DINT REAL

Formato: valor inmediato tag tag

Descripcin: hallar el seno de este valor

Destino

tag para almacenar el resultado

Descripcin: La instruccin SIN halla el seno del valor de origen (en radianes) y almacena el resultado en el destino. El origen debe ser mayor o igual que 205887.4 y menor o igual que 205887.4. El valor resultante en el destino siempre es mayor o igual que 1 y menor o igual que 1. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. El controlador calcula el seno del origen y coloca el resultado en el destino. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de SIN:

Una vez habilitada, la instruccin SIN calcula el seno de value y coloca el resultado en result.

1756-6.4.1ES - Octubre de 1999

Instrucciones trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

13-3

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: SIN(source,destination); SIN source destination

Instrucciones relacionadas: CMP, CPT, COS, TAN, ASN, ACS, ATN, DEG, RAD

1756-6.4.1ES - Octubre de 1999

13-4

Instrucciones trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Cosine (COS)
Operandos:

La instruccin COS es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL SINT INT DINT REAL

Formato: valor inmediato tag tag

Descripcin: hallar el coseno de este valor

Destino

tag para almacenar el resultado

Descripcin: La instruccin COS halla el coseno del valor de origen (en radianes) y almacena el resultado en el destino. El origen debe ser mayor o igual que 205887.4 y menor o igual que 205887.4. El valor resultante en el destino siempre es mayor o igual que 1 y menor o igual que 1. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. El controlador calcula el coseno del origen y coloca el resultado en el destino. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de COS:

Una vez habilitada, la instruccin COS calcula el coseno de value y coloca el resultado en result.

1756-6.4.1ES - Octubre de 1999

Instrucciones trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

13-5

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: COS(source,destination); COS source destination

Instrucciones relacionadas: CMP, CPT, SIN, TAN, ASN, ACS, ATN, DEG, RAD

1756-6.4.1ES - Octubre de 1999

13-6

Instrucciones trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Tangent (TAN)
Operandos:

La instruccin TAN es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL SINT INT DINT REAL

Formato: valor inmediato tag tag

Descripcin: hallar la tangente de este valor

Destino

tag para almacenar el resultado

Descripcin: La instruccin TAN halla la tangente del valor de origen (en radianes) y almacena el resultado en el destino. El origen debe ser mayor o igual que 102943.7 y menor o igual que 102943.7. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. El controlador calcula la tangente del origen y coloca el resultado en el destino. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de TAN:

Una vez habilitada, la instruccin TAN calcula la tangente de value y coloca el resultado en result.

1756-6.4.1ES - Octubre de 1999

Instrucciones trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

13-7

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: TAN(source,destination); TAN source destination

Instrucciones relacionadas: CMP, CPT, COS, SIN, ASN, ACS, ATN, DEG, RAD

1756-6.4.1ES - Octubre de 1999

13-8

Instrucciones trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Arc Sine (ASN)


Operandos:

La instruccin ASN es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL SINT INT DINT REAL

Formato: valor inmediato tag tag

Descripcin: hallar el arco seno de este valor

Destino

tag para almacenar el resultado

Descripcin: La instruccin ASN halla el arco seno del valor de origen y almacena el resultado en el destino (en radianes). El origen debe ser mayor o igual que 1 y menor o igual que 1. El valor resultante en el destino siempre es mayor o igual que /2 y menor o igual que /2 (donde = 3.141593). Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. El controlador calcula el arco seno del origen y coloca el resultado en el destino. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de ASN:

Una vez habilitada, la instruccin ASN calcula el arco seno de value y coloca el resultado en result.

1756-6.4.1ES - Octubre de 1999

Instrucciones trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

13-9

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: ASN(source,destination); ASN source destination

Instrucciones relacionadas: CMP, CPT, ACS, ATN, SIN, COS, TAN, DEG, RAD

1756-6.4.1ES - Octubre de 1999

13-10

Instrucciones trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Arc Cosine (ACS)


Operandos:

La instruccin ACS es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL SINT INT DINT REAL

Formato: valor inmediato tag tag

Descripcin: hallar el arco coseno de este valor

Destino

tag para almacenar el resultado

Descripcin: La instruccin ACS halla el arco coseno del valor de origen y almacena el resultado en el destino (en radianes). El origen debe ser mayor o igual que 1 y menor o igual que 1. El valor resultante en el destino siempre es mayor o igual que 0 y menor o igual que (donde = 3.141593). Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. El controlador calcula el arco coseno del origen y coloca el resultado en el destino. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de ASC:

Una vez habilitada, la instruccin ACS calcula el arco coseno de value y coloca el resultado en result.

1756-6.4.1ES - Octubre de 1999

Instrucciones trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

13-11

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: ACS(source,destination); ACS source destination

Instrucciones relacionadas: CMP, CPT, ASN, ATN, SIN, COS, TAN, DEG, RAD

1756-6.4.1ES - Octubre de 1999

13-12

Instrucciones trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Arc Tangent (ATN)


Operandos:

La instruccin ATN es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL SINT INT DINT REAL

Formato: valor inmediato tag tag

Descripcin: hallar el arco tangente de este valor

Destino

tag para almacenar el resultado

Descripcin: La instruccin ATN halla el arco tangente del valor de origen y almacena el resultado en el destino (en radianes). El valor resultante en el destino siempre es mayor o igual que /2 y menor o igual que /2 (donde = 3.141593). Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. El controlador calcula el arco tangente del origen y coloca el resultado en el destino. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de ATN:

Una vez habilitada, la instruccin ATN calcula el arco tangente value y coloca el resultado en result.

1756-6.4.1ES - Octubre de 1999

Instrucciones trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

13-13

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: ATN(source,destination); ATN source destination

Instrucciones relacionadas: CMP, CPT, ACS, ASN, SIN, COS, TAN, DEG, RAD

1756-6.4.1ES - Octubre de 1999

13-14

Instrucciones trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Notas:

1756-6.4.1ES - Octubre de 1999

Captulo

14

Instrucciones matemticas avanzadas


(LN, LOG, XPY)

Introduccin

Las instrucciones matemticas avanzadas incluyen estas instrucciones:


Si usted desea: Hallar el logaritmo natural de un valor. Hallar el logaritmo de base 10 de un valor. Elevar un valor a la potencia de otro valor. Use esta instruccin: LN LOG XPY Vea la pgina: 14-2 14-4 14-6

Usted puede combinar los tipos de datos, pero esto puede resultar en una prdida de precisin y errores de redondeo, y la instruccin necesita ms tiempo para ejecutarse. Verifique el bit S:V para ver si el resultado se trunc. Los tipos de datos con letras negritas indican los tipos de datos ptimos. Una instruccin se ejecuta ms rpidamente y requiere menos memoria si todos los operandos de la instruccin usan el mismo tipo de datos ptimo, tpicamente DIN o REAL. Una instruccin matemtica avanzada se ejecuta cada vez que se escanea la instruccin siempre que la condicin de entrada de rengln sea verdadera. Si desea que la instruccin se evale solamente una vez, use una instruccin ONS para activar la instruccin matemtica.

1756-6.4.1ES - Octubre de 1999

14-2

Instrucciones matemticas avanzadas (LN, LOG, XPY)

Natural Log (LN)


Operandos:

La instruccin LN es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL SINT INT DINT REAL

Formato: valor inmediato tag tag

Descripcin: hallar el logaritmo natural de este valor

Destino

tag para almacenar el resultado

Descripcin: La instruccin LN halla el logaritmo natural de origen y almacena el resultado en el destino. El origen debe ser mayor que cero, de lo contrario se establece el bit S:V. El destino resultante es mayor o igual que 87.33655 y menor o igual que 88.72284. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. El controlador calcula el logaritmo natural del origen y coloca el resultado en el destino. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de LN:

Una vez habilitada, la instruccin LN calcula el logaritmo natural de value y coloca el resultado en result.

1756-6.4.1ES - Octubre de 1999

Instrucciones matemticas avanzadas (LN, LOG, XPY)

14-3

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: LN(source,destination); LN source destination

Instrucciones relacionadas: CMP, CPT, LOG, XPY

1756-6.4.1ES - Octubre de 1999

14-4

Instrucciones matemticas avanzadas (LN, LOG, XPY)

Log Base 10 (LOG)


Operandos:

La instruccin LOG es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL SINT INT DINT REAL

Formato: valor inmediato tag tag

Descripcin: hallar el logaritmo de este valor

Destino

tag para almacenar el resultado

Descripcin: La instruccin LOG halla el logaritmo de base 10 del origen y almacena el resultado en el destino. El origen debe ser mayor que cero, de lo contrario se establece el bit S:V. El destino resultante es mayor o igual que 37.92978 y menor o igual que 38.53184. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. El controlador calcula el logaritmo del origen y coloca el resultado en el destino. La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de LOG:

Una vez habilitada, la instruccin LOG calcula el logaritmo de value y coloca el resultado en result.

1756-6.4.1ES - Octubre de 1999

Instrucciones matemticas avanzadas (LN, LOG, XPY)

14-5

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: LOG(source,destination); LOG source destination

Instrucciones relacionadas: CMP, CPT, LN, XPY

1756-6.4.1ES - Octubre de 1999

14-6

Instrucciones matemticas avanzadas (LN, LOG, XPY)

X to the Power of Y (XPY)


Operandos:

La instruccin XPY es una instruccin de salida.

Operando: Origen A

Tipo: SINT INT DINT REAL SINT INT DINT REAL SINT INT DINT REAL

Formato: valor inmediato tag valor inmediato tag tag

Descripcin: valor de base

Origen B

exponente

Destino

tag para almacenar el resultado

Descripcin: La instruccin eleva el origen A (X) a la potencia del origen B (Y) y almacena el resultado en el destino. Si el origen A es negativo, el origen B debe ser un valor entero de lo contrario ocurrir un fallo menor. La instruccin XPY usa este logaritmo: Destino = X**Y El controlador evala x0 = 1 y 0x = 0. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. El controlador eleva el origen A a la potencia del origen B y coloca el resultado en el destino. La condicin de salida de rengln se establece como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo:
Ocurrir un fallo menor si: El origen A es negativo y el origen B no es un valor entero Tipo de fallo: 4 Cdigo de fallo: 4

1756-6.4.1ES - Octubre de 1999

Instrucciones matemticas avanzadas (LN, LOG, XPY)

14-7

Ejemplo de XPY:

Una vez habilitada, la instruccin XPY eleva value_1 a la potencia de value_2 y coloca el resultado en result.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: XPY(source_A,source_B,destination); XPY source_A source_B destination

Instrucciones relacionadas: CMP, CPT, LN, LOG

1756-6.4.1ES - Octubre de 1999

14-8

Instrucciones matemticas avanzadas (LN, LOG, XPY)

Notas:

1756-6.4.1ES - Octubre de 1999

Captulo

15

Instrucciones de conversin matemtica


(DEG, RAD, TOD, FRD, TRN)

Introduccin

Las instrucciones de conversin matemtica convierten valores.


Si usted desea: Convertir los radianes en grados. Convertir los grados en radianes. Convertir un valor de enteros a un valor BCD. Convertir un valor BCD a un valor de enteros. Extraer la porcin fraccionaria de un valor Use esta instruccin: DEG RAD TOD FRD TRN Vea la pgina: 15-2 15-3 15-4 15-6 15-8

Usted puede combinar los tipos de datos, pero esto puede resultar en una prdida de precisin y errores de redondeo, y la instruccin necesita ms tiempo para ejecutarse. Verifique el bit S:V para ver si el resultado se trunc. Los tipos de datos con letras negritas indican los tipos de datos ptimos. Una instruccin se ejecuta ms rpidamente y requiere menos memoria si todos los operandos de la instruccin usan el mismo tipo de datos ptimo, tpicamente DIN o REAL. Una instruccin de conversin matemtica se ejecuta cada vez que se escanea la instruccin siempre que la condicin de entrada de rengln sea verdadera. Si desea que la instruccin se evale solamente una vez, use una instruccin ONS para activar la instruccin de conversin.

1756-6.4.1ES - Octubre de 1999

15-2

Instrucciones de conversin matemtica (DEG, RAD, TOD, FRD, TRN)

Degrees (DEG)
Operandos:

La instruccin DEG es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL SINT INT DINT REAL

Formato: valor inmediato tag tag

Descripcin: valor que se convierte a grados

Destino

tag para almacenar el resultado

Descripcin: La instruccin DEG convierte el origen (en radianes) a grados y almacena el resultado en el destino. La instruccin RAD usa este logaritmo: Origen*180/ (donde = 3.141593) Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. El controlador convierte el origen a grados y coloca el resultado en el destino. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de DEG:

Una vez habilitada, la instruccin DEG convierte value a grados y coloca el resultado en result.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: DEG(source,destination); DEG source destination

Instrucciones relacionadas: CMP, CPT, RAD, SIN, COS, TAN, ASN, ACS, ATN

1756-6.4.1ES - Octubre de 1999

Instrucciones de conversin matemtica (DEG, RAD, TOD, FRD, TRN)

15-3

Radians (RAD)
Operandos:

La instruccin RAD es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT REAL SINT INT DINT REAL

Formato: valor inmediato tag tag

Descripcin: valor que se convierte a radianes

Destino

tag para almacenar el resultado

Descripcin: La instruccin RAD convierte el origen (en grados) a radianes y almacena el resultado en el destino. La instruccin RAD usa este logaritmo: Origen*/180 (donde = 3.141593) Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. El controlador convierte el origen a radianes y coloca el resultado en el destino. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de RAD:

Una vez habilitada, la instruccin RAD convierte value a radianes y coloca el resultado en result.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: RAD(source,destination); RAD source destination

Instrucciones relacionadas: CMP, CPT, DEG, SIN, COS, TAN, ASN, ACS, ATN

1756-6.4.1ES - Octubre de 1999

15-4

Instrucciones de conversin matemtica (DEG, RAD, TOD, FRD, TRN)

Convert to BCD (TOD)


Operandos:

La instruccin TOD es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT

Formato: valor inmediato tag

Descripcin: valor que se convierte a BCD 0 Origen 99,999,999

Un tag SINT o INT se convierte a un valor DINT segn un relleno de cero. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT tag tag para almacenar el resultado

Descripcin: La instruccin TOD convierte el valor decimal (0 Source 99,999,999) a un valor BCD y almacena el resultado en el destino. El BCD representa el sistema de nmero decimal codificado a binario que expresa los dgitos decimales individuales (0 9) en una notacin binaria de 4 bits. Si usted introduce un origen negativo, la instruccin genera un fallo menor y borra el destino. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa.

la condicin de entrada de rengln es verdadera

no origen < 0 origen > 99,999,999

no

convierta el origen en BCD

S:V est establecido en 1

la condicin de salida de rengln est establecida como verdadera

fin

1756-6.4.1ES - Octubre de 1999

Instrucciones de conversin matemtica (DEG, RAD, TOD, FRD, TRN)

15-5

Condicin: la condicin de entrada de rengln es verdadera

Accin: El controlador convierte el origen a BCD y coloca el resultado en el destino. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo:
Ocurrir un fallo menor si: Origen < 0 Tipo de fallo: 4 Cdigo de fallo: 4

Ejemplo de TOD:

Una vez habilitada, la instruccin TOD convierte value_1 a un valor BCD y coloca el resultado en result_a.

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: TOD(source,destination); TOD source destination

Instrucciones relacionadas: CMP, CPT, FRD

1756-6.4.1ES - Octubre de 1999

15-6

Instrucciones de conversin matemtica (DEG, RAD, TOD, FRD, TRN)

Convert to Integer (FRD)


Operandos:

La instruccin FRD es una instruccin de salida.

Operando: Origen

Tipo: SINT INT DINT

Formato: valor inmediato tag

Descripcin: valor que se convierte a decimal

Un tag SINT o INT se convierte a un valor DINT segn un relleno de cero. Consulte Conversiones de datos en la pgina A-6. Destino SINT INT DINT tag tag para almacenar el resultado

Descripcin: La instruccin FRD convierte un valor BCD (origen) a un valor decimal y almacena el resultado en el destino. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. El controlador convierte el origen a decimal y coloca el resultado en el destino. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de FRD:

Una vez habilitada, la instruccin FRD convierte value_a en un valor BCD y coloca el resultado en result_1.

1756-6.4.1ES - Octubre de 1999

Instrucciones de conversin matemtica (DEG, RAD, TOD, FRD, TRN)

15-7

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: FRD(source,destination); FRD source destination

Instrucciones relacionadas: CMP, CPT, TOD

1756-6.4.1ES - Octubre de 1999

15-8

Instrucciones de conversin matemtica (DEG, RAD, TOD, FRD, TRN)

Truncate (TRN)
Operandos:

La instruccin TRN es una instruccin de salida.

Operando: Origen

Tipo: REAL

Formato: valor inmediato tag tag

Descripcin: valor a truncar

Destino

SINT INT DINT REAL

tag para almacenar el resultado

Descripcin: La instruccin TRN retira (trunca) la porcin fraccionaria de un valor (origen) y almacena el resultado en el destino. El truncar no redondea el valor; la porcin fraccionaria permanece la misma independientemente del valor de la porcin fraccionaria. Ejecucin:
Condicin: preescn la condicin de entrada de rengln es falsa la condicin de entrada de rengln es verdadera Accin: La condicin de salida de rengln se establece como falsa. La condicin de salida de rengln se establece como falsa. El controlador retira la porcin fraccionaria del origen y coloca el resultado en el destino. La condicin de salida de rengln est establecida como verdadera.

Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna Ejemplo de TRN:

Cuando est habilitada, la instruccin TRN retira la porcin fraccionaria de float_value_1, sin cambiando la porcin no fraccionaria, y coloca el resultado en float_value_1_truncated.

1756-6.4.1ES - Octubre de 1999

Instrucciones de conversin matemtica (DEG, RAD, TOD, FRD, TRN)

15-9

Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: TRN(source,destination); TRN source destination

Instrucciones relacionadas: ABS, CMP, CPT, FRD, TOD

1756-6.4.1ES - Octubre de 1999

15-10

Instrucciones de conversin matemtica (DEG, RAD, TOD, FRD, TRN)

Notas:

1756-6.4.1ES - Octubre de 1999

Apndice

Atributos comunes

Introduccin

Este apndice describe los atributos que son comunes para las instrucciones Logix5550.
Para obtener informacin acerca de: Palabras clave de estado aritmtico Otras palabras clave Tipos de datos Valores inmediatos Conversiones de datos Vea la pgina: A-1 A-4 A-5 A-6 A-6

Palabras clave de estado aritmtico


Palabra clave: s: V

Use las palabras clave de estado aritmtico para verificar el estado de los indicadores de estado aritmtico.
Indicador de estado: Descripcin: overflow El overflow se establece si el valor que se almacena es demasiado grande para el destino. El valor es mayor que el valor mximo para el destino o el valor es menor que el valor mnimo para el destino. Importante: Cada vez que s:V se cambia de restablecido a establecido, genera un fallo menor (tipo 4, cdigo 4)

s:Z s:N s:C

cero signo (el resultado es negativo) acarreo

Se establece cero si el valor de destino de la instruccin es 0. Se establece el signo si el valor de destino de la instruccin es negativo. Vea los siguientes ejemplos. Se establece el acarreo si una operacin aritmtica causa un acarreo o un acarreo negativo que intenta usar los bits fuera del tipo de datos de destino. Por ejemplo: sumar 3 y 9 causa un valor de acarreo de 1 restar 25 de 18 requiere un acarreo negativo de 10 Vea los siguientes ejemplos.

Las palabras clave de estado aritmtico pueden utilizar maysculas/ minsculas. Puesto que los indicadores de estado aritmtico pueden cambiar rpidamente, el software no proporciona una representacin animada del tag asociado. Como consecuencia, se puede determinar visualmente el estado de los indicadores.
1 1756-6.4.1ES - Octubre de 1999

A-2

Atributos comunes

Los diagramas siguientes indican dnde los tipos de datos enteros almacenan los indicadores de estado S:N y S:C.

Si el tipo de datos es SINT


valor mximo = +127 valor mnimo = 128

s:C

7 s:N

Si el tipo de datos es INT


valor mximo = +32,767 valor mnimo = 32,768

s:C

15 s:N

14

13

12

11

10

Si el tipo de datos es DINT


valor mximo = +2,147,483,647 valor mnimo = 2,147, 483,648

s:C

31 s:N

30

29

28

27

26

25

24

1756-6.4.1ES - Octubre de 1999

Atributos comunes

A-3

Los siguientes ejemplos de programacin le indican cmo usted puede usar el bit de acarreo.
ejemplo 1
Este es un ejemplo de una suma de 64 bits es decir ADD(a, b, sum); Primero sumamos las palabras bajas. Luego sumamos las palabras altas. Si la primera suma gener un acarreo, sume 1 ms a la palabra alta.

ejemplo 2
Este es un ejemplo de una resta de 64 bits es decir ADD(a, b, diff); Primero restamos las palabras bajas. Luego restamos las palabras altas. Si la primera resta gener un acarreo (en este caso es realmente un acarreo negativo), reste 1 ms de la palabra alta.

1756-6.4.1ES - Octubre de 1999

A-4

Atributos comunes

ejemplo 3

Este es un ejemplo de una comparacin de 64 bits - es decir LES(a, b) OTE (a_less_than_b) Primero comparamos las palabras superiores. Si son iguales, realizamos una resta sin signo de las palabras inferiores. Si Source_B > Source_A (sin signo), se establecer el bit de acarreo.

Otras palabras clave

Adems de las palabras clave de estado aritmtico, el controlador es compatible con las siguientes palabras clave.
Palabra clave: s:FS s:MINOR Acceso: lectura lectura escritura Descripcin: El bit de primer escn se establece si ste es el primer escn Normal de las rutinas en el programa actual. El bit de fallo menor se establece si se ha generado por lo menos un fallo menor. El controlador establece este bit cuando ocurre un fallo menor debido a la ejecucin del programa. El controlador no establece este bit para los fallos menores que no estn asociados con la ejecucin del programa; por ejemplo, batera dbil. La instruccin THIS es vlida solamente con las instrucciones GSV y SSV que se refieren a TASK, PROGRAM o ROUTINE. Use la instruccin THIS para especificar las instrucciones TASK, PROGRAM o ROUTINE actuales.

Esto:

n/a

Las palabras clave de estado pueden utilizar maysculas/minsculas. Puesto que estos indicadores de estado cambian rpidamente, estas palabras clave de estado no tienen una representacin animada en el software de programacin para mostrar el estado real. Usted no puede definir un alias de tag para una palabra clave.

1756-6.4.1ES - Octubre de 1999

Atributos comunes

A-5

Tipos de datos

Los tipos de datos del controlador cumplen con las especificaciones de los tipos de datos definidos en IEC 1131-3. Los tipos de datos atmicos predefinidos son:
Descripcin: booleano de 1 bit nmero entero de 1 byte nmero entero de 2 bytes nmero entero de 4 bytes nmero de punto flotante (coma flotante) de 4 bytes Rango: 0 = restablecido 1 = establecido 128 a 127 32,768 a 32,767 2,147,483,648 a 2,147,483,647 3.402823E38 a 1.1754944E38 (valores negativos) y 0 y 1.1754944E38 a 3.402823E38 (valores positivos)

Tipos de datos: BOOL SINT INT DINT real

El tipo de datos REAL tambin almacena infinito y NAN, pero la pantalla del software es diferente segn el formato de la pantalla.
Formato de la pantalla: Real Equivalencia: + infinito infinito + NAN NAN + infinito infinito +NAN +NAN 1.$ 1.$ 1.#QNAN 1.#QNAN 1.#INF000e+000 1.#INF000e+000 1.#QNAN00e+000 1.#QNAN00e+000

Exponencial

Las estructuras predefinidas son:


Tipos de datos: AXIS(1) CONTROL COUNTER MESSAGE(1) MOTION_GROUP(1) MOTION_INSTRUCTION PID TIMER
(1)

Descripcin: estructura de control para un eje estructura de control para las instrucciones de arreglo (archivo) estructura de control para las instrucciones del contador estructura de control para la instruccin MSG estructura de control para un grupo de movimiento estructura de control para las instrucciones de movimiento estructura de control para las instrucciones PID estructura de control para las instrucciones del temporizador

Estas estructuras no son compatibles con arreglos, no se pueden anidar en estructuras definidas por el usuario ni se pueden pasar a otras rutinas mediante una instruccin JSR.

1756-6.4.1ES - Octubre de 1999

A-6

Atributos comunes

Valores inmediatos

Cuando se introduce un valor inmediato (constante) en formato decimal (es decir, 2, 3), el controlador almacena el valor usando 32 bits. Si se introduce un valor en una base que no es decimal, tal como binario o hexadecimal, y no se especifican los 32 bits, el controlador coloca un cero en los bits que no se especifican (relleno de cero).

Ejemplo: Relleno con cero de valores inmediatos


Si se introduce: 1 16#ffff (-1) 8#1234 (668) 2#1010 (10) El controlador almacena: 16#ffff ffff (1) 16#0000 ffff (65535) 16#0000 029c (668) 16#0000 000a (10)

Conversiones de datos

Las instrucciones Logix5000 se ejecutan ms rpidamente y requieren menos memoria si todos los operandos de la instruccin usan: el mismo tipo de datos un tipo de datos ptimo: En la seccin Operandos de cada instruccin que aparece en este manual, un tipo de datos con letras negritas indica un tipo de datos ptimo. Los tipos de datos DINT y REAL son generalmente los tipos de datos ptimos. Si se combinan tipos de datos y usan tags que no son del tipo de datos ptimo, el controlador convierte los datos segn estas reglas Son cualquiera de los operandos un valor REAL?
Si: S No Los operandos de entrada (es decir, origen, tag en una expresin, lmite) se convierten a: REAL DINT

Despus de la ejecucin de la instruccin, el resultado (un valor DINT o REAL) se convierte al tipo de datos de destino, si fuera necesario. Actualmente no es posible especificar un tag BOOL en una instruccin que realiza una operacin en los tipos de datos enteros o REAL.

1756-6.4.1ES - Octubre de 1999

Atributos comunes

A-7

Puesto que la conversin de datos requiere tiempo y memoria adicionales, es posible mejorar la eficacia de los programas haciendo lo siguiente: usar el mismo tipo de datos en toda la instruccin minimizar el uso de los tipos de datos SINT o INT Es decir, use todos los tags DINT o todos los tags REAL adems de los valores inmediatos en las instrucciones. Las secciones siguientes explican cmo se convierten los datos cuando se usan los tags SINT o INT o cuando se combinan tipos de datos.

SINT o INT a DINT


Para las instrucciones que convierten los valores SINT o INT a valores DINT, las secciones Operandos en este manual indican el mtodo de conversin.
Este mtodo de conversin: Convierte los datos colocando: Extensin con signo el valor en el bit del extremo izquierdo (el signo del valor) en cada posicin de bit a la izquierda de los bits existentes hasta que haya 32 bits. ceros a la izquierda de los bits existentes hasta que haya 32 bits

Relleno con ceros

El siguiente ejemplo muestra los resultados de convertir un valor usando la extensin con signo y el relleno con ceros.
Este valor Se convierte a este valor segn la extensin con signo Se convierte a este valor segn el relleno con ceros 2#1111_1111_1111_1111 (-1) 2#1111_1111_1111_1111_1111_1111_1111_1111 (-1)

2#0000_0000_0000_0000_1111_1111_1111_1111 (65535)

der Logic Listing - Total number of rungs: 3


EQU Equal Source A remote_rack_1:I.Data[0] 2#1111_1111_1111_1111 Source B 2#1111_1111_1111_1111

Puesto que los valores inmediatos son siempre rellenos con cero, la conversin de un valor SINT o INT puede producir resultados inesperados. En el ejemplo siguiente, la comparacin es falsa porque el origen A, un INT, se convierte segn la extensin con signo; en cambio, el origen B, un valor inmediato, tiene un relleno con ceros.

42093

1756-6.4.1ES - Octubre de 1999

A-8

Atributos comunes

Si se usan un tag SINT o INT y un valor inmediato en una instruccin que convierte los datos segn la extensin con signo, use uno de los siguientes mtodos para manejar los valores inmediatos: Especifique el valor inmediato en la base decimal Si introduce un valor en una base que no es decimal, especifique los 32 bits del valor inmediato. Para hacerlo, introduzca el valor del bit del extremo izquierdo en cada posicin de bit a la izquierda hasta que haya 32 bits. Cree un tag para cada operando y use el mismo tipo de datos por toda la instruccin. Para asignar un valor constante, haga lo siguiente: Introdzcalo en uno de los tags, o bien Aada una instruccin MOV que transfiere el valor en uno de los tags. Use una instruccin MEQ para verificar solamente los bits requeridos. Los siguientes ejemplos muestras dos maneras de combinar un valor inmediato y un tag INT. Los dos ejemplos verifican los bits de un mdulo de E/S 1771 para determinar si los bit estn establecidos. Puesto que la palabra de datos de un mdulo de E/S 1771 es un tag INT, es ms conveniente usar un valor constante de 16 bits.

Ejemplo 1: Combinar un tag INT y un valor inmediato


Puesto que remote_rack_1:I. Data[0] es un tag INT, el valor con el cual comprobarlo tambin se introduce como tag INT.
EQU Equal Source A remote_rack_1:I.Data[0] 2#1111_1111_1111_1111 Source B int_0 2#1111_1111_1111_1111
42093

Ejemplo 2: Combinar un tag INT y un valor inmediato


Puesto que remote_rack_1:I. Data[0] es un tag INT, el valor con el cual comprobarlo se transfiere primero a int_0, el cual tambin es un tag INT. La instruccin EQU compara los dos tags.
2#1111_1111_1111_1111 MOV Move Source 2#1111_1111_1111_1111 Dest int_0 2#1111_1111_1111_1111 EQU Equal Source A remote_rack_1:I.Data[0] 2#1111_1111_1111_1111 Source B int_0 2#1111_1111_1111_1111

42093

1756-6.4.1ES - Octubre de 1999

Atributos comunes

A-9

Nmero entero a REAL


El controlador almacena los valores REAL en un formato numrico de punto flotante (coma flotante) de precisin nica IEEE. Este usa un bit para el signo del valor, 23 bits para el valor de base y ocho bits para la exponente (total de 32 bits). Si se combinan un tag entero (SINT, INT o DINT) y un tag REAL como entradas en la misma instruccin, el controlador convierte el valor entero a un valor REAL antes de ejecutarse la instruccin. Un valor SINT o INT siempre se convierte al mismo valor REAL. Es posible que un valor no se convierta al mismo valor REAL: Un valor REAL usa hasta 24 bits para el valor de base (23 bits almacenados ms un bit oculto). Un valor DINT usa hasta 32 bits para el valor (uno para el signo y 32 para el valor) Si el valor DINT requiere ms de 24 bits significativos, es posible que no convierta al mismo valor REAL. En este caso, el controlador redondea el valor al valor REAL ms cercano usando 24 bits significativos.

DINT a SINT o INT


Para convertir un valor DINT a un valor SINT o INT, el controlador trunca la porcin superior del DINT y establece el indicador de estado de overflow, si fuera necesario. El siguiente ejemplo muestra el resultado de una conversin de DINT a SINT o INT.

Ejemplo: Conversin de un DINT a INT y SINT


Este valor DINT: 16#0001_0081 (65,665) Se convierte a este valor menor: INT: SINT: 16#0081 (129) 16#81 (-127)

REAL a un nmero entero


Para convertir un valor REAL a un valor entero, el controlador redondea la porcin fraccionaria y trunca la porcin superior de la porcin no fraccionaria. Si se pierden los datos, el controlador establece el indicador de estado de overflow. Los nmeros se redondean de la manera siguiente: Los nmeros que no son x.5 se redondean al nmero entero ms cercando. X.5 se redondea al nmero par ms cercano.
1756-6.4.1ES - Octubre de 1999

A-10

Atributos comunes

El siguiente ejemplo muestra el resultado de convertir los valores REAL a valores DINT.

Ejemplo: Conversin de valores REAL a valores DINT


Este valor REAL: 2.5 1.6 1.5 1.4 1.4 1.5 1.6 2.5 Se convierte a este valor DINT: 2 2 2 1 1 2 2 2

Importante: Los indicadores de estado aritmtico se establecen segn el valor almacenado. Las instrucciones que normalmente no afectan las palabras clave de estado aritmtico pueden simular este efecto si la conversin del tipo ocurre debido a tipos de datos combinados para los parmetros de instruccin. El proceso de conversin del tipo establece las palabras clave de estado aritmtico.

1756-6.4.1ES - Octubre de 1999

Apndice

Conceptos de arreglo

Cmo ver un arreglo como coleccin de elementos

Los arreglos le permiten agrupar un conjunto de datos (del mismo tipo de datos) segn el mismo nombre y usar subndices para identificar los elemento individuales. Un elemento en un arreglo puede ser un tipo o estructura de datos atmicos. Usted especifica un elemento en un arreglo segn sus subndices. Introduzca el nombre de tag del arreglo seguido por los subndices entre corchetes. Los subndices deben especificar un valor para cada dimensin del arreglo. Las dimensiones estn basadas en cero.
Para este arreglo: una dimensin dos dimensiones tres dimensiones Especifique:

array_name[subscript_0] array_name[subscript_0, subscript_1] array_name[subscript_0, subscript_1, subscript_2]

1756-6.4.1ES - Octubre de 1999

B-2

Conceptos de arreglo

Un arreglo puede tener hasta tres dimensiones. El nmero total de elementos en un arreglo es el producto del tamao de cada dimensin.
Este arreglo: una dimensin Almacena los datos como: Por ejemplo: Nombre de tag: Tipo Dimensin 0 Dimensin 1 Dimensin 2 7

one_d_array

DINT[7]

nmero total de elementos = 7 rango de subndice vlido DINT[x] donde x = 0 6 dos dimensiones Nombre de tag: Tipo Dimensin 0 Dimensin 1 Dimensin 2 4 5

two_d_array

DINT[4,5]

nmero total de elementos = 4 5 = 20 rango de subndice vlido DINT[x, Y] donde x = 0 3; Y = 0 4 tres dimensiones Nombre de tag: Tipo Dimensin 0 Dimensin 1 Dimensin 2 2 3 4

three_d_array

DINT[2,3,4]

nmero total de elementos = 2 3 4 = 24 rango de subndice vlido DINT[x, Y, z] donde x = 0 1; Y = 0 2, z = 0 3

1756-6.4.1ES - Octubre de 1999

Conceptos de arreglo

B-3

Cmo indexar a travs de los arreglos


Para cambiar dinmicamente el elemento de arreglo al cual se refiere la lgica, use el tag o expresin como el subndice para indicar el elemento. Esto es similar al direccionamiento indirecto en la lgica PLC-5. Puede usar estos operadores en una expresin para especificar un subndice de arreglo:
Operador: + * / ABS AND FRD MOD NOT OR SQR TOD TRUN XOR Descripcin: sumar restar/cambiar signo multiplicar dividir Valor absoluto AND BCD a nmero entero Mdulo complemento OR raz cuadrada nmero entero a BCD Truncar O exclusivo

Por ejemplo:
Definiciones: Ejemplo: definido como DINT[10] Descripcin: Este ejemplo se refiere al elemento 5 en el arreglo. La referencia es esttica porque el valor de subndice permanece constante.

my_list

my_list[5]

my_list position my_list position offset

definido como DINT[10] definido como DINT definido como DINT[10] definido como DINT definido como DINT

use la instruccin MOV para poner el Este ejemplo se refiere al elemento 5 en el valor 5 en position arreglo. La referencia es dinmica porque la lgica puede cambiar el subndice cammy_list[position] biando el valor de position. use la instruccin MOV para poner el valor 2 en position use la instruccin MOV para poner el valor 5 en offset Este ejemplo se refiere al elemento 7 (2 + 5) en el arreglo. La referencia es dinmica porque la lgica puede cambiar el subndice cambiando el valor de position u offset.

my_list[position + offset]

Asegrese de que cualquier subndice de arreglo que introduce se encuentre dentro de los lmites del arreglo especificado. Las instrucciones que ven los arreglos como un conjunto de elementos generan un fallo mayor (tipo 4, cdigo 20) si un subndice excede su dimensin correspondiente.

1756-6.4.1ES - Octubre de 1999

B-4

Conceptos de arreglo

Cmo especificar bit dentro de arreglos


Puede direccionar los bits dentro de elementos de arreglos. Por ejemplo:
Definiciones: Ejemplo: Descripcin: Este ejemplo se refiere al bit 2 en el elemento 1 del arreglo. Este ejemplo se refiere al bit 15 del elemento array2[3,4].

array1 array2

definido como DINT[5] definido como INT[17,36] la 1 dimensin tiene 17 elementos la 2 dimensin tiene 36 elementos

array1[1].2 array2 [3, 4].15

array3

definido como SINT[2,4,6] la 1 dimensin retiene 2 elementos la 2 dimensin retiene 4 elementos la 3 dimensin retiene 6 elementos

array3 [1, 3, 2].4

Este ejemplo se refiere al bit 4 del elemento array3 [1, 3, 2].

MyArray MyIndex MyArray MyIndex MyArray MyIndex

definido como SINT[100] definido como SINT definido como INT[100] definido como INT definido como DINT[100] definido como DINT

MyArray[(MyIndex AND NOT 7) / 8]. [MyIndex AND 7]

Este ejemplo se refiere a un bit dentro de un arreglo SINT.

MyArray[(MyIndex AND NOT 15) / 16]. Este ejemplo se refiere a un bit dentro de [MyIndex AND 15] un arreglo INT. MyArray[(MyIndex AND NOT 31) / 32]. Este ejemplo se refiere a un bit dentro de [MyIndex AND 31] un arreglo DINT.

Tambin puede usar los operadores indicados en la tabulacin de la pgina B-3 para especificar los bits.

Cmo ver un arreglo como un bloque de memoria

Los datos en un arreglo se almacenan contiguamente en la memoria. Las instrucciones de archivo (arreglo) tpicamente requieren una direccin inicial dentro de un arreglo y una longitud, la cual determina qu elementos y cuntos elementos la instruccin lee o escribe. Importante: Si una instruccin intenta leer datos ms all del fin de un arreglo, la instruccin lee los datos que hay y los procesa como si fueran datos vlidos (no ocurre un error). Si una instruccin intenta escribir datos ms all del fin de un arreglo, ocurre un fallo mayor (tipo 4, cdigo 20).

1756-6.4.1ES - Octubre de 1999

Conceptos de arreglo

B-5

Las instrucciones siguientes manipulan los datos de arreglo como un bloque continuo de memoria (las dems instrucciones manipulan los datos de arreglo como elementos individuales):
BSL BSR COP DDT FBC FFL FFU FLL LFL LFU SQI SQL SQO

Cmo el controlador almacena los datos del arreglo


La tabla siguiente indica el orden secuencial de los elementos en los ejemplos de la pgina B-2.
Elementos del arreglo de una dimensin (orden ascendente): one_D_array[0] one_D_array[1] one_D_array[2] one_D_array[3] one_D_array[4] one_D_array[5] one_D_array[6] Para un arreglo con solamente una dimensin, tag_name[subscript_0], subscript_0 se incrementa a su valor mximo. Elementos del arreglo de dos dimensiones (orden ascendente): two_D_array[0,0] two_D_array[0,1] two_D_array[0,2] two_D_array[0,3] two_D_array[0,4] two_D_array[1,0] two_D_array[1,1] two_D_array[1,2] two_D_array[1,3] two_D_array[1,4] two_D_array[2,0] two_D_array[2,1] two_D_array[2,2] two_D_array[2,3] two_D_array[2,4] two_D_array[3,0] two_D_array[3,1] two_D_array[3,2] two_D_array[3,3] two_D_array[3,4] Para un arreglo con dos dimensiones, tag_name[subscript_0, subscript_1], subscript_0 se mantiene fijo en 0 mientras subscript_1 se incrementa de 0 a su valor mximo. Subscript_0 se incrementa por 1 (si dimensin 0 es mayor que 1) y se mantiene fijo mientras subscript_1 se incrementa nuevamente a travs de su rango. Este proceso contina hasta que los dos subndices llegan a sus valores mximos. Elementos del arreglo de tres dimensiones (orden ascendente): three_D_array[0,0,0] three_D_array[0,0,1] three_D_array[0,0,2] three_D_array[0,0,3] three_D_array[0,1,0] three_D_array[0,1,1] three_D_array[0,1,2] three_D_array[0,1,3] three_D_array[0,2,0] three_D_array[0,2,1] three_D_array[0,2,2] three_D_array[0,2,3] three_D_array[1,0,0] three_D_array[1,0,2] three_D_array[1,0,3] three_D_array[1,1,0] three_D_array[1,1,1] three_D_array[1,1,2] three_D_array[1,1,3] three_D_array[1,2,0] three_D_array[1,2,1] three_D_array[1,2,2] three_D_array[1,2,3] Para un arreglo con tres dimensiones, tag_name[subscript_0, subscript_1, subscript_2], subscript_0 se mantiene fijo en 0 mientras subscript_1 y subscript_2 se incrementan como un arreglo de dos dimensiones. subscript_0 se incrementa por 1 (si la dimensin 0 es mayor que 1) y se mantiene fijo hasta que subscript_1 y subscript_2 llegan a sus valores mximos. Este proceso contina hasta que los tres subndices llegan a sus valores mximos.

1756-6.4.1ES - Octubre de 1999

B-6

Conceptos de arreglo

Cmo variar una dimensin


Las instrucciones AVE, SRT y STD tienen una dimensin para variar el operando. La instruccin usa este operando para calcular un offset que la instruccin usa para determinar qu elementos del arreglo leer o escribir.
Arreglo: una dimensin Dimensin offset: para variar: 0 1 dimension_1 1 (dimension_1) (dimension_2) dimension_2 1

dos dimensiones 0 1 tres dimensiones 0 1 2

Asignacin de memoria para los arreglos

La cantidad de memoria que un arreglo usa depende del tipo de datos usado para crear el arreglo. La asignacin mnima dentro del controlador es cuatro bytes, lo cual es igual a 32 BOOL, 4 SINT, 2 INT 1 DINT. Los ejemplos siguientes indican la asignacin de memoria para varios arreglos:

bit_values como BOOL[32] Este ejemplo es un arreglo con elementos de 32 bits, cada uno del tipo de datos BOOL (1 bit por elemento).
bit: asignacin de datos 1 bit: asignacin de bit 1 contina 15 14 13 12 11 10 9 8 [8] 24 7 [7] 23 6 [6] 22 5 [5] 21 4 [4] 20 3 [3] 19 2 [2] 18 1 [1] 17 0 [0] 16

[15] [14] [13] [12] [11] [10] [9] 31 30 29 28 27 26 25

[31] [30] [29] [28] [27] [26] [25] [24] [23] [22] [21] [20] [19] [18] [17] [16]

Este ejemplo usa 64 bits de memoria. small_values como SINT[8] Este ejemplo representa un arreglo con 8 elementos, cada uno del tipo de datos SINT (1 byte para cada elemento).
bit: asignacin de datos 1 asignacin de datos 2 31 24 23 16 15 small_values[1] small_values[5] 8 7 small_values[0] small_values[4] 0

small_values[3] small_values[7]

small_values[2] small_values[6]

Este ejemplo usa 64 bits de memoria.

1756-6.4.1ES - Octubre de 1999

Conceptos de arreglo

B-7

small_values como SINT[3] Este ejemplo es un arreglo con 3 elementos, cada uno del tipo de datos SINT (1 byte para cada elemento). Puesto que la asignacin de datos mnima es 4 bytes, el ltimo byte es cero.
bit: asignacin de datos 1 31 0 24 23 16 15 8 7 0

small_values[2]

small_values[1]

small_values[0]

Este ejemplo usa 32 bits de memoria. valores como INT[4] Este ejemplo es un arreglo con 4 elementos, cada uno del tipo de datos INT (2 bytes para cada elemento).
bit: asignacin de datos 1 asignacin de datos 2 31 values[1] values[3] 16 15 values[0] values[2] 0

Este ejemplo usa 64 bits de memoria. big_values como DINT[2] Este ejemplo es un arreglo con 2 elementos, cada uno del tipo de datos DINT (4 bytes para cada elemento).
bit: asignacin de datos 1 asignacin de datos 2 31 big_values[0] big_values[1] 0

Este ejemplo usa 64 bits de memoria. timer_list como TIMER[2] Este ejemplo es un arreglo con 2 elementos, cada uno del tipo de datos TIMER (12 bytes para cada estructura).
bit: asignacin de datos 1 asignacin de datos 2 asignacin de datos 3 asignacin de datos 4 asignacin de datos 5 asignacin de datos 6 31 bits de estado timer_list[0] timer_list[0].pre timer_list[0].acc bits de estado timer_list[1] timer_list[1].pre timer_list[1].acc 0

Este ejemplo usa 192 bits de memoria.


1756-6.4.1ES - Octubre de 1999

B-8

Conceptos de arreglo

small_values como SINT[2,2,2] Este ejemplo es un arreglo de tres dimensiones con 8 elementos, cada uno del tipo de datos SINT.
bit: asignacin de datos 1 asignacin de datos 2 31 small_values [0,1,1] small_values [1,1,1] 24 23 small_values [0,1,0] small_values [1,1,0] 16 15 small_values [0,0,1] small_values [1,0,1] 8 7 small_values [0,0,0] small_values [1,0,0] 0

Este ejemplo usa 64 bits de memoria. big_values como DINT[2,2,2] Este ejemplo es un arreglo de tres dimensiones con 8 elementos, cada uno del tipo de datos DINT.
bit: asignacin de datos 1 asignacin de datos 2 asignacin de datos 3 asignacin de datos 4 asignacin de datos 5 asignacin de datos 6 asignacin de datos 7 asignacin de datos 8 31 big_values[0,0,0] big_values[0,0,1] big_values[0,1,0] big_values[0,1,1] big_values[1,0,0] big_values[1,0,1] big_values[1,1,0] big_values[1,1,1] 0

Este ejemplo usa 256 bits de memoria. Puede modificar las dimensiones del arreglo cuando programa fuera de lnea sin perder los datos del tag. No puede modificar las dimensiones del arreglo cuando programa en lnea.

1756-6.4.1ES - Octubre de 1999

Apndice

Tiempo de ejecucin

Introduccin

Use este apndice para calcular el tiempo requerido para la ejecucin de una instruccin. Los tiempos son para un controlador Logix5550 (No. de cat. 1756-L1) y el software RSLogix 5000, versin 2.25. Importante: Use esta informacin para seleccionar las varias opciones de programacin. Los tiempos de ejecucin reales pueden variarse debido a la configuracin del proyecto y la versin del software RSLogix 5000 que se usa. Para calcular el tiempo de ejecucin de una instruccin: 1. En la Table C.2 en la pgina C-3, halle el tiempo de base para la instruccin. 2. Aada tiempo al tiempo de base de la expresin para expresiones, subndices y conversiones de datos:
Si un operando: contiene una expresin Entonces aada tiempo para: cada operacin en la expresin. Para cada operacin, use el tiempo para la instruccin correspondiente. el clculo del subndice de arreglo Usando esta tabla: Table C.2 en la pgina C-3

es un elemento de un arreglo y uno o ms de los subndices es un tag (por ejemplo, tag_c[tag_d]) es convertido por una extensin con signo contiene un tag SINT o INT en un subndice de arreglo

Table C.5 en la pgina C-15

la conversin de datos. Consulte Table C.1 en la Conversiones de datos en la pgina C-3 pgina A-6. la conversin del SINT o INT a un DINT

1756-6.4.1ES - Octubre de 1999

C-2

Tiempo de ejecucin

Ejemplos:
Instruccin: CMP (tag_a * tag_b/100) * (MUL) /(DIV) REAL REAL Tipo de datos: Tiempo de ejecucin: tiempo de procesamiento interno de 4.3 s 17.7 s para la operacin MUL 18.3 s para la operacin DIV total de 40.3 s ADD Origen A Origen B Destino DINT REAL REAL total de 19.1 s ADD Origen A DINT[0,DINT] 10.7 s para la instruccin ADD 25.5 s para el subndice de arreglo 8.4 s la para conversin de DINT a REAL de un elemento de arreglo 10.7 s para la instruccin ADD 8.4 s para la conversin de DINT a REAL

Origen B Destino

REAL REAL total de 44.6 s 17.7 s para la instruccin MUL REAL DINT DINT 8.4 s para la conversin de DINT a REAL 12.3 s para la conversin de REAL a DINT total de 38.4 s

MUL Origen A Origen B Destino

1756-6.4.1ES - Octubre de 1999

Tiempo de ejecucin

C-3

Tablas de referencia
Table C.1 Tiempos de conversin de extensin con signo Para convertir un: A un: SINT INT DINT REAL INT SINT DINT REAL DINT SINT INT REAL REAL SINT INT DINT Requiere (s): 8.3 0.98 2.1 8.3 1.1 2.3 7.3 7.4 8.4 14.7 14.8 12.3

Table C.2 Tiempos de ejecucin de instruccin Instruccin: ABS Tipo de datos ptimo: DINT REAL ACS ADD REAL DINT REAL AFI AND ASN ATN AVE BRK BSL na DINT REAL REAL REAL na DINT Tiempo verdadero (s): 0.59 0.89 268.2 0.56 10.7 0.05 0.56 258.9 220.9 43.5 + (longitud * 14.51) 0 7.8 + ((longitud/32) * 0.77) 4.3 Longitud de redondear hacia arriba/32 a un nmero entero. Longitud de redondear hacia arriba/32 a un nmero entero. 0.11 0.11 0.11 23.5 Tiempo falso Notas: (s): 0.17 0.19 0.12 0.10 0.11

BSR

DINT

8.7 + ((longitud/32) * 0.77)

4.3

BTD

DINT

3.3

0.16
1756-6.4.1ES - Octubre de 1999

C-4

Tiempo de ejecucin

Table C.2 Tiempos de ejecucin de instruccin (Continued) Instruccin: CLR Tipo de datos ptimo: DINT REAL CMP Refer to the operations within the expression. SINT INT DINT, REAL COS CPT REAL Refer to the operations within the expression. COUNTER COUNTER DINT 13.0 + (Cmp. longitud * 1.38) 27.6 + (Cmp. longitud * 1.38) 41.2 + (Cmp. longitud * 1.38) REAL DINT REAL terminal de datos listo EQU DINT DINT REAL FAL Refer to the operations within the expression. DINT 13.1 + (Cmp. longitud * 1.38) 26.4 + (Cmp. longitud * 1.38) 38.6 + (Cmp. longitud * 1.38) SINT INT DINT, REAL FFU SINT INT DINT, REAL 9.7 10.7 10.1 10.4 + (longitud * 0.56) 11.3 + (longitud * 0.98) 11.7 + (longitud * 0.56) 7.7 7.5 18.5 10.4 18.3 2.8 0.37 0.37 10.2 + (n * (3.99 + expresin) 0.11 0.10 0.11 2.8 0.10 0.11 7.3 Tiempo verdadero (s): 0.35 0.40 4.3 + expresin Tiempo falso Notas: (s): 0.10 0.11 0.11

COP

5.8 + (longitud * 0.09) 5.6 + (longitud * 0.17) 6.0 + (longitud * 0.35) 218.7 4.7 + expresin 0.15 0.08 0.11

CTD CTU DDT 0 desigualdades 1 desigualdad 2 desigualdades DEG DIV

0.43 0.43

0.43 0.43 9.1 Basado en el modo TODOS

n es el nmero de elementos manipulados durante un escn.

FBC 0 desigualdades 1 desigualdad 2 desigualdades FFL

9.2 Basado en el modo TODOS

1756-6.4.1ES - Octubre de 1999

Tiempo de ejecucin

C-5

Table C.2 Tiempos de ejecucin de instruccin (Continued) Instruccin: FLL Tipo de datos ptimo: SINT INT DINT, REAL For FRD FSC DINT DINT Tiempo verdadero (s): 5.8 + (longitud * 0.09) 5.6 + (longitud * 0.17) 6.0 + (longitud * 0.35) 16.0 + ((valor terminal/tamao de paso) * 6.92) 9.1 0.16 3.0 0.10 7.8 Tiempo falso Notas: (s):

Refer to the 10.7 + (n * (3.89 + expresin) operations within the expression. DINT REAL 0.37 0.58 0.37 0.59 See Table C.3 on page C-8 1.6 10.62 21.0 + (nmero de parmetros * 3.49) 21.0 + (nmero de parmetros * 3.86) 21.0 + (nmero de parmetros * 3.27) 21.0 + (nmero de parmetros * 3.33) 20.4 + (nmero de parmetros * 3.49) 20.4 + (nmero de parmetros * 3.86) 20.4 + (nmero de parmetros * 3.27) 20.4 + (nmero de parmetros * 3.33) 0.16 0.37 0.58 0.37 0.58 9.7 10.7 10.1 11.5 12.8 13.7 0.79 3.5

n es el nmero de elementos manipulados durante un escn.

GEQ

0.11 0.11 0.11 0.11 0.16 0.10 Sin parmetros El tiempo es para la pareja JSR/SBR.

GRT

DINT REAL

GSV JMP JSR JSR/SBR

na na na SINT INT DINT REAL

JSR/RET

SINT INT DINT REAL

El tiempo es para la pareja JSR/RET.

LBL LEQ

na DINT REAL

0.11 0.11 0.10 0.11

LES

DINT REAL

LFL

SINT INT DINT, REAL

7.5

LFU

SINT INT DINT, REAL

7.6 0.11 0.11


1756-6.4.1ES - Octubre de 1999

LIM

DINT REAL

C-6

Tiempo de ejecucin

Table C.2 Tiempos de ejecucin de instruccin (Continued) Instruccin: LN LOG MCR MEQ MOD Tipo de datos ptimo: REAL REAL na DINT DINT REAL MOV DINT REAL MSG MUL MESSAGE DINT REAL MVM NEG DINT DINT REAL NEQ DINT REAL NOP NOT ONS OR OSF OSR OTE OTL OTU PID independiente dependiente de ISA Modo manual Establecer el modo de salida Independiente modo esclavo RAD RES RET (para el lazo FOR) REAL CONTROL, COUNTER o TIMER na na DINT BOOL DINT BOOL BOOL BOOL BOOL BOOL PID 349.3 416.9 304.6 304.6 371.0 18.1 0.32 4.55 0.10 0.21 Tiempo verdadero (s): 189.8 190.3 0.05 0.58 20.1 63.3 0.51 0.88 93.7 9.5 17.7 2.1 0.55 0.93 0.37 0.37 0.05 0.50 2.9 0.55 3.4 3.7 0.19 0.19 0.19 Tiempo falso Notas: (s): 0.10 0.11 0.05 0.10 0.22 0.20 0.11 0.10 7.0 0.11 0.11 0.16 0.11 0.11 0.10 0.11 0.06 0.11 2.7 0.11 4.0 3.5 0.19 0.05 0.05 18.4

1756-6.4.1ES - Octubre de 1999

Tiempo de ejecucin

C-7

Table C.2 Tiempos de ejecucin de instruccin (Continued) Instruccin: RTO SIN SQI SQL SQO SQR Tipo de datos ptimo: temporizador REAL DINT DINT DINT DINT REAL SRT DINT REAL SSV STD na SINT INT DINT REAL SUB DINT REAL TAN TND TOD TOF TON TRN REAL na DINT temporizador temporizador DINT REAL UID UIE XIC XIO XOR XPY na na BOOL BOOL DINT REAL Tiempo verdadero (s): 0.42 224.8 3.6 6.1 6.2 9.9 37.1 30.1 + x 30.8 + x See Table C.4 on page C-12 104.5 + (longitud * 51.18) 111.9 + (longitud * 51.79) 112.0 + (longitud * 50.71) 113.5 + (longitud * 55.08) 0.55 10.6 284.7 0.00 14.8 0.32 0.43 13.0 21.0 39.1 38.5 0.11 0.11 0.56 274.4 Tiempo falso Notas: (s): 0.31 0.09 0.16 3.9 3.8 0.10 0.11 4.6 4.3 0.15 22.0 25.3 25.3 25.4 0.10 0.11 0.08 0.11 0.10 0.42 0.34 0.21 0.21 2.6 2.6 0.05 0.05 0.11 0.10 El tiempo verdadero puede tener un rango de 200 a 400 s, dependiendo de los valores de los operandos. El tiempo x vara con la longitud y la naturaleza aleatoria de los nmeros.

1756-6.4.1ES - Octubre de 1999

C-8

Tiempo de ejecucin

Table C.3 Tiempos de ejecucin para la instruccin GSV Objeto: AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS
1756-6.4.1ES - Octubre de 1999

Atributo: AccelerationFeedforwardGain ActualPosition ActualVelocity AverageVelocity AverageVelocityTimebase AxisConfigurationState AxisState AxisType C2CConnectionInstance C2CMapTableInstance CommandPosition CommandVelocity ConversionConstant DampingFactor DriveFaultAction EffectiveInertia EncoderLossFaultAction EncoderNoiseFaultAction FrictionCompensation GroupInstance HomeMode HomePosition HomeReturnSpeed HomeSequenceType HomeSpeed Instance MapTableInstance MaximumAcceleration MaximumDeceleration MaximumNegativeTravel MaximumPositiveTravel MaximumSpeed ModuleChannel MotionConfigurationBits MotionFaultBits

Tiempo verdadero (s): 90.3 160.0 165.0 250.2 25.6 20.6 18.7 20.0 22.3 22.6 159.0 164.0 22.7 20.3 21.0 22.4 19.6 20.7 83.7 22.5 20.3 159.9 34.2 19.6 33.9 18.6 22.6 62.4 62.7 160.5 160.2 61.2 21.0 21.3 22.1

Tiempo de ejecucin

C-9

Table C.3 Tiempos de ejecucin para la instruccin GSV (Continued) Objeto: AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS Atributo: MotionStatusBits MotorEncoderTestIncrement OutputFilterBandwidth OutputLimit OutputOffset OutputScaling PositionError PositionErrorFaultAction PositionErrorTolerance PositionIntegralGain PositionIntegratorError PositionLockTolerance PositionProportionalGain PositionServoBandwidth PositionUnwind ProgrammedStopMode RegistrationPosition ServoConfigurationBits ServoConfigurationUpdateB ServoEventBits ServoFaultBits ServoOutputLevel ServoStatusBits ServoStatusUpdateBits SoftOvertravelFaultAction StartActualPosition StartCommandPosition StrobeActualPosition StrobeCommandPosition TestDirectionForward TestStatus TuneAcceleration TuneAccelerationTime TuneDeceleration TuneDecelerationTime TuneRiseTime Tiempo verdadero (s): 22.4 159.6 22.5 82.3 83.2 200.8 110.9 21.3 198.6 191.4 112.4 159.8 119.2 21.8 21.9 20.3 159.7 22.9 21.9 21.6 21.7 108.2 22.3 21.4 21.0 160.0 158.7 160.0 159.0 20.3 19.8 186.8 91.8 187.0 92.5 93.1
1756-6.4.1ES - Octubre de 1999

C-10

Tiempo de ejecucin

Table C.3 Tiempos de ejecucin para la instruccin GSV (Continued) Objeto: AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS CONTROLLER CONTROLLERDEVICE CONTROLLERDEVICE CONTROLLERDEVICE CONTROLLERDEVICE CONTROLLERDEVICE CONTROLLERDEVICE CONTROLLERDEVICE CST CST DF1 DF1 DF1 DF1 DF1 DF1 DF1 DF1 DF1 DF1 DF1 DF1
1756-6.4.1ES - Octubre de 1999

Atributo: TuneSpeedScaling TuneStatus TuneVelocityBandwidth TuningConfigurationBits TuningSpeed TuningTravelLimit VelocityCommand VelocityError VelocityFeedback VelocityFeedforwardGain VelocityIntegralGain VelocityIntegratorError VelocityProportionalGain WatchPosition TimeSlice DeviceName ProductCode ProductRev SerialNumber Status Tipo Vendor CurrentStatus CurrentValue ACTTimeout DiagnosticCounters DuplicationDetect EmbeddedResponseEnable ENQTransmitLimit EOTSuppression ErrorDetection MasterMessageTransmit NAKReceiveLimit NormalPollGroupSize PollingMode ReplyMessageWait

Tiempo verdadero (s): 200.5 20.2 20.9 22.1 165.0 159.9 111.4 111.4 112.7 90.6 191.3 111.6 119.3 159.7 16.9 55.2 15.4 15.4 16.3 15.4 15.4 15.4 14.4 28.2 16.5 67.2 14.9 14.9 14.9 14.9 14.9 14.9 14.9 15.7 14.9 16.5

Tiempo de ejecucin

C-11

Table C.3 Tiempos de ejecucin para la instruccin GSV (Continued) Objeto: DF1 DF1 DF1 FAULTLOG FAULTLOG FAULTLOG FAULTLOG MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MODULE MODULE MODULE MODULE MODULE MODULE MODULE MOTIONGROUP PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM ROUTINE SERIALPORT SERIALPORT SERIALPORT SERIALPORT SERIALPORT SERIALPORT TASK Atributo: StationAddress SlavePollTimeout TransmitRetries MajorEvents MinorEvents MajorFaultBits MajorFaultBits ConnectionPath ConnectionRate MessageType Puerto TimeoutMultiplier UnconnectedTimeout EntryStatus FaultCode FaultInfo ForceStatus Instance Mode LEDStatus Instance DisableFlag Instance LastScanTime MajorFaultRecord MaxScanTime MinorFaultRecord SFCRestart Instance BaudRate DataBits Parity RTSOffDelay RTSSendDelay StopBits Instance Tiempo verdadero (s): 15.7 16.5 14.9 16.7 16.7 17.5 17.5 53.1 17.4 15.7 15.7 15.7 17.4 16.7 16.7 17.6 144.5 17.8 16.7 17.2 24.2 16.4 17.8 17.6 59.0 17.6 59.0 16.7 16.8 16.7 15.0 15.0 15.8 15.8 15.0 17.7
1756-6.4.1ES - Octubre de 1999

C-12

Tiempo de ejecucin

Table C.3 Tiempos de ejecucin para la instruccin GSV (Continued) Objeto: TASK TASK TASK TASK TASK TASK TASK TASK WALLCLOCKTIME WALLCLOCKTIME WALLCLOCKTIME Atributo: LastScanTime MaxInterval MaxScanTime MinxInterval Priority7 Rate StartTime Watchdog CSTOffset CurrentValue DateTime Tiempo verdadero (s): 17.5 21.6 17.4 21.6 16.6 17.4 21.6 17.4 21.2 37.6 59.8

Table C.4 Tiempo de ejecucin para la instruccin SSV Objeto: AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS
1756-6.4.1ES - Octubre de 1999

Atributo: AccelerationFeedforwardGain AverageVelocityTimebase AxisType ConversionConstant DampingFactor DriveFaultAction EncoderLossFaultAction EncoderNoiseFaultAction FrictionCompensation HomeMode HomePosition HomeReturnSpeed HomeSequenceType HomeSpeed MaximumAcceleration MaximumDeceleration MaximumNegativeTravel MaximumPositiveTravel MaximumSpeed MotionConfigurationBits

Tiempo verdadero (s): 105.4 168.1 39.2 126.9 129.8 40.3 40.2 40.0 140.1 38.2 223.1 511.7 37.6 511.3 511.5 511.8 224.7 224.7 511.7 38.8

Tiempo de ejecucin

C-13

Table C.4 Tiempo de ejecucin para la instruccin SSV (Continued) Objeto: AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS AXIS CONTROLLER DF1 DF1 DF1 DF1 DF1 DF1 DF1 DF1 DF1 DF1 DF1 DF1 DF1 DF1 Atributo: MotorEncoderTestIncrement OutputFilterBandwidth OutputLimit OutputOffset OutputScaling PositionErrorFaultAction PositionErrorTolerance PositionIntegralGain PositionLockTolerance PositionProportionalGain PositionServoBandwidth PositionUnwind ProgrammedStopMode ServoConfigurationBits SoftOvertravelFaultAction TuningConfigurationBits TuningSpeed TuningTravelLimit VelocityFeedforwardGain VelocityIntegralGain VelocityProportionalGain TimeSlice PendingACKTimeout PendingDuplicateDetection PendingEmbeddedResponseEnable PendingENQTransmitLimit PendingEOTSuppression PendingErrorDetection PendingNormalPollGroupSize PendingMasterMessageTransmit PendingNAKReceiveLimit PendingPollingMode PendingReplyMessageWait PendingStationAddress PendingSlavePollTimeout PendingTransmitRetries Tiempo verdadero (s): 207.0 45.7 139.4 140.2 383.1 39.2 202.7 218.0 258.1 153.1 44.1 128.0 38.6 42.2 40.3 38.9 580.6 207.2 106.1 218.0 152.1 35.9 109.4 108.3 108.7 108.3 108.2 108.9 108.9 108.7 108.3 108.7 109.4 109.1 109.4 108.3
1756-6.4.1ES - Octubre de 1999

C-14

Tiempo de ejecucin

Table C.4 Tiempo de ejecucin para la instruccin SSV (Continued) Objeto: FAULTLOG FAULTLOG FAULTLOG FAULTLOG MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MODULE PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM SERIALPORT SERIALPORT SERIALPORT SERIALPORT SERIALPORT SERIALPORT TASK TASK TASK TASK TASK TASK WALLCLOCKTIME WALLCLOCKTIME WALLCLOCKTIME Atributo: MajorEvents MinorEvents MajorFaultBits MajorFaultBits ConnectionPath ConnectionRate MessageType Port TimeoutMultiplier UnconnectedTimeout Mode DisableFlag LastScanTime MajorFaultRecord MaxScanTime MinorFaultRecord SFCRestart PendingBaudRate PendingDataBits PendingParity PendingRTSOffDelay PendingRTSSendDelay PendingStopBits LastScanTime MaxInterval MaxScanTime MinxInterval StartTime Watchdog CSTOffset CurrentValue DateTime Tiempo verdadero (s): 17.0 17.0 17.4 17.4 36.9 32.3 69.9 31.6 31.7 32.3 28.4 37.3 17.5 48.8 17.5 48.8 33.0 108.5 106.7 106.6 106.8 107.4 106.7 17.7 24.6 17.7 24.6 24.6 33.8 2149.4 70.5 120.0

1756-6.4.1ES - Octubre de 1999

Tiempo de ejecucin

C-15

Table C.5 Tiempos de ndice de arreglo Para el tag en el subndice de un: arreglo de una dimensin un arreglo de dos dimensiones un arreglo de tres dimensiones Aada (s): 1.5 25.5 30.3

1756-6.4.1ES - Octubre de 1999

C-16

Tiempo de ejecucin

Notas:

1756-6.4.1ES - Octubre de 1999

Apndice

Uso de memoria

Introduccin

Use este apndice para calcular la memoria usada para las conversiones de datos, instrucciones e ndices de arreglo. Los valores son para un controlador Logix5550 (No. de cat. 1756-L1) y el software RSLogix 5000, versin 2.25. Cuando se descarga el proyecto, el controlador optimiza el uso de memoria, lo cual puede reducir el uso de memoria calculado en hasta 10 % de los valores presentados en este apndice.
Para calcular la memoria para: conversiones de datos instrucciones de lgica de escalera ndices de arreglos Vea la pgina: D-2 D-3 D-7

1756-6.4.1ES - Octubre de 1999

D-2

Uso de memoria

Conversiones de datos

Si usted usa un tipo de datos que no es un tipo de datos ptimo o si combina los tipos de datos, tiene que aadir memoria para la conversin de datos. Consulte Conversiones de datos en la pgina A-6.

Requisitos de memoria de extensin con signo


Use la siguiente tabla para determinar la memoria requerida para convertir los datos usando una extensin con signo.
Para convertir un: Operando de origen De un: SINT A un: DINT REAL INT DINT REAL DINT Operando de destino DINT REAL SINT INT REAL REAL SINT INT DINT Aada (bytes): 48 96 60 108 52 52 52 76 48 48 48

Requisitos de memoria de relleno con ceros


Use la siguiente tabla para determinar la memoria requerida para convertir los datos usando un relleno con ceros.
Para convertir un: Operando de origen De un: SINT INT Operando de destino DINT A un: DINT DINT SINT INT Aada (bytes): 0 8 52 52

1756-6.4.1ES - Octubre de 1999

Uso de memoria

D-3

Ejemplos:
Instruccin: ADD Origen A Origen B Destino Tipo de datos: REAL DINT REAL REAL total de 96 bytes MUL Origen A Origen B Destino REAL REAL DINT DINT 52 bytes para la conversin de DINT a REAL usando la extensin con signo 48 bytes para la conversin de REAL a DINT usando la extensin con signo total de 144 bytes 44 bytes para la instruccin MUL Memoria (bytes): 44 bytes para la instruccin ADD 52 bytes para la conversin de DINT a REAL usando la extensin con signo

Instrucciones

La siguiente tabla muestra el uso de memoria de las instrucciones de lgica de escalera. Para las instrucciones que usan una expresin (CMP, CPT, FAL, FSC), aada memoria para cada operacin dentro de la expresin. Para cada operacin, use el valor para la instruccin correspondiente.

Ejemplo:
Instruccin: CMP (tag_a * tag_b / 100) * (MUL) / (DIV) REAL REAL Tipo de datos: Memoria: tiempo de procesamiento interno de 76 bytes 44 bytes para la operacin MUL 44 bytes para la operacin DIV total de 164 bytes

Categora: Rengln y bifurcacin

Mnemnico: Ttulo: Rung Branch Start Next Branch Branch End

Memoria para DINT (bytes): 16 4 4 4

Memoria para REAL (bytes):

1756-6.4.1ES - Octubre de 1999

D-4

Uso de memoria

Categora: bit

Mnemnico: Ttulo: XIC XIO OTE OTL OTU ONS OSR OSF Examine If Open Examine If Open Output Energize Output Latch Output Unlatch One Shot One Shot Rising One Shot Falling Timer On Delay Timer Off Delay Retentive Timer On Count Up Count Down Reset Message Get System Value Set System Value Comparacin Equal to Greater Than or Equal to mayor que Less Than or Equal to Less Than Limit Mask Equal to Not Equal to Clculo Add Subtract Multiply Divide Mdulo Square Root Negate Absolute Value

Memoria para DINT (bytes): 4 4 4 4 4 36 44 44 8 8 8 8 8 8 36 76 76 76 + expresin 20 20 20 20 20 52 32 20 76 + expresin 28 28 44 44 44 40 28 32

Memoria para REAL (bytes):

Temporizador y contador

TON TOF RTO CTU CTD RES

Entrada y salida

MSG GSV SSV

76 76 76 + expresin 20 36 36 36 36 44

Comparacin

CMP EQU GEQ GRT LEQ LES LIM MEQ NEQ

20 96 + expresin 44 44 44 44 44 40 56 56

Clculo

CPT ADD SUB MUL DIV MOD SQR NEG ABS

1756-6.4.1ES - Octubre de 1999

Uso de memoria

D-5

Categora: Transferencia/ lgica

Mnemnico: Ttulo: MOV MVM BTD CLR AND OR XOR NOT Move Masked Move Bit Field Distribute Clear Bitwise AND Bitwise OR Bitwise Exclusive OR NOT bit a bit File Arithmetic and Logic File Search and Compare Copy Fill Average Sort Standard Deviation Bit Shift Left Bit Shift Right FIFO Load FIFO Unload LIFO Load LIFO Unload Sequencer Input Sequencer Load Sequencer Output Jump to Label Label Jump to Subroutine Subrutina Return Always False Master Control Reset No Operation Temporary End User Interrupt Disabled User Interrupt Enabled For Break

Memoria para DINT (bytes): 24 80 52 20 28 28 28 28 92 + expresin 148 + expresin 64 60 164 108 104 52 52 64 64 64 64 48 48 44 24 12 56 40 40 4 4 4 12 28 28 64 36

Memoria para REAL (bytes): 48

20

Arreglo (archivo)/ FAL Miscelneos FSC COP FLL AVE SRT STD Desplazamiento de archivo BSL BSR FFL FFU LFL LFU Secuenciador SQI SQL SQO Control del programa JMP LBL JSR SBR RET AFI MCR NOP TND UID UIE For/Interrumpir For BRK

116 + expresin 152 + expresin 64 60 116 108 104

64 64 64 64

1756-6.4.1ES - Octubre de 1999

D-6

Uso de memoria

Categora: Especiales

Mnemnico: Ttulo: FBC DDT DTR PID File Bit Comparison Diagnostic Detect Data Transitional Proportional, Integral, Derivative Sine Cosine Tangent Arc Sine Arc Cosine Arc Tangent Natural Log Log Base 10 X to the Power of Y Radians to Degrees Degrees to Radians Integer to BCD BCD to Integer Truncate

Memoria para DINT (bytes): 72 72 40 228 140 140 140 140 140 140 140 140 144 144 144 40 40 40

Memoria para REAL (bytes):

92 48 48 48 48 48 48 48 48 52 52 52

Trigonomtricas

SIN COS TAN ASN ACS ATN

Matemticas avanzadas

LN LOG XPY

Conversin matemtica

DEG RAD TOD FRD TRN

92

1756-6.4.1ES - Octubre de 1999

Uso de memoria

D-7

Indices de arreglos

El uso de memoria para una instruccin se incrementa por cada parmetro que hace referencia a un arreglo. Tome en cuenta lo siguiente: Cuando un arreglo usa los valores inmediatos para el ndice, no hay memoria adicional aadida. Por ejemplo:
Ejemplo: myTag[0] myTag[0,0,0] Memoria adicional usada: ninguna ninguna

Cuando un arreglo usa un tag (tipo DINT) como ndice, se usa la memoria adicional segn el nmero de dimensiones en el arreglo. Por ejemplo:
Ejemplo: myTag[offset] myTag[0,offset,0] Memoria adicional usada: 84 bytes 152 bytes

1756-6.4.1ES - Octubre de 1999

D-8

Uso de memoria

El controlador usa un ndice de 32 bits para todos los arreglos. Si se usa un tag que no sea DINT para hacer referencia a una posicin en un arreglo, se aade el uso de memoria de conversin de datos (vea la pgina D-2) as como el uso de memoria para usar un tag como ndice. Por ejemplo:
TagA TagB TagC TableA TableB DINT DINT INT DINT[10] DINT[2,4,6]

Ejemplo: Instruccin MOV Origen Destino Instruccin MOV Origen Destino Instruccin MOV Origen Destino Instruccin MOV Origen Destino Instruccin MOV Origen Destino Instruccin MOV Origen Destino Instruccin MOV Origen Destino TagA TagB TagA TableA0 TagA TableA[TagB] TagA TableA[TagC]

Memoria adicional usada: 24 bytes para la instruccin MOV no se aade nada ms total de 24 bytes 24 bytes para la instruccin MOV no se aade nada ms total de 24 bytes 24 bytes para la instruccin MOV 84 bytes para el ndice de tag DINT (TableA) total de 108 bytes 24 bytes para la instruccin MOV 60 bytes para la conversin de INT a DINT (TagC) 84 bytes para el ndice de tag DINT (TableA) total de 168 bytes 24 bytes para la instruccin MOV no se aade nada ms total de 24 bytes 24 bytes para la instruccin MOV 152 bytes para el ndice de tag DINT (TableB) total de 176 bytes 24 bytes para la instruccin MOV 60 bytes para la conversin de INT a DINT (TagC) 152 bytes para el ndice de tag DINT (TableB) total de 236 bytes

TagA TableB[0,0,0] TagA TableB[TagB,0,0] TagA TableB[TagC,0,0]

1756-6.4.1ES - Octubre de 1999

Uso de memoria

D-9

El cambiar el tipo de datos de origen y destino en los ejemplos anteriores aumenta el uso de memoria de la instruccin. Por ejemplo:
TagA TagC TagD TableC TableD DINT INT SINT INT[10] SINT[2,4,6]

Ejemplo: Instruccin MOV Origen Destino TagA TableC[TagC]

Memoria adicional usada: 24 bytes para la instruccin MOV 52 bytes para la conversin de DINT a INT (TagA en TableC) 60 bytes para la conversin de INT a DINT (TagC) 84 bytes para el ndice de tag DINT (TableC) total de 220 bytes 24 bytes para la instruccin MOV 92 bytes para la conversin de SINT a INT (TagD en TableC) 60 bytes para la conversin de INT a DINT (TagC) 84 bytes para el ndice de tag DINT (TableC) total de 260 bytes 24 bytes para la instruccin MOV 52 bytes para la conversin de DINT a SINT (TagA en TableD) 60 bytes para la conversin de INT a DINT (TagC) 152 bytes para el ndice de tag DINT (TableD) total de 288 bytes 24 bytes para la instruccin MOV 104 bytes para la conversin de INT a SINT (TagC en TableC) 60 bytes para la conversin de INT a DINT (TagC) 152 bytes para el ndice de tag DINT (TableD) total de 340 bytes

Instruccin MOV Origen Destino

TagD TableC[TagC]

Instruccin MOV Origen Destino

TagA TableD[TagC,0,0}

Instruccin MOV Origen Destino

TagC TableD[TagC,0,0]

1756-6.4.1ES - Octubre de 1999

D-10

Uso de memoria

Si se usa una expresin en el ndice, se usa memoria adicional segn los operadores. Por ejemplo:
TagA TagB TagF TableA DINT DINT DINT DINT[10]

Ejemplo: Instruccin MOV Origen Destino TagA TableA[TagB + TagF]

Memoria adicional usada: 24 bytes para la instruccin MOV 84 bytes para el ndice de tag DINT (TableA) 28 bytes para ADD total de 136 bytes

Si usa mltiples arreglos en una instruccin, aada el uso de memoria apropiado para cada referencia de arreglo. Por ejemplo:
TagA TagB TableA DINT DINT DINT[10]

Ejemplo: Instruccin MOV Origen Destino TableA[TagA] TableA[TagB]

Memoria adicional usada: 24 bytes para la instruccin MOV 84 bytes para el ndice de tag DINT (TableA) 84 bytes para el segundo ndice de tag DINT (TableA) total de 192 bytes

1756-6.4.1ES - Octubre de 1999

Uso de memoria

D-11

El peor de casos ocurre cuando hay mltiples referencias a arreglos multidimensionales que no son del tipo DINT con ndices que no son del tipo DINT en dichos arreglos. Por ejemplo:
TagC TagD TagE TableD TableE INT SINT INT SINT[2,4,6] INT[2,4,6]

Ejemplo: Instruccin MOV Origen Destino TableD[TagC, TagD, TagE] TableE[TagC, tagD, TagE]

Memoria adicional usada: 24 bytes para la instruccin MOV 60 bytes para la conversin de INT a DINT (TagC) 48 bytes para la conversin de SINT a DINT (TagD) 60 bytes para la conversin de INT a DINT (TagE) 152 bytes para el ndice de tag DINT (TableD) 60 bytes para la conversin de INT a DINT (TagC) 48 bytes para la conversin de SINT a DINT (TagD) 60 bytes para la conversin de INT a DINT (TagE) 152 bytes para el ndice de tag DINT (TableD) 92 bytes para la conversin SINT a INT (TableD en TableE) total de 756 bytes

Puede optimizar esta instruccin haciendo que los dos arreglos sean del tipo DINT con ndices de tag DINT. Por ejemplo:
TagA TagB TagF TableB TableF DINT DINT DINT DINT[2,4,6] DINT[2,4,6]

Ejemplo: Instruccin MOV Origen Destino TableB[TagA, TagB, TagF] TableF[TagA, TagB, TagF}

Memoria adicional usada: 24 bytes para la instruccin MOV 152 bytes para el ndice de tag DINT (TableB) 152 bytes para el ndice de tag DINT (TableD) total de 328 bytes

1756-6.4.1ES - Octubre de 1999

D-12

Uso de memoria

Puede optimizar an ms esta instruccin cambiando todos los ndices de arreglos a valores inmediatos. Por ejemplo:
TagA TagB TagF TableB TableF DINT DINT DINT DINT[2,4,6] DINT[2,4,6]

Ejemplo: Instruccin MOV Origen Destino TableB[0,1,2] TableF[3,4,5]

Memoria adicional usada: 24 bytes para la instruccin MOV no se aade nada ms total de 24 bytes

1756-6.4.1ES - Octubre de 1999

Indice
A activacin de salida 1-6 ajuste 12-24 alarmas 12-25 arco coseno 13-10 arco seno 13-8 arco tangente 13-12 aritmtica y lgica de archivos 7-6 arreglo B-6 asignacin de memoria B-6 atributos conversin de tipos de datos A-6 palabras clave A-4 palabras clave de estado aritmtico A-1 tipos de datos A-5 atributos comunes conversin de tipos de datos A-6 palabras clave A-4 palabras clave de estado aritmtico A-1 tipos de datos A-5 B banda muerta 12-34 bit a bit AND 6-9 NOT 6-15 OR 6-11 XOR 6-13 bit dentro de arreglos B-4 borrar 6-8 buscar y comparar archivos 7-17 C clculo 5-2 cambiar signo 5-18 carga de secuenciador 9-11 carga FIFO 8-8 carga LIFO 8-20 clasificar 7-38 cdigos de error instruccin MSG 3-7 combinacin de tipos de datos A-6 comparacin 4-2 comparacin de bits de archivo 12-2 conceptos de arreglo asignacin de memoria B-6 especificacin de bit B-4 ndice B-3 uso de memoria D-7 configuracin 3-13 instruccin MSG 3-13 instruccin PID 12-24 contador 2-1 conteo progresivo 2-11 conteo regresivo 2-14 control maestro de reset 10-11 conversin de BCD 15-6 conversin de tipos de datos A-6 conversin en BCD 15-4 conversiones de datos D-2 copiar 7-27 coseno 13-4 D datos de transicin 12-16 definir valor del sistema 3-27 descarga FIFO 8-14 descarga LIFO 8-26 desenclavamiento de salida 1-8 desplazamiento a la derecha 8-5 desplazamiento a la izquierda 8-2 desviacin estndar 7-41 deteccin de diagnstico 12-9 distribucin de campos de bits 6-5 dividir 5-12 E enclavamiento de salida 1-7 escala 12-26 estructura CONTROL 7-6, 7-17, 7-34, 7-38, 7-41, 8-2, 8-5, 8-8, 8-14, 8-20, 8-26, 9-2, 9-6, 9-11, 12-3, 12-10 estructura COUNTER 2-11, 2-14 estructura MESSAGE 3-2 estructura TIMER 2-2, 2-5, 2-8

1756-6.4.1ES - Octubre de 1999

estructuras CONTROL 7-6, 7-17, 7-34, 7-38, 7-41, 8-2, 8-5, 8-8, 8-14, 8-20, 8-26, 9-2, 9-6, 9-11, 12-3, 12-10 COUNTER 2-11, 2-14 instruccin RES 2-18 MSG 3-2 PID 12-20 TIMER 2-2, 2-5, 2-8 etiqueta 10-2 examina si abierto 1-4 examinar si cerrado 1-2 exponencial 14-6 expresiones formato 4-4, 5-4, 7-15, 7-25 operadores vlidos 4-4, 5-4, 7-15, 7-25 orden de operacin 4-5, 5-5, 7-16, 7-26 F fin temporal 10-10 G grados en radianes 15-3 I igual a 4-6 ndice B-3 instruccin ABS 5-19 instruccin ACS 13-10 instruccin ADD 5-6 instruccin AFI 10-15 instruccin AND 6-9 instruccin ASN 13-8 instruccin ATRN 13-12 instruccin AVE 7-34 instruccin BRK 11-5 instruccin BSL 8-2 instruccin BSR 8-5 instruccin BTD 6-5 instruccin CLR 6-8 instruccin CMP 4-2 instruccin COP 7-27 instruccin COS 13-4 instruccin CPT 5-2 instruccin CTD 2-14 instruccin CTU 2-11 instruccin DDT
1756-6.4.1ES - Octubre de 1999

modo buscar 12-11 operandos 12-9 instruccin de secuenciador SQL 9-11 instruccin DEG 15-2 instruccin DIV 5-12 instruccin DTR 12-16 instruccin EQU 4-6 instruccin FAL modo de operacin 7-1 operandos 7-6 instruccin FBC modo buscar 12-4 operandos 12-2 instruccin FFL 8-8 instruccin FFU 8-14 instruccin FLL 7-31 instruccin FOR 11-2 instruccin FRD 15-6 instruccin FSC 7-17 instruccin GEQ 4-8 instruccin GRT 4-10 instruccin GSV objetos 3-29 instruccin JMP 10-2 instruccin JSR 10-4 instruccin LBL 10-2 instruccin LEQ 4-12 instruccin LFL 8-20 instruccin LIM 4-16 instruccin LN 14-2 instruccin LOG 14-4 instruccin MCR 10-11 instruccin MEQ 4-19 instruccin MOD 5-14 instruccin MOV 6-2 instruccin MSG 3-13 cdigos de error 3-7 conexin de cach 3-26 estructura 3-2 mtodo de comunicacin 3-25 operandos 3-2 instruccin MUL 5-10 instruccin MVM 6-3 instruccin NEG 5-18 instruccin NEQ 4-22 instruccin NOP 10-16 instruccin NOT 6-15 instruccin ONS 1-9 instruccin OR 6-11

instruccin OSF 1-14 instruccin OSR 1-11 instruccin OTE 1-6 instruccin OTL 1-7 instruccin OTU 1-8 instruccin PID ajuste 12-24 alarmas 12-25 banda muerta 12-34 configuracin 12-24 escala 12-26 estructura 12-20 operandos 12-19 polarizacin de salida 12-35 prealimentacin 12-35 instruccin RAD 15-3 instruccin RES 2-18 instruccin RET 10-4, 11-6 instruccin RTO 2-8 instruccin SBR 10-4 instruccin SIN 13-2 instruccin SQI entrada de secuenciador 9-2 instruccin SQO 9-6 instruccin SQR 5-16 instruccin SRT 7-38 instruccin SSV objetos 3-29 operandos 3-27 instruccin SUB 5-8 instruccin TAN 13-6 instruccin TND 10-10 instruccin TOD 15-4 instruccin TOF 2-5 instruccin TRN 15-8 instruccin UID 10-13 instruccin UIE 10-14 instruccin XIC 1-2 instruccin XIO 1-4 instruccin XOR 6-13 instruccin XPY 14-6 instrucciones 2-1 arreglo atributos comunes A-1 bit 1-1 clculo 5-1 comparacin 4-1 control de programa 10-1 conversin 15-1 conversin matemtica 15-1

desplazamiento 8-1 entrada/salida 3-1 especiales 12-1 FOR/interrupcin 11-1 lgica 6-1 matemticas avanzadas 14-1 secuenciador 9-1 temporizador 2-1 tiempo de ejecucin C-1 transferencia 6-1 trigonomtricas 13-1 uso de memoria D-3 instrucciones de archivo. Vea las instrucciones de arreglo instrucciones de arreglo archivo/miscelneos 7-1 AVE 7-34 BSL 8-2 BSR 8-5 conceptos de arreglo B-1 COP 7-27 DDT 12-9 desplazamiento 8-1 FAL 7-6 FBC 12-2 FFL 8-8 FFU 8-14 FLL 7-31 FSC 7-17 LFL 8-20 LFU 8-26 modo de operacin 7-1 secuenciador 9-1 SQI 9-2 SQL 9-11 SQO 9-6 SRT 7-38 STD 7-41 instrucciones de bit introduccin 1-1 ONS 1-9 OSF 1-14 OSR 1-11 OSR 1-11 OTE 1-6 OTL 1-7 OTU 1-8 XIC 1-2 XIO 1-4
1756-6.4.1ES - Octubre de 1999

instrucciones de clculo ABS 5-19 ADD 5-6 CPT 5-2 DIV 5-12 formato de expresin 5-4, 7-15 introduccin 5-1 MOD 5-14 MUL 5-10 NEG 5-18 operadores vlidos 5-4, 7-15 orden de operacin 5-5, 7-16 SQR 5-16 SUB 5-8 instrucciones de comparacin CMP 4-2 EQU 4-6 formato de expresin 4-4, 7-25 GEQ 4-8 GRT 4-10 introduccin 4-1 LEQ 4-12 LES, instruccin LES 4-14 LIM 4-16 MEQ 4-19 NEQ 4-22 orden de operacin 4-5, 7-26 instrucciones de contador introduccin 2-1 instrucciones de control de programa introduccin 10-1 instrucciones de control maestro de reset MCR 10-11 instrucciones de conversin 15-4 DEG 15-2 FRD 15-6 introduccin 15-1 RAD 15-3 TRN 15-8 instrucciones de conversin matemtica introduccin 15-1 TRN 15-8 instrucciones de conversiones matemticas DEG 15-2 FRD 15-6 RAD 15-3
1756-6.4.1ES - Octubre de 1999

TOD 15-4 instrucciones de desplazamiento BSL 8-2 BSR 8-5 FFL 8-8 FFU 8-14 introduccin 8-1 LFL 8-20 LFU 8-26 instrucciones de entrada/salida GSV 3-27 introduccin 3-1 MSG 3-2 SSV 3-27 instrucciones de lgica introduccin 6-1 instrucciones de mover BTD 6-5 CLR 6-8 MOV 6-2 MVM 6-3 instrucciones de secuenciador introduccin 9-1 SQI 9-2 SQL 9-11 SQO 9-6 instrucciones de temporizador introduccin 2-1 TON 2-2 instrucciones de transferencia introduccin 6-1 instrucciones del arreglo RES 2-18 instrucciones del contador CTD 2-14 CTU 2-11 RES 2-18 instrucciones del temporizador RES 2-18 RTO 2-8 TOF 2-5 instrucciones especiales DDT 12-9 DTR 12-16 FBC 12-2 introduccin 12-1 PID 12-19 instrucciones GSV operandos 3-27

instrucciones lgicas AND 6-9 NOT 6-15 OR 6-11 XOR 6-13 instrucciones matemticas avanzadas introduccin 14-1 LN 14-2 LOG 14-4 XPY 14-6 instrucciones para el control del programa 10-4 AFI 10-15 JMP 10-2 JSR 10-4 LBL 10-2 NOP 10-16 SBR 10-4 TND 10-10 UID 10-13 UIE 10-14 instrucciones STD 7-41 instrucciones TON 2-2 instrucciones trigonomtricas ACS 13-10 ASN 13-8 ATN 13-12 COS 13-4 introduccin 13-1 SIN 13-2 TAN 13-6 interrupcin 11-5 interrupcin de usuario activada 10-14 interrupcin de usuario desactivada 10-13 L lmite 4-16 llenar archivo 7-31 logaritmo de base 10 14-4 logaritmo natural 14-2 M mscara igual a 4-19 mscaras 4-19, 6-3, 12-16 mayor que 4-10 mayor que o igual a 4-8 menor que o igual a 4-12 menos que 4-14

mensaje 3-2 modo buscar 12-4, 12-11 modo de operacin 7-1 modo incremental 7-4 modo numrico 7-3 modo todos 7-2 mdulo 5-14 mover con mscara 6-3 multiplicar 5-10 N no igual a 4-22 O O exclusivo 6-13 objeto AXIS 3-30 objeto CONTROLLER 3-37 objeto CONTROLLERDEVICE 3-37 objeto CST 3-39 objeto DF1 3-40 objeto FAULTLOG 3-43 objeto MESSAGE 3-43 objeto MODULE 3-45 objeto MOTIONGROUP 3-46 objeto PROGRAM 3-47 objeto ROUTINE 3-47 objeto SERIALPORT 3-48 objeto TASK 3-49 objeto WALLCLOCKTIME 3-50 objetos AXIS 3-30 CONTROLLER 3-37 CONTROLLERDEVICE 3-37 CST 3-39 DF1 3-40 FAULTLOG 3-43 instruccin GSV/SSV 3-29 MESSAGE 3-43 MODULE 3-45 MOTIONGROUP 3-46 PROGRAM 3-47 ROUTINE 3-47 SERIALPORT 3-48 TASK 3-49 WALLCLOCKTIME 3-50 obtener valor del sistema 3-27 operadores 5-4, 7-15 instrucciones de comparacin operadores vlidos 4-4, 7-25 orden de operacin 4-5, 5-5, 7-16, 7-26
1756-6.4.1ES - Octubre de 1999

P palabras clave estado aritmtico A-1 otras A-4 palabras clave de estado aritmtico A-1 polarizacin de salida 12-35 prealimentacin 12-35 promedio 7-34 proporcional, integral y derivada 12-19 R radianes en grados 15-2 raz cuadrada 5-16 relleno de cero A-6 restablecimiento 2-18 restar 5-8 RET 10-4 retorno 10-4 S salida de secuenciador 9-6 saltar a subrutina 10-4 salto 10-2 seno 13-2 siempre falso 10-15

sin operacin 10-16 subrutina 10-4 sumar 5-6 T tangente 13-6 temporizador a la conexin 2-2 temporizador a la desconexin 2-5 temporizador retentivo a la conexin 2-8 tiempo ejecucin C-1 tiempo de ejecucin C-1 tipos de datos A-5 truncar un valor 15-8 U un frente ascendente 1-11 un frente descendente 1-14 un impulso 1-9 uso de memoria C-1, D-1 V valor absoluto 5-19 X X a la potencia de Y 14-6

1756-6.4.1ES - Octubre de 1999

Notas:

1756-6.4.1ES - Octubre de 1999

1756-6.4.1ES - Octubre de 1999 8


Reemplaza la publicacin 1756-6.4.1 - March de 1999

PN 957259-65
1999 Rockwell International Corporation.