You are on page 1of 16

Probando el puerto serie integrado en los PLC Logix5000

Recientemente he estado probando la comunicacin entre un PLC Rockwell CompactLogix L35E y un lector de cdigos de barras por puerto serie RS-232 en modo ASCII. En esta entrada voy resumir la configuracin del puerto serie y la programacin necesaria. Todos los PLC de la gama CompactLogix vienen con un puerto serie incorporado. Para controlarlo existen instrucciones especficas Logix5000 que simplifican mucho el trabajo y que vienen detalladas en el documento de Rockwell "Instrucciones generales de los controladores Logix5000" (en espaol, en formato PDF), en el captulo 17. Para hacer la configuracin del puerto, el documento de referencia es "Cadenas ASCII de controladores Logix5000" (tambin en espaol y en PDF).

Controlador CompactLogix L35E con puerto serie incorporado El lector del cdigo de barras determina que voy a leer cadenas con el carcter de terminacin CR (Carry Return), representado como '$r' o tambin como el cdigo ASCII 13; la longitud de la trama a recibir o enviar no ser superior a 256 caracteres y los parmetros de comunicacin serie sern

9600 baudios, 8 bits, sin paridad y un bit de parada. Mis pruebas las he realizado con un CompactLogix L35E y tambin con un SoftLogix en una mquina virtual asignndole el puerto serie de mi porttil. Para configurar el puerto serie del PLC vamos a las propiedades del controlador en mi proyecto de Logix5000, a la pestaa Serial Port:

En Mode selecciono User, e introduzco los valores de velocidad (Baud Rate), nmero de bits (Data Bits), Paridad y bits de parada. Ahora vamos a la pestaa User Protocol:

Especifico el protocolo ASCII, fijo el tamao del buffer de lectura / escritura en 256 caracteres (bytes) y especifico como carcter de terminacin '$r'.

Aplicamos y aceptamos, y con esto ya est toda la configuracin necesaria para el puerto serie terminada.

Por comodidad a la hora de manejar los datos recibidos por el puerto serie voy a declarar un tipo de datos STRING de 256 caracteres. Para ello voy al rbol de proyecto, en Data Types -> Strings, y creo el nuevo formato STRING256:

Tambin voy a crear dos tipos de datos en Data Types -> User-Defined para agrupar las variables necesarias para acceder al puerto serie, para escritura y lectura respectivamente:

Y finalmente declaro dos tags con estos tipos de dato:

Ahora voy a la programacin. Para el envo de datos por el puerto serie voy a usar la instruccin AWA, que es la adecuada para enviar mensajes que siempre tienen el mismo carcter de terminacin, en mi caso '$r'. La rutina Serie_RECEPCION se compone de dos renglones:

Para recibir datos voy a usar dos instrucciones, ABL para comprobar si en el buffer de recepcin hay datos que contengan el carcter de terminacin y ARL, que es adecuada para leer datos desde un dispositivo que enva una trama de longitud indeterminada. La rutina Serie_ENVIO se compone de cuatro renglones:

Transfiero el proyecto a mi PLC y lo paso modo Run, me aseguro que el lector de cdigo de barras est encendido y conectado, y ya estoy listo para hacer pruebas. Para ello me pongo on-line y monitorizo los tags que he creado:

Para probar el envo de datos introduzco un comando que reconozca el lector de cdigo de barras en la cadena SERIE_E.ESCRITURA (con su correspondiente carcter de terminacin) y pongo a uno el bit SERIE_E.ORDEN_ESCRITURA. En cuanto la transmisin finalice este bit se pondr a cero. Para realizar una recepcin simplemente tengo que activar el bit SERIE_L.ORDEN_LECTURA y en cuanto se ponga a cero sabr que en la cadena SERIE_L_LECTURA tendr una trama recibida por el puerto serie. Si hubiese algn error de configuracin o comunicacin, en los datos de control del tipo SERIAL_PORT_CONTROL, en la variable ERROR tenemos un cdigo que nos ser muy til para depurar por qu falla nuestra comunicacin. El significado de los cdigos de error se pueden

consultar en la pgina 568 del documento Instrucciones generales de los controladores Logix5000. El cdigo de este proyecto para RSLogix5000 lo tienes aqu. Hasta aqu este sencillo programa de prueba. Como conclusin puedo decir que trabajar con el puerto serie de los controladores CompactLogix es muy sencillo, con un funcionamiento impecable y siguiendo los manuales disponibles en la web de Rockwell no he tenido la ms mnima complicacin. Como siempre, cualquier comentario ser bienvenido. Publicado porGR Etiquetas:Comunicacin,Logix,Rockwell,serie 6 comentarios:

eneko13 de febrero de 2012 22:36 Hola, me encanta tu blog, muy til. Solo comentarte una cosa: cuando muestras el cdigo de SERIE_RECEPCIN, en el texto has escrito serie_envo. Si lo corriges quedar niquelado. ResponderEliminar

GR13 de febrero de 2012 22:57 Muchas gracias por la correccin. ResponderEliminar Respuestas

Annimo1 de marzo de 2012 04:41 tienes algunadireccion de mailo facebook? lamia es rangelangel@starmedia.com

Eliminar

GR1 de marzo de 2012 09:19 Puedes escribirme a notasdeautomatizacion@gmail.com Un saludo. Eliminar Responder

Annimo14 de febrero de 2012 09:59 Como siempre Mr.GR muy buena explicacion y muy buen aporte Muchas Gracias por compartirlo. Saludos J.Manuel ResponderEliminar

jmmc6 de junio de 2012 09:51 Estupenda explicacin, una cosa, creia que los Compact L35 y dems, se programaban desde RSLogix 500 o es que con el 5000 tienes acceso a toda la gama? Gracias por compartir. ResponderEliminar Aadir comentario Cargar ms... Por favor, no pidas copias de programas comerciales, licencias o nmeros de serie. Enlaces a esta entrada Crear un enlace

Entrada ms recienteEntrada antiguaPgina principal Suscribirse a:Enviar comentarios (Atom) Sobre m

GR Vigo, Pontevedra, Spain Ingeniero Tcnico Industrial en Electricidad, intensificacin en Automtica y Electrnica. Me dedico profesionalmente a la programacin de maquinaria industrial. Ver todo mi perfil

Twitter

LinkedIn

Traducir / Translate
Select Language

Powered by

Translate

Licencia / Contacto Licenciado bajo Creative Commons Reconocimiento-No comercial 3.0 Espaa License.

Todas las marcas y nombres comerciales son propiedad de sus respectivos titulares. Si quieres contactar conmigo escribe a notasdeautomatizacion@gmail.com

Archivo del blog 2013(1) enero(1) 2012(13) octubre(3) julio(1) junio(1) mayo(1) abril(2) marzo(2) febrero(1) Probando el puerto serie integrado en los PLC Logi... enero(2) 2011(22) diciembre(2) octubre(3) septiembre(3) agosto(4) junio(2) mayo(1) marzo(5) febrero(1)

enero(1) 2010(21) diciembre(1) noviembre(2) octubre(2) septiembre(1) agosto(1) julio(1) junio(1) mayo(1) abril(2) marzo(2) febrero(3) enero(4) 2009(31) diciembre(2) noviembre(1) octubre(3) septiembre(9) agosto(12) julio(4)

Buscar en Notas de automatizacin Principio del formulario


Buscar

con la tecnologa de Final del formulario

Enlaces Beckhoff Automation Technology Bosch Rexroth Festo IBHsoftec Keyence Omron Pepperl-Fuchs Pro-face Rockwell Automation Sew Eurodrive Siemens Service & Support Blog Motion Control Blog Programacin Siemens PLC dev Foro Autmatas Foros de electrnica Foro de InfoPLC Foro OPC Foundation Foro tcnico de Siemens

Etiquetas

BeckhoffCursosFestoHMILogixOmronOPCRexrothRockwellSeguridadservomotorSiemenssimotionsi namicsStep5Step7Visual BasicVisual Basic ScriptWinAC RTXWinCC Flexible

Seguidores

Visitas 227748

Quin tenemos por aqu... <a href="http://feedjit.com/">Feedjit Live Blog Stats</a>

Notas de automatizacin by notasdeautomatizacion@gmail.com is licensed under a Creative Commons Reconocimiento-No comercial 3.0 Espaa License.

Original text Contribute a better translation

You might also like