Documentos de Académico
Documentos de Profesional
Documentos de Cultura
identificar un peligro
evitar un peligro
Ethernet es una marca comercial de Digital Equipment Corporation, Intel y Xerox Corporation.
Informacin actualizada La siguiente tabla indica los cambios ms significativos efectuados en este
documento desde la versin ms reciente:
Informacin eliminada La siguiente tabla indica la informacin que ha sido eliminada de este
manual pero que se puede encontrar en otros manuales:
Notas:
Dnde se encuentran las Use la tabla siguiente para encontrar las instrucciones que aparecen en este
instrucciones 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: Pgina o
manual:
SQI 9-2
SQL 9-11
SQO 9-6
SQR 5-16
SRT 7-39
SSV 3-27
STD 7-42
SUB 5-8
TAN 13-6
TND 10-10
TOD 15-4
TOF 2-5
TON 2-2
TRUN 15-8
UID 10-13
UIE 10-14
XIC 1-2
XIO 1-4
XOR 6-13
XPY 14-6
Tarea/meta: Documentos:
Instalacin del controlador y los Inicio rpido del controlador Logix5550, publicacin 1756-10.1ES
componentes del mismo Instrucciones de instalacin de la tarjeta de memoria Logix5550,
publicacin 1756-5.33ES
Uso del controlador Logix5000 Controllers User Manual, publication 1756-6.5.12
Programar el controlador para aplicaciones Manual de referencia del conjunto de instrucciones generales Logix5000,
secuenciales publicacin 1756-6.4.1ES
Usted est aqu
Programar el controlador para aplicaciones Logix5000 Controllers Motion Instruction Set Reference Manual,
de movimiento publication 1756-6.4.3
Configuracin y comunicacin con los Digital Modules User Manual, publicacin 1756-6.5.8
mdulos de E/S digitales
Configuracin de los mdulos de E/S Analog Modules User Manual, publicacin 1756-6.5.9
analgicas
Configuracin y uso de los mdulos de ControlLogix Motion Module User Manual, publicacin 1756-6.5.16
movimiento
Seleccin e instalacin de un chasis ControlLogix Chassis Installation Instructions, publicacin 1756-5.69
Seleccin e instalacin de una fuente de Instrucciones de instalacin de la fuente de alimentacin elctrica ControlLogix,
alimentacin elctrica publicacin 1756-5.1ES
Importar un archivo o tags de texto en un Logix5550 Controller Import/Export Reference Manual, publication 1756-6.8.4
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
una aplicacin Logix5000 Reference Manual, publication 1756-6.8.5
Quin debe usar este manual Este documento proporciona al programador los detalles acerca de cada
instruccin disponible para un controlador Logix5550. Usted ya debe estar
familiarizado con la manera en que el controlador Logix5550 almacena y
procesa los datos.
Los usuarios sin experiencia deben leer todos los detalles acerca de una
instruccin antes de usar sta. Los programadores con experiencia pueden
consultar la informacin de instrucciones para verificar los detalles.
Propsito de este manual Este manual proporciona informacin acerca de cada instruccin que es
compatible con los controladores Logix5000. Cada descripcin se presenta
segn el formato siguiente:
Informacin comn para todas El conjunto de instrucciones Logix5000 tiene algunos atributos comunes:
las instrucciones
Esta informacin: Vea este apndice:
atributos comunes el apndice A define:
indicadores de estado aritmtico
tipos de datos
palabras clave
arreglos el apndice B define los arreglos y explica
cmo el controlador manipula los mismos
estructuras el apndice C ilustra las estructuras de control
compatibles con el controlador
condicin condicin
de entrada de salida
de rengln de rengln
Notas:
Capitulo 1
Instrucciones de bit Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
(XIC, XIO, OTE, OTL, OTU, ONS, Examine If Closed (XIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
OSR, OSF) 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
CTD, RES) Timer Off Delay (TOF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Retentive Timer On (RTO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
Count Up (CTU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
Count Down (CTD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
Reset (RES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18
Chapter 3
Instrucciones de entrada/ Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
salida (MSG, GSV, SSV) Message (MSG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
MSG Error Codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
Cdigos de error ControlLogix (CIP) . . . . . . . . . . . . . . . . . . . 3-7
Cdigos de error extendidos ControlLogix . . . . . . . . . . . . . . . 3-8
Cdigos de error PLC y SLC (.ERR). . . . . . . . . . . . . . . . . . . . 3-9
Cdigos de error extendidos PLC y SLC (.EXERR) . . . . . . . 3-10
Cdigos de error de transferencia en bloques . . . . . . . . . . . . 3-11
Cdigos de error Logix5550 . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
Cdigos de error extendidos Logix5550 . . . . . . . . . . . . . . . . 3-12
Cmo especificar los detalles de configuracin
(ficha Configuracin). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13
Cmo especificar los mensajes CIP . . . . . . . . . . . . . . . . . . . . 3-14
Cmo usar mensajes CIP genrico para restablecer
los mdulos de E/S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
Cmo especificar los mensajes PLC-5. . . . . . . . . . . . . . . . . . 3-16
Cmo especificar los mensajes SLC . . . . . . . . . . . . . . . . . . . 3-17
Cmo especificar los mensajes de transferencia en bloques . . 3-17
Cmo especificar los mensajes PLC-3. . . . . . . . . . . . . . . . . . 3-18
Cmo especificar los mensajes PLC-2. . . . . . . . . . . . . . . . . . 3-19
Ejemplos de configuracin MSG. . . . . . . . . . . . . . . . . . . . . . . . . 3-20
Cmo especificar los detalles de comunicacin
(ficha Comunicacin). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21
Cmo especificar una ruta de conexin . . . . . . . . . . . . . . . . . 3-21
Cmo especificar un mtodo de comunicacin: . . . . . . . . . . 3-25
Cmo seleccionar una opcin de cach: . . . . . . . . . . . . . . . . 3-26
Get System Value (GSV) y Set System Value (SSV) . . . . . . . . . 3-27
Chapter 4
Instrucciones de comparacin Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
(CMP, EQU, GEQ, GRT, LEQ, LES, Compare (CMP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
LIM, MEQ, NEQ) Operadores vlidos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
matemticas Compute (CPT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
(CPT, ADD, SUB, MUL, DIV, MOD, Operadores vlidos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
SQR, NEG, ABS) Cmo formatear expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
Cmo determinar el orden de operacin . . . . . . . . . . . . . . . . . 5-5
Add (ADD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
Subtract (SUB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
Multiply (MUL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
Divide (DIV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
Modulo (MOD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14
Square Root (SQR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16
Negate (NEG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18
Absolute Value (ABS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
1756-6.4.1ES - Octubre 1999
Tabla de contenido iii
Chapter 6
Instrucciones de Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
transferencia/lgica Move (MOV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
(MOV, MVM, BTD, CLR, Masked Move (MVM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Cmo introducir un valor de mscara inmediato . . . . . . . . . . . 6-3
AND, OR, XOR, NOT)
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 Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
(archivo)/miscelneos Cmo seleccionar el modo de operacin . . . . . . . . . . . . . . . . . . . . 7-1
(FAL, FSC, COP, FLL, AVE, Modo todos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Modo numrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
SRT, STD)
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 Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
(archivo)/desplazamiento Bit Shift Left (BSL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
(BSL, BSR, FFL, FFU, LFL, LFU) 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
Chapter 9
Instrucciones de secuenciador Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1
(SQI, SQO, SQL) Sequencer Input (SQI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
Cmo introducir un valor de mscara inmediato . . . . . . . . . . . 9-3
Cmo usar SQI sin SQO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5
Sequencer Output (SQO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6
Cmo introducir un valor de mscara inmediato . . . . . . . . . . . 9-7
Cmo usar SQI con SQO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9
Cmo restablecer la posicin de SQO . . . . . . . . . . . . . . . . . . 9-10
Sequencer Load (SQL). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11
Chapter 10
Instrucciones de control de Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1
programa Jump to Label (JMP)
(JMP, LBL, JSR, RET, SBR, TND, Label (LBL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
Jump to Subroutine (JSR)
MCR, UID, UIE, AFI, NOP)
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, BRK, RET) For (FOR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
Break (BRK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5
Return (RET) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6
Chapter 12
Instrucciones especiales Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
(FBC, DDT, DTR, PID) File Bit Comparison (FBC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2
Cmo seleccionar el modo buscar . . . . . . . . . . . . . . . . . . . . . 12-4
Diagnostic Detect (DDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-9
Cmo seleccionar el modo buscar . . . . . . . . . . . . . . . . . . . . 12-11
Data Transitional (DTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-16
Cmo introducir un valor de mscara inmediato . . . . . . . . . 12-16
Proportional Integral Derivative (PID) . . . . . . . . . . . . . . . . . . . 12-19
Cmo configurar una instruccin PID . . . . . . . . . . . . . . . . . . . . 12-24
Cmo especificar el ajuste . . . . . . . . . . . . . . . . . . . . . . . . . . 12-24
Cmo especificar la configuracin . . . . . . . . . . . . . . . . . . . 12-25
Cmo especificar alarmas . . . . . . . . . . . . . . . . . . . . . . . . . . 12-25
Cmo especificar la escala. . . . . . . . . . . . . . . . . . . . . . . . . . 12-26
Cmo usar las instrucciones PID . . . . . . . . . . . . . . . . . . . . . . . . 12-26
Bloqueo de accin integral y transferencia
sin perturbaciones de manual a automtico . . . . . . . . . . . . . 12-28
Temporizacin de la instruccin PID. . . . . . . . . . . . . . . . . . 12-29
1756-6.4.1ES - Octubre 1999
Tabla de contenido v
Chapter 13
Instrucciones trigonomtricas Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1
(SIN, COS, TAN, ASN, ACS, ATN) Sine (SIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2
Cosine (COS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4
Tangent (TAN). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6
Arc Sine (ASN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8
Arc Cosine (ACS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-10
Arc Tangent (ATN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-12
Chapter 14
Instrucciones matemticas Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-1
avanzadas Natural Log (LN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2
(LN, LOG, XPY) Log Base 10 (LOG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4
X to the Power of Y (XPY) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-6
Chapter 15
Instrucciones de conversin Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1
matemtica Degrees (DEG). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2
(DEG, RAD, TOD, FRD, TRN) Radians (RAD). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-3
Convert to BCD (TOD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-4
Convert to Integer (FRD). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-6
Truncate (TRN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-8
Appendix A
Atributos comunes Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
Palabras clave de estado aritmtico . . . . . . . . . . . . . . . . . . . . . . . A-1
Si el tipo de datos es SINT. . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
Si el tipo de datos es INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
Si el tipo de datos es DINT . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
Otras palabras clave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
Tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5
Valores inmediatos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6
Conversiones de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6
SINT o INT a DINT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-7
Nmero entero a REAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9
DINT a SINT o INT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9
REAL a un nmero entero . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9
Appendix B
Conceptos de arreglo Cmo ver un arreglo como coleccin de elementos . . . . . . . . . . B-1
Cmo indexar a travs de los arreglos . . . . . . . . . . . . . . . . . B-3
Cmo especificar bit dentro de arreglos . . . . . . . . . . . . . . . . B-4
Cmo ver un arreglo como un bloque de memoria . . . . . . . . . . . B-4
Cmo el controlador almacena los datos del arreglo . . . . . . . B-5
Cmo variar una dimensin . . . . . . . . . . . . . . . . . . . . . . . . . . B-6
Asignacin de memoria para los arreglos . . . . . . . . . . . . . . . . . . B-6
Appendix C
Tiempo de ejecucin Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1
Tablas de referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-3
Appendix D
Uso de memoria Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-1
Conversiones de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-2
Requisitos de memoria de extensin con signo . . . . . . . . . . . D-2
Requisitos de memoria de relleno con ceros . . . . . . . . . . . . . D-2
Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-3
Indices de arreglos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-7
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.
Operandos:
Operando: Tipo: Formato: Descripcin:
bit de datos BOOL tag bit que se prueba
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada
de rengln es verdadera
bit de datos = 1
la condicin de salida de
rengln se establece como
verdadera
fin
Ejemplo de XIC:
ejemplo 1 Si limit_switch_1 est establecido, esto habilita la prxima
instruccin (la condicin de salida de rengln es verdadera).
Otros formatos:
Formato: Sintaxis:
texto neutro XIC(data_bit);
texto ASCII XIC data_bit
Operandos:
Operando: Tipo: Formato: Descripcin:
bit de datos BOOL tag bit que se prueba
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada
de rengln es verdadera
bit de datos = 1
la condicin de salida
de rengln se establece
como falsa
fin
Ejemplo de XIO:
ejemplo 1 Si limit_switch_2 est restablecido, esto habilita la prxima
instruccin (la condicin de salida de rengln es verdadera).
Otros formatos:
Formato: Sintaxis:
texto neutro XIO(data_bit);
texto ASCII XIO data_bit
Operandos:
Operando: Tipo: Formato: Descripcin:
bit de datos BOOL tag bit que se establece o se
restablece
Ejecucin:
Condicin: Accin:
preescn El bit de datos se restablece.
La condicin de salida de rengln ese establece como falsa.
la condicin de entrada de rengln es El bit de datos se restablece.
falsa La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es El bit de datos se establece.
verdadera La condicin de salida de rengln se establece como verdadera.
Ejemplo de OTE:
Otros formatos:
Formato: Sintaxis:
texto neutro OTE(data_bit);
texto ASCII OTE data_bit
Operandos:
Operando: Tipo: Formato: Descripcin:
bit de datos BOOL tag bit que se establece
Ejecucin:
Condicin: Accin:
preescn El bit de datos no se modifica.
La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es El bit de datos no se modifica.
falsa La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es El bit de datos se establece.
verdadera La condicin de salida de rengln se establece como verdadera.
Ejemplo de OTL:
Una vez habilitada, la instruccin OTL establece light_2. Este bit permanece
establecido hasta que se restablece, tpicamente por una instruccin OTU.
Otros formatos:
Formato: Sintaxis:
texto neutro OTL(data_bit);
texto ASCII OTL data_bit
Operandos:
Operando: Tipo: Formato: Descripcin:
bit de datos BOOL tag bit que se restablece
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: Accin:
preescn El bit de datos no se modifica.
La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es El bit de datos no se modifica.
falsa La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es El bit de datos se restablece.
verdadera La condicin de salida de rengln se establece como verdadera.
Ejemplo de OTU:
Otros formatos:
Formato: Sintaxis:
texto neutro OTU(data_bit);
texto ASCII OTU data_bit
Operandos:
Operando: Tipo: Formato: Descripcin:
bit de BOOL tag bit de almacenamiento interno
almacenami- almacena la condicin de ren-
ento gln de entrada a partir de la
ltima ejecucin de la instruc-
cin
Descripcin: La instruccin ONS habilita o inhabilita el resto del rengln segn el estado
del bit de almacenamiento.
Ejecucin:
Condicin: Accin:
preescn 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.
la condicin de entrada de rengln es El bit de almacenamiento se restablece.
falsa La condicin de salida de rengln se establece como falsa.
la condicin de entrada
de rengln es verdadera
bit de
el bit de almacenamiento
examine el bit de almacenamiento = 0
est establecido
almacenamiento 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
Ejemplo de ONS: Tpicamente una instruccin de entrada precede la instruccin ONS puesto
que la instruccin ONS se escanea cuando est habilitada as como inhabili-
tada 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: Sintaxis:
texto neutro ONS(storage_bit);
texto ASCII ONS storage_bit
Operandos:
Operando: Tipo: Formato: Descripcin:
bit de BOOL tag bit de almacenamiento interno
almacenami- almacena la condicin de
ento entrada de rengln a partir de la
ltima ejecucin de la instruc-
cin
bit de salida BOOL tag bit que se establece
condicin de rengln
precedente
bit de almacenamiento
bit de salida
40048
Ejecucin:
Condicin: Accin:
preescn 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.
la condicin de entrada de rengln es El bit de almacenamiento se restablece.
falsa El bit de salida no se modifica.
La condicin de salida de rengln se establece como falsa.
la condicin de entrada
de rengln es verdadera
bit de
el bit de almacenamiento
almacenamiento = 0
examine el bit de est establecido
almacenamiento el bit de salida est esta-
blecido
la condicin de salida de
bit de rengln est establecida
almacenamiento = 1 como verdadera
el bit de almacenamiento
permanece establecido
el bit de salida est resta-
blecido
la condicin de salida de
rengln est establecida fin
como verdadera
Ejemplo de OSR:
Cada vez que limit_switch_1 va de restablecido a establecido, la instruccin OSR establece output_bit_1 y la instruccin ADD incrementa sum por 5.
Siempre que limit_switch_1 permanezca establecido, sum sigue siendo el mismo valor. El limit_switch_1 se debe restablecer y volver a estable-
cerse para que sum se incremente nuevamente. Se puede usar output_bit_1 en renglones mltiples para activar otras operaciones.
Otros formatos:
Formato: Sintaxis:
texto neutro OSR(storage_bit,output_bit);
texto ASCII OSR storage_bit output_bit
Operandos:
Operando: Tipo: Formato: Descripcin:
bit de BOOL tag bit de almacenamiento interno
almacenami- almacena la condicin entrada
ento de rengln a partir de la ltima
ejecucin de la instruccin
bit de salida BOOL tag bit que se establece
Descripcin: La instruccin OSF establece o restablece el bit de salida segn el estado del
bit de almacenamiento.
condicin de ren-
gln precedente
bit de
almacenamiento
bit de salida
40047
Ejecucin:
Condicin: Accin:
preescn El bit de almacenamiento se restablece para evitar un disparo no vlido
durante el primer escn.
El bit de salida se restablece.
La condicin de salida de rengln se establece como falsa.
la condicin de entrada
de rengln es falsa
el bit de almacenamiento se
restablece.
el bit de salida est estable-
cido
la condicin de salida de
rengln est establecida fin
como falsa
Ejemplo de OSF:
Cada vez que limit_switch_1 va de establecido a restablecido, la instruccin OSR establece output_bit_2 y la instruccin ADD incrementa sum por 5.
Siempre que limit_switch_1 permanezca restablecido, sum sigue siendo el mismo valor. El limit_switch_1 se debe establecer y volver a restablecerse
para que sum se incremente nuevamente. Se puede usar output_bit_2 en renglones mltiples para activar otras operaciones.
Otros formatos:
Formato: Sintaxis:
texto neutro OSF(storage_bit,output_bit);
texto ASCII OSF storage_bit output_bit
Operandos:
Operando: Tipo: Formato: Descripcin:
Temporizador TIMER tag Estructura del temporizador
Preseleccionado DINT valor la duracin del retardo (tiempo
inmediato acumulado)
Acumulador DINT valor el total de mseg durante el cual
inmediato el temporizador ha contado
el valor inicial es tpicamente 0
Estructura TIMER:
Mnemnico: Tipo de Descripcin:
datos:
.EN BOOL El bit de habilitacin indica que la instruccin TON est habilitada.
.TT BOOL El bit de temporizacin indica que hay una operacin de temporizacin en
progreso.
.DN BOOL El bit de efectuado se establece cuando .ACC .PRE.
.PRE DINT El valor preseleccionado especifica el valor (unidades de 1 mseg) que el
acumulador debe alcanzar antes de que la instruccin establezca el bit .DN.
.ACC DINT El valor acumulado especifica el nmero de milisegundos que han
transcurrido desde la habilitacin de la instruccin TON.
el temporizador no lleg
16649
valor acumulado del temporizador (.ACC) 0 en el valor .PRE
Ejecucin:
Condicin: Accin:
preescn 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.
bit .DN = 1
examine el bit .DN
bit .DN = 0
bit .EN = 1
.ACC .PRE
el bit .TT est establecido examine .ACC
.ACC = .ACC + (current_time last_time)
last_time = current_time
el bit .DN est esta-
.ACC < .PRE blecido
ll bit .TT se resta-
blece
el bit .EN est esta-
blecido
el valor .ACC no
retorna al valor
inicial
s la condicin de salida de
rengln se establece como
verdadera
.ACC = 2,147,483,647
fin
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
.PRE < 0 4 34
.ACC < 0 4 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: Sintaxis:
texto neutro TON(timer,preset,accum);
texto ASCII TON(timer,preset,accum)
Operandos:
Operando: Tipo: Formato: Descripcin:
Temporizador TIMER tag Estructura del temporizador
Preseleccion- DINT valor la duracin del retardo (tiempo
ado inmediato acumulado)
Acumulador DINT valor el total de mseg durante el cual
inmediato el temporizador ha contado
el valor inicial es tpicamente 0
Estructura TIMER:
Mnemnico: Tipo de Descripcin:
datos:
.EN BOOL El bit de habilitacin indica que la instruccin TOF est habilitada.
.TT BOOL El bit de temporizacin indica que hay una operacin de temporizacin en
progreso.
.DN BOOL El bit de efectuado se restablece cuando .ACC .PRE.
.PRE DINT El valor preseleccionado especifica el valor (unidades de 1 mseg) que el
acumulador debe alcanzar antes de que la instruccin restablezca el bit .DN.
.ACC DINT El valor acumulado especifica el nmero de milisegundos que han
transcurrido desde la habilitacin de la instruccin TOF.
Ejecucin:
Condicin: Accin:
preescn 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
examine el bit .DN
bit .DN = 1
bit .EN = 0
s la condicin de salida de
rengln se establece
como falsa
.ACC = 2,147,483,647
fin
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
.PRE < 0 4 34
.ACC < 0 4 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: Sintaxis:
texto neutro TOF(timer,preset,accum);
texto ASCII TOF timer preset accum
Operandos:
Operando: Tipo: Formato: Descripcin:
Temporizador TIMER tag Estructura del temporizador
Preseleccionado DINT valor la duracin del retardo (tiempo
inmediato acumulado)
Acumulador DINT valor el nmero de mseg durante el
inmediato cual el temporizador ha contado
el valor inicial es tpicamente 0
Estructura TIMER:
Mnemnico: Tipo de Descripcin:
datos:
.EN BOOL El bit de habilitacin indica que la instruccin RTO est habilitada.
.TT BOOL El bit de temporizacin indica que hay una operacin de temporizacin en
progreso.
.DN BOOL El bit de efectuado indica que .ACC .PRE.
.PRE DINT El valor preseleccionado especifica el valor (unidades de 1 mseg) que el
acumulador debe alcanzar antes de que la instruccin establezca el bit .DN.
.ACC DINT El valor acumulado especifica el nmero de milisegundos que han
transcurrido desde la habilitacin de la instruccin RTO.
valor
preseleccionado
16651
valor acumulado del temporizador (.ACC)
0 el temporizador no lleg al valor .PRE
Ejecucin:
Condicin: Accin:
preescn 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.
bit .DN = 1
examine el bit .DN
bit .DN = 0
bit .EN = 1
.ACC .PRE
el bit .TT est establecido examine .ACC
.ACC = .ACC + (current_time last_time)
last_time = current_time
el bit .DN est esta-
blecido
.ACC < .PRE
ll bit .TT se resta-
blece
el bit .EN est esta-
blecido
el valor .ACC no
retorna al valor
inicial
la condicin de rengln de
s salida est establecida
como verdadera
.ACC = 2,147,483,647
fin
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
.PRE < 0 4 34
.ACC < 0 4 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: Sintaxis:
texto neutro RTO(timer,preset,accum);
texto ASCII RTO timer preset accum
Operandos:
Operando: Tipo: Formato: Descripcin:
Counter COUNTER tag estructura del contador
Preseleccio- DINT valor inme- el conteo mximo
nado diato
Acumulador DINT valor inme- el nmero de veces que el tem-
diato porizador ha contado
el valor inicial es tpicamente 0
estructura COUNTER
Mnemnico: Tipo de Descripcin:
datos:
.CU BOOL El bit de habilitacin de conteo progresivo indica que la instruccin CTU est
habilitada.
.DN BOOL El bit de efectuado indica que .ACC .PRE.
.OV BOOL 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.
.UN BOOL 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.
.PRE DINT El valor preseleccionado especifica el valor al cual acumulador debe llegar
antes de que la instruccin establezca el bit .DN.
.ACC DINT El valor acumulado especifica el nmero de transiciones que la instruccin
ha contado.
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 estable-
cido, o una vez inhabilitada, la instruccin CTU retiene su valor .ACC.
valor preseleccionado
Ejecucin:
Condicin: Accin:
preescn 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.
el bit .CU = 1 no
.ACC .PRE
examine .ACC
la condicin de rengln de
salida est establecida
como verdadera
fin
Ejemplo de CTU:
Despus que limit_switch_1 cambia de inhabilitado a habilitado 10 veces, el bit .DN se establece y light_1 se activa. Si limit_switch_1
contina cambiando de inhabilitado a habilitado, counter_1 contina incrementando el conteo y el bit .DN permanece establecido. Cuando
limit_switch_2 est habilitado, la instruccin RES restablece counter_1 (restablece los bits de estado y el valor .ACC) y light_1 se desactiva.
Otros formatos:
Formato: Sintaxis:
texto neutro CTU(counter,preset,accum);
texto ASCII CTU counter preset accum
Operandos:
Operando: Tipo: Formato: Descripcin:
Counter COUNTER tag estructura del contador
Preseleccio- DINT valor inme- el conteo mnimo
nado diato
Acumulador DINT valor inme- el nmero de veces que el tem-
diato porizador ha contado
el valor inicial es tpicamente 0
estructura COUNTER
Mnemnico: Tipo de Descripcin:
datos:
.CD BOOL El bit de habilitacin de conteo regresivo indica que la instruccin CTD est
habilitada.
.DN BOOL El bit de efectuado indica que .ACC .PRE.
.OV BOOL 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.
.UN BOOL 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.
.PRE DINT El valor preseleccionado especifica el valor al cual el acumulador debe llegar
antes de que la instruccin establezca el bit .DN.
.ACC DINT El valor acumulado especifica el nmero de transiciones que la instruccin
ha contado.
La instruccin CTD se usa tpicamente con una instruccin CTU que hace
referencia a la misma estructura del contador.
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.
valor preseleccionado
16637
Ejecucin:
Condicin: Accin:
preescn 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.
el bt .CD = 1 no
.ACC .PRE
examine .ACC
la condicin de rengln de
salida est establecida
como verdadera
fin
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: Sintaxis:
texto neutro CTD(counter,preset,accum);
texto ASCII CTD counter preset accum
Operandos:
Operando: Tipo: Formato: Descripcin:
estructura TIMER tag estructura para el
CONTROL restablecimiento
COUNTER
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de salida de rengln es falsa La condicin de salida de rengln se establece como falsa.
la condicin de salida de rengln es La instruccin RES restablece la estructura especificada.
verdadera La condicin de salida de rengln se establece como verdadera.
Ejemplo de RES:
Ejemplo: Descripcin:
Cuando se habilite, restablezca timer_3.
Otros formatos:
Formato: Sintaxis:
texto neutro RES(structure);
texto ASCII RES structure
Notas:
Instrucciones de entrada/salida
(MSG, GSV, SSV)
Operandos:
Operando: Tipo: Formato: Descripcin:
Control de Mensaje tag estructura del mensaje
mensajes
Estructura MSG:
Mnemnico: Tipo de Descripcin:
datos:
.FLAGS INT El miembro .FLAGS proporciona acceso a los miembros de estado (bits) en una palabra de 16 bits.
Este bit: Es este miembro:
2 .EW
4 .ER
5 .DN
6 .ST
7 .EN
8 .TO
9 .EN_CC
Importante: El restablecimiento de cualquiera de los bits de estado MSG cuando est habilitado una MSG
puede interrumpir las comunicaciones.
.ERR INT Si el bit .ER est establecido, la palabra de cdigo de error identifica los cdigos de error para la instruccin
MSG.
.EXERR INT La palabra de cdigo de error extendida especifica informacin adicional para algunos cdigos de error.
.REQ_LEN INT La longitud solicitada especifica cuntas palabras la instruccin de mensaje intentar transferir.
.DN_LEN INT La longitud efectuada identifica cuntas palabras se transfirieron con xito.
.EW BOOL 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.
.ER BOOL 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.
.DN BOOL 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.
.ST BOOL 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.
bit .EN
bit .EW
bit .ST
41382
1 2 3 4 5 6 7
donde: Descripcin:
1 la condicin de rengln precedente es verdadera
el bit .EN est establecido
el bit .EW est establecido
la conexin est abierta
2 el mensaje ha sido enviado
el bit .ST est establecido
el bit .EW se restablece
3 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)
4 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
5 el mensaje ha sido enviado
el bit .ST est establecido
el bit .EW se restablece
6 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)
7 la condicin de de entrada rengln se hace verdadera y el
bit .DN o .ER se establece
el bit .EN se restablece
Ejecucin:
Condicin: Accin:
preescn
s la condicin de salida de
MSG est en la lista
activa rengln se establece como
falsa
no
fin
el bit .EW se restablece.
el bit .ER se restablece.
el bit .DN se restablece.
el bit .ST se restablece.
Condicin: Accin:
la condicin de entrada de
rengln es falsa
bit .EN = 1
examine el bit .EN
bit .EN = 0
.el bit EW = 1
examine el .EW
el bit .EW = 0
el bit .ST = 1
examine el bit .ST
el bit .ST = 0
el bit .DN = 1
examine el bit .DN
el bit .DN = 0
no s
el bit .DN = 1
examine el bit .DN s no
la conexin del
mdulo se ejecuta
el bit .ER = 1
examine el .ER el bit .EW est establecido el bit .ER est
establecido
el bit .ER = 0
la condicin de salida de
rengln se establece como
falsa
fin
Condicin: Accin:
no s
s no
la conexin del
mdulo se ejecuta
la condicin de rengln de
salida est establecida
como falsa
fin
Otros formatos:
Formato: Sintaxis:
texto neutro MSG(message_control);
texto ASCII MSG(message_control)
MSG Error Codes Los cdigos de error dependen del tipo de la instruccin MSG.
Estos son los cdigos de error extendidos para el cdigo de error 001F.
Cdigo de Descripcin:
error
extendido
(hex):
0203 Tiempo de espera de la conexin
Estos son los cdigos de error extendidos para el cdigo de error 0004
y 0005.
Cdigo de Descripcin:
error
extendido
(hex):
0000 el estado extendido ya no tiene memoria
0001 el estado extendido ya no tiene ocurrencias
0009 Los datos o el archivo son demasiado grandes 0019 Etiqueta duplicada
No hay memoria disponible 001A Propietario del archivo activo
000A El procesador receptor no puede colocar la se usa el archivo
informacin solicitada en paquetes 001B Propietario del programa activo
000B Error de privilegio; se rechaz el acceso se descarga o se edita en lnea
000C La funcin solicitada no est disponible 001C El disco est protegido contra la escritura o no
ofrece acceso (fuera de lnea solamente)
000D La solicitud es redundante
001D Otra aplicacin est usando el archivo de disco
000E El comando no se puede ejecutar No se realiz la actualizacin (fuera de lnea
solamente)
000F Overflow; overflow de histograma
Cmo especificar los detalles Despus de introducir la instruccin MSG y especificar la estructura MES-
de configuracin (ficha SAGE, use la ficha Configuracin del software de programacin para espe-
Configuracin) cificar los detalles del mensaje.
Los detalles que usted configura dependen del tipo de mensaje que
selecciona.
Los tipos de mensaje CIP han sido diseados para transferir los datos hacia
o desde otros dispositivos ControlLogix; por ejemplo, cuando se desea
enviar un mensaje de un controlador Logix5550 a otro.
Cmo usar mensajes CIP genrico para restablecer los mdulos de E/S
1 1 1 2 1
2 2 2 4 3
3 3 3
4 4 4
Los comandos TypedWrite/TypedRead mantienen la Los comandos de rango de palabra llenan el tag de destino
estructura y valor de datos. 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).
Los tags de origen (para BTW) y destino (para BTR) deben ser bastante
grandes para aceptar los datos solicitados, excepto las estructuras MES-
SAGE, AXIS y MODULE.
1 1 1 2 1
2 2 2 4 3
3 3 3
4 4 4
Los comandos TypedWrite/TypedRead mantienen la Los comandos de rango de palabra llenan el tag de destino
estructura y valor de datos. contiguamente. La estructura y valor de datos se cambian
segn el tipo de datos de destino.
Ejemplos de configuracin Los ejemplos siguientes muestran ejemplos de tags de origen y destino
MSG adems de elemento para diferentes combinaciones de controladores.
Cmo especificar los detalles Cuando usted configura una instruccin MSG, configura estos detalles en la
de comunicacin (ficha ficha Comunicacin.
Comunicacin)
B. Especifique el mdulo:
Los dos ejemplos siguientes muestran las rutas de conexin entre los con-
troladores Logix5550 mediante las redes ControlNet y Ethernet. El contro-
lador que enva el mensaje se encuentra en el chasis local y el controlador
que recibe el mensaje se encuentra en el chasis remoto.
ControlNet
ControlNet link
link
42042
Ruta de acceso: 1, 0, 2, 42, 1, 3
donde: Indica:
donde: Indica:
DH+
localde chasis
chassis Chasis 1771 con
1771 chassis with
local
DH+ ==nodo
node3737 procesador PLC-5
PLC-5 processor
DH+
DH+ == nodo
node 24
24
Red
DH+DH+
link
42044
Ruta de acceso: 1, 1
donde: Indica:
Este tipo de mensaje: Usando este mtodo de Usa una Que se puede
comunicacin: conexin: almacenar en
cach:
lectura o escritura de la tabla de protocolo de control e
datos CIP informacin
PLC2, PLC3, PLC5 SLC protocolo de control e
(todos los tipos) informacin
CIP con ID de origen
DH+
CIP genrico N/A
transferencia en bloques de N/A
lectura o escritura
Use la tabla siguiente para seleccionar una opcin de cach para un men-
saje.
Operandos:
Operando: Tipo: Formato: Descripcin:
Instruccin GSV
Clase de nombre nombre de la clase de objeto
objeto
Nombre del nombre nombre de objeto especfico
objeto cuando el objeto requiere un
nombre
Nombre de nombre atributo del objeto
atributo el tipo de datos depende del
atributo que usted selecciona
Destino SINT tag destino para los datos del
INT atributo
DINT
REAL
Instruccin SSV
Clase de nombre nombre de la clase de objeto
objeto
Nombre del nombre nombre de objeto especfico
objeto cuando el objeto requiere un
nombre
Nombre de nombre atributo del objeto
atributo
Origen SINT tag el tag que contiene los datos que
INT desea copiar al atributo
DINT
REAL
Descripcin: Las instrucciones GSV/SSV reciben y envan datos de sistema del controla-
dor que se almacenan en los objetos. El controlador almacena datos de
sistema en los objetos. No hay un archivo de estado, a diferencia del proce-
sador PLC-5.
Ejecucin:
Condicin: Accin:
preescn La condicin de rengln de salida est establecida como falsa.
la condicin de rengln precedente es La condicin de rengln de salida est establecida como falsa.
falsa
la condicin de rengln precedente es Obtener o definir el valor especificado.
verdadera La condicin de rengln de salida est establecida como verdadera
Condiciones de fallo:
Ocurrir un fallo menor si: Tipo de fallo: Cdigo de fallo:
direccin de objeto no vlida 4 5
se especific un objeto que no es 4 6
compatible con GSV/SSV
atributo no vlido 4 6
no se proporcion suficiente informa- 4 6
cin para una instruccin SSV
el destino GSV no es suficientemente 4 7
grande para retener los datos solicita-
dos
Otros formatos:
Formato: Sintaxis:
texto neutro GSV(object_class,object_name,attribute_name,destination);
SSV(object_class,object_name,attribute_name,destination);
texto ASCII GSV object_class object name attribute_name destination
SSV object_class object name attribute_name destination
Cuando un atributo est marcado con asterisco (*), significa que los atribu-
tos se encuentran en el controlador ControlLogix y el mdulo de mov-
imiento. Cuando usted usa una instruccin SSV para escribir uno de estos
valores, el controlador actualiza automticamente la copia en el mdulo. Sin
embargo, este proceso no se realiza inmediatamente. Para asegurarse de que
el nuevo valor se actualiza en el mdulo, use un mecanismo de encla-
vamiento usando bits booleanos en el UpdateStatus del tag Axis.
Para aplicar los valores para cualquiera de los atributos DF1 pendientes:
1. Use una instruccin SSV para establecer el valor para el atributo pendi-
ente.
Segn el estado de SW.1, coloque el valor apropiado en el atributo disableflag del programa discrete.
Notas:
Instrucciones de comparacin
(CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
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.
Operandos:
Operando: Tipo: Formato: Descripcin:
Expresin SINT inmediato una expresin que consiste en
INT tag tags y/o valores inmediatos
DINT separados por operadores.
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin entrada de
rengln es verdadera
la expresin es
verdadera la condicin de salida de
evale la expresin
rengln est establecida
como verdadera
la expresin es falsa
la condicin de salida de
rengln est establecida
como falsa
fin
Ejemplo de CMP:
Otros formatos:
Formato: Sintaxis:
texto neutro CMP(expression);
texto ASCII CMP expression
Operadores vlidos
Para cada operador que usted usa en una expresin, tiene que proporcionar
uno o dos operandos (tags o valores inmediatos). Use la tabla siguiente para
formatear los operadores y operandos dentro de una expresin:
Orden: Operacin:
1. ()
2. ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG,
RAD, SIN, SQR, TAN, TOD, TRN
3. **
4. (cambiar signo), NOT
5. *, /, MOD
6. <, <=, >, >=, =
7. (restar), +
8. AND
9. XOR
10. OR
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen A SINT inmediato valor que se prueba contra el
INT tag origen B
DINT
real
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Origen B SINT inmediato valor que se prueba contra el
INT tag origen A
DINT
real
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Los valores REAL rara vez son absolutamente iguales. Si usted necesita
determinar la igualdad de dos valores REAL, use la instruccin LIM.
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de
rengln es verdadera
s la condicin de salida de
Origen A = Origen B
rengln se establece
como verdadera
no
la condicin de salida de
rengln se establece
como falsa
fin
Ejemplo de EQU:
Otros formatos:
Formato: Sintaxis:
texto neutro EQU(source_A,source_B);
texto ASCII EQU source_A source_B
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen A SINT inmediato valor que se prueba contra el
INT tag origen B
DINT
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Origen B SINT inmediato valor que se prueba contra el
INT tag origen A
DINT
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln est establecida como falsa.
falsa
la condicin de entrada de
rengln es verdadera
s la condicin de salida de
Origen A origen B
rengln se establece
como verdadera
no
la condicin de salida de
rengln se establece
como falsa
fin
Ejemplo de GEQ:
Otros formatos:
Formato: Sintaxis:
texto neutro GEQ(source_A,source_B);
texto ASCII GEQ source_A source_B
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen A SINT inmediato valor que se prueba contra el
INT tag origen B
DINT
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Origen B SINT inmediato valor que se prueba contra el
INT tag origen A
DINT
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de
rengln es verdadera
s la condicin de salida de
Origen A > Origen B
rengln se establece
como verdadera
no
la condicin de salida de
rengln se establece
como falsa
fin
Ejemplo de GRT:
Otros formatos:
Formato: Sintaxis:
texto neutro GRT(source_A,source_B);
texto ASCII GRT source_A source_B
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen A SINT inmediato valor que se prueba contra el
INT tag origen B
DINT
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Origen B SINT inmediato valor que se prueba contra el
INT tag origen A
DINT
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de
rengln es verdadera
s la condicin de salida de
Origen A origen B
rengln se establece
como verdadera
no
la condicin de salida de
rengln se establece
como falsa
fin
Ejemplo de LEQ:
Otros formatos:
Formato: Sintaxis:
texto neutro LEQ(source_A,source_B);
texto ASCII LEQ source_A source_B
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen A SINT inmediato valor que se prueba contra el
INT tag origen B
DINT
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Origen B SINT inmediato valor que se prueba contra el
INT tag origen A
DINT
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln est establecida como falsa.
falsa
la condicin de entrada de
rengln es verdadera
s la condicin de salida de
Origen A < origen B
rengln se establece
como verdadera
no
la condicin de salida de
rengln se establece
como falsa
fin
Ejemplo de LES:
Otros formatos:
Formato: Sintaxis:
texto neutro LES(source_A,source_B);
texto ASCII LES source_A source_B
Operandos:
Operando: Tipo: Formato: Descripcin:
Lmite bajo SINT inmediato valor del lmite inferior
INT tag
DINT
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Prueba SINT inmediato valor que se prueba
INT tag
DINT
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Lmite alto SINT inmediato valor del lmite superior
INT tag
DINT
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
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.
lmite alto
lmite bajo
(n+1) +n
(n+1) +n
n = valor mximo n = valor mximo
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de
rengln es verdadera
la comparacin es
verdadera la condicin de salida de
evale el lmite
rengln se establece
como verdadera
la comparacin es falsa
la condicin de salida de
rengln se establece
como falsa
fin
Ejemplo LIM:
ejemplo 1
ejemplo 2
Otros formatos:
Formato: Sintaxis:
texto neutro LIM(low_limit,test,high_limit);
texto ASCII LIM low_limit test high_limit
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT inmediato valor que se prueba contra la
INT tag comparacin
DINT
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 inmediato qu bits se bloquean o se pasan
INT tag
DINT
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 inmediato valor que se prueba contra el
INT tag origen
DINT
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.
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.
Prefijo: Descripcin:
16# hexadecimal
por ejemplo; 16#0F0F
8# octal
por ejemplo; 8#16
2# binario
por ejemplo; 2#00110011
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de
rengln es verdadera
no
la condicin de salida de
rengln se establece
como falsa
fin
Ejemplo MEQ:
ejemplo 1
value_1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 value_2 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0
mask_1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 mask_1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
value_1 0 1 0 1 0 1 0 1 1 1 1 1 x x x x value_2 0 1 0 1 0 1 0 1 1 1 1 1 x x x x
El value_1 enmascarado es igual al value_2 enmascarado, por lo tanto se enciende light_1. Un nmero 0 en la mscara
impide que la instruccin compare el bit (representado por x en el ejemplo).
ejemplo 2
value_1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 value_2 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0
mask_1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 mask_1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
value_1 enmascarado x x x x x x x x x x x x 1 1 1 1 value_2 enmascarado x x x x x x x x x x x x 0 0 0 0
El value_1 enmascarado no es igual al value_2 enmascarado, por lo tanto se apaga light_1. Un nmero 0 en la mscara
impide que la instruccin compare el bit (representado por x en el ejemplo).
Otros formatos:
Formato: Sintaxis:
texto neutro MEQ(source,mask,compare);
texto ASCII MEQ source mask compare
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen A SINT inmediato valor que se prueba contra el
INT tag origen B
DINT
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Origen B SINT inmediato valor que se prueba contra el
INT tag origen A
DINT
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln est establecida como falsa.
falsa
la condicin de entrada de
rengln es verdadera
s la condicin de salida de
Origen A origen B
rengln se establece
como verdadera
no
la condicin de salida de
rengln se establece
como falsa
fin
Ejemplo de NEQ:
Otros formatos:
Formato: Sintaxis:
texto neutro NEQ(source_A,source_B);
texto ASCII NEQ source_A source_B
Notas:
Instrucciones de clculo/matemticas
(CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
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.
Operandos:
Operando: Tipo: Formato: Descripcin:
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
Expresin SINT valor una expresin que consiste en
INT inmediato tags y/o valores inmediatos
DINT tag separados por operadores.
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es La instruccin CPT evala la expresin y coloca el resultado en el destino.
verdadera La condicin de salida de rengln se establece como verdadera.
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.
ejemplo 2
Otros formatos:
Formato: Sintaxis:
texto neutro CPT(destination,expression);
texto ASCII CPT destination expression
Operadores vlidos
Para cada operador que usted usa en una expresin, tiene que proporcionar
uno o dos operandos (tags o valores inmediatos). Use la tabla siguiente para
formatear los operadores y operandos dentro de una expresin:
Orden: Operacin:
1. ()
2. ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG,
RAD, SIN, SQR, TAN, TOD, TRN
3. **
4. (cambiar signo), NOT
5. *, /, MOD
6. (restar), +
7. AND
8. XOR
9. OR
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen A SINT valor valor que se suma al origen B
INT inmediato
DINT tag
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Origen B SINT valor valor que se suma al origen A
INT inmediato
DINT tag
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es Destino = origen A + origen B
verdadera La condicin de salida de rengln se establece como verdadera.
Ejemplo de ADD:
Otros formatos:
Formato: Sintaxis:
texto neutro ADD(source_A,source_B,destination);
texto ASCII ADD source_A source_B destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen A SINT valor valor del cual se resta el origen
INT inmediato B
DINT tag
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Origen B SINT valor valor que se resta del origen A
INT inmediato
DINT tag
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es Destino = origen A origen B
verdadera La condicin de salida de rengln se establece como verdadera.
Ejemplo de SUB:
Otros formatos:
Formato: Sintaxis:
texto neutro SUB(source_A,source_B,destination);
texto ASCII SUB source_A source_B destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen A SINT valor valor del multiplicando
INT inmediato
DINT tag
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Origen B SINT valor valor del multiplicador
INT inmediato
DINT tag
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es Destino = Origen A Origen B
verdadera La condicin de salida de rengln est establecida como verdadera.
Ejemplo de MUL:
Una vez habilitada, la instruccin MUL multiplica float_value_1 por float_value_2 y coloca el
resultado en multiply_result.
Otros formatos:
Formato: Sintaxis:
texto neutro MUL(source_A,source_B,destination);
texto ASCII MUL source_A source_B destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen A SINT valor valor del dividendo
INT inmediato
DINT tag
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Origen B SINT valor valor del divisor
INT inmediato
DINT tag
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es Destino = origen A/origen B
verdadera La condicin de salida de rengln se establece como verdadera.
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: Sintaxis:
texto neutro DIV(source_A,source_B,destination);
texto ASCII DIV source_A source_B destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen A SINT valor valor del dividendo
INT inmediato
DINT tag
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Origen B SINT valor valor del divisor
INT inmediato
DINT tag
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establecea como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es Destino = Origen A ( TRN ( Origen A / Origen B ) * Origen B )
verdadera La condicin de salida de rengln se establece como verdadera.
Condiciones de fallo:
Ocurre un fallo menor si: Tipo de fallo: Cdigo de fallo:
el divisor es cero 4 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: Sintaxis:
texto neutro MOD(source_A,source_B,destination);
texto ASCII MOD source_A source_B destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor hallar la raz cuadrada de este
INT inmediato valor
DINT tag
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
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:
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es
verdadera Destino = Origen
La condicin de salida de rengln se establece como verdadera
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: Sintaxis:
texto neutro SQR(source,destination);
texto ASCII SQR source destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor valor del cual se cambia el signo
INT inmediato
DINT tag
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es Destino = 0 Origen
verdadera La condicin de salida de rengln se establece como verdadera.
Ejemplo de NEG:
Otros formatos:
Formato: Sintaxis:
texto neutro NEG(source,destination);
texto ASCII NEG source destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor valor desde el cual se extrae el
INT inmediato valor absoluto
DINT tag
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
Descripcin: La instruccin ABS halla el valor absoluto del origen y coloca el resultado
en el destino.
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es Destino = | Origen |
verdadera La condicin de salida de rengln se establece como verdadera.
Ejemplo de ABS:
Otros formatos:
Formato: Sintaxis:
texto neutro ABS(source,destination);
texto ASCII ABS source destination
Notas:
Instrucciones de transferencia/lgica
(MOV, MVM, BTD, CLR, AND, OR, XOR, NOT)
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.
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor valor que se mueve (se copia)
INT inmediato
DINT tag
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es La instruccin copia el origen en el destino.
verdadera La condicin de salida de rengln se establece como verdadera.
Ejemplo de MOV:
Una vez habilitada, la instruccin MOV copia los datos en value_1 a value_2.
Otros formatos:
Formato: Sintaxis:
texto neutro MOV(source,destination);
texto ASCII MOV source destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor valor que se mueve
INT inmediato
DINT tag
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 valor qu bits se bloquean o se pasan
INT inmediato
DINT tag
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 tag tag para almacenar el resultado
INT
DINT
Una vez habilitada, la instruccin MVM usa una mscara para pasar o blo-
quear 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.
Prefijo: Descripcin:
16# hexadecimal
por ejemplo; 16#0F0F
8# octal
por ejemplo; 8#16
2# binario
por ejemplo; 2#00110011
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es La instrucciones pasa el origen a travs de la mscara y copia el resultado
verdadera en el destino. Los bits sin mscara en el destino no se cambian.
La condicin de salida de rengln se establece como verdadera.
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: Sintaxis:
texto neutro MVM(source,mask,destination);
texto ASCII MVM source mask destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor tag que contiene los bits que se
INT inmediato mueven
DINT tag
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 nmero del bit (el nmero de bit
inmediato menor de todos) desde el cual se
(0 31 DINT) inicia el movimiento
(0 15 INT) debe encontrarse dentro del
(0 7 SINT) rango vlido para el tipo de
datos del origen
Destino SINT tag tag al cual se mueven los bits
INT
DINT
Bit de DINT valor el nmero del bit (el nmero de
destino inmediato bit menor de todos) donde se
(0 31 DINT) inicia el copiado de los bits del
(0 15 INT) origen
(0 7 SINT) debe encontrarse dentro del
rango vlido para el tipo de
datos del destino
Longitud DINT inmediato nmero de bits que se mueven
(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 ori-
gen 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 instruc-
cin no guarda los bits adicionales. Los bits adicionales no pasan a la prx-
ima 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: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es La instruccin copia y desplaza los bits de origen al destino.
verdadera La condicin de salida de rengln se establece como verdadera.
Ejemplo de BTD:
ejemplo 1
value_1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
antes de la instruccin BTD
value_1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
despus de la instruccin BTD
Las casillas sombreadas muestran los bits que se cambiaron en value_1.
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
value_2 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
antes de la instruccin BTD
value_2 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
despus de la instruccin BTD
Otros formatos:
Formato: Sintaxis:
texto neutro BTD(source,source_bit,destination,destination_bit,length);
texto ASCII BTD source source_bit destination destination_bit length
Operandos:
Operando: Tipo: Formato: Descripcin:
Destino SINT tag tag que se borra
INT
DINT
REAL
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es La instruccin borra el destino.
verdadera La condicin de salida de rengln se establece como verdadera.
Ejemplo de CLR:
Una vez habilitada, la instruccin CLR pone todos los bits de value_1 a 0.
Otros formatos:
Formato: Sintaxis:
texto neutro CLR(destination);
texto ASCII CLR destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen A SINT valor valor en que se realiza la funcin
INT inmediato Y con el origen B
DINT tag
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 valor valor en que se realiza la funcin
INT inmediato Y con el origen A
DINT tag
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 tag almacena el resultado
INT
DINT
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.
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: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es La instruccin realiza una funcin Y bit a bit.
verdadera La condicin de salida de rengln est establecida como verdadera.
Ejemplo de AND:
Cuando est habilitada, la instruccin AND realiza una funcin Y en value_1 y value_2 y coloca
el resultado en value_result_and.
value_1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1
value_2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
value_3 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
Otros formatos:
Formato: Sintaxis:
texto neutro AND(source_A,source_B,destination);
texto ASCII AND source_A source_B destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen A SINT valor valor en que se realiza la funcin
INT inmediato O con el origen B
DINT tag
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 valor valor en que se realiza la funcin
INT inmediato O con el origen A
DINT tag
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 tag almacena el resultado
INT
DINT
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.
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: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es La instruccin realiza una funcin O bit a bit.
verdadera La condicin de salida de rengln est establecida como verdadera.
Ejemplo de OR:
Cuando est habilitada, la instruccin OR realiza una funcin O en value_1 y value_2 y coloca
el resultado en value_result_or.
value_1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1
value_2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
value_3 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1
Otros formatos:
Formato: Sintaxis:
texto neutro OR(source_A,source_B,destination);
texto ASCII OR source_A source_B destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen A SINT valor valor en que se realiza la funcin
INT inmediato XOR con el origen B
DINT tag
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 valor valor en que se realiza la funcin
INT inmediato XOR con el origen A
DINT tag
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 tag almacena el resultado
INT
DINT
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.
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: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es La instruccin realiza una funcin O exclusivo bit a bit.
verdadera La condicin de salida de rengln se establece como verdadera.
Ejemplo de XOR:
Cuando est habilitada, la instruccin XOR realiza una funcin XOR en value_1 y value_2 y
coloca el resultado en value_result_or.
value_1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1
value_2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
value_3 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1
Otros formatos:
Formato: Sintaxis:
texto neutro XOR(source_A,source_B,destination);
texto ASCII XOR source_A source_B destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor valor en que se realiza la funcin
INT inmediato NO
DINT tag
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 tag almacena el resultado
INT
DINT
Descripcin: La instruccin NOT realiza una funcin NO bit a bit usando los bits en el
origen y coloca el resultado en el destino.
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: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es La instruccin realiza una funcin NO bit a bit.
verdadera La condicin de salida de rengln est establecida como verdadera.
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: Sintaxis:
texto neutro NOT(source,destination);
texto ASCII NOT source destination
Cmo seleccionar el modo Para las instrucciones FAL y FSC, el modo indica al controlador cmo
de operacin distribuir la operacin del arreglo.
Modo todos
16639
un
escn
bit .EN
bit .DN
restablece los bits de estado
y borra el valor .POS
escn de la instruccin
Modo numrico
un escn
segundo
escn
prximo
escn
16641
bit .EN
bit .DN
escn de la instruccin
Modo incremental
1 habilitacin de instruccin
2 habilitacin de instruccin
3 habilitacin de instruccin
ltima habilitacin de
instruccin
16643
un
escn
bit .EN
bit .DN
40014
escn de la instruccin
File Arithmetic and Logic (FAL) La instruccin FAL es una instruccin de salida.
Operandos:
Operando: Tipo: Formato: Descripcin:
Control CONTROL tag estructura de control para la
operacin
Longitud DINT valor nmero de elementos en el
inmediato arreglo que se manipulan
Posicin DINT valor elemento actual en el arreglo
inmediato el valor inicial es tpicamente 0
Modo DINT valor cmo distribuir la operacin
inmediato seleccione INC, TODOS o
introduzca un nmero
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
Expresin SINT valor una expresin que consiste en
INT inmediato tags y/o valores inmediatos
DINT tag separados por operadores.
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Estructura CONTROL:
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).
Ejecucin
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
bit .DN = 0 no
examine el bit .DN modo INC se restablece el bit
interno
bit .DN = 1 s
no .LEN < 0 o s
el bit .EN se resta- el bit .EN se Modo TODOS fallo mayor
blece restablece .POS < 0
ll bit .ER se resta-
blece s no
el bit .DN se resta-
blece.
el valor .POS se .POS = .POS + 1
borra
s
.LEN < 0
no
s
.POS = 0
no
no .POS < .LEN
.POS = .POS + 1 s
no
modo .LEN >
el bit .DN se esta-
blece
s
el bit .EN est esta-
blecido modo .LEN >
el bit .DN se esta-
blece
el bit .EN se resta-
blece
modo
numrico
pgina 7-12
la condicin de salida de
rengln est establecida
como falsa
fin
Condicin: Accin:
no no
examine el bit .DN .LEN < 0 modo INC Modo TODOS
bit .DN = 1 s s s
loop_count =
loop_count 1
no
loop_count < 0 .POS = .POS + 1
s
evale la expresin
no
examine S:V
no
.POS = .LEN
la condicin de salida de
rengln est establecida
como verdadera
fin
Condicin: Accin:
Modo
INC
bit .EN = 1
examine el bit .EN
bit .EN = 0
bit = 1
examine .POS = .POS + 1
el bit interno
bit = 0
se establece el bit
interno
s s
.POS .LEN .POS = 0
no no
fin
Condicin: Accin:
Modo
TODOS
s s
.POS .LEN .POS = 0
no no
Condicin: Accin:
modo
numrico
bit .EN = 1
examine el bit .EN
bit .EN = 0
.POS = .POS + 1
bit = 1
examine
el bit interno
bit = 0
se establece el bit
interno
s s
.POS .LEN .POS = 0
no no
.POS = .POS + 1
no
modo .LEN > modo .LEN
s
el bit .DN se esta- la condicin de salida de
el bit .EN est establecido blece rengln est establecida
loop_count = .LEN .POS el bit .EN est esta- como verdadera
.POS = .POS + 1 blecido
fin
modo s
loop_count comn
pgina 7-9
no
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
el subndice est fuera de rango 4 20
.POS < 0 .LEN < 0 4 21
Ejemplo de FAL:
copia de arreglo a arreglo
Una vez habilitada, la instruccin FAL copia cada elemento
de array_2 en la misma posicin dentro de array_1.
Expresin Destino
array_2[control_2.pos] array_1[control_2.pos]
Expresin Destino
value_1 array_2[0,control_2.pos]
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 ins-
truccin. La prxima vez que se habilita la instruccin, sta sobres-
cribe value_1 con el prximo valor en array_1.
Expresin Destino
array_1[control_1.pos] value_1
Expresin Destino
array_2[control_2.pos] / array_3[control_2.pos] array_1[control_2.pos]
Expresin Destino
value_1 + value_2 array_1[control_1.pos]
Expresin Destino
array_1[control_1.pos] + value_1 array_3[control_1.pos]
Expresin Destino
value_1 + array_1[control_1.pos] value_2
Expresin Destino
array_1[control_1.pos] * array_3[control_1.pos] value_1
Otros formatos:
Formato: Sintaxis:
texto neutro FAL(control,length,position,mode,destination,expression);
texto ASCII FAL control length position mode destination expression
Operadores vlidos
Para cada operador que usted usa en una expresin, tiene que proporcionar
uno o dos operandos (tags o valores inmediatos). Use la tabla siguiente para
formatear los operadores y operandos dentro de una expresin:
Orden: Operacin:
1. ()
2. ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG,
RAD, SIN, SQR, TAN, TOD, TRN
3. **
4. (cambiar signo), NOT
5. *, /, MOD
6. (restar), +
7. AND
8. XOR
9. OR
File Search and Compare (FSC) La instruccin FCS es una instruccin de salida.
Operandos:
Operando: Tipo: Formato: Descripcin:
control CONTROL tag estructura de control para la
operacin
Longitud DINT valor nmero de elementos en el
inmediato arreglo que se manipulan
Posicin DINT valor offset en el arreglo
inmediato el valor inicial es tpicamente 0
Modo DINT valor cmo distribuir la operacin
inmediato seleccione INC, TODOS o
introduzca un nmero
Expresin SINT valor una expresin que consiste en
INT inmediato tags y/o valores inmediatos
DINT tag separados por operadores.
REAL
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Estructura CONTROL:
Mnemnico: Tipo de Descripcin:
datos:
.EN BOOL El bit de habilitacin indica que la instruccin FSC est habilitada.
.DN BOOL El bit de efectuado se establece cuando la instruccin ha efectuado la
operacin en el ltimo elemento (.POS = .LEN).
.ER BOOL El bit de error no se modifica.
.IN BOOL 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.
.FD BOOL El bit de encontrado indica que la instruccin FSC ha detectado una
comparacin verdadera.
.LEN DINT La longitud especifica el nmero de elementos en el arreglo en que la
instruccin realiza una operacin.
.POS DINT 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 ele-
mento, 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.
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
bit .DN = 0 no
examine el bit .DN modo INC se restablece el bit
interno
bit .DN = 1 s
no .LEN < 0 o s
el bit .EN se resta- el bit .EN se Modo TODOS fallo mayor
blece restablece .POS < 0
el bit .ER se resta-
blece s no
el bit .DN se resta-
blece.
el valor .POS se .POS = .POS + 1
borra
s
.LEN < 0
no
s
.POS = 0
no
no .POS < .LEN
.POS = .POS + 1 s
no
modo .LEN >
el bit .DN se esta-
blece
s
el bit .EN est esta-
blecido modo .LEN >
el bit .DN se esta-
blece
el bit .EN se resta-
blece
modo
numrico
pgina 7-12
la condicin de salida de
rengln est establecida
como falsa
fin
Condicin: Accin:
bit .DN = 0
loop_count =
loop_count 1
no
loop_count < 0 .POS = .POS + 1
s
evale la
comparacin
no
coincidencia
el bit .DN se
.POS = .POS + 1
establece
la condicin de salida de
rengln est establecida
como verdadera
fin
Condicin: Accin:
Modo
INC
bit .EN = 1
examine el bit .EN
bit .EN = 0
bit = 1
examine .POS = .POS + 1
el bit interno
bit = 0
se establece el bit
interno
s s
.POS .LEN .POS = 0
no no
fin
Condicin: Accin:
Modo
TODOS
s s
.POS .LEN .POS = 0
no no
Condicin: Accin:
modo
numrico
bit .EN = 1
examine el bit .EN
bit .EN = 0
.POS = .POS + 1
bit = 1
examine
el bit interno
bit = 0
se establece el bit
interno
s s
.POS .LEN .POS = 0
no no
.POS = .POS + 1
no
modo .LEN > modo .LEN
s
el bit .DN se esta- la condicin de salida de
el bit .EN est establecido blece rengln est establecida
loop_count = .LEN .POS el bit .EN est esta- como verdadera
el bit .FD se restablece blecido
.POS = .POS + 1
fin
loop_count s
= modo comn
pgina 7-20
no
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
.POS < 0 .LEN < 0 4 21
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.
ejemplo 2
buscar una coincidencia en un
arreglo
Una vez habilitada, la instruccin FSC compara MySearchKey con los 10 elementos en array_1.
Otros formatos:
Formato: Sintaxis:
texto neutro FSC(control,length,position,mode,expression);
texto ASCII FSC control length position mode expression
Operadores vlidos
Para cada operador que usted usa en una expresin, tiene que proporcionar
uno o dos operandos (tags o valores inmediatos). Use la tabla siguiente para
formatear los operadores y operandos dentro de una expresin:
Orden: Operacin:
1. ()
2. ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG,
RAD, SIN, SQR, TAN, TOD, TRN
3. **
4. (cambiar signo), NOT
5. *, /, MOD
6. <, <=, >, >=, =
7. (restar), +
8. AND
9. XOR
10. OR
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT tag elemento inicial que se copia
INT Importante: Los operandos de
DINT origen y destino deben ser del
REAL mismo tipo, de lo contrario
estructura pueden ocurrir resultados
inesperados
Destino SINT tag el elemento inicial que va a ser
INT sobrescrito por el origen
DINT Importante: Los operandos de
REAL origen y destino deben ser del
estructura mismo tipo, de lo contrario
pueden ocurrir resultados
inesperados
Longitud DINT valor nmero de elementos de destino
inmediato que se copian
tag
Descripcin: La instruccin COP copia los valores del origen al destino. El origen no se
cambia. El nmero de bytes copiados es:
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de
rengln es verdadera
no
source_address = origen
destination_address = s
end_address
no
fin
Ejemplo de COP:
ejemplo 1
El array_4 y array_5 son del mismo tipo de datos. Una vez habilitada, la instruccin COP
copia los 10 primeros elementos de array_4 en los 10 primeros elementos de array_5.
ejemplo 2
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 longi-
tud es nueve estructuras de temporizador.
array_timer
array_timer[0] Primero la instruccin copia los valores
de timer[0] a timer[1]
array_timer[4]
array_timer[5]
Finalmente, la instruccin copia los
valores de timer[9] a timer[10]
array_timer[10]
Otros formatos:
Formato: Sintaxis:
texto neutro COP(source,destination,length);
texto ASCII COP(source,destination,length)
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor elemento que se copia
INT inmediato Importante: Los operandos de
DINT tag origen y destino deben ser del
REAL mismo tipo, de lo contrario pue-
den ocurrir resultados inespera-
dos
Destino SINT tag el elemento inicial que ser
INT sobrescrito por el origen
DINT Importante: Los operandos de
REAL origen y destino deben ser del
mismo tipo, de lo contrario pue-
estructura den ocurrir resultados inespera-
dos
El mtodo preferido de inicializar
una estructura es usar la ins-
truccin COP.
Longitud DINT valor nmero de elementos que se lle-
inmediato nan
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 des-
tino)
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 con-
vertidos.
Si el origen es: Y el destino es: El origen se convierte
en:
SINT, INT, DINT o REAL SINT SINT
SINT, INT, DINT o REAL INT INT
SINT, INT, DINT o REAL DINT DINT
SINT, INT, DINT o REAL REAL REAL
SINT estructura SINT (no se convierte)
INT estructura INT (no se convierte)
DINT estructura DINT (no se convierte)
REAL estructura REAL (no se convierte)
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de
rengln es verdadera
no
source_address = origen
destination_address = s
end_address
no
la condicin de salida de
rengln est establecida
destination_address =
como verdadera
destination_address + 1
fin
Ejemplo de FLL:
Otros formatos:
Formato: Sintaxis:
texto neutro FLL(source,destination,length);
texto ASCII FLL(source,destination,length)
Operandos:
Operando: Tipo: Formato: Descripcin:
Arreglo SINT tag de hallar el promedio de los valores
INT arreglo en este arreglo
DINT especificar el primer elemento
REAL del grupo de elementos que se
va a promediar
no use CONTROL.POS en el
subndice
Dimensin DINT valor qu dimensin usar
para variar: inmediato segn el nmero de dimensio-
(0, 1, 2) nes, el orden es:
array[dim_0,dim_1,dim_2]
array[dim_0,dim_1]
array[dim_0]
Destino SINT tag resultado de la operacin
INT
DINT
REAL
Control CONTROL tag estructura de control para la
operacin
Longitud DINT valor nmero de elementos en el
inmediato arreglo que se va a promediar
Posicin DINT valor elemento actual en el arreglo
inmediato el valor inicial es tpicamente 0
Estructura CONTROL:
Ejecucin:
Condicin: Accin:
preescn 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
examine el bit .DN
bit .DN = 1
la condicin de salida de
rengln est establecida
como falsa
fin
la condicin de entrada de rengln es La instruccin AVE calcula el promedio sumando todos los elementos especi-
verdadera ficados en el arreglo y dividindolos por el nmero de elementos.
Internamente, la instruccin usa una instruccin FAL para calcular el prome-
dio.
Expresin = clculo de promedio
Modo = TODOS
Para obtener detalles acerca de cmo se ejecuta la instruccin FAL, vea la
pgina 7-8.
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
.POS < 0 .LEN < 0 4 21
La dimensin que se va a variar 4 20
no existe para el arreglo
especificado
Ejemplo de AVE:
ejemplo 1
array_dint es DINT[4,5]
dimensin 1
su
bn
0 1 2 3 4
dic
es
0 20 19 18 17 16 19 + 14 + 9 + 4 46
AVE = ------------------------------------- = ------ = 11.5
4 4
1 15 14 13 12 11
dimensin 0
dint_ave = 12
2 10 9 8 7 6
3 5 4 3 2 1
ejemplo 2
array_dint es DINT[4,5]
dimensin 1
su
bn
0 1 2 3 4
dic
es
0 20 19 18 17 16 5+4+3+2+1 15
AVE = ---------------------------------------- = ------ = 3
5 5
1 15 14 13 12 11
dimensin 0 dint_ave = 3
2 10 9 8 7 6
3 5 4 3 2 1
Otros formatos:
Formato: Sintaxis:
texto neutro AVE(array,dim_to_vary,destination,control,length,position);
texto ASCII AVE array dim_to_vary destination control length position
Operandos:
Operando: Tipo: Formato: Descripcin:
Arreglo SINT tag de arreglo que se clasifica
INT arreglo especificar el primer elemento
DINT del grupo de elementos que se
REAL clasifica
no use CONTROL.POS en el
subndice
Dimensin DINT valor qu dimensin usar
para variar: inmediato segn el nmero de
(0, 1, 2) dimensiones, el orden es:
array[dim_0,dim_1,dim_2]
array[dim_0,dim_1]
array[dim_0]
Control CONTROL tag estructura de control para la
operacin
Longitud DINT valor nmero de elementos en el
inmediato arreglo que se clasifica
Posicin DINT valor elemento actual en el arreglo
inmediato el valor inicial es tpicamente 0
Estructura CONTROL:
Mnemnico: Tipo de Descripcin:
datos:
.EN BOOL El bit de habilitacin indica que la instruccin SRT est habilitada.
.DN BOOL Se establece el bit de efectuado cuando los elementos especificados se han
clasificado.
.ER BOOL Se establece el bit de error cuando .LEN < 0 .POS < 0. Cualquiera de estas
condiciones tambin genera un fallo mayor.
.LEN DINT La longitud especifica el nmero de elementos en el arreglo en que la ins-
truccin realiza una operacin.
.POS DINT La posicin contiene la posicin del elemento actual al cual la instruccin
obtiene acceso.
Ejecucin:
Condicin: Accin:
preescn 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
examine el bit .DN
bit .DN = 1
la condicin de salida de
rengln est establecida
como falsa
fin
la condicin de entrada de rengln es La instruccin SRT clasifica los elementos especificados del arreglo en orden
verdadera ascendente.
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
.POS < 0 .LEN < 0 4 21
La dimensin que se va a variar 4 20
no existe para el arreglo
especificado
La instruccin intenta obtener 4 20
acceso a los datos fuera de los
lmites del arreglo.
Ejemplo de SRT:
ejemplo 1
Antes Despus
dimensin 1 dimensin 1
su
su
b n
bn
0 1 2 3 4 0 1 2 3 4
dic
dic
e
es
s
0 20 19 18 17 16 0 20 19 3 17 16
1 15 14 13 12 11 1 15 14 8 12 11
dimensin 0 dimensin 0
2 10 9 8 7 6 2 10 9 13 7 6
3 5 4 3 2 1 3 5 4 18 2 1
ejemplo 2
int _array es DINT[4,5]
Antes Despus
dimensin 1 dimensin 1
su
su
bn
bn
0 1 2 3 4
dic
0 1 2 3 4
dic
es
es
0 20 19 18 17 16 0 20 19 18 17 16
1 15 14 13 12 11 1 15 14 13 12 11
dimensin 0 dimensin 0
2 10 9 8 7 6 2 6 7 8 9 10
3 5 4 3 2 1 3 5 4 3 2 1
Otros formatos:
Formato: Sintaxis:
texto neutro SRT(array,dim_to_vary,control,length,position);
texto ASCII SRT array dim_to_vary control length position
Operandos:
Operando: Tipo: Formato: Descripcin:
Arreglo SINT tag de hallar la desviacin estndar de
INT arreglo los valores en este arreglo
DINT especificar el primer elemento
REAL 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 DINT valor qu dimensin usar
para variar: inmediato segn el nmero de
(0, 1, 2) dimensiones, el orden es:
array[dim_0,dim_1,dim_2]
array[dim_0,dim_1]
array[dim_0]
Destino REAL tag resultado de la operacin
Control CONTROL tag estructura de control para la
operacin
Longitud DINT valor el nmero de elementos del
inmediato arreglo que se usan para
calcular el desviacin estndar
Posicin DINT valor elemento actual en el arreglo
inmediato el valor inicial es tpicamente 0
Estructura CONTROL:
Mnemnico: Tipo de Descripcin:
datos:
.EN BOOL El bit de habilitacin indica que la instruccin STD est habilitada.
.DN BOOL Se establece el bit de efectuado cuando se completa el clculo.
.ER BOOL Se establece el bit de error cuando la instruccin genera un overflow. La ins-
truccin 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.
.LEN DINT La longitud especifica el nmero de elementos en el arreglo en que la ins-
truccin realiza una operacin.
.POS DINT La posicin contiene la posicin del elemento actual al cual la instruccin
obtiene acceso.
N
2
[ X( start + i ) AVE ]
Desviacin estndar = i = 1
--------------------------------------------------------------------
(N 1)
donde:
inicio = subndice de la dimensin para variar del operando del arreglo
xi = elemento variable en el arreglo
N = nmero de elementos especificados en el arreglo
AVE =
N
x ( start + i )
i = 1
-----------------------------------------
N
Ejecucin:
Condicin: Accin:
preescn 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
examine el bit .DN
bit .DN = 1
la condicin de salida de
rengln est establecida
como falsa
fin
la condicin de entrada de rengln es La instruccin STD calcula la desviacin estndar de los elementos especifi-
verdadera cados.
Internamente, la instruccin usa una instruccin FAL para calcular el prome-
dio.
Expresin = clculo de la desviacin estndar
Modo = TODOS
Para obtener detalles acerca de cmo se ejecuta la instruccin FAL, vea la
pgina 7-8.
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
.POS < 0 .LEN < 0 4 21
La dimensin que se va a variar 4 20
no existe para el arreglo
especificado
Ejemplo de STD:
ejemplo 1
dint_array es DINT[4,5]
dimensin 1
su
b
nd
0 1 2 3 4
ice
s
0 20 19 18 17 16
1 15 14 13 12 11
dimensin 0
2 10 9 8 7 6
16 + 11 + 6 + 1 34 3 5 4 3 2 1
AVE = ------------------------------------- = ------ = 8.5
4 4
2 2 2 2
16 8.5 + 11 8.5 + 6 8.5 + 1 8.5 - = 6.454972
STD = --------------------------------------------------------------------------------------------------------------------------
4 1
real_std = 6.454972
ejemplo 2
dint_array es DINT[4,5]
dimensin 1
su
bn
0 1 2 3 4
dice
s
0 20 19 18 17 16
1 15 14 13 12 11
dimensin 0
2 10 9 8 7 6
20 + 19 + 18 + 17 + 16 90 3 5 4 3 2 1
AVE = ------------------------------------------------------- = ------ = 18
5 5
2 2 2 2 2
20 18 + 19 18 + 18 18 + 17 18 + 16 18 - = 1.581139
STD = -----------------------------------------------------------------------------------------------------------------------------------------------------------
5 1
real_std = 1.581139
Otros formatos:
Formato: Sintaxis:
texto neutro STD(array,dim_to_vary,destination,control,length,position);
texto ASCII STD array dim_to_vary destination control length position
Notas:
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.
Operandos:
Operando: Tipo: Formato: Descripcin:
Arreglo DINT tag de arreglo que se modifica
arreglo especificar el primer elemento
del grupo de elementos
no use CONTROL.POS en el
subndice
Control CONTROL tag estructura de control para la
operacin
Bit de origen BOOL tag bit que se desplaza
Longitud DINT valor nmero de bits en el arreglo que
inmediato se desplazan
Estructura CONTROL:
Mnemnico: Tipo de Descripcin:
datos:
.EN BOOL El bit de habilitacin indica que la instruccin BSL est habilitada.
.DN BOOL Se establece el bit de efectuado para indicar que los bits se han desplazado
una posicin a la izquierda.
.UL BOOL 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.
.ER BOOL Se establece el bit de error cuando .LEN < 0.
.LEN DINT 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.
Ejecucin:
Condicin: Accin:
preescn El bit .EN se restablece.
El bit .DN se restablece.
El bit .ER se restablece.
El valor .POS se restablece.
La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es El bit .EN se restablece.
falsa 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.
Condicin: Accin:
bit .EN = 1
examine el bit .EN
bit .EN = 0
s
.LEN < 0 el bit .DN se establece
no
.bit de origen = 1
examine el bit de el bit .UL
s origen permanece
.LEN < 0 el bit .ER est establecido
establecido
.bit de origen = 0
no
el bit .UL est
establecido
desplazar el arreglo una posicin a la
izquierda
bit de
bit .UL arreglo
origen
la condicin de salida de
rengln est establecida
el bit .DN se establece
como verdadera
.POS = .LEN
fin
Ejemplo de BSL:
ejemplo 1
9 876 54 32 1 0
array_dint[0] 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
antes del desplazamiento
1
0 estos bits se
input_1
bit .UL
9 8 76 54 32 1 0
array_dint[0] 011 11 00 0 0 1
despus del desplazamiento
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
31 0
array_dint[0] 1 111 00 00 1 1 1 1 0 0 0 01 1 1 1 00 0 0 1 1 1 1 0 0 0 0
1
estos bits se
input_1
31 0
array_dint[1] 001 11 10 0 0 0 1 1 1 1 00 0 0 1 11 1 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: Sintaxis:
texto neutro BSL(array,control,source_bit,length);
texto ASCII BSL array control source_bit length
Operandos:
Operando: Tipo: Formato: Descripcin:
Arreglo DINT tag de arreglo que se modifica
arreglo especificar el elemento a partir
del cual se inicia el
desplazamiento
no use CONTROL.POS en el
subndice
Control CONTROL tag estructura de control para la
operacin
Bit de origen BOOL tag bit que se desplaza
Longitud DINT valor nmero de bits en el arreglo que
inmediato se desplazan
Estructura CONTROL:
Mnemnico: Tipo de Descripcin:
datos:
.EN BOOL El bit de habilitacin indica que la instruccin BSR est habilitada.
.DN BOOL Se establece el bit de efectuado para indicar que los bits se han desplazado
una posicin a la derecha.
.UL BOOL 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.
.ER BOOL Se establece el bit de error cuando .LEN < 0.
.LEN DINT 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.
Ejecucin:
Condicin: Accin:
preescn El bit .EN se restablece.
El bit .DN se restablece.
El bit .ER se restablece.
El valor .POS se restablece.
La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es El bit .EN se restablece.
falsa 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.
Condicin: Accin:
bit .EN = 1
examine el bit .EN
bit .EN = 0
s
.LEN < 0 el bit .DN se establece
no
.bit de origen
examine el bit de el bit .UL permanece
s origen establecido
.LEN < 0 el bit .ER est
establecido
.bit de origen = 0
no
el bit .UL est
establecido
desplazar el arreglo una posicin a la
izquierda
bit de arreglo bit .UL
origen
la condicin de salida de
rengln est establecida
el bit .DN se establece
como verdadera
.POS = .LEN
fin
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 bit .UL
input_1
9 876 54 32 1 0
array_dint[0] 100 11 11 0 0 0
despus del desplazamiento
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
31 0
array_dint[0] 1 111 00 00 1 1 1 1 0 0 0 01 1 1 1 00 0 0 1 1 1 1 0 0 0 0
0
estos bits se desplazan a la derecha
bit .UL
31 0
array_dint[1] 001 11 10 0 0 0 1 1 1 1 00 0 0 1 11 1 0 0 0 0
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: Sintaxis:
texto neutro BSR(array,control,source_bit,length);
texto ASCII BSR array control source_bit length
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor datos que se almacenan en FIFO
INT inmediato
DINT tag
REAL
estructura
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 tag de FIFO que se modifica
INT arreglo especificar el primer elemento
DINT FIFO
REAL no use CONTROL.POS en el
estructura subndice
Control CONTROL tag estructura de control para la
operacin
generalmente se usa el mismo
CONTROL que el FFU asociado
Longitud DINT valor nmero mximo de elementos
inmediato que FIFO puede contener a la
vez
Posicin DINT valor La prxima ubicacin en FIFO
inmediato donde la instruccin carga datos
el valor inicial es tpicamente 0
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 Descripcin:
datos:
.EN BOOL El bit de habilitacin indica que la instruccin FFL est habilitada.
.DN BOOL 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.
.EM BOOL El bit de vaco indica que FIFO est vaco. Si .LEN 0 .POS < 0, se
establecen los bits .EM y .DN.
.LEN DINT La longitud especifica el nmero mximo de elementos que FIFO puede
contener a la vez.
.POS DINT La posicin identifica la ubicacin en FIFO donde la instruccin cargar el
prximo valor.
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 asn-
crono.
Ejecucin:
Condicin: Accin:
preescn
s
.LEN < 0
no
s
.POS < 0
no
s
.POS = 0 el bit .EM est establecido
no
s
.POS .LEN el bit .DN est establecido
no
la condicin de salida de
rengln est establecida
como falsa
fin
Condicin: Accin:
s
.LEN < 0
no
s
.POS < 0
no
s
.POS = 0 el bit .EM est establecido
no
s
.POS .LEN el bit .DN est establecido
no
la condicin de salida de
rengln est establecida
como falsa
fin
Condicin: Accin:
.EN = 0 s
examine el bit .EN el bit .EN est .LEN < 0
establecido
.EN = 1 no
s s
.LEN < 0 .POS < 0
no no
no
s
.POS = 0 el bit .EM est
establecido
.POS o .LEN > s fallo mayor
no tamao del
arreglo
no
s
.POS .LEN el bit .DN se
establece
s
no .POS > .LEN .POS = .POS + 1
no
FIFO[.POS 1] = origen
la condicin de salida de
rengln est establecida
como verdadera
fin
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
(elemento inicial + .POS) > 4 20
tamao del arreglo FIFO
Ejemplo de FFL:
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: Sintaxis:
texto neutro FFL(source,FIFO,control,length,position);
texto ASCII FFL source FIFO control length position
Operandos:
Operando: Tipo: Formato: Descripcin:
FIFO SINT tag de FIFO que se modifica
INT arreglo especificar el primer elemento
DINT FIFO
REAL no use CONTROL.POS en el
estructura subndice
Destino SINT tag valor que sale del FIFO
INT
DINT
REAL
estructura
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
Longitud DINT valor nmero mximo de elementos
inmediato que FIFO puede contener a la
vez
Posicin DINT valor La prxima ubicacin en FIFO
inmediato donde la instruccin descarga
datos
el valor inicial es tpicamente 0
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 Descripcin:
datos:
.EU BOOL 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.
.DN BOOL Se establece el bit de efectuado para indicar que FIFO est lleno
(.POS = .LEN).
.EM BOOL El bit de vaco indica que FIFO est vaco. Si .LEN 0 .POS < 0,
se establecen los bits .EM y .DN.
.LEN DINT La longitud especifica el nmero mximo de elementos en FIFO.
.POS DINT La posicin identifica el fin de los datos que se han cargado en FIFO.
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 des-
carga 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.
Ejecucin:
Condicin: Accin:
preescn
s
.LEN < 0
no
s
.POS < 0
no
s
.POS = 0 el bit .EM est establecido
no
s
.POS .LEN el bit .DN est establecido
no
la condicin de salida de
rengln est establecida
como falsa
fin
Condicin: Accin:
s
.LEN < 0
no
s
.POS < 0
no
s
.POS = 0 el bit .EM est establecido
no
s
.POS .LEN el bit .DN est establecido
no
la condicin de salida de
rengln est establecida
como falsa
fin
Condicin: Accin:
.EU = 0 s
examine el bit .EU el bit .EU est .LEN < 0
establecido
.EU = 1 no
s s
.LEN < 0 .POS < 0
no no
no
s
.POS = 0 el bit .EM est s
.POS 1 el bit .EM est
establecido
establecido
no
no
s
s .POS < 1 Destino = 0
.POS .LEN el bit .DN se
establece
no
no
.POS = .POS + 1
Destino = FIFO[0]
i=1
FIFO[i 1] = FIFO[i]
i = i +1
s
i < .LEN
no
la condicin de salida de
rengln est establecida
como verdadera
fin
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
Longitud > tamao del arreglo 4 20
FIFO
Ejemplo de FFU:
antes de la despus de la
descarga FIFO descarga FIFO
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: Sintaxis:
texto neutro FFU(FIFO,destination,control,length,position);
texto ASCII FFU FIFO destination control length position
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor datos que se almacenan en LIFO
INT inmediato
DINT tag
REAL
estructura
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 tag de LIFO que se modifica
INT arreglo especificar el primer elemento
DINT de LIFO
REAL no use CONTROL.POS en el
estructura subndice
Control CONTROL tag estructura de control para la
operacin
generalmente se usa el mismo
CONTROL que el LFU asociado
Longitud DINT valor nmero mximo de elementos
inmediato que LIFO puede contener a la
vez
Posicin DINT valor La prxima ubicacin en LIFO
inmediato donde la instruccin carga datos
el valor inicial es tpicamente 0
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 Descripcin:
datos:
.EN BOOL El bit de habilitacin indica que la instruccin LFL est habilitada.
.DN BOOL 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.
.EM BOOL El bit de vaco indica que LIFO est vaco. Si .LEN 0 .POS < 0,
se establecen los bits .EM y .DN.
.LEN DINT La longitud especifica el nmero mximo de elementos que LIFO puede
contener a la vez.
.POS DINT La posicin identifica la ubicacin en LIFO donde la instruccin cargar el
prximo valor.
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 instruc-
ciones LFL y LFU establecen un registro de desplazamiento asncrono.
Ejecucin:
Condicin: Accin:
preescn
s
.LEN < 0
no
s
.POS < 0
no
s
.POS = 0 el bit .EM est establecido
no
s
.POS .LEN el bit .DN est establecido
no
la condicin de salida de
rengln est establecida
como falsa
fin
Condicin: Accin:
s
.LEN < 0
no
s
.POS < 0
no
s
.POS = 0 el bit .EM est establecido
no
s
.POS .LEN el bit .DN est establecido
no
la condicin de salida de
rengln est establecida
como falsa
fin
Condicin: Accin:
.EN = 0 s
examine el bit .EN el bit .EN est .LEN < 0
establecido
.EN = 1 no
s s
.LEN < 0 .POS < 0
no no
s
.POS = 0 el bit .EM est
establecido
.POS o .LEN > s
no fallo mayor
tamao del
arreglo
no
s
.POS .LEN el bit .DN se
establece
s
no .POS > .LEN .POS = .POS + 1
no
LIFO[.POS 1] = origen
la condicin de salida de
rengln est establecida
como verdadera
fin
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
(elemento inicial + .POS) > 4 20
tamao del arreglo LIFO
Ejemplo de LFL:
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: Sintaxis:
texto neutro LFL(source,LIFO,control,length,position);
texto ASCII LFL source LIFO control length position
Operandos:
Operando: Tipo: Formato: Descripcin:
LIFO SINT tag de LIFO que se modifica
INT arreglo especificar el primer elemento
DINT LIFO
REAL no use CONTROL.POS en el
estructura subndice
Destino SINT tag valor que sale del LIFO
INT
DINT
REAL
estructura
El valor de destino se convierte al tipo de datos del tag de des-
tino. Un nmero entero menor se convierte en un nmero
entero mayor segn la extensin con signo. Consulte Conver-
siones 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
Longitud DINT valor nmero mximo de elementos
inmediato que LIFO puede contener a la
vez
Posicin DINT valor La prxima ubicacin en LIFO
inmediato donde la instruccin descarga
datos
el valor inicial es tpicamente 0
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 Descripcin:
datos:
.EU BOOL El bit de habilitacin de descarga indica que la instruccin LFU est habili-
tada. El bit .EU se establece para impedir una descarga falsa cuando se inicia
el escn del programa.
.DN BOOL Se establece el bit de efectuado para indicar que LIFO est lleno
(.POS = .LEN).
.EM BOOL El bit de vaco indica que LIFO est vaco. Si .LEN 0 .POS < 0,
se establecen los bits .EM y .DN.
.LEN DINT La longitud especifica el nmero mximo de elementos que LIFO puede con-
tener a la vez.
.POS DINT La posicin identifica el fin de los datos que se han cargado en el LIFO.
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.
Ejecucin:
Condicin: Accin:
preescn
s
.LEN < 0
no
s
.POS < 0
no
s
.POS = 0 el bit .EM est establecido
no
s
.POS .LEN el bit .DN est establecido
no
la condicin de salida de
rengln est establecida
como falsa
fin
Condicin: Accin:
s
.LEN < 0
no
s
.POS < 0
no
s
.POS = 0 el bit .EM est establecido
no
s
.POS .LEN el bit .DN est establecido
no
la condicin de salida de
rengln est establecida
como falsa
fin
Condicin: Accin:
.EU = 0 s
examine el bit .EU el bit .EU est .LEN < 0
establecido
.EU = 1 no
s s
.LEN < 0 .POS < 0
no no
s s
.POS = 0 el bit .EM est .POS < 1 Destino = 0
establecido
no no
s
.POS > .LEN .POS = .LEN
s
.POS .LEN el bit .DN se
establece
no
no
.POS = .POS + 1
.LEN >
s fallo mayor
tamao del
arreglo
no
Destino = LIFO[control.POS]
LIFO[control.POS) = 0
la condicin de salida de
rengln est establecida
como verdadera
fin
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
Longitud > tamao del arreglo 4 20
LIFO
Ejemplo de LFU:
antes de la despus de la
wdescarga LIFO descarga LIFO
Otros formatos:
Formato: Sintaxis:
texto neutro LFU(LIFO,destination,control,length,position);
texto ASCII LFU LIFO destination control length position
Notas:
Instrucciones de secuenciador
(SQI, SQO, SQL)
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.
Operandos:
Operando: Tipo: Formato: Descripcin:
Arreglo DINT tag de arreglo de secuenciador
arreglo especifique el primer elemento
del arreglo de secuenciador
no use CONTROL.POS en el
subndice
Mscara SINT tag qu bits se bloquean o se pasan
INT valor
DINT inmediato
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Origen SINT tag datos de entrada para el arreglo
INT de secuenciador
DINT
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 instruccio-
nes SQO y SQL
Longitud DINT valor nmero de elementos en el arre-
inmediato glo (tabla de secuenciadores)
que se comparan
Posicin DINT valor posicin actual en el arreglo
inmediato el valor inicial es tpicamente 0
Estructura CONTROL:
Mnemnico: Tipo de Descripcin:
datos:
.ER BOOL Se establece el bit de error cuando .LEN 0, .POS < 0 .POS > .LEN.
.LEN DINT La longitud especifica el nmero de pasos en el arreglo de secuenciador.
.POS DINT La posicin identifica el elemento que la instruccin compara actualmente.
Prefijo: Descripcin:
16# hexadecimal
por ejemplo; 16#0F0F
8# octal
por ejemplo; 8#16
2# binario
por ejemplo; 2#00110011
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
.LEN 0
.POS < 0 no
o .POS > .LEN bit .ER se restablece
no origen enmascarado =
arreglo [.POS]
enmascarado
fin
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.
Si usted usa la instruccin SQI sin una instruccin SQO como pareja, es
necesario incrementar externamente el arreglo de secuenciador.
Otros formatos:
Formato: Sintaxis:
texto neutro SQI(array,mask,source,control,length,position);
texto ASCII SQI array mask source control length position
Operandos:
Operando: Tipo: Formato: Descripcin:
Arreglo DINT tag de arreglo de secuenciador
arreglo especifique el primer elemento
del arreglo de secuenciador
no use CONTROL.POS en el
subndice
Mscara SINT tag qu bits se bloquean o se pasan
INT valor
DINT inmediato
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Destino DINT tag datos de salida desde el arreglo
de secuenciador
Control CONTROL tag estructura de control para la
operacin
generalmente se usa el mismo
CONTROL usado con las instruc-
ciones SQI y SQL
Longitud DINT valor nmero de elementos en el arre-
inmediato glo (tabla de secuenciadores) de
los cuales se establecen salidas
Posicin DINT valor posicin actual en el arreglo
inmediato el valor inicial es tpicamente 0
Estructura CONTROL:
Mnemnico: Tipo de Descripcin:
datos:
.EN BOOL El bit de habilitacin indica que la instruccin SQO est habilitada.
.DN BOOL Se establece el bit de efectuado cuando todos los elementos especificados
han sido movidos al destino.
.ER BOOL Se establece el bit de error cuando .LEN 0, .POS < 0 .POS > .LEN.
.LEN DINT La longitud especifica el nmero de pasos en el arreglo de secuenciador.
.POS DINT La posicin identifica el elemento que el controlador manipula actualmente.
Prefijo: Descripcin:
16# hexadecimal
por ejemplo; 16#0F0F
8# octal
por ejemplo; 8#16
2# binario
por ejemplo; 2#00110011
Ejecucin:
Condicin: Accin:
preescn 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.
la condicin de entrada de rengln es El bit .EN se restablece.
falsa La condicin de salida de rengln se establece como falsa.
Condicin: Accin:
no s
.POS = .LEN .POS .LEN .POS = 1
s no
no
s
.POS = .LEN el bit .DN se esta-
blece
no
no
.POS > .LEN
error
la condicin de salida de
rengln est establecida
como verdadera
fin
Ejemplo de SQO:
Una vez habilitada, la instruccin SQO incrementa la posicin, pasa los datos en dicha
posicin a array_dint a travs de la mscara y almacena el resultado en value_1.
Si usted combina una instruccin SQI con una instruccin SQO, asegrese
de que ambas instrucciones usen los mismos valores de control, longitud y
posicin.
Otros formatos:
Formato: Sintaxis:
texto neutro SQO(array,mask,destination,control,length,position);
texto ASCII SQO array mask destination control length position
Operandos:
Operando: Tipo: Formato: Descripcin:
Arreglo DINT tag de arreglo de secuenciador
arreglo especifique el primer elemento
del arreglo de secuenciador
no use CONTROL.POS en el
subndice
Origen SINT tag datos de entrada que se cargan
INT valor en el arreglo de secuenciador
DINT inmediato
Un tag SINT o INT se convierte a un valor DINT usando la
extensin con signo. Consulte Conversiones de datos en la
pgina A-6.
Control CONTROL tag estructura de control para la
operacin
generalmente se usa el mismo
CONTROL usado con las instruc-
ciones SQI y SQO
Longitud DINT valor nmero de elementos en el arre-
inmediato glo (tabla de secuenciadores)
que se cargan
Posicin DINT valor posicin actual en el arreglo
inmediato el valor inicial es tpicamente 0
Estructura CONTROL:
Mnemnico: Tipo de Descripcin:
datos:
.EN BOOL El bit de habilitacin indica que la instruccin SQL est habilitada.
.DN BOOL Se establece el bit de efectuado cuando todos los elementos especificados
se han cargado en el arreglo.
.ER BOOL Se establece el bit de error cuando .LEN 0, .POS < 0 .POS > .LEN.
.LEN DINT La longitud especifica el nmero de pasos en el arreglo de secuenciador.
.POS DINT La posicin identifica el elemento que el controlador manipula actualmente.
Ejecucin:
Condicin: Accin:
preescn 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.
la condicin de entrada de rengln es El bit .EN se restablece.
falsa La condicin de salida de rengln se establece como falsa.
Condicin: Accin:
no s
.POS = .LEN .POS .LEN .POS = 1
s no
error de
el valor .POSC s
ir a
retorna al valor
inicial
no
s
.POS = .LEN el bit .DN se
establece
no
no
.POS > .LEN
s
.LEN >
s
tamao del
error arreglo
no
fallo mayor
la condicin de salida de
rengln est establecida
como verdadera
fin
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
Longitud > tamao del arreglo 4 20
Ejemplo de SQL:
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: Sintaxis:
texto neutro SQL(array,source,control,length,position);
texto ASCII SQL array source control length position
Introduccin Use las instrucciones de control del programa para cambiar el flujo de la
lgica.
Operandos:
Operando: Tipo: Formato: Descripcin:
Instruccin JMP
Nombre de nombre de introduzca un nombre para la
etiqueta etiqueta instruccin LBL asociada
Instruccin LBL
Nombre de nombre de la ejecucin salta a la instruc-
etiqueta etiqueta cin LBL con el nombre de eti-
queta al cual se hizo referencia
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 pro-
grama 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.
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
la etiqueta no existe 4 42
Ejemplo de JMP/LBL:
[otros renglones de
cdigo]
Una vez habilitada la instruccin JMP, la ejecucin salta renglones sucesivos de lgica
hasta llegar en el rengln que contiene la instruccin LBL con label_20.
Otros formatos:
Formato: Sintaxis:
texto neutro JMP(label_name);
LBL(label_name);
texto ASCII JMP label_name
LBL label_name
Operandos:
Operando: Tipo: Formato: Descripcin:
Instruccin JSR
Nombre de rutina nombre rutina que se ejecuta
rutina
parmetro SINT valor parmetros que pasan a la
de entrada INT inmediato rutina
DINT tag
REAL tag de
estructura arreglo
Parmetro SINT tag parmetros (0-n) que se reciben
de retorno INT tag de de la rutina
DINT arreglo
REAL
estructura
Instruccin SBR
parmetro SINT tag parmetros (0-n) recibidos de
de entrada INT tag de JSR
DINT arreglo
REAL
estructura
Instruccin RET
Parmetro SINT valor parmetros (0-n) que devuelven
de retorno INT inmediato a JSR
DINT tag
REAL tag de
estructura arreglo
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 des-
activar el controlador. Vea el documento Logix5000 Controllers User Manual,
publicacin 1756-6.5.12.
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 instruc-
cin SBR recibe los parmetros de entrada y copia los valores de los mis-
mos 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.
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 coin-
cidir 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.
rutina principal
SBR SBR SBR
action_1
JSR
action_2 action_3
JSR JSR
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 pro-
grama y del controlador cubiertos desde la rutina en vez de pasar los
valores.
Ejecucin:
Condicin: Accin:
preescn 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 entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
no
no no
s
fin de la subrutina
no
fin
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
la instruccin JSR tiene menos 4 31
parmetros de entrada que la
instruccin SBR
la instruccin JSR salta a una rutina de 4 proporcionado por 0 proporcionado por
fallo el usuario el usuario
la instruccin RET tiene menos 4 31
parmetros de retorno que la instruccin
JSR
Ejemplo de JSR/SBR/RET:
ejemplo 1
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: Sintaxis:
texto neutro 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 JSR routine_name input_1 ... input_n return_1 ... return_n
SBR routine_name input_1 ... input_n
RET return_1 ... return_n
Operandos: Ninguno
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es La condicin de salida de rengln est establecida como verdadera.
verdadera Se interrumpe la rutina actual.
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: Sintaxis:
texto neutro TND();
texto ASCII TND
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 inhabilita-
das 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.
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
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 entrada de rengln es La condicin de salida de rengln est establecida como verdadera.
verdadera Las instrucciones en la zona se escanean normalmente.
Ejemplo de MCR:
Cuando se habilita la primera instruccin MCR (input_1, input_2 y input_3 estn establecidos), el controlador ejecuta los renglones
en la zona MCR (entre las dos instrucciones MCR) y establece o restablece las salidas segn las condiciones de entrada.
Cuando se inhabilita la primera instruccin MCR (input_1, input_2 y input_3 no estn todos establecidos), el controlador ejecuta los renglones en
la zona MCR (entre las dos instrucciones MCR) y la condicin de entrada de rengln se hace falsa para todos los renglones en la zona MCR
independientemente de las condiciones de entrada.
Otros formatos:
Formato: Sintaxis:
texto neutro MCR();
texto ASCII MCR
Operandos: Ninguno
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es Se evita la interrupcin por tareas de alta prioridad.
verdadera Se incrementa el contador interno UID.
La condicin de salida de rengln est establecida como verdadera.
Ejemplo UID:
Una vez habilitada, la instruccin UID inhabilita temporalmente la conmutacin entre tareas del
usuario.
Otros formatos:
Formato: Sintaxis:
texto neutro UID();
texto ASCII UID
Operandos: ninguna
Descripcin: La instruccin UIE vuelve a habilitar la conmutacin las tareas del usuario.
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es Se decrementa el contador interno UID.
verdadera 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.
Ejemplo de UIE:
Una vez habilitada, la instruccin UIE vuelve a habilitar la conmutacin entre tareas del
usuario.
Otros formatos:
Formato: Sintaxis:
texto neutro UIE();
texto ASCII UIE
Operandos: Ninguno
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
verdadera
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: Sintaxis:
texto neutro AFI();
texto ASCII AFI
Operandos: Ninguno
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es La condicin de salida de rengln est establecida como verdadera.
verdadera
Ejemplo NOP: Esta instruccin es til para localizar bifurcaciones no condicionales cuando
coloca la instruccin NOP en la bifurcacin.
Otros formatos:
Formato: Sintaxis:
texto neutro NOP();
texto ASCII NOP
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.
Operandos:
Operando: Tipo: Formato: Descripcin:
Nombre de ROUTINE nombre de rutina que se ejecuta
rutina rutina
Indice DINT tag cuenta cuntas veces la rutina
se ha ejecutado
Valor inicial SINT valor valor en que se comienza el
INT inmediato ndice
DINT tag
Valor SINT valor valor en que se detiene la
terminal INT inmediato ejecucin de la rutina
DINT tag
Tamao de SINT valor cantidad que se aade al ndice
paso INT inmediato cada vez que la instruccin FOR
DINT tag ejecuta la rutina
Cada vez que la instruccin FOR ejecuta la rutina, aade el tamao de paso
al ndice.
Ejecucin:
Condicin: Accin:
preescn 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 entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es verdadera
ndice = initial_value
no
tamao de paso < 0
no
ir a fin ndice valor terminal
s s no ir a
ndice valor terminal
fin
ejecute la rutina
index =(index + step_size)
fin
fin
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: Sintaxis:
texto neutro FOR(routine_name,index,initial_value,terminal_value,step_size);
texto ASCII FOR routine_name index initial_value terminal_value step_size
Operandos: ninguna
Descripcin: La instruccin BRK interrumpe la ejecucin de una rutina que fue llamada
por una instruccin FOR.
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es La condicin de salida de rengln est establecida como verdadera.
verdadera La ejecucin retorna a la instruccin que sigue a la instruccin FOR que hizo
la llamada.
Ejemplo de BRK:
Una vez habilitada, la instruccin BRK ya no ejecuta la rutina actual y retorna a la instruccin
que sigue a la instruccin FOR que hizo la llamada.
Otros formatos:
Formato: Sintaxis:
texto neutro BRK();
texto ASCII BRK
Operandos: ninguna
Tambin puede usar una instruccin TND para finalizar la ejecucin de una
subrutina.
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es La condicin de salida de rengln se establece como verdadera.
verdadera
Ejemplo de RET:
rutina que hace subrutina
Otros formatos:
Formato: Sintaxis:
texto neutro RET();
texto ASCII RET
Instrucciones especiales
(FBC, DDT, DTR, PID)
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen DINT tag de arreglo que se compara contra
arreglo la referencia
no use CONTROL.POS en el
subndice
Referencia DINT tag de arreglo que se compara contra
arreglo el origen
no use CONTROL.POS en el
subndice
Resultado: DINT tag de arreglo que almacena el
arreglo resultado
no use CONTROL.POS en los
subndices
Control Cmp control estructura estructura de control para la
comparacin
Longitud DINT valor nmero de bits que se comparan
inmediato
Posicin DINT valor posicin actual en el origen
inmediato el valor inicial es tpicamente 0
Control de control estructura estructura de control para los
resultado resultados
Longitud DINT valor nmero de ubicaciones de
inmediato almacenamiento en el resultado
Posicin DINT valor posicin actual en el resultado
inmediato el valor inicial es tpicamente 0
Estructura CONTROL de
comparacin:
Mnemnico: Tipo de Descripcin:
datos:
.EN BOOL El bit de habilitacin indica que la instruccin FBC est habilitada.
.DN BOOL Se establece el bit de efectuado cuando la instruccin FBC compara el ltimo
bit en los arreglos de origen y referencia.
.FD BOOL Se establece el bit de encontrado cada vez que la instruccin FBC registra
una desigualdad (operacin uno a uno) o despus de registrar todas las des-
igualdades (operacin de todos por escn).
.IN BOOL El bit de inhibicin indica el modo de bsqueda FBC.
0 = modo todos
1 = modo de una desigualdad a la vez
.ER BOOL Se establece el bit de error si la comparacin .POS < 0, la comparacin
.LEN < 0, el resultado .POS < 0 el resultado .LEN < 0. La instruccin ya no
se ejecuta hasta que el programa restablece el bit .ER.
.LEN DINT El valor de longitud identifica el nmero de bits que se comparan.
.POS DINT El valor de posicin identifica el bit actual.
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 ori-
gen contra los bits del arreglo de referencia y registra el nmero de bit de
cada desigualdad en el arreglo de resultados.
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.
Ejecucin:
Condicin: Accin:
preescn
.DN de comparacin = 1
la condicin de salida de
rengln est establecida
como falsa
fin
Condicin: Accin:
.DN de comparacin = 1
la condicin de salida de
rengln est establecida
como falsa
fin
Condicin: Accin:
.EN de comparacin = 0
.DN de comparacin = 1 ir a
se establece el bit .EN examine el bit .DN
salida
de comparacin
.DN de comparacin = 0
no
.POS de s
salida comparacin = 0
la condicin de salida de
rengln est establecida
como verdadera compara- ir a
cin salida
Condicin: Accin:
compare
.POS de
comparacin s .POS de comparacin = .LEN ir a
.LEN de de comparacin salida
comparacin se establece el bit .DN
pgina 12-6
no
result.DN = 1
compare.POS =
compare.POS + 1
s
result.POS < 0
no
s
result.LEN 0
s result.POS > ir a
fallo mayor tamao del arreglo salida
de resultados
pgina 12-6
no
result[result.POS] = compare.POS
result.POS = result.POS + 1
no result.POS >
result.LEN
se establece el bit
result.DN
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
Result.POS > tamao del arreglo 4 20
de resultados
Ejemplo de FBC:
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 5 3
array_dint3
Otros formatos:
Formato: Sintaxis:
texto neutro FBC(source,reference,result,cmp_control,length,position,result_control,
length,position);
texto ASCII FBC source reference result cmp_control length position result_control
length position
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen DINT tag de arreglo que se compara contra
arreglo la referencia
no use CONTROL.POS en el
subndice
Referencia DINT tag de arreglo que se compara contra
arreglo el origen
no use CONTROL.POS en el
subndice
Resultado: DINT tag de arreglo que almacena los
arreglo resultados
no use CONTROL.POS en el
subndice
Control Cmp CONTROL estructura estructura de control para la
comparacin
Longitud DINT valor nmero de bits que se comparan
inmediato
Posicin DINT valor posicin actual en el origen
inmediato el valor inicial es tpicamente 0
Control de control estructura estructura de control para los
resultado resultados
Longitud DINT valor nmero de ubicaciones de
inmediato almacenamiento en el resultado
Posicin DINT valor posicin actual en el resultado
inmediato el valor inicial es tpicamente 0
Estructura CONTROL de
comparacin:
Mnemnico: Tipo de Descripcin:
datos:
.EN BOOL El bit de habilitacin indica que la instruccin DDT est habilitada.
.DN BOOL Se establece el bit de efectuado cuando la instruccin DDT compara el
ltimo bit en los arreglos de origen y referencia.
.FD BOOL Se establece el bit de encontrado cada vez que la instruccin DDT registra
una desigualdad (operacin uno a uno) o despus de registrar todas las
desigualdades (operacin de todos por escn).
.IN BOOL El bit de inhibicin indica el modo de bsqueda DDT.
0 = modo todos
1 = modo de una desigualdad a la vez
.ER BOOL Se establece el bit de error si la comparacin .POS < 0, la comparacin
.LEN < 0, el resultado .POS < 0 el resultado .LEN < 0. La instruccin ya no
se ejecuta hasta que el programa restablece el bit .ER.
.LEN DINT El valor de longitud identifica el nmero de bits que se comparan.
.POS DINT El valor de posicin identifica el bit actual.
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.
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.
Ejecucin:
Condicin: Accin:
preescn
.DN de comparacin = 1
la condicin de salida de
rengln est establecida
como falsa
fin
Condicin: Accin:
.DN de comparacin = 1
la condicin de salida de
rengln est establecida
como falsa
fin
Condicin: Accin:
.EN de comparacin = 0
compare.DN bit = 0
no
.POS de s
comparacin = 0
salida
la condicin de salida de
rengln est establecida
como verdadera ir a
comparacin salida
Condicin: Accin:
comparacin
.POS de
comparacin s .POS de comparacin = .LEN ir a
.LEN de de comparacin salida
comparacin se establece el bit .DN
pgina 12-13
no
result.DN = 1
se establece el bit
origen[compare.POS]= no se restablece el bit .DN de
compare.FD examine el bit
referencia[compare.POS] resultado
reference[compare.POS] = result.DN
se restablece el valor .POS
source[compare.POS]
de resultado
s result.DN = 0
compare.POS =
compare.POS + 1
s
result.POS < 0
no
s
result.LEN 0
s result.POS >
tamao del arreglo ir a
fallo mayor
de resultados salida
pgina 12-6
no
result[result.POS] = compare.POS
result.POS = result.POS + 1
no result.POS >
result.LEN
se establece el bit
result.DN
Condiciones de fallo:
Ocurrir un fallo mayor si: Tipo de fallo: Cdigo de fallo:
Result.POS > tamao del arreglo 4 20
de resultados
Ejemplo de DDT:
origen 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
array_dint1
referencia (antes de la 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0
comparacin)
array_dint2
resultado 5 3
array_dint3
referencia (despus de la 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
comparacin)
array_dint2
Otros formatos:
Formato: Sintaxis:
texto neutro DDT(source,reference,result,cmp_control,length,position,result_control,
length,position);
texto ASCII DDT source reference result cmp_control length position result_control
length position
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen DINT valor arreglo que se compara contra
inmediato la referencia
tag
Mscara DINT valor qu bits se bloquean o se pasan
inmediato
tag
Referencia DINT tag arreglo que se compara contra
el origen
Descripcin: La instruccin DTR pasa el valor de origen mediante una mscara y com-
para 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.
Prefijo: Descripcin:
16# hexadecimal
por ejemplo; 16#0F0F
8# octal
por ejemplo; 8#16
2# binario
por ejemplo; 2#00110011
Ejecucin:
Condicin: Accin:
preescn La referencia = mscara AND de origen.
La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La referencia = mscara AND de origen.
falsa La condicin de salida de rengln se establece como falsa.
la condicin de entrada de
rengln es verdadera
la condicin de salida de
rengln est establecida
como falsa
fin
Ejemplo de DTR:
Una vez habilitada, la instruccin DTR enmascara value_1. Si hay una diferencia entre los
dos valores, la condicin de salida de rengln se establece como verdadera.
ejemplo 1 ejemplo 2
origen
7 value_1
1 8 3 9 1 8 7
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
referencia
value_2 0 1 8 7
escn actual 0 1 8 3 escn actual
Otros formatos:
Formato: Sintaxis:
texto neutro DTR(source,mask,reference);
texto ASCII DTR source mask reference
Operandos:
Operando: Tipo: Formato: Descripcin:
PID PID estructura Estructura PID
Variable de SINT tag valor que desea controlar
proceso INT
DINT
REAL
Valor SINT valor (opcional)
retenido INT inmediato salida de una estacin manual/
DINT tag automtica de hardware que
REAL evita la salida del controlador
introduzca 0 si no desea este
parmetro
Variable de SINT tag valor que va al dispositivo de
control INT control final (vlvula, amortigua-
DINT dor, etc.)
REAL 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
Lazo PID estructura opcional
maestro PID 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
Bit BOOL tag opcional
mantenido 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
Valor SINT tag opcional
mantenido INT valor de lectura de datos de un
DINT canal de salida analgico 1756
REAL para aceptar el reinicio sin per-
turbaciones
introduzca 0 si no desea este
parmetro
Punto de para visualizacin solamente
ajuste valor actual del punto de ajuste
Variable de para visualizacin solamente
proceso valor actual de la variable de
proceso escalada
Porcentaje para visualizacin solamente
de salida valor de porcentaje de salida
actual
Estructura PID Especifique una estructura PID nica para cada instruccin PID.
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.
bit .EN
estado de rengln
ejecucin de la instruccin PID
41027
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es La condicin de salida de rengln est establecida como verdadera.
verdadera
Condiciones de fallo:
Ocurrir un fallo menor si: Tipo de fallo: Cdigo de fallo:
.UPD 0 4 35
punto de ajuste fuera de rango 4 36
Otros formatos:
Formato: Sintaxis:
texto neutro PID(pv,pv_type,tieback,cv,cv_type,master,inhold_bit,inhold_value);
texto ASCII PID pv pv_type tieback cv cv_type master inhold_bit inhold_value
Cmo configurar una Despus de introducir la instruccin PID y especificar la estructura PID,
instruccin PID usted usa las fichas de configuracin para especificar cmo debe funcionar
la instruccin PID.
Seleccione la ficha Escala. Usted debe hacer clic en OK o Aplicar para que
los cambios se realicen.
Cmo usar las El control de lazo cerrado PID mantiene una variable de proceso en un
instrucciones PID punto de ajuste deseado. La figura siguiente muestra un ejemplo de rgimen
de flujo/nivel de fluido:
detector de nivel
14271
E = PV SP
t
1 dPV
CV = K C E + ---- Edt + T d ----------- + BIAS
Ti dt
0
E = PV SP
t
dPV
CV = K P E + K i Edt + Kd ----------- + BIAS
dt
0
donde:
Variable: Descripcin:
KP ganancia proporcional (sin unidad)
Kp = Kc sin unidad
Ki ganancia integral (segundos 1)
Para convertir entre Ki (ganancia integral) y Ti (tiempo de
restablecimiento), use:
KC
K i = -----------
60T i
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 vari-
able de proceso (PV).
Uniformidad de derivada
+ 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 vari-
able 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.
Lazos en cascada
Usted puede mantener dos valores en una relacin usando una instruccin
MUL con estos parmetros:
valor no controlado
valor controlado (el punto de ajuste resultante) que ser usado por la
instruccin PID)
relacin entre dos valores
Instrucciones trigonomtricas
(SIN, COS, TAN, ASN, ACS, ATN)
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.
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor hallar el seno de este valor
INT inmediato
DINT tag
REAL
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
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: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es El controlador calcula el seno del origen y coloca el resultado en el destino.
verdadera La condicin de salida de rengln est establecida como verdadera.
Ejemplo de SIN:
Una vez habilitada, la instruccin SIN calcula el seno de value y coloca el resultado en result.
Otros formatos:
Formato: Sintaxis:
texto neutro SIN(source,destination);
texto ASCII SIN source destination
Instrucciones relacionadas: CMP, CPT, COS, TAN, ASN, ACS, ATN, DEG, RAD
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor hallar el coseno de este valor
INT inmediato
DINT tag
REAL
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
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: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es El controlador calcula el coseno del origen y coloca el resultado en el destino.
verdadera La condicin de salida de rengln est establecida como verdadera.
Ejemplo de COS:
Una vez habilitada, la instruccin COS calcula el coseno de value y coloca el resultado en result.
Otros formatos:
Formato: Sintaxis:
texto neutro COS(source,destination);
texto ASCII COS source destination
Instrucciones relacionadas: CMP, CPT, SIN, TAN, ASN, ACS, ATN, DEG, RAD
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor hallar la tangente de este valor
INT inmediato
DINT tag
REAL
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
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: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es El controlador calcula la tangente del origen y coloca el resultado en el
verdadera destino.
La condicin de salida de rengln est establecida como verdadera.
Ejemplo de TAN:
Una vez habilitada, la instruccin TAN calcula la tangente de value y coloca el resultado en result.
Otros formatos:
Formato: Sintaxis:
texto neutro TAN(source,destination);
texto ASCII TAN source destination
Instrucciones relacionadas: CMP, CPT, COS, SIN, ASN, ACS, ATN, DEG, RAD
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor hallar el arco seno de este valor
INT inmediato
DINT tag
REAL
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
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: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es El controlador calcula el arco seno del origen y coloca el resultado en el
verdadera destino.
La condicin de salida de rengln est establecida como verdadera.
Ejemplo de ASN:
Una vez habilitada, la instruccin ASN calcula el arco seno de value y coloca el resultado en result.
Otros formatos:
Formato: Sintaxis:
texto neutro ASN(source,destination);
texto ASCII ASN source destination
Instrucciones relacionadas: CMP, CPT, ACS, ATN, SIN, COS, TAN, DEG, RAD
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor hallar el arco coseno de este
INT inmediato valor
DINT tag
REAL
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
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: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es El controlador calcula el arco coseno del origen y coloca el resultado en el
verdadera destino.
La condicin de salida de rengln est establecida como verdadera.
Ejemplo de ASC:
Una vez habilitada, la instruccin ACS calcula el arco coseno de value y coloca el resultado en result.
Otros formatos:
Formato: Sintaxis:
texto neutro ACS(source,destination);
texto ASCII ACS source destination
Instrucciones relacionadas: CMP, CPT, ASN, ATN, SIN, COS, TAN, DEG, RAD
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor hallar el arco tangente de este
INT inmediato valor
DINT tag
REAL
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
Descripcin: La instruccin ATN halla el arco tangente del valor de origen y almacena el
resultado en el destino (en radianes).
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es El controlador calcula el arco tangente del origen y coloca el resultado en el
verdadera destino.
La condicin de salida de rengln est establecida como verdadera.
Ejemplo de ATN:
Una vez habilitada, la instruccin ATN calcula el arco tangente value y coloca el resultado en result.
Otros formatos:
Formato: Sintaxis:
texto neutro ATN(source,destination);
texto ASCII ATN source destination
Instrucciones relacionadas: CMP, CPT, ACS, ASN, SIN, COS, TAN, DEG, RAD
Notas:
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.
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor hallar el logaritmo natural de
INT inmediato este valor
DINT tag
REAL
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
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: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es El controlador calcula el logaritmo natural del origen y coloca el resultado en
verdadera el destino.
La condicin de salida de rengln est establecida como verdadera.
Ejemplo de LN:
Una vez habilitada, la instruccin LN calcula el logaritmo natural de value y coloca el resultado en result.
Otros formatos:
Formato: Sintaxis:
texto neutro LN(source,destination);
texto ASCII LN source destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor hallar el logaritmo de este valor
INT inmediato
DINT tag
REAL
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
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: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es El controlador calcula el logaritmo del origen y coloca el resultado en el
verdadera destino.
La condicin de salida de rengln se establece como verdadera.
Ejemplo de LOG:
Una vez habilitada, la instruccin LOG calcula el logaritmo de value y coloca el resultado en result.
Otros formatos:
Formato: Sintaxis:
texto neutro LOG(source,destination);
texto ASCII LOG source destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen A SINT valor valor de base
INT inmediato
DINT tag
REAL
Origen B SINT valor exponente
INT inmediato
DINT tag
REAL
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
El controlador evala x0 = 1 y 0x = 0.
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es El controlador eleva el origen A a la potencia del origen B y coloca el
verdadera resultado en el destino.
La condicin de salida de rengln se establece como verdadera.
Condiciones de fallo:
Ocurrir un fallo menor si: Tipo de fallo: Cdigo de fallo:
El origen A es negativo y el 4 4
origen B no es un valor entero
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: Sintaxis:
texto neutro XPY(source_A,source_B,destination);
texto ASCII XPY source_A source_B destination
Notas:
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.
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor valor que se convierte a grados
INT inmediato
DINT tag
REAL
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es El controlador convierte el origen a grados y coloca el resultado en el destino.
verdadera La condicin de salida de rengln est establecida como verdadera.
Ejemplo de DEG:
Una vez habilitada, la instruccin DEG convierte value a grados y coloca el resultado en result.
Otros formatos:
Formato: Sintaxis:
texto neutro DEG(source,destination);
texto ASCII DEG source destination
Instrucciones relacionadas: CMP, CPT, RAD, SIN, COS, TAN, ASN, ACS, ATN
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor valor que se convierte a radianes
INT inmediato
DINT tag
REAL
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es El controlador convierte el origen a radianes y coloca el resultado en el
verdadera destino.
La condicin de salida de rengln est establecida como verdadera.
Ejemplo de RAD:
Una vez habilitada, la instruccin RAD convierte value a radianes y coloca el resultado en result.
Otros formatos:
Formato: Sintaxis:
texto neutro RAD(source,destination);
texto ASCII RAD source destination
Instrucciones relacionadas: CMP, CPT, DEG, SIN, COS, TAN, ASN, ACS, ATN
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor valor que se convierte a BCD
INT inmediato 0 Origen 99,999,999
DINT tag
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 tag tag para almacenar el resultado
INT
DINT
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es verdadera
no no
origen < 0 origen > 99,999,999 convierta el origen en BCD
s s
la condicin de salida de
rengln est establecida
como verdadera
fin
Condicin: Accin:
la condicin de entrada de rengln es El controlador convierte el origen a BCD y coloca el resultado en el destino.
verdadera La condicin de salida de rengln est establecida como verdadera.
Condiciones de fallo:
Ocurrir un fallo menor si: Tipo de fallo: Cdigo de fallo:
Origen < 0 4 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: Sintaxis:
texto neutro TOD(source,destination);
texto ASCII TOD source destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen SINT valor valor que se convierte a decimal
INT inmediato
DINT tag
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 tag tag para almacenar el resultado
INT
DINT
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es El controlador convierte el origen a decimal y coloca el resultado en el
verdadera destino.
La condicin de salida de rengln est establecida como verdadera.
Ejemplo de FRD:
Una vez habilitada, la instruccin FRD convierte value_a en un valor BCD y coloca el
resultado en result_1.
Otros formatos:
Formato: Sintaxis:
texto neutro FRD(source,destination);
texto ASCII FRD source destination
Operandos:
Operando: Tipo: Formato: Descripcin:
Origen REAL valor valor a truncar
inmediato
tag
Destino SINT tag tag para almacenar el resultado
INT
DINT
REAL
Ejecucin:
Condicin: Accin:
preescn La condicin de salida de rengln se establece como falsa.
la condicin de entrada de rengln es La condicin de salida de rengln se establece como falsa.
falsa
la condicin de entrada de rengln es El controlador retira la porcin fraccionaria del origen y coloca el resultado
verdadera en el destino.
La condicin de salida de rengln est establecida como verdadera.
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.
Otros formatos:
Formato: Sintaxis:
texto neutro TRN(source,destination);
texto ASCII TRN source destination
Notas:
Atributos comunes
Introduccin Este apndice describe los atributos que son comunes para las instrucciones
Logix5550.
Palabras clave de estado Use las palabras clave de estado aritmtico para verificar el estado de los
aritmtico indicadores de estado aritmtico.
s:C 7 6 5 4 3 2 1 0
s:N
s:C 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
s:N
s:C 31 30 29 28 27 26 25 24 7 6 5 4 3 2 1 0
s:N
ejemplo 2
ejemplo 3
Otras palabras clave Adems de las palabras clave de estado aritmtico, el controlador es
compatible con las siguientes palabras clave.
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:
Formato de la Equivalencia:
pantalla:
Real + infinito 1.$
infinito 1.$
+ NAN 1.#QNAN
NAN 1.#QNAN
Exponencial + infinito 1.#INF000e+000
infinito 1.#INF000e+000
+NAN 1.#QNAN00e+000
+NAN 1.#QNAN00e+000
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).
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
Si: Los operandos de entrada (es decir, origen, tag en una expresin,
lmite) se convierten a:
S REAL
No DINT
Es decir, use todos los tags DINT o todos los tags REAL adems de los
valores inmediatos en las instrucciones.
Para las instrucciones que convierten los valores SINT o INT a valores
DINT, las secciones Operandos en este manual indican el mtodo de
conversin.
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.
der Logic Listing - Total number of rungs: 3
EQU
Equal
Source A remote_rack_1:I.Data[0]
2#1111_1111_1111_1111
Source B 2#1111_1111_1111_1111
42093
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:
Use una instruccin MEQ para verificar solamente los bits requeridos.
EQU
Equal
Source A remote_rack_1:I.Data[0]
2#1111_1111_1111_1111
Source B int_0
2#1111_1111_1111_1111
42093
MOV EQU
Move Equal
Source 2#1111_1111_1111_1111 Source A remote_rack_1:I.Data[0]
2#1111_1111_1111_1111
Dest int_0 Source B int_0
2#1111_1111_1111_1111 2#1111_1111_1111_1111
42093
Un valor REAL usa hasta 24 bits para el valor de base (23 bits
almacenados ms un bit oculto).
Un valor DINT usa hasta 32 bits para el valor (uno para el signo y 32
para el valor)
2.5 2
1.6 2
1.5 2
1.4 1
1.4 1
1.5 2
1.6 2
2.5 2
Conceptos de arreglo
Cmo ver un arreglo como Los arreglos le permiten agrupar un conjunto de datos (del mismo tipo de
coleccin de elementos datos) segn el mismo nombre y usar subndices para identificar los ele-
mento individuales. Un elemento en un arreglo puede ser un tipo o estruc-
tura de datos atmicos.
one_d_array DINT[7] 7
nmero total de elementos = 7
two_d_array DINT[4,5] 4 5
three_d_array DINT[2,3,4] 2 3 4
Por ejemplo:
Cmo ver un arreglo como un Los datos en un arreglo se almacenan contiguamente en la memoria. Las
bloque de memoria instrucciones de archivo (arreglo) tpicamente requieren una direccin ini-
cial dentro de un arreglo y una longitud, la cual determina qu elementos y
cuntos elementos la instruccin lee o escribe.
Elementos del arreglo de una Elementos del arreglo de dos Elementos del arreglo de tres
dimensin (orden ascendente): dimensiones (orden ascendente): dimensiones (orden ascendente):
one_D_array[0] two_D_array[0,0] three_D_array[0,0,0]
one_D_array[1] two_D_array[0,1] three_D_array[0,0,1]
one_D_array[2] two_D_array[0,2] three_D_array[0,0,2]
one_D_array[3] two_D_array[0,3] three_D_array[0,0,3]
one_D_array[4] two_D_array[0,4] three_D_array[0,1,0]
one_D_array[5] two_D_array[1,0] three_D_array[0,1,1]
one_D_array[6] two_D_array[1,1] three_D_array[0,1,2]
two_D_array[1,2] three_D_array[0,1,3]
Para un arreglo con solamente una two_D_array[1,3] three_D_array[0,2,0]
dimensin, tag_name[subscript_0], two_D_array[1,4] three_D_array[0,2,1]
subscript_0 se incrementa a su valor two_D_array[2,0] three_D_array[0,2,2]
mximo. two_D_array[2,1] three_D_array[0,2,3]
two_D_array[2,2] three_D_array[1,0,0]
two_D_array[2,3] three_D_array[1,0,2]
two_D_array[2,4] three_D_array[1,0,3]
two_D_array[3,0] three_D_array[1,1,0]
two_D_array[3,1] three_D_array[1,1,1]
two_D_array[3,2] three_D_array[1,1,2]
two_D_array[3,3] three_D_array[1,1,3]
two_D_array[3,4] three_D_array[1,2,0]
three_D_array[1,2,1]
Para un arreglo con dos dimensiones, three_D_array[1,2,2]
tag_name[subscript_0, subscript_1], three_D_array[1,2,3]
subscript_0 se mantiene fijo en 0 mientras
subscript_1 se incrementa de 0 a su valor Para un arreglo con tres dimensiones,
mximo. Subscript_0 se incrementa por 1 tag_name[subscript_0, subscript_1,
(si dimensin 0 es mayor que 1) y se subscript_2], subscript_0 se mantiene fijo
mantiene fijo mientras subscript_1 se en 0 mientras subscript_1 y subscript_2
incrementa nuevamente a travs de su se incrementan como un arreglo de dos
rango. Este proceso contina hasta que dimensiones. subscript_0 se incrementa
los dos subndices llegan a sus valores por 1 (si la dimensin 0 es mayor que 1) y
mximos. se mantiene fijo hasta que subscript_1 y
subscript_2 llegan a sus valores mximos.
Este proceso contina hasta que los tres
subndices llegan a sus valores mximos.
Las instrucciones AVE, SRT y STD tienen una dimensin para variar el
operando. La instruccin usa este operando para calcular un offset que la
instruccin usa para determinar qu elementos del arreglo leer o escribir.
Arreglo: Dimensin offset:
para variar:
una dimensin 0 1
dos dimensiones 0 dimension_1
1 1
tres dimensiones 0 (dimension_1) (dimension_2)
1 dimension_2
2 1
Asignacin de memoria para La cantidad de memoria que un arreglo usa depende del tipo de datos usado
los arreglos 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.
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: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
asignacin de [15] [14] [13] [12] [11] [10] [9] [8] [7] [6] [5] [4] [3] [2] [1] [0]
datos 1
bit: 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
asignacin de bit [31] [30] [29] [28] [27] [26] [25] [24] [23] [22] [21] [20] [19] [18] [17] [16]
1 contina
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: 31 24 23 16 15 8 7 0
asignacin de small_values[3] small_values[2] small_values[1] small_values[0]
datos 1
asignacin de small_values[7] small_values[6] small_values[5] small_values[4]
datos 2
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: 31 24 23 16 15 8 7 0
asignacin de 0 small_values[2] small_values[1] small_values[0]
datos 1
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: 31 16 15 0
asignacin de values[1] values[0]
datos 1
asignacin de values[3] values[2]
datos 2
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: 31 0
asignacin de big_values[0]
datos 1
asignacin de big_values[1]
datos 2
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: 31 0
asignacin de bits de estado timer_list[0]
datos 1
asignacin de timer_list[0].pre
datos 2
asignacin de timer_list[0].acc
datos 3
asignacin de bits de estado timer_list[1]
datos 4
asignacin de timer_list[1].pre
datos 5
asignacin de timer_list[1].acc
datos 6
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: 31 24 23 16 15 8 7 0
asignacin de small_values small_values small_values small_values
datos 1 [0,1,1] [0,1,0] [0,0,1] [0,0,0]
asignacin de small_values small_values small_values small_values
datos 2 [1,1,1] [1,1,0] [1,0,1] [1,0,0]
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: 31 0
asignacin de big_values[0,0,0]
datos 1
asignacin de big_values[0,0,1]
datos 2
asignacin de big_values[0,1,0]
datos 3
asignacin de big_values[0,1,1]
datos 4
asignacin de big_values[1,0,0]
datos 5
asignacin de big_values[1,0,1]
datos 6
asignacin de big_values[1,1,0]
datos 7
asignacin de big_values[1,1,1]
datos 8
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.
Ejemplos:
Tablas de referencia
Table C.1 Tiempos de conversin de extensin con signo
Notas:
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 controla-
dor Logix5550 (No. de cat. 1756-L1) y el software RSLogix 5000,
versin 2.25.
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.
Ejemplos:
Ejemplo:
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:
Por ejemplo:
Por ejemplo:
Por ejemplo:
TagA DINT
TagB DINT
TagC INT
TableA DINT[10]
TableB DINT[2,4,6]
Por ejemplo:
TagA DINT
TagC INT
TagD SINT
TableC INT[10]
TableD SINT[2,4,6]
Por ejemplo:
TagA DINT
TagB DINT
TagF DINT
TableA DINT[10]
Por ejemplo:
TagA DINT
TagB DINT
TableA DINT[10]
Por ejemplo:
TagC INT
TagD SINT
TagE INT
TableD SINT[2,4,6]
TableE INT[2,4,6]
Puede optimizar esta instruccin haciendo que los dos arreglos sean del
tipo DINT con ndices de tag DINT. Por ejemplo:
TagA DINT
TagB DINT
TagF DINT
TableB DINT[2,4,6]
TableF DINT[2,4,6]
A comparacin 4-2
activacin de salida 1-6 comparacin de bits de archivo 12-2
ajuste 12-24 conceptos de arreglo
alarmas 12-25 asignacin de memoria B-6
arco coseno 13-10 especificacin de bit B-4
arco seno 13-8 ndice B-3
arco tangente 13-12 uso de memoria D-7
aritmtica y lgica de archivos 7-6 configuracin 3-13
arreglo B-6 instruccin MSG 3-13
asignacin de memoria B-6 instruccin PID 12-24
atributos contador 2-1
conversin de tipos de datos A-6 conteo progresivo 2-11
palabras clave A-4 conteo regresivo 2-14
palabras clave de estado control maestro de reset 10-11
aritmtico A-1 conversin de BCD 15-6
tipos de datos A-5 conversin de tipos de datos A-6
atributos comunes conversin en BCD 15-4
conversin de tipos de datos A-6 conversiones de datos D-2
palabras clave A-4 copiar 7-27
palabras clave de estado coseno 13-4
aritmtico A-1
tipos de datos A-5 D
datos de transicin 12-16
B definir valor del sistema 3-27
banda muerta 12-34 descarga FIFO 8-14
bit a bit descarga LIFO 8-26
AND 6-9 desenclavamiento de salida 1-8
NOT 6-15 desplazamiento a la derecha 8-5
OR 6-11 desplazamiento a la izquierda 8-2
XOR 6-13 desviacin estndar 7-41
bit dentro de arreglos B-4 deteccin de diagnstico 12-9
borrar 6-8 distribucin de campos de bits 6-5
buscar y comparar archivos 7-17 dividir 5-12
C E
clculo 5-2 enclavamiento de salida 1-7
cambiar signo 5-18 escala 12-26
carga de secuenciador 9-11 estructura CONTROL 7-6, 7-17,
carga FIFO 8-8 7-34, 7-38, 7-41, 8-2, 8-5, 8-8,
carga LIFO 8-20 8-14, 8-20, 8-26, 9-2, 9-6,
clasificar 7-38 9-11, 12-3, 12-10
cdigos de error estructura COUNTER 2-11, 2-14
instruccin MSG 3-7 estructura MESSAGE 3-2
combinacin de tipos de datos A-6 estructura TIMER 2-2, 2-5, 2-8
Notas: