Mostrando entradas con la etiqueta Rockwell. Mostrar todas las entradas
Mostrando entradas con la etiqueta Rockwell. Mostrar todas las entradas

29 de mayo de 2012

Trends en RSLogix5000

Una de las herramientas que se han vuelto imprescidibles en mi trabajo diario con RSLogix5000 son los Trends (tendencias). Sirven para representar gráficamente a modo de osciloscopio o analizador lógico cualquier variable a la que tengamos acceso en nuestro programa PLC. Los Trends se guardan en el proyecto de RSLogix5000 sin que afecten al PLC. Las capturas de datos que hagamos podremos almacenarlas en un formato propio o exportarlas a formato CSV, aceptable por cualquier programa de hoja de cálculo.

Para crear un Trend vamos al árbol de nuestro proyecto y con el botón derecho sobre la carpeta Trends seleccionamos New Trend...

A continuación nos pedirá un nombre, una descripción y un periodo de muestreo (modificables más adelante).

27 de abril de 2012

Comandando variadores Sew Movidrive MDX61B a través de DeviceNet

Recientemente he tenido que poner en marcha unos variadores Sew Movidrive MDX61B para comandar unos motores acoplados a husillos, para realizar movimientos de traslación y elevación en una máquina. Para este uso la configuración que hay que hacer es muy sencilla, lejos de las posibilidades que se le pueden exprimir a estos variadores: control vectorial o modo servo. Como van a estar integrados en una red DeviceNet, les he instalado la correspondiente tarjeta de comunicaciones DFD11B. En estas notas voy a resumir los pasos que he dado para comandarlo desde un PLC CompactLogix.

Variadores Sew Movidrive MDX61B (perdón por la calidad de las fotos)
La instalación de los variadores está bien explicada en el completo manual de instrucciones de funcionamiento (en español). Si seguimos sus recomendaciones no tendremos la más mínima complicación, así que me voy a centrar en la manera en la que los he configurado.

La tarjeta de comunicaciones DFD11B tiene una serie de interruptores DIP para configurarla. Con ellos le asignaremos una dirección de nodo en la red DeviceNet (interruptores NA), la velocidad de comunicación (interruptores DR) y la longitud de los datos que se transmitirán (interruptores PD). En mi caso tengo tres variadoes que les he asigando las direcciones 10, 15 y 20. La velocidad de comunicación la he fijado en 250 kbps y he asignado un 3 a los datos de proceso.

6 de abril de 2012

Mapeando una red DeviceNet en un controlador Logix5000

Cuando insertamos un escáner DeviceNet en un proyecto de RSLogix 5000, en las variables de ámbito del controlador (Controller tags) aparecen tres tags que nos servirán para establecer el diálogo con todos los elementos de la red. Local:1:I se refiere a los datos que leemos de la red, Local:1:O a los datos que vamos a escribir y Local:1:S a variables que nos van a permitir diagnosticar el estado de nuestra red (el 1 después de Local quiere decir que nuestro escáner está en el slot 1 del bastidor).

Tags para un escáner DeviceNet 1756-DNB
Los distintos dispositivos que hayamos configurado en nuestra red se mapearán en Local:1:I.Data para los datos de entrada (lo que leemos de los dispositivos) y en Local:1:O.Data para los datos de salida (lo que vamos a escribir). Estas variables son tablas de tipo DINT de tamaño máximo prefijado para cada tipo de escáner. Por ejemplo, para un escáner 1769-SDN de la gama CompactLogix tenemos 90 DINT (360 bytes) para entrada y 90 DINT para la salida, y para el escáner 1756-DNB de la gama ControlLogix esta capacidad se amplía a 124 DINT (496 bytes) para la entrada y 123 DINT (492 bytes) para la salida.

29 de marzo de 2012

Unas notas sobre redes DeviceNet

Recientemente he estado trabajando en instalaciones donde he tenido que poner a punto varias redes DeviceNet. Esta entrada es una recopilación de las acciones que he tenido que realizar, así como de las dificultades que surgieron y cómo las he solucionado.

DeviceNet es un bus de campo desarrollado por Allen-Bradley basado en el estándar CAN (Controller Area Network). Físicamente se compone de cuatro o cinco hilos de color rojo (CAN_V+), negro (CAN_GND), azul (CAN_HIGH), blanco (CAN_LOW) y, opcionalmente, la malla de color verde (CAN_SHLD). El cableado puede tener una longitud de 100, 250 o 500 metros, dependiendo inversamente de la velocidad de comunicación (500, 250 o 125 kbps) y del tipo de cable que usemos. En cada red DeviceNet se pueden colocar hasta un máximo de 64 nodos (numerados del 0 al 63). El protocolo DeviceNet da mayor prioridad a los nodos con una numeración más baja.

El modo de funcionamiento más habitual es maestro/esclavo con un único maestro por red, aunque puedan coexistir varios o establecerse comunicaciones de igual a igual (peer to peer). Entre los cables rojo y negro deberemos suministrar alimentación de 24 V. Es importante que provenga de una fuente de alimentación de calidad y es muy recomendable que usemos una fuente independiente para alimentar el bus. Esta misma alimentación puede usarse para alimentar dispositivos en el bus de campo (finales de carrera, detectores de proximidad, fotocéluas, etc).

El sistema de cableado DeviceNet usa una topología de línea de troncal/línea de derivación:

Imagen sacada del Manual de planificación e instalación DeviceNet de Allen-Bradley

2 de marzo de 2012

Comunicación por puerto serie a través de DeviceNet: ArmorPoint RS-232 ASCII

En la entrada anterior programé la comunicación serie de un lector de códigos de barras con un PLC CompactLogix a través de su puerto serie integrado. Ahora la aplicación ha cambiado y debo hacer la comunicación utilizando una tarjeta ArmorPoint RS-232 ASCII a través de DeviceNet.

Los ArmorPoint de Rockwell son módulos de periferia distribuida disponibles para buses de campo DeviceNet, ControlNet, EtherNet/IP o Profibus DP. A la cabecera DeviceNet que tengo disponible, referencia 1738-ADN18, le voy a acoplar una tarjeta de comunicaciones 1738-232ASCM12, que es una versión más robusta de una tarjeta 1734-232ASC, compartiendo la misma electrónica, por ello la documentación de referencia será la de esta última tarjeta: POINT I/O ASCII Modules 1734-232ASC, 1734-485ASC (PDF). El conjunto ensamblado de la cabecera ArmorPoint con mi tarjeta de comunicación serie tiene el siguiente aspecto:

Cabecera ArmorPoint con inteface serie sobre mi mesa, lista para hacer pruebas
(disculpad la calidad de las conexiones, a pesar del mal aspecto el conjunto funcionó sin problemas).

13 de febrero de 2012

Probando el puerto serie integrado en los PLC Logix5000

Recientemente he estado probando la comunicación entre un PLC Rockwell CompactLogix L35E y un lector de códigos de barras por puerto serie RS-232 en modo ASCII. En esta entrada voy resumir la configuración del puerto serie y la programación necesaria.

Todos los PLC de la gama CompactLogix vienen con un puerto serie incorporado. Para controlarlo existen instrucciones específicas Logix5000 que simplifican mucho el trabajo y que vienen detalladas en el documento de Rockwell "Instrucciones generales de los controladores Logix5000" (en español, en formato PDF), en el capítulo 17. Para hacer la configuración del puerto, el documento de referencia es "Cadenas ASCII de controladores Logix5000" (también en español y en PDF).

Controlador CompactLogix L35E con puerto serie incorporado
El lector del código de barras determina que voy a leer cadenas con el carácter de terminación CR (Carry Return), representado como '$r' o también como el código ASCII 13; la longitud de la trama a recibir o enviar no será superior a 256 caracteres y los parámetros de comunicación serie serán 9600 baudios, 8 bits, sin paridad y un bit de parada.

17 de octubre de 2011

Tres maneras de generar pulsos en un controlador Logix5000

Es raro que programando una máquina no sea necesaria una señal pulsante, generalmente para funciones de señalización. En controladores de Rockwell, por ejemplo del tipo SLC 500, podemos echar mano de bits de sistema que cumplen esta función. Sin embargo, en la gama de controladores Logix5000, si necesitamos un pulso deberemos generarlo nosotros. En esta entrada voy a proponer tres maneras de generar una señal pulsante de un segundo de duración: primero usando temporizadores (PULSO_TEMP), luego leyendo el tiempo del sistema (PULSO_SIS) y finalmente usando tareas periódicas (PULSO_TAREA).

El código en lógica de escalera para generar un pulso con temporizadores podría tener este aspecto:

(Pincha para ver mejor la imagen)

Uso dos temporizadores, uno para controlar el semiciclo activo del pulso y otro para el semiciclo inactivo, y a cada uno de ellos le asigno una duración de 500 ms. Esta es la opción que requiere más programación.

Otra forma de generar el pulso es leyendo el tiempo del sistema.

7 de octubre de 2011

Comunicación OPC con un PLC Logix5000 desde Visual Basic

Ya he hablado en el blog de comunicación OPC, en concreto en esta entrada traté el acceso a un WinAC desde Visual Basic. Ahora, aprovechando la configuración que tengo con SoftLogix sobre una máquina virtual, voy a hacer lo mismo.

Mi prueba consistirá en crear un proyecto para SoftLogix en el que definiré un par de tags, OPC_BIT y OPC_DINT, que me servirán para probar la comunicación. En el SoftLogix no voy a hacer nada más, simplemente le transferiré el proyecto, lo pondre en modo Run y monitorizaré el contenido de los tags. Luego generaré un enlace OPC con el RSLinx y desde un programa en Visual Basic leeré y escribiré en los tags del PLC.


Para establecer una comunicación OPC necesitaré un servidor OPC, y Rockwell nos lo proporciona integrado con el RSLinx, pero ojo, deberemos asegurarnos de que no sea la versión lite. Recomiendo echar un vistazo a este documento Cómo obtener resultados con RSLinx Classic (pdf) donde se especifica para qué sirve cada versión de RSLinx.

28 de septiembre de 2011

Comunicación entre controladores Logix5000: Mensajes

En esta entrada voy a resumir mis pruebas con la instrucción MSG de Logix. Usaré la misma configuración de la entrada anterior: dos máquinas virtuales con un SoftLogix en cada una que se comunicarán entre sí. El control de la mensajería la hará el primer controlador (SoftLogix A). En la segunda máquina virtual (SoftLogix B) simplemente voy a crear dos tags; en el primero, MENSAJE_DATOS_RECIBIDOS, estarán los datos que se escribirán desde el SoftLogix A. En el segundo, MENSAJE_DATOS_A_ENVIAR, pondré los datos que serán leídos desde el SoftLogix A. Y nada más, en el SoftLogix B no voy a hacer ninguna programación, simplemente voy a monitorizar los valores de ese par de tags.


Mis pruebas, por tanto, consistirán en, desde el SoftLogix A, leer y escribir a través de mensajes en los tags del SoftLogix B.

4 de septiembre de 2011

Comunicación entre controladores Logix5000: Tags producidos y consumidos

Para comunicar dos controladores de la gama Logix5000 existen dos opciones: Tags producidos/consumidos [PDF] o Mensajes. Los primeros simplemente se configuran de forma que no es necesario la intervención de instrucciones de programación para su difusión: lo que escribamos en un tag productor de un controlador se verá reflejado en los tags consumidores del controlador o controladores consumidores. Los mensajes, en cambio, precisan de la instrucción MSG para su difusión.

En esta entrada haré un resumen de mis pruebas con los tags productores/consumidores. Como no dispongo físicamente de ningún controlador CompactLogix o ControlLogix con el que trastear, he preparado dos máquinas virtuales con un SoftLogix en cada una, tal y como hice en esta entrada. Las ejecutaré simultáneamente en mi ordenador a la vez que la máquina virtual donde tengo el software de programación, lo cual supone tres máquinas virtuales simultáneas sobre mi portátil, que, aparte de calentarse más que una sartén, ha aguantado estoicamente.

Teniendo ya todo el sistema de pruebas preparado, lo primero será comprobar que los controladores se ven entre sí. Para ello ejecuto el RSLinx en cualquier máquina virtual y con la herramienta RSWho observo que aparecen mis dos controladores SoftLogix:


Ahora tengo que preparar dos proyectos (ver esta entrada), uno para el contolador productor (SoftLogix A) y otro para el controlador consumidor (SoftLogix B). No voy a hacer ninguna programación, simplemente voy a configurar un tag productor, cambiar su valor en la monitorización de tags y comprobar que el valor se transmite al tag consumidor.

27 de agosto de 2011

Probando Factory Talk View ME, el software de programación para PanelView

De todos los programas de Rockwell con los que he tenido que trabajar hasta ahora, el que menos me ha gustado es el software de programación de paneles de operador Factory Talk View Studio Machine Edition (anteriormente denominado RSView Studio Machine Edition). Lo cierto es que dispone de prestaciones similares a programas análogos de otros fabricantes, pero el entorno no me ha parecido cómodo, ya que operaciones muy comunes hay que realizarlas con aplicaciones externas.


Este software sirve para programar la gama de paneles de operador PanelView Plus Terminal y PanelView Plus CE Computers. Nada más ejecutarlo nos ofrecerá abrir un proyecto existente o crear uno nuevo. La gestión de los proyectos es un poco especial.

14 de agosto de 2011

Probando los Add-Ons de Logix: control de cilindro neumático de doble efecto

En esta entrada programé un control para cilindros neumáticos de doble efecto en Step7. Ahora, aprovechando la configuración que preparé en las dos entradas anteriores, voy a traducir el mismo código a Logix. Para ello voy a programar un Add-On, que es lo que viene a ser el equivalente a los bloques de función (FB) de Step7.

Voy a conservar la funcionalidad: los parámetros de entrada y salida se llaman igual en ambos sistemas y tienen exactamente la misma función. Lo único que cambia es el formato de los tiempos: en Step7 son en formato #Time y en Logix son DINT expresados en milisegundos.

Empezamos creando y configurando un proyecto en el RSLogix 5000. A continuación, para crear un Add-On vamos al árbol de proyecto y sobre la carpeta Add-On Instructions, con el botón derecho del ratón, pulsamos sobre New Add-On Instruction...


Aparecerá una ventana donde deberemos darle un nombre y, opcionalmente, una descripción, número de versión, etc.

9 de agosto de 2011

Preparando un proyecto para programar un SoftLogix

En la entrada anterior preparé una máquina virtual con SoftLogix, ahora voy a configurar un proyecto en el RSLogix 5000, el cual tengo montado en otra máquina virtual. Así que en mi equipo anfitrión voy a ejecutar dos máquinas virtuales, de la siguiente manera:


Ejecuto el RSLogix 5000 y creo un nuevo proyecto...

7 de agosto de 2011

Virtualizando SoftLogix, el PLC software de Rockwell

Entre su gama de controladores Rockwell dispone de un PLC software denominado SoftLogix, sería el equivalente al WinAC de Siemens o al TwinCAT de Beckhoff. Mi interés por él viene en que ya no dispongo del CompactLogix con el que realicé las dos entradas anteriores y montar un SoftLogix sobre una máquina virtual me permitirá realizar pruebas de programación y seguir aprendiendo.


Voy a partir de una máquina virtual en VirtualBox con una configuración como la que se puede ver la siguiente captura:

21 de junio de 2011

Pasos previos a programar un CompactLogix L32E

Teniendo ya comunicación con mi CompactLogix L32E, es hora de ejecutar el RSLogix 5000, que es el software de programación de Rockwell necesario para esta gama de autómatas.


Voy a usar la versión 13 en inglés, algo antigua, pero es la que me exigen. Me consta que existe en español. Al ejecutarlo tiene el siguiente aspecto:

7 de junio de 2011

Comunicando con un PLC CompactLogix L32E

Recientemente he estado unas horas con un técnico de Rockwell en las que he recibido unas pinceladas de cómo empezar a enfrentarme a la familia de PLC CompactLogix. Voy a ir redactando una serie de entradas con mis avances y, aunque todo lo que escriba lo habré probado previamente, es posible que cometa errores e imprecisiones. Si ves algo que está mal o conoces alguna forma más simple o más correcta de hacer algo de lo que aquí describo, te agradeceré un comentario.

El PLC en concreto con el que voy a hacer pruebas es un CompactLogix L32E, acompañado de una fuente de alimentación y una tarjeta de 16 salidas digitales, más la correspondiente tapa de final de bus. El PLC conectado y funcionando sobre mi mesa tiene el siguiente aspecto:


Como características más destacadas decir que tiene 750 kb de memoria de usuario, una ranura para Compact Flash, un puerto de comunicaciones serie y un puerto ethernet. Puede expandirse con un máximo de 16 módulos. Tienes las características detalladas en la página de Rockwell (PDF).

Como el cliente para el que está destinado el PLC tiene estandarizadas versiones de software antiguas, voy a utilizar una máquina virtual con Windows 2000 donde voy a instalar todos los programas: RSLogix 5000 (programación de PLC), RS View ME (programaciónd de HMI), RSNetWorx (configuración de redes) y RSLinx (gestión de comunicaciones). El técnico de Rockwell tenía todo esto montado sobre VMWare. Aprovechando que tengo varias máquinas con Virtual Box, he preparado una máquina virtual con esta última, funcionando también correctamente. Para tener comunicación a través del puerto ethernet simplemente hay que tener la precaución de poner el puerto ethernet virtual en modo puente (bridge) y asignar en el Windows 2000 una dirección IP y máscara coherentes con nuestra red (la primera vez tuve que reiniciar tanto mi máquina virtual como mi ordenador para que funcionase).

29 de marzo de 2011

Empezando con Rockwell: un vistazo desde Step7

En vista de que pronto tendré que enfrentarme a un PLC Rockwell he estado poniéndome al día. Hace tiempo que no programo uno, el último fue un SLC 500 hace ya unos añitos. Ahora me toca uno de la serie CompactLogix, más avanzado. Aún no dispongo del software de programación RSLogix5000 para trastear con él, pero en la web de Rockwell hay abundante literatura para ir echando un vistazo.

Para alguien que, como yo, se siente cómodo programando en Step7, Rockwell tiene el documento perfecto: “Guía para conversión de aplicaciones Simatic S7 a Logix5000” cuya lectura recomiendo (está en español). Esta entrada es un pequeño resumen de este documento con las características que más me han llamado la atención.