9 de abril de 2010

Unas notas sobre la administración de usuarios en WinCC Flexible

En las máquinas que fabricamos, como interfaz hombre-máquina (HMI), solemos instalar paneles de operador táctiles de Siemens. Estos paneles tienen su propio software de programación: el WinCC Flexible. Esta herramienta permite, de una forma relativamente sencilla, sacarle todo el partido a los paneles.

Entre la muchas funciones que nos permite configurar está la de la gestión de usuarios y contraseñas de una forma muy completa y con muchas posibilidades. Podemos crear grupos y usuarios con diferentes niveles de acceso, para restringir el acceso a partes del panel del operador. Por ejemplo, puede interesarnos que un operario pueda cambiar la referencia que fabrica una máquina, pero no permitirle que cambie los parámetros de dicha referencia, reservando esta operación a un encargado.

8 de marzo de 2010

Preparar un PC para comunicar con un PLC Beckhoff a través de Ethernet

Supongamos la siguiente situación: tengo un PLC Beckhoff con el que realizo intercambio de datos para mostrarlos en una aplicación hecha en Visual Basic (o .NET) a través de Ethernet (ver esta entrada). En el ordenador con el que he hecho la programación no hay problemas, la comunicación es impecable, pero si nos llevamos el ejecutable del programa (con sus respectivas bibliotecas DLL y similares) a otro PC nos vamos a encontrar con que no funciona.

El motivo es que la comunicación con el PLC se hace a través de un enrutado propio de Beckhoff: AMS Router. Por lo tanto es imprescindible instalar TwinCAT en todos los PC que vayan a ejecutar la aplicación. En el proceso de instalación es suficiente con seleccionar la opción TwinCAT CP, que es el controlador de Beckhoff para paneles de control (Control Panels).

Advertencia: es imprescindible que el sistema operativo del PC sea de 32 bits, yo lo he probado con éxito sobre un Windows 7 Starter.

Una vez instalado reiniciamos el PC y en el arranque aparecerá la siguiente pantalla (que hasta donde yo sé, no se puede ocultar):

1 de marzo de 2010

Sincronización sencilla de ejes en un Simotion

Supongamos que tenemos dos servomotores controlados por un sistema Simotion y necesitamos que se muevan de forma sincronizada, que el movimiento que ordenemos a uno se vea inmediatamente reflejado en el otro. La mejor forma de plantear esta configuración es definiendo tres ejes: un eje por cada servomotor más un eje virtual. La filosofía a seguir será acoplar cada uno de los ejes de los servomotores al eje virtual, de forma que nosotros ejecutemos las órdenes de movimiento sobre el eje virtual y que cada uno de los servomotores lo sigan automáticamente.

Un eje virtual no tiene asociado un control de lazo cerrado ni un accionamiento o un encóder. Las consignas y sus valores reales son siempre coincidentes. Generalmente su utilidad consiste en ser un eje auxiliar para generar como eje maestro, por ejemplo, consignas para varios ejes reales.

Voy a partir de una configuración como la que ya he mostrado en esta serie de entradas, donde ya tenía un par de ejes creados. Me he de asegurar de que en cada uno de los ejes (en este ejemplo los llamaré EJE_A y EJE_B) esté marcado el uso de la tecnología de operación síncrona (Synchronous operation).


A continuación insertaremos el eje virtual, para ello en el árbol de proyecto, en el apartado Axis haremos doble clic sobre Insert axis. Nos aparecerá el diálogo de creación de ejes, donde también marcaremos Synchronous operation y aceptaremos.

22 de febrero de 2010

Cursos on line de autoaprendizaje de Siemens

Navegando por la web de automatización de Siemens me he encontrado con una interesante sección llamada "Zona de Autoestudio", que son cursos on line sobre varios de sus productos. La temática es variada: PLC, HMI, buses de campo y accionamientos. Están orientados a gente que quiera iniciarse en el campo de la automatización industrial y son un complemento al programa de formación SITRAIN.

Se puede acceder a los cursos desde este enlace, pero si no usamos una versión actualizada de Internet Explorer y Flash nos denegará el acceso. Sin embargo yo he accedido sin problemas desde Firefox a través los enlaces que están a continuación.

Los cursos en español son:

Conocimientos básicos de LOGO!
Tutorial de LOGO! Soft Comfort.
Proyectos con LOGO!

Introducción al SIMATIC S7-200.


Introducción a los PLC, basado en los autómatas programables SIMATIC S7-300 / S7-400.

Conocimientos básicos sobre arquitectura y protocolos de comunicación de una red Profibus.


Curso gráfico sobre el accionamiento Micromaster 420 (configuración hardware, montaje, instalación y parametrización).

También están disponibles los siguientes cursos en inglés:

Introducción a la red Profinet.

Introducción a la red Industrial Ethernet.

WinCC Flexible para nuevos usuarios.


Tutorial sobre la configuración, hardware, montaje y parametrización del accionamiento SINAMICS G120.


Está anunciado, pero aún no disponible, un curso sobre los nuevos PLC SIMATIC S7-1200.

Ya fuera de la temática de los cursos, Siemens tiene disponible para su descarga toda su colección de manuales SIMATIC en este enlace (visto en InfoPLC). Eso sí, hay que tener paciencia porque ocupa más de cuatro gigabytes.

17 de febrero de 2010

Comunicación serie en un PLC Beckhoff CX9010 (interfaz CX9010-N030)

Si necesitamos implementar comunicación serie RS-232 en un PLC CX90x0 de Beckhoff tenemos dos opciones: añadir una interfaz CX90x0-N030, que trae dos puertos RS232 con conector SUB-D, o la opción de una tarjeta EL6001 de terminales enchufables. En mi caso he optado por la primera opción; estas notas describen como configurar y programar una comunicación serie con una interfaz CX9010-N030.

El primer paso será incluir el puerto serie en la configuración, así que abrimos el TwinCAT System Manager y vamos en nuestro proyecto a 'Configuración E/S -> Dispositivos de E/S' con el botón derecho del ratón y seleccionamos 'Agregar dispositivo...'


En la ventana de 'Insertar dispositivo de E/S' seleccionamos 'Micelánea -> Puerto de comunicación serie' y pulsamos OK.

8 de febrero de 2010

Comunicación entre un PLC Beckhoff y Visual Basic

En una aplicación reciente he tenido que comunicar a través de Ethernet un PLC Beckhoff CX9010 con una aplicación programada en Visual Basic 2008 Express. Para realizar esta conexión tenemos a nuestra disposición de manera gratuita controles OCX y DLL de comunicación. Estas son las notas que resumen las pruebas que hice para obtener una comunicación óptima.

La comunicación entre el PLC y Visual Basic se realiza mediante el protocolo ADS (Automation Device Specification) y funciona sobre los protocolos TCP/IP o UDP/IP. En el PLC no es necesario realizar ninguna configuración especial. Simplemente se deben tener claras las variables que necesitamos comunicar para poder agruparlas y leerlas y/o escribirlas en una única operación. Mis primeras pruebas leían y escribían variables individualmente, pero al pasar de un pequeño número de operaciones de lectura/escritura el programa se ralentizaba. Entonces opté por agrupar todas las variables necesarias en dos estructuras, una con los datos que se van a leer desde la aplicación en Visual Basic (estructura de lectura) y otra con los datos que la aplicación podrá modificar (estructura de escritura). Como ejemplo pondré estas dos estructuras declaradas en 'Data types':