26 de diciembre de 2011

Probando un servomotor Posmo A para posicionamiento simple (parte 2ª)

Habiendo dejado en la entrada anterior el Posmo configurado, ahora toca realizar un proyecto en Step7 para controlarlo. Como maestro Profibus voy a usar un PLC S7-315-2DP al que voy a conectar una tarjeta simuladora de entradas / salidas digitales para dar las órdenes necesarias al servomotor y visualizar su estado.


Alimento el PLC y el servomotor, conecto el cable Profibus entre ambos y al borne 1 del servomotor un detector inductivo que hará las veces de leva de referenciado.

Ejecuto el Administrador Simatic y creo un proyecto vacío. Inserto un equipo Simatic 300 y abro la configuración hardware. Inserto mi referencia de PLC, la tarjeta simuladora, creo una red Profibus y finalmente añado el Posmo, con lo que me quedaría algo como esto:


23 de diciembre de 2011

Probando un servomotor Posmo A para posicionamiento simple (parte 1ª)

El Simodrive Posmo A es un servomotor de Siemens que hemos montado en multitud de ocasiones. Es sencillo de configurar y programar, y siempre ha dado buen resultado, destacando su fiabilidad. Aprovechando que tengo uno por aquí (referencia 6SN2132-1BC11-1BA1) voy a dedicarle una entrada.

El Posmo A sobre mi mesa preparado para hacer pruebas.
Lo primero que llama la atención es que lleva incorporado el regulador, formado un bloque compacto. Se alimenta con corriente continua, 24 o 48 V según versiones. Como interface de comunicaciones tiene un puerto Profibus. Bajo la tapa lleva unos microinterruptores donde ajustaremos la resistencia terminadora de red y la dirección Profibus. También tiene un bornero donde podremos realizar alimentación separada de electrónica y potencia, y un par de entradas / salidas configurables.

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.

3 de octubre de 2011

Accediendo a un PLC Simatic a través de ethernet con Libnodave

En esta entrada usé la biblioteca libre Libnodave para acceder a un PLC S7-300 desde Visual Basic a través de un adaptador serie/MPI. Varios lectores me hicieron consultas sobre si era posible usarla para acceder a un PLC S7-300/400 a través de ethernet, pero al no tener disponible un controlador adecuado para hacer pruebas pues no tenía respuesta. Sin embargo, de la entrada anterior tengo preparada una máquina virtual con WinAC RTX y su puerto ethernet como puerto de comunicaciones, que creo que es un banco de pruebas ideal para hacer pruebas con Libnodave.

Lo primero que voy a hacer es un proyecto en Step7 con un único DB, por ejemplo el DB10, con un único dato de formato BYTE. Lo transferiero al WinAC y pongo el PLC software en modo Run. Me pongo on line y monitorizo la variable.


En el PLC no voy a tocar nada más. A continuación lo que haré será una aplicación en Visual Basic, usando la biblioteca Libnodave a través de ethernet, que se conectará al PLC y leerá y escribirá en esa variable como prueba que el sistema funciona.

30 de septiembre de 2011

Virtualizando WinAC RTX, el PLC software de Siemens

Después de estar trabajando con el SoftLogix de Rockwell sobre máquinas virtuales, me he preguntado si sería posible hacer funcionar al equivalente en Siemens, el WinAC RTX, en las mismas condiciones. Así que me he puesto manos a la obra y he instalado sobre una máquina virtual en VirtualBox con Windows XP el paquete Simatic NET V7.1 + SP1 y WinAC RTX V4.4 + SP1 con su correspondiente licencia. Toda la instalación transcurrió sin problemas:

WinAC RTX ejecutándose sobre una máquina virtual (pincha sobre la imagen para verla mejor)

Ahora el problema es poder configurarlo y programarlo desde otro equipo a través del puerto ethernet. En la web de Siemens hay una guía para hacerlo, está bastante clarita y los pasos que voy a ir explicando están basados en ella.

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).

18 de mayo de 2011

Probando un panel táctil Pro-face GP4107G1D

Recientemente, para una pequeña máquina, hemos estado buscando un panel táctil de reducidas dimensiones, económico, sencillo de programar, que tuviese soporte técnico cercano y que fuese fiable, y, por lo que he podido probar hasta ahora, el Pro-face GP4107G1D cumple nuestras espectativas.

Nuestra máquina va a ser controlada por un PLC S7 312 de Siemens, por lo que la comunicación con el HMI deberá realizarse por MPI. En mis pruebas el funcionamiento de la comunicación ha sido impecable, funcionando todo a la primera.

A pesar de que este panel resulta muy económico, ofrece caracerísticas solo presentes en paneles de gama más alta. Quizá la que más me ha llamado la atención es la posibilidad de programar scrips, lo que le otorga gran versatilidad.

Como características más destacadas dispone de una pantalla de 3,4" y 16 niveles de gris, con iluminación programable en color verde, naranja o rojo. El aspecto que tiene mi unidad es el siguiente:


Vista por detrás dispone de dos puertos USB:

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.

15 de marzo de 2011

Accediendo a un PLC Siemens desde Visual Basic: LIBNODAVE

Libnodave es una biblioteca libre de funciones para comunicar con PLC Siemens, utilizando adaptadores MPI/PPI o Ethernet. Está disponible para descarga directa aquí y viene con el código fuente, programas de prueba, bibliotecas para Linux, Windows (32 bits), .NET y ejemplos. Para programar podemos elegir una gran variedad de lenguajes y entornos: C, C++, C#, Delphi, Pascal, Perl, Visual Basic y Visual Basic for Aplications.

Para probarlo voy a partir de la configuración que tengo hecha de las dos entradas anteriores en las que comunicaba un S5-95U con un 315-2DP por Profibus. Ahora lo que pretendo es conectarme desde mi ordenador al S7-300 para visualizar, en una aplicación en Visual Basic, las lecturas que hago de la periferia integrada del S5.

Para comunicar mi PC con el 315-2DP tengo un adaptador serie/MPI de Siemens referencia 6ES7901-2BF00-0AA0. No viene en la lista de adaptadores probados en la página de Libnodave pero ha funcionado bien, incluso a través de un adaptador USB/serie de la marca Prolific.

Para clarificar, en el siguiente esquema represento el conexionado que tengo entre los diferentes elementos:

Lo que voy a hacer en este proyecto es una aplicación en Visual Basic 2010 Express a la que voy a incorporar la biblioteca Libnodave para leer y escribir en el bloque de datos donde interactúo con la periferia del S5-95U: lo único que hará mi aplicación es leer y escribir en el DB10 del 315-2DP.

8 de marzo de 2011

Reutilizando un PLC Simatic S5-95U como cabecera Profibus (parte 2ª)

En la primera parte dejamos al S5-95U preparado para funcionar como cabecera Profibus, ahora vamos a la parte de Step7.

Preparamos un proyecto de Step7 con un PLC 315-2DP y le asignamos una red Profibus con una velocidad de 1,5 Mbit/s (la máxima que soporta el S5-95U). En el catálogo buscamos "S5-95U" y lo arrastramos sobre la red Profibus, asignándole una dirección libre, en mi caso la 7.

Seleccionamos el componente que acabamos de insertar y copiamos el Módulo universal sobre los slots 1 y 2.

7 de marzo de 2011

Reutilizando un PLC Simatic S5-95U como cabecera Profibus (parte 1ª)

Ya que la anterior entrada he retomado el contacto con mi PLC S5-95U, voy a recuperar una vieja idea: reutilizarlo como cabecera Profibus. La idea es aprovechar su gran conectividad (entradas y salidas digitales, contadores rápidos y señales analógicas) desde un PLC más moderno, por ejemplo desde un PLC 315-2DP.

Lo que voy a hacer en esta primera parte es configurar el S5-95U para acceder a toda su periferia integrada, parametrizarlo como esclavo Profibus y hacer una sencilla programación para transmitir y recibir datos. En una segunda parte haré la integración del S5-95U en una red Profibus y el tratamiento de los datos en un S7-300.

NOTA: Aquí hice una introducción a Step5 que quedó incompleta. Esta entrada podría considerarse su continuación.

Para realizar esta entrada me he basado en este documento de Siemens: Conectar un S5-95U-DP Esclavo a un maestro CPU315-2DP.

2 de marzo de 2011

Probando "S5/S7 for Windows" para programar en Step5

Usar el editor de Siemens en MS-DOS de Step5 es un dolor de cabeza, al menos para mí, ya que tengo un contacto muy esporádico con él y cada vez es como empezar de nuevo. Reconozco que si dominas el entorno en MS-DOS y memorizas los comandos necesarios la edición es muy rápida, pero si tienes que trabajar con él cada dos o tres años para hacer alguna pequeña adaptación... pues es una lata.

En esta entrada empecé a crear una guía como recordatorio rápido para el entorno en MS-DOS pero aún no me he animado a continuarla, más que nada porque no he vuelto a tocar ningún S5.

Pero recientemente ha pasado por mis manos un portátil que tiene instalado el software "S5/S7 for Windows" de la empresa IBHsoftec y he aprovechado para echarle un vistazo.

10 de febrero de 2011

Comunicación Profibus entre un atornillador Rexroth CS351 y un PLC Siemens S7-300 (parte 2ª y última)

En la entrada anterior dejé el atornillador configurado, ahora vamos a introducirlo en la red Profibus de Step7.

EL primer paso será abrir la herramienta de configuración hardware de Step7 para instalar el archivo GSD que generamos en la entrada anterior.

Lo seleccionamos y lo instalamos. Es posible que nos pida cerrar previamente los proyectos que tengamos abiertos.

29 de enero de 2011

Comunicación Profibus entre un atornillador Rexroth CS351 y un PLC Siemens S7-300 (parte 1ª)

Recientemente me han pedido comunicar un atornillador automático CS351 de Rexroth con un PLC Siemens de la serie S7-300. La idea es seleccionar una receta a través de HMI con la secuencia de tornillos a apretar y que el PLC vaya activando el número de programa correspondiente en el atornillador, comprobando los resultados e indicando en un panel de visualización los resultados y pasos a seguir por el operario. El PLC también gestionará una sencilla maniobra neumática. En esta entrada mostraré las notas que he tomado para configurar la comunicación Profibus atornillador-PLC.

El aspecto de la unidad de control del atornillador es este (cutre-foto con mi móvil):

La unidad de atornillado con la que tengo que trabajar no viene con puerto Profibus, así que tengo que instalar una tarjeta de comunicación IMpdp.