Documente Academic
Documente Profesional
Documente Cultură
Controladores Logix5000
(Num. cat.) 1756-L1, -L1Mx
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.
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
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
Resumen de cambios
Notas:
Ubicacin de 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
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
Prefacio
Introduccin
Tarea/meta: Instalacin del controlador y los componentes del mismo Uso del controlador
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
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.
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
Ejecucin
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
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
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.
instruccin de entrada
instruccin de salida
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.
Notas:
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
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
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
Tabla de contenido
iv
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
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 . . . . . . . . . . . . . . . . . . . . . . . .
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
Tabla de contenido
vi
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
1-2
Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)
Tipo: BOOL
Formato: tag
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.
bit de datos = 0
bit de datos = 1
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).
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
1-4
Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)
Tipo: BOOL
Formato: tag
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.
bit de datos = 0
bit de datos = 1
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).
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
1-6
Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)
Tipo: BOOL
Formato: tag
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.
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: OTE(data_bit); OTE data_bit
Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)
1-7
Tipo: BOOL
Formato: tag
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.
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
1-8
Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)
Tipo: BOOL
Formato: tag
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.
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: OTU(data_bit); OTU data_bit
Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)
1-9
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
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.
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
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 de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)
1-11
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
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.
la instruccin se ejecuta
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.
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
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.
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
1-14
Instrucciones de bit (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)
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
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
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.
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
El bit de almacenamiento se establece. El bit de salida se restablece. La condicin de salida de rengln est establecida como verdadera.
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.
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
Captulo
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
2-2
Operando: Temporizador
Tipo: TIMER
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
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
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
bit .DN = 1
bit .DN = 0
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
el bit .DN est establecido ll bit .TT se restablece el bit .EN est establecido
no
2-4
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)
2-5
Operando:
Tipo:
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
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
2-6
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.
bit .DN = 0
bit .DN = 1
bit .EN = 1
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
No
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.
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
2-8
Operando: Temporizador
Tipo: TIMER
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
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)
valor preseleccionado
valor acumulado del temporizador (.ACC) 0 1756-6.4.1ES - Octubre de 1999 el temporizador no lleg al valor .PRE
16651
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
bit .DN = 1
bit .DN = 0
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
el bit .DN est establecido ll bit .TT se restablece el bit .EN est establecido
no
2-10
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
2-11
Count Up (CTU)
Operandos:
Operando: Counter
Tipo: COUNTER
Descripcin: estructura del contador el conteo mximo el nmero de veces que el temporizador ha contado el valor inicial es tpicamente 0
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
valor preseleccionado
2-12
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
el bit .CU = 0
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 = 0
el bit .OV = 0
el bit .UN = 1
el bit .OV = 1
examine .ACC
.ACC .PRE
2-13
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
2-14
Operando: Counter
Tipo: COUNTER
Descripcin: estructura del contador el conteo mnimo el nmero de veces que el temporizador ha contado el valor inicial es tpicamente 0
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.
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)
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.
2-16
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
el bit CD = 0
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 = 0
el bit .OV = 0
.el bit UN = 1
el bit .OV = 1
examine .ACC
.ACC .PRE
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
2-18
Reset (RES)
Operandos:
Operando: estructura
Formato: tag
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.
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.
2-19
Ejemplo de RES:
Ejemplo: Descripcin: Cuando se habilite, restablezca timer_3.
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: RES(structure); RES structure
2-20
Notas:
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
3-2
Message (MSG)
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.
3-3
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
3-4
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:
no fin el bit .EW se restablece. el bit .ER se restablece. el bit .DN se restablece. el bit .ST se restablece.
3-5
Accin:
el bit .EW = 0
el bit .ST = 0
el bit .DN = 0
el bit .ER = 0
no
el bit .DN = 0
el bit .ER = 1 examine el .ER el bit .EW est establecido el bit .ER est establecido
el bit .ER = 0
fin
3-6
Accin:
bit .EN = 0
.el bit EW = 1
el bit .EW = 0
el bit .EW = 0
el bit .ST = 1
el bit .ST = 0
el bit .ST = 0
los bits .EW, .ST, .TO, .DN y .ER se restablecen el bit .EN est establecido
el bit .DN = 0
el bit .ER = 0
no
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
fin
3-7
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
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
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
3-9
Estos son los cdigos de error extendidos para el cdigo de error 001F.
Cdigo de error extendido (hex): 0203 Descripcin:
Estos son los cdigos de error extendidos para el cdigo de error 0004 y 0005.
Cdigo de error extendido (hex): 0000 0001 Descripcin:
3-10
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)
3-11
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
3-12
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
3-13
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.
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
3-16
3-17
3-17
3-18
3-19
3-14
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.
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.
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
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
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
3-16
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
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.
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 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.
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).
3-18
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.
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 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.
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).
3-20
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:
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
3-21
Cuando usted configura una instruccin MSG, configura estos detalles en la ficha Comunicacin.
Es el mensaje a un mdulo de transferencia en bloques mediante una red de E/S remotas universales? No
3-22
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
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.
42
1 3
3-24
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
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.
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
3-25
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
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
3-26
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.
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.
3-27
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.
3-28
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
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
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.
3-30
*AxisType
INT
GSV SSV
3-31
Atributo: *DriveFaultAction
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
GSV SSV GSV GSV GSV SSV GSV SSV GSV SSV GSV SSV GSV SSV
3-32
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
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.
*PositionErrorTolerance *PositionIntegralGain
REAL REAL
3-33
Atributo: PositionServoBandwidth
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
ServoConfigurationUpdateBits
DINT
GSV
3-34
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
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).
3-35
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
TuneVelocityBandwidth
REAL
GSV
TuningConfigurationBits
DINT
GSV SSV
3-36
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.
ProductCode ProductRev
INT INT
GSV GSV
SerialNumber
DINT
GSV
3-37
Atributo: Status
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
3-38
2 3
4 5 6
7 89
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.
3-39
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
3-40
Atributo: MasterMessageTransmit
Instruccin: GSV
NAKReceiveLimit
SINT
GSV
NormalPollGroupSize
INT
GSV
PollingMode
SINT
GSV
ReplyMessageWait
DINT
GSV
StationAddress
INT
GSV
SlavePollTimeout
DINT
GSV
TransmitRetries
SINT
GSV
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.
3-41
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)
3-42
MajorFaultBits
DINT
GSV SSV
ConnectionRate MessageType
DINT SINT
Puerto
SINT
3-43
Atributo: TimeoutMultiplier
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.
3-44
3-45
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
3-46
GSV GSV SSV GSV SSV Estilo: Decimal Decimal Decimal Decimal Hexadecimal GSV SSV GSV SSV Estilo: Decimal Decimal Decimal Decimal Hexadecimal GSV SSV
3-47
DataBits
SINT
GSV
Paridad
SINT
GSV
RTSOffDelay
INT
GSV
RTSSendDelay
INT
GSV
StopBits
SINT
GSV
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.
3-48
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)
MaxScanTime MinxInterval
DINT DINT[2]
prioridad
INT
GSV
3-49
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
DINT
CurrentValue
DINT[2]
GSV SSV
DateTime
DINT[7]
GSV SSV
3-50
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.
3-51
Segn el estado de SW.1, coloque el valor apropiado en el atributo disableflag del programa discrete.
3-52
Notas:
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.
4-2
Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Compare (CMP)
Operandos:
Operando: Expresin
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 expresin es falsa
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.
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
ABS(tag_a)
operand_a operador operand_b tag_b + 5 tag_c AND tag_d (tag_e ** 2) MOD (tag_f / tag_g)
Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-5
4-6
Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Equal to (EQU)
Operandos:
Operando: 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. 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
no
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
4-8
Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Operando: 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. 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
no
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
4-10
Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Operando: 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. 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.
no
Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-11
Ejemplo de GRT:
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: GRT(source_A,source_B); GRT source_A source_B
4-12
Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Operando: 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. 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
no
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
4-14
Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Operando: 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. 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.
no
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
4-16
Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Limit (LIM)
Operandos:
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.
Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-17
+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 falsa
Si es lmite inferior:
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
4-18
Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
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 de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-19
Operando: 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. 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.
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.
no
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).
Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-21
ejemplo 2
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
4-22
Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Operando: 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. 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.
Origen A origen B
no
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
4-24
Instrucciones de comparacin (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Notas:
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.
5-2
Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
Compute (CPT)
Operandos:
Operando: Destino
Formato: tag
Expresin
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.
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
5-4
Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
ABS(tag_a)
operand_a operador operand_b tag_b + 5 tag_c AND tag_d (tag_e ** 2) MOD (tag_f / tag_g)
Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-5
Add (ADD)
Operandos:
Operando: 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. 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.
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 de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-7
Subtract (SUB)
Operandos:
Operando: 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. 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.
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 de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-9
Multiply (MUL)
Operandos:
Operando: 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. 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.
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 de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-11
Divide (DIV)
Operandos:
Operando: 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. 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.
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 de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-13
Modulo (MOD)
Operandos:
Operando: 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. 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.
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 de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-15
Operando: Origen
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
Indicadores de estado aritmtico: Los indicadores de estado aritmtico son afectados. Condiciones de fallo: ninguna
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 de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-17
Negate (NEG)
Operandos:
Operando: Origen
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
5-18
Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
Operando: Origen
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 de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-19
Notas:
5-20
Instrucciones de clculo/matemticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
Captulo
Instrucciones de transferencia/lgica
(MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)
Introduccin
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.
6-2
Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)
Move (MOV)
Operandos:
Operando: Origen
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
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 de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)
6-3
Operando: 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. 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.
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
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: MVM(source,mask,destination); MVM source mask destination
Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)
6-5
Operando: 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. 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
Bit de destino
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
Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)
6-7
ejemplo 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
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
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
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: BTD(source,source_bit,destination,destination_bit,length); BTD source source_bit destination destination_bit length
6-8
Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)
Clear (CLR)
Operandos:
Operando: Destino
Formato: tag
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 de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)
6-9
Operando: 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. 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
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.
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: AND(source_A,source_B,destination); AND source_A source_B destination
Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)
6-11
Bitwise OR (OR)
Operandos:
Operando: 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. 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
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.
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: OR(source_A,source_B,destination); OR source_A source_B destination
Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)
6-13
Operando: 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. 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
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.
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: XOR(source_A,source_B,destination); XOR source_A source_B destination
Instrucciones de transferencia/lgica (MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)
6-15
Operando: 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. 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
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
Captulo
Introduccin
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.
7-2
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
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
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
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
7-4
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
16641
Importante: Evite usar los resultados de una operacin de instruccin de archivo en el modo numrico hasta que se establezca el bit .DN.
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
bit .EN bit .DN escn de la instruccin operacin concluida operacin concluida
40013
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.
16643
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
bit .EN
bit .DN
escn de la instruccin
40014
operacin concluida
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.
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
Expresin
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).
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.
bit .DN = 0
modo INC
no
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
pgina 7-12
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
7-9
Condicin:
Accin:
pgina7-12
fallo mayor modo numrico
bit .DN = 1
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
no
.POS = .LEN
no
.POS = .POS + 1
fin
7-10
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
Condicin:
Modo INC
Accin:
bit .EN = 0
bit = 1
.POS = .POS + 1
bit = 0
.POS = 0
no .POS = .POS + 1
comn
pgina 7-9
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
7-11
Condicin:
Modo TODOS
Accin:
bit = 1
bit .EN = 1
bit = 0
.POS = .POS + 1
.POS .LEN no
.POS = 0
no .POS = .POS + 1
comn
pgina 7-9
fin
7-12
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
Condicin:
modo numrico
Accin:
bit .EN = 0
.POS = .POS + 1
bit = 1
bit = 0
se establece el bit interno
.POS .LEN no
.POS = 0
no .POS = .POS + 1
modo .LEN s
fin
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
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.
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
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.
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.
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.
Destino array_3[control_1.pos]
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.
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.
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.
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
ABS(tag_a)
operand_a operador operand_b tag_b + 5 tag_c AND tag_d (tag_e ** 2) MOD (tag_f / tag_g)
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
7-17
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
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.
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.
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.
bit .DN = 0
modo INC
no
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
pgina 7-12
7-20
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
Condicin:
Accin:
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
.POS = .POS + 1
fin
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
7-21
Condicin:
Modo INC
Accin:
bit .EN = 0
bit = 1
.POS = .POS + 1
bit = 0
.POS = 0
no .POS = .POS + 1
comn
pgina 7-20
7-22
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
Condicin:
Modo TODOS
Accin:
bit = 1
bit .EN = 1
bit = 0
.POS = .POS + 1
.POS .LEN no
.POS = 0
no .POS = .POS + 1
comn
pgina 7-20
fin
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
7-23
Condicin:
modo numrico
Accin:
bit .EN = 0
.POS = .POS + 1
bit = 1
bit = 0
se establece el bit interno
.POS .LEN no
.POS = 0
no .POS = .POS + 1
modo .LEN s
el bit .EN est establecido loop_count = .LEN .POS el bit .FD se restablece .POS = .POS + 1
fin
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
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.
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
7-25
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
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.
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
ABS(tag_a)
operand_a operador operand_b tag_b + 5 tag_c AND tag_d (tag_e ** 2) MOD (tag_f / tag_g)
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
7-27
7-28
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
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
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.
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.
no
source_address = origen
destination_address = end_address
no
destination_address = destination_address + 1
fin
7-30
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
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.
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]
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: COP(source,destination,length); COP(source,destination,length)
7-32
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
Operando: Origen
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
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.
no
source_address = origen
destination_address = end_address
no
destination_address = destination_address + 1
fin
7-34
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
Ejemplo de FLL:
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 de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
7-35
Operando: 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
DINT
Destino
tag
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.
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.
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
fin
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.
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
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
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 de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
7-39
Operando: 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
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 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.
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.
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
fin
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
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
7-41
Ejemplo de SRT:
ejemplo 1
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
7-42
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
Operando: 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
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
Desviacin estndar =
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
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.
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
fin
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
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
STD =
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
STD =
20 18 + 19 18 + 18 18 + 17 18 + 16 18 ----------------------------------------------------------------------------------------------------------------------------------------------------------- = 1.581139 5 1
7-46
Instrucciones de arreglo (archivo)/miscelneos (FAL, FSC, COP, FLL, AVE, SRT, STD)
Notas:
Captulo
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.
8-2
Operando: Arreglo
Tipo: DINT
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
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.
8-3
Condicin:
Accin:
bit .EN = 1
.LEN < 0
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
fin
8-4
Ejemplo de BSL:
ejemplo 1
input_1
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]
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
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
8-5
Operando: Arreglo
Tipo: DINT
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
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.
8-6
Condicin:
Accin:
bit .EN = 1
.LEN < 0
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
fin
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
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]
array_dint[1]
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
8-8
Operando: Origen
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
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.
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.
8-10
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
.POS = 0
no
.POS .LEN
no
fin
8-11
Accin:
.LEN < 0
no
.POS < 0
no
.POS = 0
no
.POS .LEN
no
fin
8-12
Condicin:
Accin:
.EN = 0
.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
.POS .LEN no
.POS = 0
el bit .EM est establecido .POS o .LEN > tamao del arreglo no s fallo mayor
no
.POS .LEN no
no
FIFO[.POS 1] = origen
fin
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:
array_dint[0]
array_dint[5]
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
8-14
Operando: FIFO
Tipo: SINT INT DINT REAL estructura SINT INT DINT REAL estructura
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
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.
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.
8-16
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
.POS = 0
no
.POS .LEN
no
fin
8-17
Accin:
.LEN < 0
no
.POS < 0
no
.POS = 0
no
.POS .LEN
no
fin
8-18
Condicin:
Accin:
.EU = 0
.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
.POS 1 no
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
8-19
Ejemplo de FFU:
array_dint[0]
array_dint[5]
control_1.pos = 6
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
8-20
Operando: Origen
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
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.
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.
8-22
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
.POS = 0
no
.POS .LEN
no
fin
8-23
Accin:
.LEN < 0
no
.POS < 0
no
.POS = 0
no
.POS .LEN
no
fin
8-24
Condicin:
Accin:
.EN = 0
.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
.POS .LEN no
.POS = 0
el bit .EM est establecido .POS o .LEN > tamao del arreglo no s fallo mayor
no
.POS .LEN no
no
LIFO[.POS 1] = origen
fin
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:
array_dint[0]
array_dint[5]
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
8-26
Operando: LIFO
Tipo: SINT INT DINT REAL estructura SINT INT DINT REAL estructura
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
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.
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.
8-28
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
.POS = 0
no
.POS .LEN
no
fin
8-29
Accin:
.LEN < 0
no
.POS < 0
no
.POS = 0
no
.POS .LEN
no
fin
8-30
Condicin:
Accin:
.EU = 0
.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
.POS < 1
Destino = 0
no
no
.POS .LEN no
.POS = .LEN
no .POS = .POS + 1
fallo mayor
fin
8-31
Ejemplo de LFU:
array_dint[0]
array_dint[5]
control_1.pos = 6
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: LFU(LIFO,destination,control,length,position); LFU LIFO destination control length position
8-32
Notas:
Captulo
Instrucciones de secuenciador
(SQI, SQO, SQL)
Introduccin
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.
9-2
Operando: Arreglo
Tipo: DINT
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
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
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
9-3
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.
no
no
fin
9-4
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.
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).
9-5
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
9-6
Operando: Arreglo
Tipo: DINT
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
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
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
9-7
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.
9-8
Condicin:
Accin:
no
.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
no .POS = .POS + 1
error de ir a
no
.POS = .LEN
no
no
error
fin
9-9
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.
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).
9-10
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: SQO(array,mask,destination,control,length,position); SQO array mask destination control length position
9-11
Operando: Arreglo
Tipo: DINT
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
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
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.
9-12
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.
9-13
Condicin:
Accin:
no
.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
no .POS = .POS + 1
error de ir a
.POS = .LEN
no
no
s .LEN > tamao del arreglo no fallo mayor el bit .ER est establecido Array[control.POS] = origen s
error
fin
9-14
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]
array_dint[5]
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
Captulo
10
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-2
Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
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.
Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
10-3
Ejemplo de JMP/LBL:
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
10-4
Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
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
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.
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.
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.
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.
parmetros de entrada no
no
s fin de la subrutina
la condicin de salida de rengln est establecida como falsa contine ejecutando la rutina
fin
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
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.
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.
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
10-10
Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
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.
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: TND(); TND
Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
10-11
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.
10-12
Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
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 de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
10-13
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.
Una vez habilitada, la instruccin UID inhabilita temporalmente la conmutacin entre tareas del usuario.
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: UID(); UID
10-14
Instrucciones de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
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.
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 de control de programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
10-15
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
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.
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: NOP(); NOP
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
11-2
For (FOR)
Operandos:
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
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.
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.
ndice = initial_value
no
no
ir a fin
11-4
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
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.
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
11-6
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.
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
Captulo
12
Instrucciones especiales
(FBC, DDT, DTR, PID)
Introduccin
DDT
12-9
DTR
12-16
PID
12-19
12-2
Operando: Origen
Tipo: DINT
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.
12-3
.IN
BOOL
.ER
BOOL
.LEN .POS
DINT DINT
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.
12-4
Ejecucin:
Condicin: preescn
se restablece el bit .EN se restablece el bit .FD
Accin:
.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
fin
12-5
Accin:
.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
fin
12-6
Condicin:
Accin:
.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
comparacin
ir a salida
fin
pgina 12-7
12-7
Condicin:
compare
Accin:
ir a salida
pgina 12-6
result.DN = 1
origen[compare.POS]= referencia[compare.POS]
no
s compare.POS = compare.POS + 1
s result.POS < 0
no
s result.LEN 0
no
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
12-8
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
12-9
Operando: Origen
Tipo: DINT
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.
12-10
.IN
BOOL
.ER
BOOL
.LEN .POS
DINT DINT
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.
12-11
Ejecucin:
Condicin: preescn
se restablece el bit .EN se restablece el bit .FD
Accin:
.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
fin
12-12
Accin:
.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
fin
12-13
Condicin:
Accin:
.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
comparacin
ir a salida
fin
pgina 12-14
12-14
Condicin:
comparacin
Accin:
ir a salida
pgina 12-13
result.DN = 1
origen[compare.POS]= referencia[compare.POS]
no
s compare.POS = compare.POS + 1
s result.POS < 0
no
s result.LEN 0
no
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
12-15
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
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
12-16
Operando: Origen
Tipo: DINT
Mscara
DINT
Referencia
DINT
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.
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.
no
la referencia est establecida para ser igual al origen enmascarado la condicin de salida de rengln est establecida como verdadera
12-18
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 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
0 0
1 1
8 8
3 3
referencia value_2
0 0
1 1
8 8
7 3
12-19
Valor retenido
(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
tag
estructura
Bit mantenido
BOOL
tag
Valor mantenido
tag
12-20
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
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 %)
12-22
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)
12-23
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
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.
12-24
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
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.
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.
Modo manual
12-25
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).
12-26
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
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.
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
E = SP PV
t
CV = K C
E = PV SP
t
CV = K C
ganancias independientes
error (E)
t
E = SP PV
t
E = PV SP
t
12-28
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.
12-29
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.
12-30
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.
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
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.
12-33
12-34
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.
+ 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
12-35
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.
12-36
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.
13-2
Sine (SIN)
Operandos:
Operando: Origen
Destino
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.
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
13-4
Cosine (COS)
Operandos:
Operando: Origen
Destino
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.
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
13-6
Tangent (TAN)
Operandos:
Operando: Origen
Destino
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.
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
13-8
Operando: Origen
Destino
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.
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
13-10
Operando: Origen
Destino
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.
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
13-12
Operando: Origen
Destino
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.
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
13-14
Notas:
Captulo
14
Introduccin
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.
14-2
Operando: Origen
Destino
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.
14-3
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: LN(source,destination); LN source destination
14-4
Operando: Origen
Destino
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.
14-5
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: LOG(source,destination); LOG source destination
14-6
Operando: Origen A
Tipo: SINT INT DINT REAL SINT INT DINT REAL SINT INT DINT REAL
Origen B
exponente
Destino
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
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
14-8
Notas:
Captulo
15
Introduccin
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.
15-2
Degrees (DEG)
Operandos:
Operando: Origen
Destino
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
15-3
Radians (RAD)
Operandos:
Operando: Origen
Destino
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
15-4
Operando: 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. 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.
no
fin
15-5
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
15-6
Operando: 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. 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.
15-7
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: FRD(source,destination); FRD source destination
15-8
Truncate (TRN)
Operandos:
Operando: Origen
Tipo: REAL
Destino
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.
15-9
Otros formatos:
Formato: texto neutro texto ASCII Sintaxis: TRN(source,destination); TRN source destination
15-10
Notas:
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
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)
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.
s:C
7 s:N
s:C
15 s:N
14
13
12
11
10
s:C
31 s:N
30
29
28
27
26
25
24
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.
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.
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.
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)
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
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.
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).
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.
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.
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)
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
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.
42093
Atributos comunes
A-9
A-10
Atributos comunes
El siguiente ejemplo muestra el resultado de convertir los valores REAL a valores DINT.
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.
Apndice
Conceptos de arreglo
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:
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]
Conceptos de arreglo
B-3
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]
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.
B-4
Conceptos de arreglo
array1 array2
definido como DINT[5] definido como INT[17,36] la 1 dimensin tiene 17 elementos la 2 dimensin tiene 36 elementos
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
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 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.
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).
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
B-6
Conceptos de arreglo
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
[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]
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
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.
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
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
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
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
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
0.43 0.43
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
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
JSR/RET
LBL LEQ
na DINT REAL
LES
DINT REAL
LFL
7.5
LFU
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
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.
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
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
C-16
Tiempo de ejecucin
Notas:
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
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.
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
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
Temporizador y contador
Entrada y salida
76 76 76 + expresin 20 36 36 36 36 44
Comparacin
20 96 + expresin 44 44 44 44 44 40 56 56
Clculo
Uso de memoria
D-5
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
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
64 64 64 64
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
92 48 48 48 48 48 48 48 48 52 52 52
Trigonomtricas
Matemticas avanzadas
LN LOG XPY
Conversin matemtica
92
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
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
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]
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
TagD TableC[TagC]
TagA TableD[TagC,0,0}
TagC TableD[TagC,0,0]
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]
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]
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
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
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]
Memoria adicional usada: 24 bytes para la instruccin MOV no se aade nada ms total de 24 bytes
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
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
Notas:
PN 957259-65
1999 Rockwell International Corporation.