Está en la página 1de 57

COMO PROGRAMAR UN PLC ALLEN BRADLEY RSLOGIX 5000

El software RSLogix 5000 est diseado para programar controladores de la familia Logix 5000 y para la plataforma logix de Rockwell Automation. Utiliza varias tipos de lenguaje de programacin como Escalera (Ladder), Bloques de funciones (Functions blocks), texto estructurado (structured text) y esquemas de funciones secuenciales (Sequential Function Chart). Al abrir cualquier proyecto es necesario reconocer todas las caractersticas que se muestran en la ventana del RSLogix 5000.

La barra de herramientas Creacin de componentes - Esta barra de herramientas es para crear nuevos componentes del proyecto (por ejemplo, las etiquetas, las rutinas, programas, etc.) La barra en lnea - Este barra de herramientas muestra el estado del programa y del controlador. Tambin indica el modo de funcionamiento y si existen cambios pendientes La barra de herramientas de la lgica comn - Esta barra de herramientas contiene todos los elementos de lgica ladder que no son instrucciones (por ejemplo, rungs, ramas), as como las instrucciones ms utilizadas. La barra de herramientas Estndar - Esta barra de herramientas contiene las funciones (por ejemplo, Cut Copy, paste) que va a utilizar varias veces a medida que desarrolle y pruebe su programa. Barra de herramientas Editar Ladder - Esta barra de herramientas contiene toda la edicin en lnea de las funciones, as como algunas funciones comunes de edicin La barra de herramientas con pestaas Instruccin. Esta barra de herramientas muestra las categoras de instrucciones en pestaas. Al hacer clic en una pestaa, la barra de herramientas muestra las instrucciones de esa categora si hace clic sobre alguna instruccin aparecer en el programa ladder La barra de estado - barra de estado para informacin de estado en curso del programa. El organizador del controlador - El organizador del controlador es una grfica y representacin de los contenidos de su proyecto. El panel de vistas - La ventana principal del software RSLogix 5000 le ofrece con un marco en el que se pueden ver varios editores (por ejemplo, editor de ladder, editor de bloques de funciones, etc.,.) La ventana de resultados - La ventana de resultados en la parte inferior de la ventana principal del RSLogix 5000 muestra despus de haber realizado una operacin los resultados o errores. Esta

ventana le proporciona la informacin del estado y de los errores de la operacin que est ejecutando La pestaa Error - Si se realiza una operacin que resulta en un error, el error se destaca en la ventana de resultados.

CREAR UN PROYECTO CON RSLOGIX 5000.

Convenciones de nombres A lo largo de un proyecto Logix5000, usted define nombres para los distintos elementos del proyecto, como son el controlador, las direcciones de datos (tags), las rutinas, los mdulos de E/S, etc. Cuando introduzca los nombres, siga estas reglas:

Slo letras, nmeros y caracteres de subrayado (_) Deben empezar con una letra o un carcter de subrayado 40 caracteres No utilice caracteres de subrayado consecutivo No se distingue entre maysculas y minsculas

AGREGAR MODULOS DE ENTRADA Y SALIDA Para establecer comunicacin con los mdulos de E/S en el sistema, debe aadir los mdulos a la carpeta I/O Configuration del controlador. Las propiedades que usted seleccione para cada mdulo definen cmo se comporta el mdulo.

Al crear el proyecto, configurando el controlador y agregando los mdulos de entrada y salida que vamos a utilizar, el organizador del controlador se vera algo as: RSL

INTRODUCCION DE LA LOGICA LADDER EN RSLOGIX 5000 Para un controlador Logix5000, usted puede introducir la lgica en forma de rutinas.

Cuando usted crea un proyecto, el software automticamente crea una rutina principal que utiliza el lenguaje de programacin de diagrama de lgica de escalera. Cada rutina en el proyecto utiliza un lenguaje de programacin especfico. Para programar en un lenguaje distinto, como un diagrama de bloque de funciones, para crear una rutina siga los siguientes pasos.

Una vez creada la rutina de lenguaje de programacin ladder, por ejemplo, se introduce la lgica:

Para asignarle tags a la lgica se debe tener en cuenta:

Aunque puede usar los tags de entrada y salida de un mdulo directamente en la lgica, es mucho ms fcil usar los tags de alias. Veamos cmo se hace:

Una vez terminada la lgica con la asignacin de tags, se debe llamar a la rutina creada desde la rutina principal, ya que esta es la que se ejecuta en todo momento.As que en la rutina principal se deben seguir los siguientes pasos:

Por qu cuando Configuras el Drive en RS Linx escoges Ethernet devices y no Ethernet/IP Driver? Diferencias. Ethernet Devices: RSLinx consulta una direccin IP predefinida y pasa a la siguiente direccin IP. En cambio Ethernet / IP, RSLinx usar broadcast / multicast de enrutamiento para encontrar el equipo basado en Ethernet / IP en la red, pero esto puede ser bloquedo por politicas de red, firewall, antivirus, VPN, etc. Por tal motivo Rockwell Automation, recomienda para la adquisicin de datos usar Ethernet Device. Este es un resumen que extraje del Knowledge Base Articulo 42077.

Cuando tienes en el chasis un mdulo ethernet y un control net y profibus cul sera la funcin de cada uno?, se encuentran conectados el ethernet con un mdulo profibus por medio de un cable de red pero no comprendo la configuracin El modulo es profibus o profinet?, ahora que modulo es este el prosoft o otra marca. Normalmente se usa la red ethernetIP para conectarnos al ControlLogix con rslogix5000 (program, diagnostic), ControlNet es para I/O Remotos ya que es mas robusto que ethernet, el Profibus o profinet seria para comunicarse con equipos siemens o que hablen ese protocolo. Dame mas detalle al correo servidoropcgmail
Que diferencia hay entre RSLOGIX 5000 y RSLOGIX 500 El RSlogix 5000 se utiliza para programar la familia de controladores logix (ControlLogix, CompactLogix, Flexlogix, Etc). Es una intefase muchisimo mas amigable y en la cual puedes crear tags con nombres descriptivos como Motor_Bomba en lugar de I0:1....Tambien le permite progrmar en diferentes lenguajes de programacion como Ladder, Function Blocks, Sequential Function Charts y Texto.

La Main Routine, es uns subrutina que el programa predetermina para que sea la primera que se ejecuta. En esta, normalmente se encuentran los JSR (jump to subroutine) hacia las otras subrutinas. Uno tambien puede cambiar cual es la subrutina que se ejecuta primero selecionandola como Main en las propiedades del programa Configurar un transmisor analogico en rslogix 5000 como puedo hacer y como escalarlo En el IO Configuration entras a propiedades del modulo analogo y en configuration seleccionas en input Range si lo quieres en Voltaje o en corriente y luego en scaling le das los rangos a escalizar

En el rticulo de hoy vamos a ver como comunicar Intouch con Microsoft Excel, para realizar el enlace utilizaremos el protocolo DDE. El primer paso ser crear un nuevo AccessName con los siguientes parametros: Access, le asignamos el nombre que nos interese, en Node name: Si se esta ejecutando en la misma mquina, no hace falta especificar nada, ya que por defecto es localhost. Application Name: debemos especificar EXCEL y por ltimo Topic Name: Aqu debemos decir el nombre del libro excel, existen varias posibilidades para nombrarlo [nombre libro excel.xls]nombre de la hoja, o bien podemos nombrar solamente el nombre del libro excel con su extensin xls, aunque en algunas ocasiones sin el .xls tambien funciona

Lo siguiente que vamos ha hacer es configurar los tags, dependiendo del idioma de instalacin del Excel, nos dirigiremos a las diferentes celdas, para el idioma espaol utilizaremos "Fila nmero Columna nmero" (F1C1) pertenece a A1 y si lo tenemos en Ingles seria "Row number Column number" (R1C1)

Creamos unos campos de texto vinculados con los tags creados anteriormente, para la visualizacin y unos cuadrados como objeto para modificar su valor, aunque tambien lo podremos hacer directamente desde la hoja Excel

A la hora de ejecutar el Runtime hay que tener presente que el libro Excel tenemos que tenerlo abierto, si esta cerrado, nos mostrara un aviso y nos dira que no se encuentra el Tpico que hemos configurado, con lo cual ejecuto el Runtime y se puede observar su funcionamiento

Un cambio de valor en la hoja Excel se visualiza su actualizacion en Intouch y en la grfica

Pero si solamente nos interesa leer en excel y no escribir, para no gastar tags, lo que podemos hacer es leer el tag que nos interese aplicando la siguiente formula: VIEW|TAGNAME!'Nombre del Tag' y aqui su funcionamiento

Que es una PDO y SDO en la comunicacin EtherCAT

Cuando trabajamos con dispositivos EtherCAT es muy comn que el acrnimos PDO (Process Data Objects) o SDO (Service Data Objects) salgan a relucir, ya que con estos elementos podemos configurar la comunicacin entre los dispositivos, por ejemplo para gestionar que parmetros queremos que intercambien en la comunicacin entre un controlador (maestro) y por ejemplo un variador de velocidad (esclavo). Existen dos mtodos de leer y escribir datos en la comuncacin PDO Las PDO se utilizan para transferir datos durante la comunicacin cclica en tiempo real. Datos con tiempo de ciclo critico. Un PDO consta de 1 o ms mensajes no confirmados La transmisin PDO se produce slo cuando EtherCAT est en estado operativo. Los mensajes PDO intercambio de informacin entre el host y los nodos sin la sobrecarga de mensajes SDO Existen dos tipos de PDO: PDO de recepcin (RxPDOs) que reciben datos desde el controlador y - RxPDOs - Que reciben los datos desde que envia el controlador (maestro) - TxPDOs - Que enva los datos desde el variador (esclavo) hacia el controlador (maestro)

La capa de aplicacin EtherCAT puede contener varios objetos para permitir la transferencia de los datos Con PDO se transfieren mensaje crticos poco por ejemplo el marcha de un variador o sy velocidad SDO Una SDO consiste en un mensaje de salida de un maestro a un esclavo y un mensaje de respuesta desde el nodo, lo que se conoce como mensajera confirmado. Mensajes SDO puede ser utilizado en cualquier momento despus de la inicializacin pero se utilizan con menos frecuencia durante el funcionamiento real de la unidad. Con SDO se transfieren mensajes no crticos para la aplicacin como por ejemplo configuraciones o datos como pueden ser histricos de alarmas etc

Comunicacin RSLinx con Excel DDE


Aprovechando la consulta de un miembro del foro para visualizar las variables de un PLC en una hoja Excel voy a explicar el procedimento. Lo primero que tenemos que hacer es configurar un nuevo Tpico que haga referencia a nuestro PLC, es aplicable a cualquiera de ellos, MicroLogix,SLC 50x, ControlLogix,CompacLogix lo nico que tenemos que tener en cuenta es la versin del RSLinx, ya que la version Lite no es funcional la comunicacin OPC/DDE

Si queremos utilizar los simbolos creados para referenciarlos es importante especificar en Data Collection, el proyecto al que hemos hecho referencia en el Tpico

Vamos ha realizar el ejemplo con los siguientes simbolos que pertenecen a los Tags creados en Controller Tags.

Una vez que estamos Online, abrimos un nuevo Libro Excel y para visualizar el Tag escribimos la siguiente formula: =RSLINX|Topico!Tag

Y si nos interese hacer referencia a un Array, hay que utilizar las comillas tal y como se observa

Ya podemos observar que al variar los Tags en nuestro programa automaticamente se actualizan en nuestra hoja Excel. Este ejemplo solo sirve para visualizar los tags en Excel, pero no podemos escribir desde la hoja Excel a nuestro Proyecto, es posible realizarlo pero para ello hay que hacer uso de VBA

Filtado de una seal analgica mediante una FB ( Function Block )


o o o o

27 Diciembre 2012

inCompartir Siemens Software & Programacion Ledo 1200 veces En este artculo vamos a dar una posible solucin al ejercicio planteado por un miembro del foro, ya que hemos considerado que puede ser interesante. El ejercicio consistia en lo siguiente: Se trata de realizar un FB que filtre una seal de entrada analgica de tipo WORD de la siguiente manera: -Se activar el byte de marcas cclicas por hardware y se elegir el bit de marcas que permita un muestreo de la seal analgica de 1s -El FB deber tener una entrada de tipo BOOL (que ser el bit de ciclo mencionado en el punto anterior) y una entrada de tipo WORD (correspondiente a la seal analgica que se pretende muestrear) -El FB tendr una salida (de tipo REAL) que corresponder, en cada instante de muestreo, a la media de la muestra actual capturada de la seal analgica junto con sus tres muestras anteriores. Todas ellas debern irse almacenando en el DB de instancia asociado al FB. Por otro lado, se utilizarn las variables temporales necesarias. -El resultado que proporciona el FB (la media indicada) podr declararse como salida o como variable esttica.

El primer paso ser configurar una marca de ciclo, ello lo hacemos en la configuracin del hardware de nuestro proyecto, propiedades, Marca de ciclo. Hemos seleccionado que ser la M100.0 .. 7

Dentro de este Byte, tenemos varias posibilidades de la Frecuencia / Periodo de la seal, para ello consultamos la ayuda, ya de deberemos seleccionar 1 segundo. El bit que nos interesara es el M100.5

Agregamos un nuevo bloque, para crear nuestro FB, le damos el nombre que nos interese y el lenguaje que utilizaremos, en este ejemplo se utilizara SCL

Al crear una nueva Funcin, debemos especificar los datos de Entrada, Salida, Temporales, Estaticos, etc... para la resolucin de est hemos utilizado los siguientes, aunque seguro que pueden variar , ya que dentro de la programacin muchos caminos llevan a la misma solucin.

Una vez declarado los datos, ya podemos implementar el cdigo, aunque segn vayamos necesitando podemos ir agregando o eliminando. El cdigo es el siguiente, para una mejor visualizacion, pulsa sobre la imagen.

Con esto ya podemos utilizar y llamar a nuestra funcion desde el Bloque de Organizacin o en su defecto, donde nos interese, ya que una segunda parte era implementarlo en el OB35. En la siguiente imagen hay dos llamadas, la primera de ella para comprobar su funcionamiento en el PLCSIM, ya que como marca tiene la entrada I0.0, le ponemos un Flanco positivo para que solamente se ejecute una vez por ciclo, de lo contrario se podria ejecutar mas de una vez y no cumpliria con lo estipulado. En la segunda llamada a la funcin, ya se ha implementado la marca de ciclo, con ello ciclicamente cada segundo se iran registrando los datos dados por la seal de entrada y calculando la media con los anteriores registrados.

Y si nos interesa, podemos hacer la llamada en el OB32 que se ejecuta cada segundo o en el OB35 modificando el tiempo, ya que por defecto es de 100ms.

Simulacion RSLogix Emulate y FluidSim


o o o o

22 Diciembre 2012

inCompartir Rockwell Automation Software & Programacin Ledo 2203 veces En el artculo de hoy vamos a seguir trabajando con la simulacin de nuestro proyecto, sobre todo cuando se trata de una Mquina y sus movimientos/actuaciones son mediante cilindros neumticos, pero en esta ocasin vamos a realizarlo con un PLC Rockwell, cualquiera de su familia, ya que lo haremos a traves del Servidor OPC RSLinx y es posible realizarlo con todos ellos. Los requisitos para poder realizarlo en mi caso son los siguientes, RSLogix 5000, RSLogix Emulate 5000, RSLinx, que no sea su versin Lite, ya que no soporta la configuracion OPC/DDE y el FluidSim. Partiremos de la base que tenemos creado nuestro proyecto y ejecutandose en el RSLogix Emulate, aqui no lo veremos, ya que aqui esta el enlace donde esta explicado, y a su vez como se realiza la configuracin del Servidor OPC RSLinx con nuestro proyecto. Pues aqu nuestro proyecto en Online

La siguiente imagen muestra la configuracin de nuestro Tpico, que apunta a nuestro RSLogix Emulador. El candado significa que se esta ejecutando, con lo cual no se pueden hacer modificaciones.

Para probarlo antes de seguir, hacemos uso del OPC Client y comprobamos que hay comunicacin y se actualizan nuestros tags.

Creamos en el FluidSim un nuevo proyecto para la simulacin de nuestra Maquina/instalacin es decir los equemas neumticos. Insertamos el Mdulo de entradas de FluidSim y el de Salidas, que respectivamente estaran enlazados con el Servidor OPC RSLinx. Para realizar la configuracin seleccionamos el mdulo, botn derecho y propiedades.

Seleccionamos el Servidor OPC, en este ejemplo el RSLix, pero como se puede observar en la imagen, podriamos utilizar cualquier Servidor OPC, con lo cual este mismo procedimiento

se puede aplicar para simular cualquier PLC que tengamos enlazado a un Servidor OPC. Lo he probado con otros y el funcionamiento es perfecto.

Lo prximo que tenemos que configurar es el item/Tag al que hara referencia, al tratarse de un modulo de 8 bits un BYTE, tenemos que tenerlo presente, ya que al simular con el RSLogix Emulate el modulo de simulacin es de 2 WORDS para las entradas y 2 WORDS para las salidas

Una vez configurado los mdulos, ya podemos ponerlo en RUN y probar su funcionamiento, una Advertencia, las entradas no se reflejan en el mdulo ya que en este, es donde se fuerzan las entradas cuando trabajamos con el RSLogix Emulate, pero si que podemos seguir simulando o bien por el FluidSim o por el mdulo de entradas del Emulador.

Al pulsar el pulsador, activamos su entrada correspondiente, y siguiento el programa activa su salida que corresponde al selenoide de nuestra electovvula.

Un Saludo y espero que os sea de utilidad... Y si te ha gustado, compartelo

En el artculo anterior se intento dar una posible solucin del siguiente ejercicio considerando que la programacin la estabamos realizando en un S7-300/400/1200, hoy veremos como resolverlo utilizando el RSLogix 5000. Ejercicio: Se trata de realizar un FB (Add-On en Rockwell) que filtre una seal de entrada analgica de tipo WORD de la siguiente manera: -Se activar el byte de marcas cclicas por hardware y se elegir el bit de marcas que permita un muestreo de la seal analgica de 1s (Con el RSLogix 5000 no tenemos esta opcin con lo cual nosotros generaremos la seal cada segundo) -El FB deber tener una entrada de tipo BOOL (que ser el bit de ciclo mencionado en el punto anterior) y una entrada de tipo WORD (correspondiente a la seal analgica que se pretende muestrear) -El FB tendr una salida (de tipo REAL) que corresponder, en cada instante de muestreo, a la media de la muestra actual capturada de la seal analgica junto con sus tres muestras anteriores. Todas ellas debern irse almacenando en el DB de instancia asociado al FB. Por otro lado, se utilizarn las variables temporales necesarias. -El resultado que proporciona el FB (la media indicada) podr declararse como salida o como variable esttica.

Con el RSLogix 5000 tenemos la opcin de crear nuestras propias funciones y reutilizarlas, para la creacin de una nueva, en el directorio Add-On -> New Add-On Instruction

Introducimos el nombre que va a tener, un comentario, lenguaje de programacin y por defecto aparece seleccionado el combo Box Open Definition, que nos abrira una nueva ventana donde definir las variables que vamos a utilizar.

Se nos ha abierto el siguiente asistente, donde navegando por los diferentes menus, haremos la configuracin.

Lo primero que vamos a definir, sern las variables de entrada y salida, especificando el tipo de dato a utilizar en el menu de Parameters

En el menu Local Tags, definiremos las variables que utilizaremos en la programacin de nuestra funcin y que no son variables de entrada ni salida, haciendo una comparacin con Siemens, seria equivalente a los datos estticos. Una vez definidos si pulsamos sobre el botn Logic, se nos abrira una nueva ventana donde insertar nuestro cdigo (El tipo de datos de sumatorio es REAL, para que en el resultado se aprecien correctamente los decimales)

Como estoy reutilizando el cdigo del ejercicio anterior, hay que hacer unas pequeas modificacines, pero el cdigo en si, es el mismo, incluso un poco mas simplificadado, ya que no hace falta las funciones que utilizabamos para las conversion de datos, para una mejor visualizacin pulsa en la imagen.

Ya podemos utilizar nuestra funcin, pero antes de ello, definimos una nueva variable en nuestro Program Tags, y especificamos que sea del tipo de nuestra funcin.

La variable que se nos crea, es del tipo estructura con los datos definidos, accedemos a sus diferentes campos con el nombre de la variable (Estructura) "." seguido del campo que nos interese.

Para la utilizacin de la funcin creamos una subrutina, donde le pasamos los valores de entrada a nuestra funcion, seguido de la funcin y obtenemos los resultados al final

Y por ltimo hacemos la llamada desde el programa principal a las diferentes subrutinas y comprobamos su funcionamiento que es correcto.

Un Saludo

Cambiar versin de un Prograrma RSLogix5000


o o o o

12 Diciembre 2012

inCompartir Rockwell Automation Software & Programacin Ledo 1130 veces

En este artculo vamos a ver como podemos abrir, editar y cargar un programa realizado con una versin superior a la que nos interesa, es decir hemos realizado un programa con el RSLogix5000 V.17 y por necesidades nos interesa abrirlo y cargarlo a nuestro PLC con la versin V.16, vamos a ver el siguiente ejemplo, voy a tratar de abrir el programa Tes_01 que se ha realizado con la version V.17 con la V.16

Al tratar de hacer esto, nos muestra el siguiente mensaje como se puede observar en la imagen

Para poder solventar esto, lo primero que tenemos que hacer es, una vez que tenemos nuestro proyecto abierto en el RSLogix 5000 V.17 guardar una copia pero con el formato *.L5K, ya que posteriormente tendremos que hacer una pequea modificacin en este.

Una vez realizado esto, abrimos el archivo generado con el notepad o cualquier editor de texto plano y observamos que en su contenido hay una referencia a la versin con la que se ha creado y el IE_VER := x.x , que es el parametro que tendremos que modificar.

Simplemente tenemos que cambiar a la version 2.6, este ejemplo esta basado con las versiones V.17 y V.16, para versiones superiores seguir la misma metodologia

Guardamos los cambios realizados, y procedemos ha abrir este nuevo archivo en nuestro RSLogix

Acto seguido nos aparece la siguiente ventana, donde seleccionamos segn nuestras necesidades

Y aqui nuestro proyecto abierto con la versin V.16

IMPORTANTE: Esto solo es posible realizarlo si en el proyecto no se han incluido funciones nuevas de la versin o alguna nueva actualizacin, ante cualquier situacin de estas o alguna no mencionada no se producira la importacin correctamente y generara errores.

Escrito por Jose Manuel Luque