Documente Academic
Documente Profesional
Documente Cultură
Logix5000
Manual de programación
(Números de catálogo 1756-L1, 1756-L55, 1756-L61,
1756-L62, 1756-L63, 1769-L31, 1769-L32C, 1769-
L32E, 1769-L35CR, 1769-L35E, 1789-L60, 1794-L34,
PowerFlex 700S/SE)
Información importante para el usuario
Las características de funcionamiento de los equipos de estado sólido son distintas a las de los equipos
electromecánicos. En la publicación “Safety Guidelines for the Application, Installation and Maintenance of Solid
State Controls” (publicación SGI-1.1 que podrá obtener en su oficina local de ventas de Rockwell Automation o en
línea en la dirección http://literature.rockwellautomation.com) se describen algunas diferencias importantes entre los
equipos de estado sólido y los dispositivos electromecánicos de lógica cableada. Debido a estas diferencias y a la
gran diversidad de usos que se puede dar a los equipos de estado sólido, las personas responsables de la utilización
de este equipo deberán asegurarse de la idoneidad de cada aplicación.
Rockwell Automation, Inc. no será responsable en ningún caso de daños directos o indirectos que resulten del uso o
aplicación de este equipo.
Los ejemplos y diagramas incluidos en este manual tienen exclusivamente un fin ilustrativo. Debido a la gran
cantidad de variables y de requisitos de cualquier instalación en particular, Rockwell Automation, Inc. no puede
asumir ninguna responsabilidad u obligación por el uso que se dé siguiendo los ejemplos y los diagramas.
Rockwell Automation, Inc. no asume ninguna obligación de patente relativa al uso de la información, circuitos,
equipo o software descritos en este manual.
Se prohíbe la reproducción total o parcial del contenido de este manual sin la autorización por escrito de Rockwell
Automation, Inc.
En este manual se utilizan notas para advertirle sobre consideraciones de seguridad siempre que sea necesario.
Identifica información sobre prácticas o circunstancias que entrañan peligro de explosión según
ADVERTENCIA
la peligrosidad del ambiente y que pueden provocar lesiones personales o la muerte, daños
materiales o pérdidas económicas.
IMPORTANTE Identifica información crítica para emplear correctamente y entender el producto. Tenga en
cuenta que en esta publicación se usa el punto decimal para separar los decimales del número
entero.
Identifica información sobre prácticas o circunstancias que pueden provocar lesiones personales,
ATENCIÓN
la muerte, daños materiales o pérdidas económicas. Los mensajes de atención le ayudan a
identificar un peligro, a evitarlo y a reconocer las consecuencias.
PELIGRO DE CHOQUE En el equipo o dentro del mismo puede haber etiquetas (por ejemplo, en el variador o en el motor)
para advertir sobre la posibilidad de un alto voltaje.
PELIGRO DE En el equipo o dentro del mismo puede haber etiquetas (por ejemplo, en el variador o en el motor)
QUEMADURA
para advertir que determinadas superficies pueden alcanzar temperaturas peligrosas.
Allen-Bradley, Rockwell Automation y TechConnect son marcas comerciales de Rockwell Automation, Inc.
Todas las marcas comerciales que no pertenecen a Rockwell Automation son propiedad de sus respectivas empresas.
Tabla de contenido
Capítulo 1
Comunicación con un dispositivo Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
ASCII Conexión del dispositivo ASCII . . . . . . . . . . . . . . . . . . . . . . . 8
Configuración del puerto serie. . . . . . . . . . . . . . . . . . . . . . . . 9
Configuración del protocolo de usuario . . . . . . . . . . . . . . . . 10
Creación de tipos de datos de cadena . . . . . . . . . . . . . . . . . 11
Lectura de caracteres desde el dispositivo . . . . . . . . . . . . . . 12
Envío de caracteres al dispositivo . . . . . . . . . . . . . . . . . . . . 15
Introducción de caracteres ASCII . . . . . . . . . . . . . . . . . . . . . 17
Capítulo 2
Procesamiento de caracteres Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
ASCII Extracción de una parte de un código de barras. . . . . . . . . . 19
Búsqueda de un código de barras . . . . . . . . . . . . . . . . . . . . 20
Creación del tipo de datos PRODUCT_INFO . . . . . . . . . . 21
Búsqueda de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . 21
Identificación del número de carril . . . . . . . . . . . . . . . . . 22
Rechazo de caracteres incorrectos. . . . . . . . . . . . . . . . . . 22
Introducción de números de ID de productos y
números de carril. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Verificación de los caracteres de código
de barras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Conversión de un valor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Decodificación de un mensaje ASCII . . . . . . . . . . . . . . . . . . 25
Creación de una cadena . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Códigos de caracteres ASCII . . . . . . . . . . . . . . . . . . . . . . 31
Finalidad de este manual En este manual se muestra cómo manejar las cadenas ASCII en los
controladores Logix5000. Este manual forma parte de un conjunto de
manuales relacionados que describen los procedimientos habituales
para programar y operar controladores Logix5000. Para obtener una
lista completa de manuales de procedimientos comunes, consulte el
documento Logix 5000 Controllers Common Procedures Programming
Manual, publicación 1756-PM001.
Cómo usar este manual Algunas frases tienen un formato de texto distinto al resto.
Introducción Usted puede intercambiar datos ASCII con un dispositivo a través del
puerto serie del controlador. Por ejemplo, puede usar el puerto serie
para:
• leer caracteres ASCII de un módulo de báscula o lector de
código de barras.
• enviar y recibir mensajes desde un dispositivo ASCII disparado,
tal como un terminal MessageView.
42237
Conexión del dispositivo 1. En el puerto serie del dispositivo ASCII, determine cuáles pines
envían señales y cuáles reciben señales.
ASCII
2. Conecte los pines de envío a los pines de recepción
correspondientes y conecte los puentes.
1 CD 1 CD
2 RDX 2 RDX
3 TXD 3 TXD
4 DTR 4 DTR
COMMON COMMON
6 DSR 6 DSR
7 RTS 7 RTS
8 CTS 8 CTS
9 9 42231
No tienen handshake
Dispositivo ASCII Controlador
1 CD 1 CD
2 RDX 2 RDX
3 TXD 3 TXD
4 DTR 4 DTR
COMMON COMMON
6 DSR 6 DSR
7 RTS 7 RTS
8 CTS 8 CTS
9 9 42232
42252
Creación de tipos de datos Los caracteres ASCII se almacenan en tags que usan un tipo de datos
de cadena.
de cadena
42811
42812
Puede usar el tipo de datos STRING predeterminado. o bien Puede crear un nuevo tipo de datos de cadena para almacenar
Almacena hasta 82 caracteres. el número de caracteres que usted haya definido.
IMPORTANTE Tenga cuidado cuando cree un nuevo tipo de datos de cadena. Si posteriormente
decide cambiar el tamaño del tipo de datos de cadena, puede perder datos en
cualquier tag que actualmente use ese tipo de datos.
Si usted Entonces
Hace un tipo de datos de cadena más • Los datos se truncan.
pequeño • LEN no se cambia.
Hace un tipo de datos de cadena más Los datos y LEN se ponen en cero.
grande
42233
Lectura de caracteres Como regla general, antes de leer el búfer use una instrucción ACB o
ABL para verificar que el búfer contiene los caracteres requeridos.
desde el dispositivo • Una instrucción ARD o ARL continúa leyendo el búfer hasta que
la instrucción lee los caracteres requeridos.
• Mientras una instrucción ARD o ARL está leyendo el búfer, no
puede ejecutarse ninguna otra instrucción de puerto serie ASCII,
excepto ACL.
• Al verificar que el búfer contiene los caracteres requeridos, se
evita que ARD o ARL retenga la ejecución de otras instrucciones
de puerto serie ASCII mientras que el dispositivo de entrada
envía sus datos.
EJEMPLO Un lector de códigos de barras envía códigos de barras al puerto serie (canal 0) del
controlador. Cada código de barras contiene 24 caracteres. Para determinar cuándo el
controlador recibe un código de barras, la instrucción ACB cuenta continuamente los
caracteres en el búfer.
bar_code_count.EN ACB
/ ASCII Chars in Buffer EN
Channel 0 DN
SerialPort Control bar_code_count ER
Character Count 0
Cuando el búfer contiene por lo menos 24 caracteres, el controlador ha recibido un código de barras.
La instrucción ARD mueve el código de barras al tag bag_bar_code.
GEQ ARD
Grtr Than or Eql (A>=B) ASCII Read EN
Source A bar_code_count.pos Channel 0
0 Destination bag_bar_code DN
Source B 24 ''
SerialPort Control bar_code_read ER
String Length 24
Characters Read 0
42227
MV_line.EN ABL
/ ASCII Test For Buffer Line EN
Channel 0 DN
SerialPort Control MV_line ER
Character Count 0
Cuando la instrucción ABL encuentra el retorno de carro (MV_line.FD se establece), el controlador retira
los caracteres del búfer, hasta el retorno de carro inclusive, y los coloca en el tag MV_msg.
MV_line.FD ARL
ASCII Read Line EN
Channel 0
Destination MV_msg DN
''
SerialPort Control MV_read ER
String Length 12
Characters Read 0
42226
EJEMPLO Cuando la temperatura excede el límite alto (temp_high está activado) la instrucción
AWA envía cinco caracteres desde el tag string[1] al terminal MessageView.
• $14 se cuenta como un carácter. Es el código hexadecimal del carácter Ctrl-T.
• La instrucción también envía (añade) los caracteres definidos en el protocolo de
usuario. En este ejemplo, la instrucción AWA envía un retorno de carro ($0D), que
marca el final del mensaje.
temp_high AWA
ASCII Write Append EN
Channel 0
Source string[1] DN
'$1425\1'
SerialPort Control temp_high_write ER
String Length 5
Characters Sent 6
42229
EJEMPLO Cuando la temperatura llega al límite bajo (temp_low está activado) la instrucción AWT envía nueve
caracteres desde el tag string[2] al terminal MessageView. ($14 se cuenta como un carácter. Es el código
hexadecimal del carácter Ctrl-T).
temp_low AWT
ASCII Write EN
Channel 0
Source string[2] DN
'$142224\01$r'
SerialPort Control temp_low_write ER
String Length 9
Characters Sent 9
42229
EJEMPLO Cuando se activa la alarma, la instrucción AWA envía los caracteres en alarm_msg y añade un carácter de
terminación.
• Puesto que el número de caracteres en alarm_msg varía, el renglón primero mueve la
longitud de alarm_msg (alarm_msg.LEN) a la longitud de la instrucción AWA
(alarm_write.LEN).
• En alarm_msg, $14 se cuenta como un carácter. Es el código hexadecimal del carácter
Ctrl-T.
EJEMPLO Cuando se activa MV_update, la instrucción AWT envía los caracteres en MV_msg.
• Puesto que el número de caracteres en MV_msg varía, el renglón primero mueve la
longitud de MV_msg (MV_msg.LEN) a la longitud de la instrucción AWT
(MV_write.LEN).
• En MV_msg, $16 se cuenta como un carácter. Es el código hexadecimal del carácter
Ctrl-V.
Introducción de caracteres
ASCII IMPORTANTE Esta ventana String Browser muestra los caracteres hasta el
valor del miembro LEN del tag de cadena. El tag de cadena
puede contener datos adicionales, que la ventana String
Browser no muestra.
42616
42615
Notas:
Extracción de una parte de Por ejemplo, un código de barras puede contener información acerca
de una maleta en un transportador en un aeropuerto. Para verificar el
un código de barras número de vuelo y el destino de la maleta, usted extrae los caracteres
10 – 18.
5 0 5 8 A m S
9 caracteres
42808
Búsqueda de un código de Por ejemplo, en una operación de clasificación, una matriz de un tipo
de datos definido por el usuario crea una tabla que muestra el número
barras de carril de cada tipo de producto. Para determinar por cuál carril hay
que encaminar un producto, el controlador busca en la tabla el ID del
productos (los caracteres de código de barras que identifican el
producto).
+ sort_table[0].Lane 1
− sort_table[1]
+ sort_table[1].Product_ID ’DEF’
+ sort_table[1].Lane 2
− sort_table[2]
+ sort_table[2].Product_ID ’GHI’ carril
+ sort_table[2].Lane 3 3
SUGERENCIA Para copiar los componentes anteriores desde un proyecto de muestra, abra la
carpeta …\RSLogix 5000\Projects\Samples.
+ Motion Groups Descripción Identifica el destino de un ítem con base en una cadena ASCII de
caracteres que identifica el ítem.
Trends
Miembros
Data
− Types Nombre Tipo de Estilo Descripción
datos
User Defined
+ Product_ID Cadena Caracteres ASCII que identifican el ítem
Búsqueda de caracteres
43038
La instrucción SIZE:
• cuenta el número de elementos en la matriz sort_table (tipo
PRODUCT_INFO). Esta matriz contiene el ID de producto de
cada ítem y el número de carril correspondiente al ítem.
• cuenta el número de elementos en la dimensión 0 de la
matriz. En este caso, ésta es la única dimensión.
• establece la longitud de la instrucción FSC subsiguiente igual
al tamaño de la matriz sort_table.
La instrucción FSC busca cada miembro Product_ID en la matriz
sort_table hasta que la instrucción encuentra una coincidencia con el
tag product_id.
• El tag sort_table_search controla la instrucción FSC.
• Si bien la instrucción previa establece la longitud de esta
instrucción, usted introduce un valor inicial para verificar el
proyecto.
• El tag product_id contiene los caracteres del código de barras
que usted desea encontrar.
43038
43038
− sort_table[0] {…}
− sort_table[1] {…}
Verificación de los Use una instrucción de comparación (EQU, GEQ, GRT, LEQ, LES,
NEQ) para verificar los caracteres específicos.
caracteres de código • Los valores hexadecimales de los caracteres determinan si una
de barras cadena es menor o mayor que otra cadena.
• Cuando las dos cadenas están clasificadas, como en un
directorio telefónico, el orden de las cadenas determina cuál es
mayor.
Por ejemplo:
EJEMPLO Cuando bag_flt_and_dest es igual a gate[1], xfer[1] se activa. Esto hace que la maleta se
encamine a la compuerta requerida.
42808
42810
42620
Renglón A: Búsqueda y
conversión de un valor
con punto flotante (coma
flotante)
42810
Renglón B: Búsqueda y
conversión de un valor
entero
42810
Creación de una cadena Este ejemplo crea una cadena que contiene dos variables. Por
ejemplo, un terminal de operador puede requerir una cadena similar a
esta:
42813
Notas:
Carácter Dec. Hex. Carácter Dec. Hex. Carácter Dec. Hex. Carácter Dec. Hex.
[ctrl-@] NUL 0 $00 SPACE 32 $20 @ 64 $40 ‘ 96 $60
[ctrl-A] SOH 1 $01 ! 33 $21 A 65 $41 a 97 $61
[ctrl-B] STX 2 $02 “ 34 $22 B 66 $42 b 98 $62
[ctrl-C] ETX 3 $03 # 35 $23 C 67 $43 c 99 $63
[ctrl-D] EOT 4 $04 $ 36 $24 D 68 $44 d 100 $64
[ctrl-E] ENQ 5 $05 % 37 $25 E 69 $45 e 101 $65
[ctrl-F] ACK 6 $06 & 38 $26 F 70 $46 f 102 $66
[ctrl-G] BEL 7 $07 ‘ 39 $27 G 71 $47 g 103 $67
[ctrl-H] BS 8 $08 ( 40 $28 H 72 $48 h 104 $68
[ctrl-I] HT 9 $09 ) 41 $29 I 73 $49 i 105 $69
[ctrl-J] LF 10 $l ($0A) * 42 $2A J 74 $4A j 106 $6A
[ctrl-K] VT 11 $0B + 43 $2B K 75 $4B k 107 $6B
[ctrl-L] FF 12 $0C , 44 $2C L 76 $4C l 108 $6C
[ctrl-M] CR 13 $r ($0D) - 45 $2D M 77 $4D m 109 $6D
[ctrl-N] SO 14 $0E . 46 $2E N 78 $4E n 110 $6E
[ctrl-O] SI 15 $0F / 47 $2F O 79 $4F o 111 $6F
[ctrl-P] DLE 16 $10 0 48 $30 P 80 $50 p 112 $70
[ctrl-Q] DC1 17 $11 1 49 $31 Q 81 $51 q 113 $71
[ctrl-R] DC2 18 $12 2 50 $32 R 82 $52 r 114 $72
[ctrl-S] DC3 19 $13 3 51 $33 S 83 $53 s 115 $73
[ctrl-T] DC4 20 $14 4 52 $34 T 84 $54 t 116 $74
[ctrl-U] NAK 21 $15 5 53 $35 U 85 $55 u 117 $75
[ctrl-V] SYN 22 $16 6 54 $36 V 86 $56 v 118 $76
[ctrl-W] ETB 23 $17 7 55 $37 W 87 $57 w 119 $77
[ctrl-X] CAN 24 $18 8 56 $38 X 88 $58 x 120 $78
[ctrl-Y] EM 25 $19 9 57 $39 Y 89 $59 y 121 $79
[ctrl-Z] SUB 26 $1A : 58 $3A Z 90 $5A z 122 $7A
ctrl-[ ESC 27 $1B ; 59 $3B [ 91 $5B { 123 $7B
[ctrl-\] FS 28 $1C < 60 $3C \ 92 $5C | 124 $7C
ctrl-] GS 29 $1D = 61 $3D ] 93 $5D } 125 $7D
[ctrl-^] RS 30 $1E > 62 $3E ^ 94 $5E ~ 126 $7E
[ctrl-_] US 31 $1F ? 63 $3F _ 95 $5F DEL 127 $7F
29
Servicio de asistencia Rockwell Automation proporciona información técnica en la web para
ayudarle a usar sus productos. En http://support.rockwellautomation.com,
técnica de Rockwell encontrará manuales técnicos, respuestas a preguntas formuladas
Automation frecuentemente, notas técnicas y de aplicación, ejemplo de códigos y
vínculos a paquetes de servicio de software, además de la función
MySupport, que podrá personalizar para aprovechar al máximo estas
herramientas.
Rockwell prueba todos sus productos para asegurar que estén en perfecto
estado de funcionamiento cuando se envían de la fábrica. Sin embargo, si el
producto no funciona y necesita devolverlo: