viernes, 23 de julio de 2010

Nota Técnica II - SISTEMAS INDUSTRIALES DISTRIBUIDOS: Una filosofía de automatización . Parte II

Sistemas industriales de control.
Tradicionalmente se distinguen tres tipos de sistemas de control industrial: control centralizado, control híbrido y control distribuido. La importancia de las tareas a realizar, o la posibilidad de subdividir la tarea de control del proceso o conjunto de máquinas en esas funciones autónomas, determinará en muchos casos la elección de un tipo u otro de control.

Control centralizado: Esta aproximación es la que se sigue en el caso de sistemas poco complejos donde un proceso puede ser gestionado directamente mediante un único elemento de control encargado de realizar todas las tareas del proceso de producción y que puede incluir un sistema de monitorización y supervisión. Conforme las necesidades de producción han requerido mayor complejidad, una tendencia ha sido la de emplear elementos de control más complejos y potentes, manteniendo en un único elemento de control todo el proceso, con la complejidad que ello supone ya que se hace necesario hacer llegar todas las señales de sensores y cablear todos los actuadores allá donde se encuentren. Como ventajas de esta metodología, no es necesario planificar un sistema de intercomunicación entre procesos ya que todas las señales están gestionadas por el mismo sistema, por otro lado, para sistemas poco complejos posee un menor coste económico. En cambio, posee numerosas desventajas ya que si el sistema falla, toda la instalación queda paralizada, siendo necesario un sistema redundante para evitar estas situaciones. También se hace necesario el empleo de unidades de control (generalmente autómatas programables) de mayor capacidad de proceso dada la complejidad de los problemas que debe abordar y con las restricciones de tiempo límite que son habituales en los procesos industriales debido a la sincronización necesaria; pueden existir problemas de tiempos de ciclo en el caso de procesos muy complejos. Por otro lado, el cableado puede aumentar notablemente debido a las mayores distancias que pueden existir entre los sensores, actuadores y la unidad de control, aunque este problema se pueda simplificar en cierta medida debido al uso de buses de campo.

Control distribuido: La opción de control distribuido requiere que puedan considerarse procesos, grupos de procesos o áreas funcionales susceptibles de ser definidas por un algoritmo de control que pueda realizarse de forma autónoma. A cada unidad se destinará un autómata (o elemento de control) dimensionado de acuerdo con los requerimientos del proceso considerado. Debido a la interdependencia que existe entre las operaciones que tienen lugar en cada proceso, hay que tener en cuenta que es necesario interconectar los autómatas entre sí mediante entradas y salidas digitales o a través de una red de comunicaciones para intercambio de datos y estados; por tanto, el autómata o elemento de control evaluado debe permitir las comunicaciones. Con esta metodología de control es posible que cada unidad funcional consista en un proceso relativamente sencillo comparado con el proceso global, reduciendo la posibilidad de errores en la programación y permitiendo el empleo de unidades de control (autómatas programables principalmente) más sencillas y por tanto, más económicas. Al mismo tiempo, la existencia de fallos en otras unidades de control no implica necesariamente la paralización de todos los procesos que se llevan a cabo en la planta. Como desventaja, es necesario realizar un estudio de implantación previo, ya que se deben identificar los procesos autónomos, asignar elementos a cada proceso y diseñar el modelo de intercomunicación para responder a las necesidades del proceso planteado.

Control híbrido: El control híbrido no está muy bien definido ya que este tipo de gestión de planta puede considerarse a cualquier estrategia de distribución de elementos de control a medio camino entre el control distribuido y el control centralizado. En numerosas ocasiones no resulta sencillo separar los procesos de manera completamente autónoma, por lo que se debe recurrir a la gestión de varios procesos desde una misma unidad de control pues la complejidad de la separación es mayor que la complejidad que supone su gestión conjunta. Por otro lado, una estrategia de este tipo también conduce a una gestión estructurada, de modo que existen elementos de control de nivel superior que supervisan e intercomunican los procesos autónomos más sencillos, siendo los encargados de gestionar la información común. Para este tipo de gestión también es necesario el uso de redes de comunicación.

Pirámide de automatización. Intercomunicación mediante buses.
El empleo de computadores y autómatas programables son herramientas esenciales de tratamiento de la información en redes de comunicación. La Figura de la izquierda muestra de manera genérica las interrelaciones entre ellas y su división en diferentes niveles.


Nivel de Acción/sensado (nivel de célula):
También llamado nivel de instrumentación. Está formado por los elementos de medida (sensores) y mando (actuadores) distribuidos en una línea de producción. Son los elementos más directamente relacionados con el proceso productivo ya que los actuadores son los encargados de ejecutar las  órdenes de los elementos de control para modificar el proceso productivo (por ejemplo, un motor de mezcla de materias primas) y los sensores miden variables en el proceso de producción (por ejemplo, temperatura de cocción). Así, más ejemplos de sensores son aquellos que permiten medir nivel de líquidos, caudal, temperatura, presión, posición, etc. Como ejemplos de actuadores se tienen los motores, válvulas, calentadores, taladros, cizallas, etc. Como característica adicional, los sensores y actuadores suelen ser dispositivos que necesitan ser controlados por otros elementos.

Nivel de Control (nivel de campo):
En este nivel se sitúan los elementos capaces de gestionar los actuadores y sensores del nivel anterior tales como autómatas programables o equipos de aplicación específica basados en microprocesador como robots, máquinas herramienta o controladores de motor. Estos dispositivos permiten que los actuadores y sensores funcionen de forma conjunta para ser capaces de realizar el proceso industrial deseado. Son dispositivos programables, de tal modo que es posible ajustar y personalizar su funcionamiento según las necesidades de cada caso. Los dispositivos de este nivel de control junto con los del nivel inferior de acción/sensado poseen entidad suficiente como para realizar procesos productivos por sí mismos. De hecho, gran cantidad de procesos industriales están basados exclusivamente en estos dos niveles, de tal modo que un proceso productivo completo se desglosa en subprocesos de este tipo sin que exista un intercambio de información entre ellos (excepto algunas señales de control para sincronizar el fin de un proceso con el inicio del siguiente).
Un ejemplo de este tipo de sistemas sería un proceso de ensamblado de un volante dentro de un vehículo donde es necesario tener el coche bien situado, y entonces activar un brazo que inserta el volante sin tener en cuenta el resto de componentes o estado del vehículo, es decir realiza un proceso independiente y aislado.A pesar de tratarse de procesos aislados, esto no implica que no se empleen buses de comunicación, ya que para procesos que requieran de un gran número de sensores y actuadores, es recomendable la utilización de buses de campo para leer el estado de los sensores, proporcionar señales de control a los actuadores y conectar diferentes autómatas programables para compartir información acerca de la marcha del proceso completo. También es importante que estos dispositivos posean unas buenas características de interconexión para ser enlazados con el nivel superior (supervisión), generalmente a través de buses de campo.

Nivel de Supervisión (nivel de planta)
Todos los dispositivos de control existentes en planta es posible monitorizarlos si existe un sistema de comunicación adecuado capaz de comunicar estos elementos con otro tipo de dispositivos no dedicados al control sino para la gestión y supervisión, y que habitualmente están constituidos por computadores o sistemas de visualización tales como pantallas industriales. En este nivel es posible visualizar cómo se están llevando a cabo los procesos de planta, y a través de entornos SCADA (Supervisión, Control y Adquisición de Datos) poseer una “imagen virtual de la planta” de modo que ésta se puede recorrer de manera detallada, o bien mediante pantallas de resumen ser capaces de disponer de un “panel virtual” donde se muestren las posibles alarmas, fallos o alteraciones en cualquiera de los procesos que se llevan a cabo. Mediante este tipo de acciones resulta inmediato disponer de acceso inmediato a cada uno de los sectores de la planta. Para ello, resulta imprescindible la conexión con el nivel de control mediante buses de campo de altas prestaciones, pues a veces resulta necesaria la transmisión de importantes cantidades de datos y la conexión con un gran número de elementos de control. Por ejemplo, en una fábrica de galletas rellenas de chocolate se desea supervisar el proceso de fabricación, con lo que es necesario recibir información de cada uno de los autómatas de control encargados de producir la masa de chocolate, producir la masa de la galleta, colocar y cortar la masa de la galleta, aplicar una pequeña porción de masa de chocolate, colocar la segunda galleta para crear el emparedado, hornear la galleta y envasar el producto final. Para cada tarea nombrada se utiliza un autómata, por lo que un sistema de supervisión debe ser capaz de acceder al estado de cada  uno de ellos, visualizar el proceso que lleva a cabo, y de manera global, tener información de cómo está trabajando cada uno de ellos, así como poder acceder a informes generados por el autómata tales como cantidad de ingredientes empleados, galletas producidas, etc. Eventualmente, también es posible modificar los procesos productivos desde los computadores de supervisión. Este nivel sustituye a los grandes paneles y salas de control que durante los años ’70 y ’80 eran habituales en las grandes empresas, pues el computador lo ha sustituido.

Nivel de gestión (nivel de fábrica).
Dado que el nivel de supervisión ya está constituido principalmente por computadores, el nivel de gestión también lo estará ya que se encuentra más alejado de los procesos productivos. De hecho, en este nivel no es relevante el estado y la supervisión de los procesos de planta, en cambio, sí adquiere importancia toda la información relativa a la producción y su gestión asociada, es decir, a través del nivel de supervisión es posible obtener información de todos los niveles inferiores de una o varias plantas. Un ejemplo de la utilidad de la comunicación de los niveles inferiores con el nivel de gestión es la obtención de información en este nivel acerca de las materias primas consumidas, la producción realizada, los tiempos de producción, niveles de almacenado de productos finales, etc. Con esta información, los gestores de la empresa pueden extraer estadísticas acerca de los costes de fabricación, rendimiento de la planta, estrategias de ventas para liberar posibles excesos de producto almacenado, y en general, disponer de datos que permitan a los niveles directivos la toma de decisiones conducentes a una mejor optimización en el funcionamiento de la planta, todo ello de una manera rápida y flexible dada la rapidez del acceso a los datos de fabricación. Las comunicaciones con este nivel de la pirámide industrial ya no necesitan ser de tipo estrictamente industrial, es decir, muy robustas, de corto tiempo de acceso, etc. sino que ahora los datos que se transmiten son informes que pueden tener un tamaño medio-grande, por lo que habitualmente se emplean redes de comunicación menos costosas como redes Ethernet que se adaptan mejor al tipo de datos que se desean transmitir y además permiten la comunicación eficaz entre los diferentes computadores del mismo nivel de gestión (compras, departamento comercial, recursos humanos, dirección, diseño, etc.).
Con esta descripción vemos cómo y dónde se emplean las comunicaciones dentro de la industria y cómo este entramado de redes de comunicación permite implantar de forma física el modelo CIM de gestión integrada descrito en apartados anteriores.

Sistemas normalizados. Sistemas abiertos.
Debido a la gran aceptación que han tenido los sistemas industriales basados en redes de comunicación, han surgido un gran número de protocolos y sistemas físicos capaces de satisfacer las necesidades del mercado. Para que estos sistemas puedan ser implantados de forma generalizada, deben cumplir diversas especificaciones en cuanto a cumplimiento de normativa se refiere, debiendo superar diferentes pruebas de homologación y cumplir con las normativas de normalización impuestas para ese dispositivo o protocolo. Por otro lado, los fabricantes de equipos de automatización se han centrado en dos grandes áreas de trabajo: la propuesta de nuevos equipos de comunicación basados en protocolos y medios de transmisión preestablecidos, y el desarrollo de nuevos sistemas y protocolos de transmisión propietarios.
En el segundo caso, la empresa fabricante se asegura que el protocolo desarrollado no puede ser empleado por otros fabricantes, debiendo recurrir a su permiso expreso en caso de querer desarrollar dispositivos para dicho protocolo, o bien adquiriendo los dispositivos al fabricante. Con este método, el fabricante se asegura el mercado para ese tipo de dispositivos, pero no permite una compatibilidad con el resto de sistemas de automatización que pueden existir en una planta industrial. A menudo se dice que este tipo de automatización provoca la existencia de “islas de automatización”. Debido a los problemas que este tipo de metodología puede originar, los clientes de estos sistemas demandan una compatibilidad entre fabricantes y la adopción de sistemas normalizados y abiertos, regulados por organismos internacionales de modo que se facilite el desarrollo de dispositivos a cualquier empresa y ello permita una mayor compatibilidad entre fabricantes y una mayor rapidez en la implantación de nuevas tecnologías en todo el mundo a unos precios razonables.
Por tanto, el concepto de “Sistema abierto” adquiere gran importancia, este podría definirse como:

“Un sistema que incorpora suficientes especificaciones o estándares para interfaces, servicios y formatos como para desarrollar y planificar aplicaciones software capaces de: trasladarse con cambios mínimos a un amplio abanico de sistemas provenientes de uno o más fabricantes, dialogar con otras aplicaciones tanto en el sistema local como en sistemas remotos, e interactuar con los usuarios y programadores de modo que facilita la migración”

Adicionalmente, si se dice que un sistema abierto contiene además una “especificación abierta”, la definición anterior se completaría de este modo:

“que permite la inclusión de especificaciones, que mantenidas y actualizadas por organizaciones, son consensuadas por un amplio grupo de expertos, y permiten que se incorporen las nuevas tecnologías y los requerimientos que puedan aparecer con el paso del tiempo”

Con estas definiciones, se puede observar que no se restringe a una tecnología en particular, ya sea hardware o software, que debe ser accesible por todos aquellos interesados ya que la normativa queda regulada por organismos públicos donde todos los fabricantes interesados pueden participar. Existen varios organismos internacionales encargados, entre otras tareas, de definir los estándares capaces de ser usados por todos aquellos desarrolladores interesados, y que proporcione suficiente flexibilidad, robustez y prestaciones como para ser aceptado globalmente como un estándar “de facto”. Un “estándar” se define como:

“Documentos consensuados que contienen especificaciones técnicas o criterios precisos para ser empleados de forma sólida como reglas, pautas o definición de características para asegurar que materiales, productos, procesos y servicios se ajustan a la función a la que se destinan”

Los organismos internacionales más importantes son:

  • International Organisation for Standarisation (ISO). Esta organización internacional y no gubernamental pretende agrupar los estándares que existen y se van creando dentro de cualquier campo de la actividad humana, para de este modo permitir la compatibilidad de los sistemas a lo largo de todo el planeta. Los acuerdos internacionales que incorporen nuevas propuestas son publicados como estándares internacionales ISO.
  • International Electrotechnical Comission (IEC). Esta asociación internacional se centra en aspectos más relacionados con los sistemas electrónicos y computadores, por lo que ha servido como base para la creación de la mayoría de los estándares ISO relacionados con los computadores y normativas eléctricas y electrónicas.
  • Joint Technical Committee No.1 (JTC1). A partir de 1987, ISO e IEC formaron un comité conjunto que, al igual que ISO e IEC, incorpora los comités nacionales de estandarización, de los que los más conocidos son: BSI (Reino Unido), DIN (Alemania), AFNOR (Francia), ANSI (Estados Unidos), JISC (Japón), CSA (Canadá), AENOR (España). Todos los estándares surgidos a partir de la unión entre ambos comités se preceden del prefijo ISO/IEC. Como ejemplo, al estándar de intercomunicaciones OSI (Open System Interconnection) le corresponde el estándar principal ISO/IEC 7498.
  • International Telecommunications Union (ITU). Es el principal organismo regulador de las telecomunicaciones, en concreto el denominado ITU-T, responsable de la estandarización de las telecomunicaciones. Fue creado en 1993 y sustituye al anterior CCITT (International Telegraph and Telephone Consultative Committee). Su principal misión consiste en asegurar la creación de estándares efectivos que aseguren una alta calidad en cualquier aspecto que involucra las telecomunicaciones. Está formado por diferentes grupos de estudio encargados de proponer diversas recomendaciones en aspectos tales como redes ópticas, redes de cable para transmisión multimedia, protección electromagnética, hasta un total de 18 grupos.

Entornos de sistemas abiertos.
Así como los estándares OSI definen los métodos de interconexión entre computadores y sistemas electrónicos, se define un término que abarca OSI e intenta incorporar mayor número de elementos en los llamados “sistemas de comunicaciones abiertos”, los elementos principales de los que se compone son:

1. Gestión
2. Interfaces de usuario
3. Interfaces de servicio entre programas
4. Formatos de datos e información
5. Interfaces de comunicación

En la literatura anglosajona, se nombra como el modelo POSIX OSE (Open Systems Environment). Esta especificación está orientada básicamente al diseño de aplicaciones software, pues si en un entorno de comunicaciones se tienen en cuenta estos cinco aspectos, será posible disponer de sistemas abiertos, robustos, y capaces de integrarse sin dificultades dentro de un entorno ya establecido.


Alfredo Rosado Muñoz
http://www.uv.es/~rosado
rosado@uv.es

jueves, 22 de julio de 2010

Nota Técnica II - SISTEMAS INDUSTRIALES DISTRIBUIDOS: Una filosofía de automatización . Parte I

Introducción a los sistemas industriales distribuidos.
Las redes de comunicación son hoy en día un elemento habitual en gran parte de nuestras actividades, especialmente en tareas de oficina y hogar. En cambio, la introducción de sistemas de intercomunicación digitales en los entornos industriales no es tan amplia, aunque es una tendencia cada vez más generalizada, con una implantación de sistemas creciente dentro de cualquier ámbito industrial. 
Esta nueva metodología de sistemas de automatización de procesos redunda en una mayor eficiencia y optimización de los recursos, pudiendo implantar sistemas distribuidos que van desde meros procesos de fabricación y manufactura a una integración de diferentes áreas dentro de la empresa (fabricación, gestión de producción, almacenaje, control de calidad, ventas, distribución, etc.), permitiendo una mayor eficiencia en los procesos de fabricación. Por tanto, es preciso analizar las diferentes posibilidades a la hora de implantar nuevos elementos en una fábrica, pues si se desea tender a una gestión integral, es necesario que todos y cada uno de los aspectos de la fábrica sean concebidos para su intercomunicación con el resto. De este modo, desde los elementos de automatización (autómatas programables, sensores, actuadores, paneles de visualización, etc.) hasta los elementos de gestión y supervisión de fábrica pasando por dispositivos de control de procesos, deben ser capaces de intercomunicarse a través de redes industriales destinadas a tal efecto.

Desde luego, esta filosofía de implantación debe poder realizarse por etapas, sin pretender cambiar radicalmente sistemas industriales previamente implantados pero teniéndola en cuenta a la hora de instalar o modernizar viejas instalaciones, ya que no siempre es posible una intercomunicación global. Así, el concepto de Sistemas Industriales Distribuidos abarca un campo muy amplio, pues se puede aplicar en diferentes niveles dentro de una fábrica, desde la simple automatización de un proceso aislado a la gestión integral de una fábrica. Este hecho provoca que exista un gran número de posibilidades a la hora de la implantación de este tipo de instalaciones, pudiendo recurrir a diferentes elementos y tecnologías dependiendo de las necesidades y el tipo de automatización o intercomunicación que se desee llevar a cabo, haciéndose necesario un conocimiento de los diversos elementos y posibilidades para poder tomar decisiones a la hora de implantar las tecnologías y sistemas que mejor se adapten a los requisitos concretos, ya que cada tecnología o sistema de comunicación está orientado a unas aplicaciones determinadas. Por otro lado, a menudo existen tecnologías y sistemas con características similares orientados a un mismo rango de aplicaciones, con escasas diferencias excepto en la empresa que fabrica los elementos de comunicación. Este hecho provoca que no existan estándares completamente adoptados por el conjunto de la industria, ya que cada fabricante intenta diferenciarse del resto mediante el desarrollo de tecnologías y protocolos propietarios que sólo ellos pueden fabricar y distribuir, con lo que a menudo existen varias tecnologías orientadas a un mismo tipo de aplicaciones. Por tanto, resulta importante poder ser capaces de disponer de suficiente información acerca de los diferentes fabricantes y sus tecnologías para instalar los sistemas óptimos en cada uno de los diferentes niveles de la automatización de procesos industriales.

Desde siempre, el hombre ha intentado hacer su vida más fácil y cómoda. Para ello, a lo largo de la historia ha construido infinidad de aparatos capaces de facilitar las tareas habituales o permitir realizar trabajos nunca antes conseguidos debido a las limitaciones existentes. Este fenómeno es lo que podemos llamar la “evolución tecnológica” y que en estos últimos siglos ha sido espectacular si comparamos con etapas anteriores. Una posible definición de automatización industrial es: 

“El conjunto de técnicas basadas en sistemas capaces de recibir información del medio, sobre el cual actúan y se realizan acciones de análisis, organización y control, con el fin de optimizar los recursos productivos: mecánicos, materiales y humanos”

Hasta el siglo XX, el desarrollo tecnológico había venido de la mano de la revolución industrial en la que los sistemas mecánicos eran piezas clave para la industria y el desarrollo de los procesos industriales. Pero es en el siglo XX cuando los sistemas de automatización surgen con más fuerza, potenciados por los sistemas eléctricos basados en relés electromagnéticos en la primera mitad del siglo y de los sistemas electrónicos de estado sólido en su segunda mitad. Así, además de sus objetivos iniciales, el concepto de automatización se extiende a la mejora de producción y calidad, disminución de riesgos laborales, disminución de costes, etc.

Los trabajos realizados en el siglo XVIII en el campo de la electricidad y electromagnetismo desde Charles Coulomb y Benjamín Franklin permitieron que William Sturgeon inventara en 1824 la primera bobina, al comprobar que se inducía un campo magnético en el núcleo de ferrita al que se le había enrollado un cable por el que se hacía pasar una corriente. Pero es a Joseph Henry (foto) a quien se le atribuye el primer relé electromagnético conocido, cuyo dispositivo jugó un papel muy importante en el desarrollo del telégrafo, y posteriormente en el desarrollo de numerosos dispositivos eléctricos en general y en la automatización industrial en particular.

La aparición de los autómatas programables marcó un cambio en la industria de ensamblaje y líneas de producción. El concepto de línea de producción automatizada apareció entonces en la historia de la humanidad como un hecho real. Este pequeño aparato permitió que los procesos industriales fuesen desde entonces más eficientes, precisos, y lo que es mas importante, reprogramables, eliminando el gran costo que se producía al reemplazar el complejo sistema de control basado en relés y contactores, tanto por tamaño como vida útil.En un contexto industrial moderno, se puede definir la automatización como:

“Una tecnología que está relacionada con el empleo de sistemas mecánicos-eléctricos basados en computadoras para la operación y control de la producción”

Pero la mejora en los procesos de automatización viene hoy en día de la mano de las redes de comunicación. La intercomunicación de sistemas y procesos industriales no es un concepto nuevo, pues es ampliamente conocido el uso de sistemas como IEEE-488 y RS485/422 que durante más de 20 años han sido capaces de ofrecer los requerimientos necesarios en las instalaciones de baja y media complejidad en cuanto a las capacidades de intercomunicación se refiere. Este tipo de enlaces entre sistemas se ha empleado esencialmente para equipos de instrumentación y sistemas de automatización donde es necesaria una baja tasa de transferencia de datos entre equipos, pero que en gran número de casos hoy en día ya no puede responder a las necesidades de intercomunicación entre dispositivos que se demandan. Por ello, redes de comunicación como Ethernet han conseguido ser indispensables en un entorno de trabajo donde cada día es más necesaria la integración global. Por otro lado, en la actualidad se ha aproximado al mundo de los autómatas programables una serie de técnicos muy formados en el mundo de la electrónica, la informática y los microprocesadores, pero con poca experiencia en el diseño de sistemas de control y un cierto desconocimiento de las condiciones de entorno en las que debe operar un sistema de control industrial. Para este tipo de técnicos el diseño basado en un ordenador de procesos resulta fácil hasta que llegan a la interfaz con el proceso o la integración en el sistema de los captadores y accionamientos de potencia, para los cuales ciertamente los ordenadores normales no están preparados. De cualquier modo, cada vez más, los ordenadores y los autómatas se entremezclan en sus funciones, pero no tiene sentido plantearse la disyuntiva "Autómata u Ordenador de Proceso", sino que tanto el autómata como el ordenador son piezas de un conjunto superior que los engloba donde se mezclan y se combinan los  ordenadores, los controles numéricos, los robots y los propios autómatas, desempeñando cada uno ciertas funciones para las que están especialmente dotados y donde es necesaria la presencia de personal con conocimientos en un amplio número de campos como son la programación bajo PC, programación de autómatas programables, instalación y configuración de redes de comunicación,  instalación y selección de actuadores y sensores (pasivos e inteligentes), planificación e identificación de elementos a implantar, etc.
Describiendo diversos términos habitualmente empleados, podemos definir:
  • Producir: Fabricar, elaborar cosas útiles.
  • Producción: Suma de los productos del suelo o de la industria.
  • Manufacturar: Fabricar con medios mecánicos. De un modo más general, el Consorcio Internacional para la Manufactura Avanzada lo define como una serie de actividades interrelacionadas que involucra el diseño y concepción del producto, selección de materiales, planificación, producción, aseguramiento de la calidad, gestión y marketing de mercancías y productos.
  • Fabricar: Elaborar, producir objetos en serie, generalmente por medios mecánicos.
En este contexto, a pesar de que ambos términos a veces se mezclan, producir se refiere a un proceso concreto de creación o transformación de materias primas para obtener un producto con características diferentes a las de las materias primas de las que se origina. En cambio, fabricar (o manufacturar) es un concepto más amplio que involucra diversos aspectos relacionados con la creación de un producto y que entre ellos incluye la producción del mismo. Por tanto, los sistemas de automatización industrial y su funcionamiento distribuido forman parte de un concepto de mayor entidad encaminado a la optimización global de una fábrica mediante la mejora de los procesos de fabricación, la reducción de costes, incremento en la calidad, mejora de la eficiencia, mayor flexibilidad en los procesos de producción y, en general, todos aquellos factores que permitan adaptarse de manera eficiente a las necesidades del mercado al que está orientado el producto. Todo esto sin perder de vista los principales objetivos de cualquier empresa: ser competitivo, crecer y aumentar las ganancias. Para conseguir estos objetivos, es necesario tener en cuenta los siguientes factores:
  • Bajo coste de producción
  • Buen diseño de producto
  • Altos niveles de calidad con bajo factor de rechazo
  • Tiempos de entrega cortos y a tiempo (acorde al plazo comprometido)
  • Bajo tiempo de desarrollo de nuevo producto
  • Flexibilidad para la admisión de pedidos particularizados
  • Flexibilidad en el volumen de producción

Alfredo Rosado Muñoz
http://www.uv.es/~rosado
rosado@uv.es

lunes, 5 de julio de 2010

Nota Técnica 1 - IEC 61131-3: Parte II - Un recurso de programación estándar

Gráfico Funcional Secuencial (SFC)

El SFC describe gráficamente el comportamiento secuencial de un programa de control. Esta definición deriva de las Redes de Petri y Grafcet (IEC 848), con las modificaciones adecuadas para convertir las representaciones de una norma de documentación en un conjunto de elementos de control de ejecución para una POU de un autómata programable.


SFC ayuda a estructurar la organización interna de un programa, y a descomponer un problema en partes manejables, manteniendo simultáneamente una visión global. Los elementos del SFC proporcionan un medio para subdividir una POU de un autómata programable en un conjunto de etapas y transiciones interconectadas por medio de enlaces directos. Cada etapa lleva asociados un conjunto bloques de acción y a cada transición va asociada una condición de transición que cuando se cumple, causa la desactivación de la etapa anterior a la transición y la activación de la siguiente. Los bloques de acción permiten realizar el control del proceso. Cada elemento puede ser programado en alguno de los lenguajes IEC, incluyéndose el propio SFC. Dado que los elementos del SFC requieren almacenar información, las únicas POU´s que se pueden estructurar utilizando estos elementos son los bloques funcionales y los programas.

Se pueden usar secuencias alternativas y paralelas, comúnmente utilizadas en muchas aplicaciones. Debido a su estructura general, de sencilla comprensión, SFC permite la transmisión de información entre distintas personas con distintos niveles de preparación y responsabilidad dentro de la empresa.

Lenguajes de Programación 

Se definen cuatro lenguajes de programación normalizados. Esto significa que su sintaxis y semántica ha sido definida, no permitiendo particularidades distintivas (dialectos). Una vez aprendidos se podrá usar una amplia variedad de sistemas basados en esta norma.

Los lenguajes consisten en dos de tipo literal y dos de tipo gráfico:

Literales: 
  • Lista de instrucciones (IL). 
  • Texto estructurado (ST). 
Gráficos: 
  • Diagrama de contactos (LD). 
  • Diagrama de bloques funcionales (FBD)

En la figura superior, los cuatro programas describen la misma acción. La elección del lenguaje de programación depende de:
  • Los conocimientos del programador, 
  • El problema a tratar, 
  • El nivel de descripción del proceso,
  • La estructura del sistema de control,
  • La coordinación con otras personas o departamentos.
Los cuatros lenguajes están interrelacionados y permiten su empleo para resolver conjuntamente un problema común según la experiencia del usuario.

El Diagrama de contactos (LD) tiene sus orígenes en los Estados Unidos. Está basado en la presentación gráfica de la lógica de relés. 
La Lista de Instrucciones (IL) es el modelo de lenguaje ensamblador basado un acumulador simple; procede del alemán ´Anweisungliste, AWL.
El Diagramas de Bloques Funcionales (FBD) es muy común en aplicaciones que implican flujo de información o datos entre componentes de control. Las funciones y bloques funcionales aparecen como circuitos integrados y es ampliamente utilizado en Europa. 
El lenguaje Texto estructurado (ST) es un lenguaje de alto nivel con orígenes en el Ada, Pascal y ´C´; puede ser utilizado para codificar expresiones complejas e instrucciones anidadas; este lenguaje dispone de estructuras para bucles (REPEAT-UNTIL;WHILE-DO), ejecución condicional (IF-THEN-ELSE; CASE), funciones (SQRT, SIN, etc.).

Top-down vs. Bottom-up



La norma también permite dos formas de desarrollar tu programa de control , de arriba a abajo (Top-down) y de abajo a arriba (bottom-up). Puedes especificar inicialmente la aplicación completa y dividirla en partes, declarar las variables y demás. También puedes comenzar la programación desde abajo, por ejemplo, por medio de funciones y bloque funcionales. Por cualquiera de los caminos que elijas, IEC 61131-3 te ayudará durante todo el proceso.


Implementaciones
Cumplir todos los requerimientos de la norma IEC 61131-3 no es fácil, por eso se permiten implementaciones parciales en varios aspectos. Esto hace referencia al número de lenguajes que soportan las herramientas de desarrollo disponibles, y al número de funciones y de bloques funcionales. Con ello se deja libertad al suministrador, pero el usuario debe tener cuidado durante el proceso de selección de la herramienta adecuada. Incluso una actualización del software puede dar lugar a un nivel muy alto de trabajo durante la implementación.

Muchos entornos de programación IEC actuales ofrecen aquello que se espera a nivel de interface de usuario: uso de ratón, menús desplegables, pantallas de programación gráfica, múltiples ventanas, ayuda en línea, verificación durante el diseño, etc. Debe hacerse notar que estos detalles no están especificados en la norma por lo que es una de las partes donde los proveedores pueden diferenciarse.

Conclusiones
Las implicaciones técnicas de la norma IEC 61131-3 son altas, dejando bastante espacio para el crecimiento y la diferenciación. Esto la hace adecuada para entrar óptimamente en el próximo siglo.

La norma IEC 61131-3 tendrá un gran impacto en el mundo del control industrial y éste no se restringe al mercado convencional de los PLC´s. Ahora mismo, se pueden ver adoptada en aplicaciones para control de movimiento, sistemas distribuidos y sistemas de control basados en PC (SoftPLC), incluyendo los paquetes SCADA. Y las áreas de su utilización siguen creciendo.

El uso de IEC 61131-3 proporciona numerosos beneficios para usuarios/programadores. Los beneficios de la adopción de este estándar son varios, dependiendo de las áreas de aplicación: control de procesos, integrador de sistemas, educación, programación, mantenimiento, instalación, etc. Vamos a nombrar sólo algunos de estos beneficios:
  • Se reduce el gasto en recursos humanos, formación, mantenimiento y consultoría.
  • Evita las fuentes habituales de problemas por el alto nivel de flexibilidad y reusabilidad del software.
  • Las técnicas de programación son utilizables en amplios sectores (control industrial en general).
  • Combinan adecuadamente diferentes elementos que pueden provenir de diferentes fabricantes, programas, proyectos...
  • Incrementa la conectividad y comunicación entre los distintos departamentos y compañías.
El estándar IEC 61131-3 es una realidad en papel. Ahora los usuarios que aprecian los beneficios del estándar deben demandar productos que cubran sus necesidades, de modo que las empresas proveedoras puedan amortizar los gastos de desarrollo de las herramientas adecuadas: ´el problema del huevo y la gallina´.


Área de Ingeniería de Sistemas y Automática
Universidad de Oviedo
Campus de Viesques s/n
33204 - Gijón
España

miércoles, 16 de junio de 2010

Nota Técnica 1 - IEC 61131-3: Parte I - Un recurso de programación estándar

En la actualidad aún siguen persistiendo sistemas de control específicos del fabricante, con programación dependiente y conexión compleja entre distintos sistemas de control. Esto significa para el usuario costos elevados, escasa flexibilidad y falta de normalización en las soluciones al control industrial.
IEC 61131 es el primer paso en la estandarización de los autómatas programables y sus periféricos, incluyendo los lenguajes de programación que se deben utilizar. Esta norma se divide en cinco partes:
  1. Parte 1: Vista general.
  2. Parte 2: Hardware.
  3. Parte 3: Lenguaje de programación.
  4. Parte 4: Guías de usuario.
  5. Parte 5: Comunicación.
La Norma IEC 61131-3 pretende es la base real para estandarizar los lenguajes de programación en la automatización industrial, haciendo el trabajo independiente de cualquier compañía. Hay muchas maneras de describir el trabajo desarrollado en la tercera parte de esta norma, indicaremos algunas de ellas son:
  1. IEC 61131-3 es el resultado del gran esfuerzo realizado por 7 multinacionales a los que se añaden muchos años de experiencia en el campo de la automatización industrial
  2. Incluye 200 páginas de texto aproximadamente, con mas de 60 tablas. 
  3. IEC 61131-3 son las especificaciones de la sintaxis y semántica de un lenguaje de programación, incluyendo el modelo de software y la estructura del lenguaje.
Otra visión distinta es dividir el estándar en dos partes::
  1. Elementos comunes.
  2. Lenguajes de programación.


Elementos Comunes
Tipos de datos

Dentro de los elementos comunes, se definen los tipos de datos. Los tipos de datos previenen de errores en una fase inicial, como por ejemplo la división de un dato tipo fecha por un número entero. Los tipos comunes de datos son: variables booleanas, número entero, número real, byte y palabra, pero también fechas, horas del día y cadenas (strings).
Basado en estos tipos de datos, el usuario puede definir sus propios tipos de datos, conocidos como tipos de datos derivados. De este modo, se puede definir por ejemplo un canal de entrada analógica como un tipo de dato.

Variables 
Las variables permiten identificar los objetos de datos cuyos contenidos pueden cambiar, por ejemplo, los datos asociados a entradas, salidas o a la memoria del autómata programable. Una variable se puede declarar como uno de los tipos de datos elementales definidos o como uno de los tipos de datos derivados. De este modo se crea un alto nivel de independencia con el hardware, favoreciendo la reusabilidad del software.
La extensión de las variables está normalmente limitada a la unidad de organización en la cual han sido declaradas como locales. Esto significa que sus nombres pueden ser reutilizados en otras partes sin conflictos, eliminando una frecuente fuente de errores. Si las variables deben tener una extensión global, han de ser declaradas como globales utilizando la palabra reservada VAR_GLOBAL.
Pueden ser asignados parámetros y valores iniciales que se restablecen al inicio, para obtener la configuración inicial correcta.

Configuración, Recursos y Tareas
Para entender ésto mejor, vamos a ver el modelo de software, que define IEC 61131-3 (ver figura 2).



Al más alto nivel, el elemento software requerido para solucionar un problema de control particular puede ser formulado como una configuración. Una configuración es específica para un tipo de sistema de control, incluyendo las características del hardware: procesadores, direccionamiento de la memoria para los canales de I/O y otras capacidades del sistema. 

Dentro de una configuración, se pueden definir uno o más recursos. Se puede entender el recurso como un procesador capaz de ejecutar programas IEC. 

Con un recurso, pueden estar definidas una o más tareas. Las tareas controlan la ejecución de un conjunto de programas y/o bloques de función. Cada una de ellos puede ser ejecutado periódicamente o por una señal de disparo especificada, como el cambio de estado de una variable. 

Los programas están diseñados a partir de un diferente número de elementos de software, escrito en algunos de los distintos lenguajes definidos en IEC 61131-3. Típicamente, un programa es una interacción de Funciones y Bloques Funcionales, con capacidad para intercambiar datos. Funciones y bloques funcionales son las partes básicas de construcción de un programa, que contienen una declaración de datos y variables y un conjunto de instrucciones.. 

Comparado esto con un PLC convencional, éste contiene un solo recurso, ejecutando una tarea que controla un único programa de manera cíclica. IEC 61131-3 incluye la posibilidad de disponer de estructuras más complejas. El futuro que incluye multi-procesamiento y gestión de programas por eventos, observar simplemente las características de los sistemas distribuidos o los sistemas de control de tiempo real. IEC 61131-3 está disponible para un amplio rango de aplicaciones, sin tener que conocer otros lenguajes de programación adicionales. 

Unidades de Organización de Programa 
Dentro de IEC 1131-3, los programas, bloques Funcionales y funciones se denominan Unidades de Organización de Programas, POU´s. 

Funciones 
IEC 61131-3 especifica funciones estándar y funciones definidas por usuario. Las funciones estándar son por ejemplo ADD (suma), ABS (valor absoluto), SQRT (raíz cuadrada), SIN (seno), y COS (coseno). Las funciones definidas por usuario, una vez implementadas pueden ser usadas indefinidamente en cualquier POU. 

Las funciones no pueden contener ninguna información de estado interno, es decir, que la invocación de una función con los mismos argumentos (parámetros de entrada) debe suministrar siempre el mismo valor (salida). 
Bloques Funcionales, FB´s Los bloques funcionales son los equivalentes de los circuitos integrados, IC´s, que representan funciones de control especializadas. Los FB´s contienen tanto datos como instrucciones, y además pueden guardar los valores de las variables (que es una de las diferencias con las funciones). Tienen un interfaz de entradas y salidas bien definido y un código interno oculto, como un circuito integrado o una caja negra. De este modo, establecen una clara separación entre los diferentes niveles de programadores, o el personal de mantenimiento. Un lazo de control de temperatura, PID, es un excelente ejemplo de bloque funcional. Una vez definido, puede ser usado una y otra vez, en el mismo programa, en diferentes programas o en distintos proyectos. Esto lo hace altamente reutilizable.

Los bloques funcionales pueden ser escritos por el usuario en alguno de los lenguajes de la norma IEC, pero también existen FB´s estándar (biestables, detección de flancos, contadores, temporizadores, etc.). Existe la posibilidad de ser llamados múltiples veces creando copias del bloque funcional que se denominan instancias. Cada instancia llevará asociado un identificador y una estructura de datos que contenga sus variables de salida e internas.

Programas
Los programas son “un conjunto lógico de todos los elementos y construcciones del lenguaje de programación que son necesarios para el tratamiento de señal previsto que se requiere para el control de una máquina o proceso mediante el sistema de autómata programable”. Un programa puede contener, aparte de la declaración de tipos de datos, variables y su código interno, distintas instancias de funciones y bloques funcionales.

Fin de la entrega I




Área de Ingeniería de Sistemas y Automática
Universidad de Oviedo
Campus de Viesques s/n
33204 - Gijón
España