21 de mayo de 2010

Temporización discontinua en Step7

Supongamos que tenemos que controlar la dosificación de un líquido que debe producirse durante un tiempo preciso. Además, existe una barrera que, al interrumpirse, bloquea la salida del líquido y, al liberarse, debe seguir dosificando el tiempo restante. Está claro que hay que usar un temporizador. En Step7 existen cinco clases de temporizadores:
S_IMPULS ó SI -> Impulso
S_VIMP ó SV -> Impulso prolongado
S_EVERZ ó SE -> Retardo a la conexión
S_SEVERZ ó SS -> Retardo a la conexión con memoria
S_AVERZ ó SA -> Retardo a la desconexión
Cada temporizador tiene dos instrucciones posibles para lanzarlo: la corta (SI, SV, ...) en la que simplemente especificamos el tiempo de temporización y la larga (S_IMPULS, S_VIMP ...), en la que además podemos parametrizarlo.

12 de abril de 2010

Modificar datos en recetas a través de scripts en WinCC Flexible

En los paneles de operador de Siemens (si exceptuamos los paneles más sencillos) tenemos la posibilidad de programar nuestras propias funciones en Visual Basic Script. Esto nos permite una gran flexibilidad a la hora de plantear nuestras aplicaciones, incluso permitiendo liberar al PLC de ciertas operaciones complejas usando el panel como apoyo de cálculo.

Desde un script tenemos acceso a la tabla de variables, a los objetos, a las funciones pre programadas e incluso a otros scripts. La programación es muy cómoda ya que el editor del WinCC Flexible es muy completo, con sintaxis coloreada, asistente de funciones y plantillas de código. Tal y como viene explicado en la ayuda:

Para crear scripts pulse <Ctrl><Espacio> y compruebe la amplia variedad de funciones. Escriba scripts utilizando funciones del sistema o el modelo de objetos. El objeto HMI Runtime permite acceder fácilmente al sistema. Para seleccionar una referencia de objetos pulse <Alt><Flecha derecha>. Puede crear scripts complejos con elementos del lenguaje de programación VBScript y acceder directamente a las variables a través de los nombres, p.ej. variable = 5.

En mi caso se me planteó la siguiente situación: en una máquina existe una receta donde se almacenan diferentes cotas para situar un eje durante el montaje de una pieza. Estas cotas son diferentes para cada referencia de trabajo (piezas diferentes) y están referidas al punto de apoyo de la pieza en la máquina. El cliente ha estado usando la máquina durante un tiempo y llevaba creadas más de 50 referencias. Por imperativo de diseño es necesario variar el punto de apoyo de todas las piezas, con lo que todas las cotas almacenadas deben ser modificadas en una cantidad fija. Además se prevé que en un futuro el punto de apoyo pueda volver a cambiar. Modificar las cotas para todas las referencias a mano sería una posibilidad, pero para hacerlo más fácil podemos echar mano de un script.

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.