Cauces segmentados y pipelines

La segmentación es hoy en día es la técnica básica para conseguir aumentar las prestaciones de un procesador o de un sistema informático en general de manera completamente transparente al usuario.

Se trata de una técnica de implementación que permite solapar en el tiempo la ejecución de varias instrucciones o tareas. La idea en la que se basa esta técnica es la de una cadena de montaje industrial: se dividen las instrucciones o tareas en diferentes etapas y a cada una de estas etapas le corresponden unos recursos diferentes dentro del sistema, por lo que se pueden ejecutar al mismo tiempo. Siguiendo con la idea de una cadena de montaje, el objetivo del diseñador es equilibrar las etapas en las que se divide una instrucción o tarea para que todas duren más o menos el mismo tiempo. De esta manera todas las etapas están listas para empezar al mismo tiempo y no tienen que esperar unas por otras.

Con esta técnica se consigue aprovechar mucho mejor todo el hardware disponible en el procesador o en el sistema. La productividad (número de instrucciones o tareas que se terminan por segundo) del sistema aumenta aunque la latencia (tiempo de ejecución de una instrucción o tarea) también aumenta ligeramente debido a la gestión extra que hay que hacer de los recursos para que puedan utilizarse en paralelo.

Y hay que tener en cuenta que el ciclo de reloj del sistema vendrá fijado por la duración de las etapas. Como todas tienen que durar lo mismo (normalmente 1 ciclo), estará limitado por la etapa más lenta.

Cuando hoy en día se habla de un pipeline o de un cauce segmentado, esto nos indica que se trata de un sistema en el que se está utilizando esta técnica de optimización, que es básica en el diseño de sistemas. Por ejemplo, todos los procesadores de PC, portátil, videconsolas o servidores actuales son segmentados.


Applicom. Soluciones Comunicación Industrial

La empresa Woodhead está presente en el mercado a través de 3 marcas principalmente:
  • Applicom: Tarjetas Inteligentes y Gateways Avanzados.
  • SST: Tarjetas de PC´s para dispositivos Allen Bradley (solución muy extendida en EEUU).
  • Direct Link: Tarjetas "No Inteligentes" y Gateways simples.

En esta entrada profundizaremos en las soluciones Applicom. Applicom provee tarjetas que se pueden conectar al PC con diferentes interfaces. Por supuesto, con PCI en casi todos los modelo de tarjeta, pero también con USB, PCMCIA, Compact PCI, PC/104 e incluso ISA y VME para mantener la compatibilidad con sistemas antiguos.

Podemos encontrar tarjetas que nos permitan comunicarnos con diferentes protocolos de comunicaciones y medios físicos:

- Buses serie (puerto serie: RS232).

- Profibus: Con buses que pueden seguir distintos protocolos dependiendo de la serie del PLC de Siemens.

- Ethernet.

- CanOpen.

- ModBus Plus.

- DeviceNet.

- Data Highway Plus.

m
Cada tarjeta incorpora, hardware (la tarjeta propiamente dicha) y software (los drivers y controladores instalados en el PC).

Funcionalidades del hardware.

  • Capaz de enlazar con cuatro protocolos de comunicaciones a la vez.
  • Incorpora un buffer de hasta 32Kb para almacenamiento de información.
  • Coprocesador que libera parcialmente al procesador del PC de las tareas de comunicación con campo.


Funcionalidades del software.

  • Incluye los DA Servers/IO Servers de Wonderware.
  • Incluye el protocolo WW Suitelink para comunicar con aplicaciones Wonderware (los IO con InTouch por ejemplo).
  • Incorpora un OPC Server.
  • Posibilidad de realizar Redundancia incorporando dos tarjetas a través del OPC Server.
  • ActiveX Control y un DLL para facilitar la programación de herramientas .


¿Cuándo utilizar Applicom?

  • Cuando se gestionen aplicaciones de más de 5.000 entradas y salidas.
  • Cuando la latencia de las operaciones sea muy exigente (ejemplo: recogida de más de 500 bits por segundo).
  • Para conectarse con SCADAS.
  • Cuando se requiera redundancia a nivel comunicaciones.

Para más información:
http://www.woodhead.com/aboutus/productlines/applicom/

Portafolio de Servicios de Valor Añadido

Debido a la demanda que se ha producido por parte de algunos de nuestros lectores habituales, redindustria ha decidido ofreceros servicios de Valor Añadido relacionados con dos aspectos fundamentales: Consultoría y Formación. Por supuesto podéis dirigiros a nosotros para que os ayudemos con los temas que se tratan en las distintas entradas de nuestro Blog. Es decir, resumiendo, con Gestión Industrial y Aplicaciones de Tiempo Real.
m
A continuación os ponemos algunos ejemplos de intervenciones que ya hemos llevado a cabo:
  • Propuesta de nueva línea de negocio para una empresa consultora que desea introducirse en las aplicaciones de Tiempo Real en la empresa (ZLE).
  • Formación de una jornada de duración acerca de soluciones MES en una escuela de negocio.
  • Realización de dossier informativo acerca de protocolos de comunicación en planta.
  • Diagnóstico de las capacidades hardware de un sistema en el que desea implantarse una aplicación de Tiempo Real.
  • Participación en un master de nuevas tecnologías con una asignatura de 40 horas en Introducción a la Simulación.
  • Organización e impartición de un workshop acerca del estado actual de la tecnología para el Sector Aguas.
  • Escritura de un artículo para una revista especializada sobre Tiempo Real y Arquitecturas Distribuidas.
  • Desarrollo de un plan director MES.

Como podéis observar, aunque se trata de profundizar en los temas que solemos abordar en este blog, los servicios que ofrecemos son muy variados e intentamos que respondan siempre de manera personalizada a vuestras necesidades concretas. Para más información acerca de nuestras actividades y tarifas, podéis localizarnos con nuestra información de contacto.


Email: redindustria@gmail.com

Teléfono: 606415104

Bits, bytes y señales

Hoy, conceptos muy básicos pero que a lo mejor a alguien le aclaran alguna duda:
  • Un bit= puede tomar el valor 0 ó 1.
  • Un byte=8 bits.
  • Una palabra=depende del sistema, 32 ó 64 bits en los procesadores de PCs.
  • Un número entero en un PC=32 bits.
  • Un número en coma flotante en un PC=32 bits en precisión simple y 64 bits en precisión doble.
Supongamos que tenemos la típica señal que nos indica si una puerta está abierta o cerrada. Esta señal S vale 0 si la puerta está cerrada y 1 si la puerta está abierta. Ahora supongamos que tenemos que supervisar 20 puertas y que tengo señales entre S1 y S20.

Tengo varias opciones:

  • Utilizo una variable entera en el PC para almacenar y gestionar cada señal. Es decir, "gasto" 20 variables en el PC para las 20 puertas. Tengo una variable S1 con el valor 0 ó 1 almacenado en 32 bits, una variable S2 con el valor de la señal S2 y así sucesivamente.
  • Utilizo una única variable entera en el PC para almacenar y gestionar todas las señales juntas. Como sólo necesito 1 bit para cada puerta, si agrupo todas las señales basta con 20 bits. Así sólo tengo una variable Puertas en el PC, cuyo valor obtengo concatenando todos los valores de S1 a S20 y rellenando los 12 bits que sobran con ceros.

¿Cuáles son las ventajas e inconvenientes de estas dos alternativas?. En el primer caso está claro que la implementación es más intuitiva: 1 señal=1 variable. Pero claro, a cambio desaprovechamos muchos recursos, ya que malgastamos 31 de bits de cada variable, nos bastaría sólo con utilizar 1 bit. Y además, si el software que utilizamos nos limita el número de variables que podemos definir o del que podemos almacenar históricos, etc, no estamos siendo muy eficientes, no?.

En la segunda alternativa sólo "gastamos" una variable y aprovechamos mucho más los recursos del PC. Pero a cambio, tenemos que gestionar la codificación y decodificación de la variable que hemos llamado Puertas. Si por ejemplo quiero saber si la puerta 3 está abierta, con la primera alternativa es automático mientras que con la segunda tengo que utilizar un filtro para deducirlo. Así que la programación y el acceso a la informació se complican bastante.


Secuenciacion de Operaciones. Terminologia

Como continuacion de esta entrada, acerca de Forward y Backward Scheduling vamos a analizar algunos terminos que se utilizan dentro del ambito de la planificacion o secuenciacion de operaciones.
m
Carga Infinita:
  • Significa que los Centros de Trabajo disponen siempre de suficiente Capacidad Disponible. No se considera el impacto que tienen las ordenes de fabricacion en el sistema.

Carga Finita:

Operation Overlapping:

  • La siguiente operacion puede ser iniciada antes de que la actual finalice el lote de produccion. Esto permite reducir el Manufacturing Lead Time MLT e implica determinar tamanos de sublotes.

Operation Splitting:

  • Tambien se utiliza para reducir el MLT. Implica que una orden de fabricacion se divide en dos, y se ejecuta en dos centros de trabajo al mismo tiempo. Se debe tener en cuenta que esto incrementa algo el Set Up Time, pero el Run Time se disminuye a la mitad.


Bottlenecks:

  • Se producen cuellos de botella cuando se ha realizado una sobrecarga en algun centro de trabajo, o lo que es lo mismo, la carga de trabajo supera la capacidad disponible del centro de trabajo.

Throughput:

  • Es el total de producto que genera un Centro de Trabajo. Los cuellos de botella determinan el maximo Throughput. La carga se calculara teniendo en cuenta la capacidad maxima del equipo determinado como cuello de botella.
  • Ejem: En una linea de llenado, la capacidad maxima de la linea vendra determinada por la velocidad nominal (es decir por el Throughput) que genera el centro de trabajo de menor capacidad.

En proximas entradas entraremos en detalle acerca de la gestion de los Cuellos de Botella.