Vista previa del material en texto
INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS MONTERREY PROGRAMA DE GRADUADOS EN MECATRÓNICA Y TECNOLOGÍAS DE INFORMACIÓN ESTUDIO EXPERIMENTAL DEL QoP DEL CONTROLADOR DE UN NCS BASADO EN CAN T E S I S PRESENTADA COMO REQUISITO PARCIAL PARA OBTENER EL GRADO ACADÉMICO DE: MAESTRO EN CIENCIAS CON ESPECIALIDAD EN AUTOMATIZACIÓN POR JOSÉ RODRIGO TÁGER PENADOS MONTERREY, N.L. DICIEMBRE DEL 2007 INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS MONTERREY DIVISIÓN DE MECATRÓNICA Y TECNOLOGÍAS DE INFORMACIÓN PROGRAMA DE GRADUADOS EN MECATRÓNICA Y TECNOLOGÍAS DE INFORMACIÓN Los miembros del comité de tesis recomendamos que el presente proyecto de tesis presentado por el Ing. José Rodrigo Táger Penados sea aceptado como requisito parcial para obtener el grado académico de: MAESTRO EN CIENCIAS CON ESPECIALIDAD EN AUTOMATIZACIÓN Comité de Tesis: Dr. Ricardo A. Ramírez Mendoza Asesor Dr. Rubén Morales Menéndez M.C. Artemio Aguilar Coutiño Sinodal Sinodal APROBADO Dr. Graciano Dieck Assad Director del Programa de Graduados en Mecatrónica y Tecnologías de Información Diciembre del 2007 ESTUDIO EXPERIMENTAL DEL QoP DEL CONTROLADOR DE UN NCS BASADO EN CAN POR: JOSÉ RODRIGO TÁGER PENADOS T E S I S Presentada al Programa de Graduados en Mecatrónica y Tecnologías de Información Este trabajo es requisito parcial para obtener el grado de Maestro en Ciencias con Especialidad en Automatización INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY Diciembre del 2007 A mis papás: Emilio y Anabella. A mis hermanos y hermanas: Carlos, Emilio, Pablo, Alenka y Claudia. A mis abuelos: Emilio, Magdalena, Julio y Any. Agradecimientos Agradezco al Tecnológico de Monterrey ya que a través de su programa de becas pude realizar mis estudios de profesional y posgrado. Han sido 6 años de formación académica de excelencia con visión humanística y de competitividad internacional. Quiero agradecer a mi asesor, el Dr. Ricardo Ramírez, por haberme permitido trabajar en el Laboratorio de Autotrónica y por sus consejos para el desarrollo de esta tesis. Asimismo, agradezco a mis sinodales, el Dr. Rubén Morales y el M.C. Artemio Aguilar, por el tiempo dedicado a la revisión de este proyecto. A mis amigos de la maestría, Jorge Estuardo Castillo, Juan Antonio Balandrán, Adrián Caleb González, Carlos García, Jorge Treviño y Jaime López, les agradezco por el tiempo compartido dentro y fuera de las aulas. Gracias a ellos, las clases resultaron divertidas. Estoy agradecido también con los amigos con los que he compartido estos 6 años: Mario Quant, Álvaro Garnés, Eduardo y Gerardo Morales, Román y Emmanuel Sánchez, Jorge Rodríguez, Pablo Pérez, Ruthmaría Díaz, Fredimar y Fortino Carbajal, Edgar Vásquez, Abdi Esquivel. A todos ellos los conozco desde mis primeros semestres: cada aventura, cada personalidad, cada discusión sobre fútbol y demás, me hicieron una mejor persona. Quiero agradecer también a todas aquellas personas con las que compartí en mi formación profesional, a mis profesores y demás amigos. Por último, pero no menos importante, quiero darle gracias a mi familia quien desde muy lejos siempre me apoyó, pero sobretodo, siempre creyó en que podía lograrlo. CONTENIDO Contenido Lista de Símbolos……………………………………………………………… 8 1. Introducción……………………………………………………………...... 10 1.1 Descripción del problema…………………………………………………... 10 1.2 Antecedentes y Justificación………………………………………………... 11 1.3 Objetivos……………………………………………………………………. 12 1.4 Hipótesis de trabajo…………………………………………………………. 13 1.5 Metodología………………………………………………………………… 13 1.6 Organización………………………………………………………………... 13 2. Sistemas de control en red………………………………………………… 15 2.1 NCS básico………………………………………………………………….. 15 2.2 Limitantes y características de una red……………………………………... 16 2.2.1 Velocidad y ancho de banda de la red………………………………. 16 2.2.2 Retraso y jitter en la transmisión de un mensaje…………………… 17 2.2.3 Otros factores que afectan al QoS…………………………………... 18 2.2.4 Los protocolos de red……………………………………………….. 19 2.3 La red y su efecto en un NCS………………………………………………. 20 2.4 Redes para control…………………………………………………………... 22 2.5 La investigación en NCS……………………………………………………. 23 2.5.1 Estado del arte en el estudio de protocolos de red para NCS……….. 23 2.5.2 Estado del arte en el diseño de controladores digitales para NCS….. 26 3. Controller Area Network…………………………………………………. 28 3.1 Conceptos básicos…………………………………………………………... 28 3.2 La Trama CAN……………………………………………………………… 30 3.3 Tipos de tramas……………………………………………………………... 31 3.4 Proceso de Arbitraje………………………………………………………… 32 3.5 Manejo de los errores……………………………………………………….. 32 3.6 Consideraciones de la capa física…………………………………………… 33 3.7 CAN y su aplicación en los automóviles…………………………………… 34 4. Plataforma Experimental…………………………………………………. 37 4.1 Hardware……………………………………………………………………. 37 4.1.1 Descripción General………………………………………………… 37 4.1.2 Nodo CAN………………………………………………………….. 38 4.1.3 Tarjeta de comunicación USB MUX 4C2L………………………… 39 4.1.4 Maqueta Full CAN X3……………………………………………… 39 4.2 Software…………………………………………………………………...... 43 4.2.1 Programa base de cada nodo CAN…………………………………. 43 4.2.2 Nodo Proceso……………………………………………………….. 44 4.2.3 Nodo Controlador…………………………………………………... 54 4.2.4 Nodo Generador de Carga…………………………………………... 58 4.2.5 Aspectos prácticos de la comunicación……………………………... 61 CONTENIDO 5. Resultados Experimentales……………………………………………….. 62 5.1 Modelo de suspensión activa de un cuarto de vehículo…………………….. 62 5.2 Valores de operación………………………………………………………... 67 5.3 Diseño de Experimentos……………………………………………………. 68 5.4 Resultados de simulación…………………………………………………… 72 5.5 Resultados a baja velocidad (125 kbit/s)……………………………………. 74 5.6 Resultados a alta velocidad (500 kbit/s)……………………………………. 82 5.7 Análisis de resultados……………………………………………………….. 83 6. Conclusiones y Trabajos Futuros………………………………………… 87 6.1 Conclusiones…………………………………………………………........... 87 6.2 Trabajos Futuros……………………………………………………………. 88 Referencias Bibliográficas…………………………………………………….. 89 Apéndice A: Detallas sobre CAN……………………………………………... 93 A.1 Detalle de la estructura de una trama CAN………………………………… 93 A.2 Ejemplo del proceso de arbitraje en CAN………………………………….. 94 A.3 Descripción de los errores que se pueden presentar en CAN……………… 95 8 LISTA DE SÍMBOLOS Lista de Símbolos Símbolo Significado C Matriz de salida de dimensión m x n. cs Constante del amortiguador cus Constante de amortiguamiento de la llanta D Matriz de acople entrada – salida de dimensión m x r. EXi Señal de error para variable de estado i F Vector de perturbación de dimensión n. G Matriz de estado de dimensión n x n. H Matriz de entrada de dimensión n x r. J Índice de desempeño JXi Medida del QoP para variable de estado i k Índice de tiempo discreto K Ganancia de retroalimentación de dimensión r x n ks Constante elástica del resorte entre el chasis y la llanta kus Rigidez elástica de la llanta ms Masa suspendida mus Masa no suspendida P Matriz de solución de Riccati de dimensión n x n Q Matriz de peso para optimización de dimensión n x n R Matriz de peso para optimización de dimensión r x r r1 Parámetro 1 de ajuste de suspensión r2 Parámetro 2 de ajuste de suspensión r3 Parámetro 3 de ajuste de suspensión t TiempoT Tiempo de muestreo Tdelay Tiempo de retraso de transmisión Tpre Tiempo de preprocesamiento Twait Tiempo de espera para envío de mensaje Ttx Tiempo que toma a una trama viajar por el medio físico 9 LISTA DE SÍMBOLOS Tpost Tiempo de postprocesamiento τsc Tiempo de retraso de la señal del sensor al controlador τca Tiempo de retraso de la señal del controlador al actuador U Señal de control del actuador en modelo de suspensión u(t) Entrada del bloque actuador – proceso – sensor en un NCS u (k) Vector de entrada de dimensión r. )t(u Salida del controlador en un NCS w(k) Escalar que representa la perturbación. x (k) Vector de estado de dimensión n. y(t) Salida del bloque actuador – proceso – sensor en un NCS y (k) Vector de salida de dimensión m. )t(y Entrada del controlador en un NCS Zs(t) Desplazamiento de la masa suspendida Zus(t) Desplazamiento de la masa no suspendida Zo(t) Irregularidades del terreno 10 Capítulo 1 INTRODUCCIÓN 1. Introducción El gran avance que se ha logrado en los últimos años en el campo de los sistemas embebidos y las tecnologías de red ha dado lugar a una nueva área conocida como Sistemas de Control en Red (NCS por sus siglas en inglés). Este término se refiere a un tipo de sistema en el que los sensores, los actuadores y los elementos de cómputo (i.e. controladores) están conectados vía una red o algún otro tipo de medio compartido. Ello implica que la red pasa a ser un elemento del sistema de control y dadas las limitantes que posee (e.g. velocidad de transmisión, retraso en comunicación), hace que los problemas clásicos de la teoría de control (e.g. estabilización, estimación, regulación, optimización, robustez) tengan que ser reevaluados dando lugar a una amplia área de investigación [1]. El incorporar una red de comunicación en el lazo de control implica muchas ventajas. En primer lugar, al ya no existir conexiones punto a punto en los sistemas de control (i.e. se comparte ahora un mismo medio de comunicación), se reduce el volumen del cableado. Asimismo, se minimizan los puntos potenciales de falla por ruptura del canal de comunicación, lo que supone un incremento en la confiabilidad del sistema. Otras ventajas son que permite que se distribuya el procesamiento, incrementa la capacidad para detección de fallas y mantenimiento, mejora la intercambiabilidad e interoperabilidad de los dispositivos y aumenta la reconfigurabilidad de los sistemas de control [2]. 1.1 Descripción del problema La investigación en los NCSs se divide en dos áreas: protocolos de comunicación y diseño de controladores digitales. La primera busca analizar los distintos protocolos de red que existen, desde el punto de vista del parámetro calidad de servicio (QoS por sus siglas en inglés), y con ello determinar su factibilidad de implementación dentro de un lazo de control. Se busca que un protocolo específico cumpla con características de garantía de transferencia de mensajes y retraso de transmisión mínimo asegurando una calidad de desempeño del controlador (QoP por sus siglas en inglés) aceptable. En 11 Capítulo 1 INTRODUCCIÓN cuanto al diseño de controladores, se trata de un área de investigación en la que se proponen leyes de control que tomen en cuenta los efectos de la red en un NCS. Controller Area Network (CAN) es un protocolo de red propuesto por Robert Bosch con la intención de intercomunicar las distintas unidades de control del motor (ECU por sus siglas en inglés) dentro de los automóviles. Su bajo costo, robustez y sus diferentes mecanismos para detección de fallas lo han hecho lo suficientemente atractivo como para dominar el mercado automotriz e incursionar en otras áreas, como los sistemas de manufactura [3]. El presente trabajo de tesis es un estudio experimental del QoP del controlador para un NCS basado en CAN. El análisis se hace creando distintas condiciones de QoS a partir de tres variables: velocidad de transmisión, carga de la red y prioridad de los mensajes. Estos tres parámetros, para el caso específico de CAN, afectan directamente el retraso de transmisión y en consecuencia, al QoP del controlador del NCS. 1.2 Antecedentes y Justificación Existen diversos protocolos de red que han sido propuestos para control. Un estudio de comparación entre tres de los protocolos más utilizados en la industria es el que realiza [4]. En dicha investigación se analiza, ante dos casos de simulación y diversas condiciones, la eficiencia de la red, utilización y tiempo de retraso de transmisión de cada uno de los protocolos: Ethernet, DeviceNet (que está basado en CAN) y ControlNet. Dicho estudio arroja conclusiones acerca de las condiciones en las cuales cada protocolo garantiza un QoS aceptable para utilizarse en un NCS y además hace un análisis detallado de cada uno de los componentes del retraso de transmisión. [5] hace un análisis del QoP de un PID en un NCS. Nuevamente, el estudio se hace para Ehernet, DeviceNet y ControlNet. El proceso que se utiliza es una herramienta de máquina donde se controla el posicionamiento en tres ejes. El QoP es cuantificado utilizando criterios ITAE e IAE para distintas condiciones de red y haciendo énfasis en el efecto de la selección del tiempo de muestreo. Los resultados que obtiene marcan las condiciones de red y control para un QoP óptimo del PID para el proceso utilizado. 12 Capítulo 1 INTRODUCCIÓN Otro estudio del QoP de un PID para un NCS lo hace [6]. En dicho trabajo se hace una comparación del desempeño del controlador para dos protocolos de red: Ethernet y Switched Ethernet. La plataforma experimental supone como proceso un servomotor y el análisis se hace únicamente variando la carga de la red. El desempeño del PID se cuantifica a partir del sobretiro y del tiempo de establecimiento en lazo cerrado. Los mejores resultados que se obtienen son aquellos donde se utiliza Switched Ethernet ya que, dado el determinismo que supone debido a su condición de protocolo que utiliza multiplexaje por división en el tiempo, se ve poco afectado por la carga de red. Un estudio más completo de los antecedentes de este trabajo de investigación se presenta en el capítulo 2. Considerando que actualmente CAN es el protocolo más utilizado en el ámbito automotriz y que su uso se ha extendido a otros campos, es preciso realizar un análisis que mida el efecto que dicho protocolo supone en un lazo de control. Los resultados de tal estudio servirán para sentar las bases para trabajos futuros en el diseño de controladores para NCSs basados en CAN. 1.3 Objetivos Los objetivos de este trabajo de investigación son los siguientes: • Hacer un análisis del QoP de controlador para un NCS basado en CAN. Se pretende mostrar las condiciones de configuración de red (i.e. velocidad de transmisión, carga de la red y prioridad de mensaje) para las cuales se obtiene un QoP de controlador aceptable. • Desarrollar una plataforma experimental de NCSs basada en CAN. Esta plataforma debe ser de carácter general permitiendo especificar modelo del proceso, ley de control y configuración de la red. 13 Capítulo 1 INTRODUCCIÓN 1.4 Hipótesis de trabajo El QoP del controlador de un NCS basado en CAN se ve afectado por la configuración de red utilizada: velocidad de transmisión, carga de la red y prioridad de mensaje. Aquellas condiciones que impliquen un mayor tiempo de retraso de transmisión de mensajes entre los sensores, controladores y actuadores, afectarán negativamente al QoP del controlador y, en los casos más críticos, harán inestable al sistema. 1.5 Metodología El primer paso de este trabajo de investigación consistió en el diseño e implementación de la plataforma experimental.Se trata de un esquema básico de NCS en el que el bloque actuador – proceso – sensor se encuentra en un nodo de la red, mientras que el controlador en otro. Es una plataforma de carácter general donde el usuario tiene la posibilidad de ingresar el modelo del proceso a utilizar, la correspondiente ley de control, así como la configuración de red deseada. Para ser más real el problema, el NCS especificado se encuentra conectado a una maqueta que simula una red automotriz. El siguiente paso correspondió a la experimentación. Se trabajó como proceso un modelo de suspensión de un cuarto de vehículo y se utilizó control LQ basado en retroalimentación completa de estados. Se realizaron diversos experimentos ante distintas configuraciones de la red buscando variar el retraso de transmisión y con ello, el QoP del controlador. Una vez realizada la experimentación, se procedió a realizar su correspondiente análisis, se obtuvieron conclusiones al respecto y se propuso trabajos a futuro. 1.6 Organización En este capítulo se definió el problema de investigación, sus objetivos, la hipótesis y la metodología que se siguió. 14 Capítulo 1 INTRODUCCIÓN En el capítulo 2 se define el marco teórico de los sistemas de control en red. En él se explica los efectos que supone introducir la red en un lazo de control. Asimismo se hace una revisión del estado del arte de esta área de investigación. En el capítulo 3 se presenta las características, especificaciones y aplicaciones del protocolo CAN. En el capítulo 4 se hace una descripción detallada del diseño e implementación de la plataforma experimental. En el capítulo 5 se muestran los resultados experimentales que se obtuvieron. Asimismo, se definen las pruebas realizadas y se hace un análisis de ellas. Por último, en el capítulo 6 se presentan las conclusiones de este trabajo de investigación y se definen los trabajos a futuro. 15 Capítulo 2 SISTEMAS DE CONTROL EN RED 2. Sistemas de control en red Un sistema de control en red (NCS por sus siglas en inglés) es aquel en el que los sensores, actuadores, procesos y controladores comparten un mismo medio de comunicación. La red pasa a ser un elemento del sistema y sus efectos obligan el nacimiento de una nueva área de investigación [1]. En el presente capítulo se hace una descripción de los principios básicos de un NCS, los retos que se encuentran en su diseño y una revisión del estado del arte. 2.1 NCS básico La figura 2.1 muestra el diagrama a bloques de un Sistema de Control en Red básico. En dicha figura, y(t) ∈ Rn y u(t) ∈ Rm representan la salida y entrada del bloque actuador – proceso – sensor respectivamente. Por su parte )t(y y )t(u denotan la entrada y salida del controlador respectivamente. La comunicación entre ambas partes se da a través de una red con un protocolo específico (e.g. Ethernet, CAN, WiFi), en la cual pueden estar conectados uno o más sistemas de control. Figura 2.1 Diagrama a bloques de un NCS básico Las señales )t(y y )t(u en general difieren de y(t) y u(t) debido a la presencia de la red en el sistema de control. Dichos efectos, relacionados con las limitantes y características de un tipo específico de red, se detallan en el siguiente apartado. 16 Capítulo 2 SISTEMAS DE CONTROL EN RED 2.2 Limitantes y características de una red La función principal de una red es transmitir información de un nodo a otro. Su desempeño de operación se mide a través del parámetro conocido como Calidad del Servicio (QoS por sus siglas en inglés). Esta variable depende del protocolo específico de red utilizado y se debe tomar en cuenta en el diseño del NCS. El QoS está determinado principalmente por dos factores: velocidad y ancho de banda de la red, y el retraso y jitter en la transmisión de un mensaje. 2.2.1 Velocidad y ancho de banda de la red El ancho de banda de una red industrial está dado en términos del número de bits que se pueden transmitir por segundo. La velocidad se refiere al inverso de dicha tasa de transmisión (i.e. tiempo de transmisión de un bit). Sin embargo, se debe considerar que en una trama de mensaje, no todos los bits enviados representan información importante a ser procesada por el nodo destino: además de dicha información, una trama debe contener un encabezado donde de algún modo se encapsule la dirección del transmisor y del receptor, así como muchas veces se incluye algún checksum o algún otro dato que permita detectar errores. Debido a esto, existe el concepto de ancho de banda efectivo, que se refiere al número de bits “útiles” que se transmiten por segundo (i.e. quitando encabezados, bits de stuffing, checksum, etc.). Además, hay que tener en cuenta que entre el envío de una trama y otra, para poder distinguirlas, debe existir un tiempo mínimo conocido como interframe time y varía de acuerdo al protocolo de red. Por último, a lo anterior hay que sumarle el tiempo que se pierde cuando existen colisiones (si es que el protocolo lo permite) [4]. Para ilustrar lo anterior, considerar el siguiente ejemplo: para enviar un bit de datos a través de una red CAN a 500 kbit/s, se requieren 48 bits de mensaje (47 bits de la trama más uno por el interframe), lo que implica 96 μs; para enviar el mismo bit a través de una red Ethernet a 10 Mbit/s, se requieren 84 bytes de mensaje (64 bytes de la trama más 20 por el interframe), lo que implica 67.2 μs. De este modo, a pesar de que la tasa de transmisión bruta de Ethernet es 20 veces más grande que CAN, el tiempo de transmisión del mismo bit no es más que 30% menor [2]. 17 Capítulo 2 SISTEMAS DE CONTROL EN RED 2.2.2 Retraso y jitter en la transmisión de un mensaje El tiempo de retraso en una red se refiere al tiempo total que existe entre el momento en que un nodo desea enviar un mensaje, hasta el momento en que el nodo receptor lo recibe y decodifica. El jitter es el término acuñado a la variabilidad de dicho retraso. La figura 2.2 muestra el diagrama de tiempo que se sigue para enviar mensajes a través de una red entre dos nodos. El tiempo de retraso para comunicar un mensaje entre el nodo A y el nodo B, está dado por: posttxwaitpredelay TTTTT +++= (2.1) Este tiempo puede dividirse a su vez en tres partes: tiempo de retraso del nodo fuente (i.e. Tpre + Twait), tiempo de retraso del canal (i.e. Ttx) y tiempo de retraso del nodo destino (i.e.Tpost). Tpre se refiere al tiempo de preprocesamiento que necesita el nodo fuente para realizar el cómputo del dato y para encapsularlo (i.e. convertirlo en trama de acuerdo al protocolo de red utilizado). Si la red se encuentra ocupada (i.e. algún otro nodo está enviando un mensaje), se debe esperar entonces un tiempo Twait para enviar el mensaje. En cuanto al retraso del canal, Ttx es el tiempo que le toma al mensaje viajar por el medio físico (e.g. par trenzado, por medio inalámbrico, fibra óptica). Por último, en el nodo destino, antes de que éste puede utilizar el dato recibido, debe ocupar un tiempo Tpost para el postprocesamiento en donde se incluye la decodificación de la trama y el cómputo del dato. Figura 2.2 Diagrama de tiempo de la comunicación entre dos nodos en una red [2] 18 Capítulo 2 SISTEMAS DE CONTROL EN RED En cuanto a los tiempos de preprocesamiento (i.e. Tpre) y postprocesamiento (i.e. Tpro), hay que apuntar que en la mayoría de los casos se asume como constante y despreciable. Sin embargo, [2] apunta que en general eso no es cierto ya que varía de acuerdo al dispositivo utilizado (e.g. microcontrolador, DSP, PLC). Por esta razón, al momento de la selección de los componentes a utilizar en el diseño de una red industrial, es importante hacer una revisión de las especificaciones de tiempo.El tiempo de retraso del canal (i.e. Ttx) incluye el tiempo total de transmisión de un mensaje a través del medio y su tiempo de propagación. Se ve afectado por diversos factores: tamaño del mensaje, velocidad de transmisión y el largo del cable de red o distancia de separación entre los nodos. Para ilustrar esta situación, en el caso de Ethernet, utilizando un cable de 2500 metros el tiempo de propagación es de 25.6 μs [4]. De acuerdo a [2], el tiempo de espera (i.e. Twait) es el parámetro que más influye en la variabilidad del retraso (i.e. jitter). El Twait se debe a dos factores: el tiempo de cola, que se refiere al lapso que un mensaje debe esperar en el buffer del transmisor en caso de que tramas previas no se hayan enviado; y el tiempo de bloqueo, que se refiere al momento que la trama debe esperar a que la red se desocupe. De este modo, el Twait depende mayormente en el protocolo de red utilizado (e.g. Ethernet, CAN), en el tipo de conexión de mensaje (e.g. maestro – esclavo, consumidor – proveedor) y en la carga o tráfico de la red. 2.2.3 Otros factores que afectan al QoS Además del ancho de banda, velocidad de transmisión, el retraso y el jitter, el QoS se ve afectado por otros factores. Uno de ellos tiene que ver con la confiabilidad en la transmisión de datos. Algunos medios físicos de transmisión son más vulnerables que otros a la corrupción en los datos por interferencia electromagnética. Asimismo, algunos protocolos poseen mecanismos de detección de errores, mientras que otros no. El utilizar dichos procedimientos aumenta la confiabilidad de la red, pero al mismo tiempo disminuye el ancho de banda efectivo. 19 Capítulo 2 SISTEMAS DE CONTROL EN RED Otro factor a considerar en el QoS es el referente a la seguridad. Algunas redes pueden estar vulnerables al ataque de virus basados en internet. Por lo general, los buses industriales no fueron diseñados para ser altamente seguros por lo que se protegen únicamente por aislamiento físico. Sin embargo, existen algunos que utilizan técnicas sofisticadas de encriptamiento [2]. 2.2.4 Los protocolos de red Los distintos parámetros que afectan al QoS dependen del protocolo de red que se utiliza. Específicamente, la diferencia se encuentra en la subcapa MAC (de Medium Access Control) que es la que describe la forma en la que el protocolo obtiene el acceso a la red. Este factor afecta específicamente al Twait descrito anteriormente. En las redes utilizadas para control, existen tres tipos principales de MAC [2]: • Multiplexaje por división en el tiempo (TDM): Este tipo se puede implementar de dos modos: maestro – esclavo y por paso de token. En el caso del maestro – esclavo, los nodos esclavos pueden enviar datos a través de la red únicamente cuando el nodo maestro se los pide; por lo tanto, no existen colisiones ya que el maestro es quien se encarga de controlar el acceso. Por otro lado, en el caso del paso de token, el único nodo que puede enviar un mensaje a través de la red es el que posee el token en dicho momento; una vez que haya enviado su trama, o bien se le haya terminado el tiempo máximo de retención del token, debe pasar éste al nodo vecino. Este tipo de implementación resulta muy eficiente en carga alta, ya que no existen colisiones y ningún nodo monopoliza la red; sin embargo, en carga baja es ineficiente ya que se pierde tiempo en el paso del token. • Acceso aleatorio con prioridad para evitar colisiones: Cualquier nodo puede enviar un mensaje en el momento en que desee siempre y cuando la red se encuentre desocupada. Por dicha razón, antes de empezar a transmitir su trama, el nodo “escucha” la red y al detectar su inactividad, empieza a enviar el mensaje. En caso de que dos nodos quieran transmitir al mismo tiempo, existe un método de arbitraje por prioridad que evita que existan colisiones, de tal forma que el mensaje del nodo con mayor prioridad prevalece. 20 Capítulo 2 SISTEMAS DE CONTROL EN RED • Acceso aleatorio con retransmisión al momento de colisiones: Similar al anterior, con la diferencia que en éste, al existir colisiones (i.e. uno o más nodos quieren transmitir al mismo tiempo), los nodos dejan de transmitir y después de un tiempo aleatorio vuelven a intentar enviar su mensaje. De cada uno de éstos existen muchos ejemplos de protocolos. La tabla 2.1 muestra los más populares en la industria de acuerdo con [2]. En dicha tabla, RA significa acceso aleatorio; CD, detección de colisión; CA, evasión de colisión; AMP, arbitraje en la prioridad del mensaje; TDM, multiplexaje por división en el tiempo; TP, paso de token; MS, maestro esclavo. Tabla 2.1 Protocolos de red más populares en aplicaciones industriales [2] Protocolo de Red Tipo Usuarios Máxima Velocidad No. máximo de dispositivos Ethernet TCP / IP RA/CD 78% 1 Gb/s 1024 Modbus TDM/MS 48% 35 Mb/s 32 DeviceNet (CAN) RA/AMP 47% 500 kb/s 64 ControlNet TDM/TP 39% 5 Mb/s 99 WiFi RA/CA 35% 11 Mb/s ?? Modbus TCP TDM/MS 34% 1 Gb/s 256 PROFIBUS –DP TDM/MS y TP 27% 12 Mb/s 127 AS-I TDM/MS 17% 167 kb/s 31 Como se puede observar, existen muchos protocolos que son combinaciones de los tipos de MAC descritos. Además, la suma total de los usuarios da más del 100% ya que muchas compañías utilizan más de un tipo de red. 2.3 La red y su efecto en un NCS Incorporar la red en el sistema de control supone diversas consecuencias dada sus limitantes; entre ellas las más importantes son [1]: 21 Capítulo 2 SISTEMAS DE CONTROL EN RED • Retraso en la transmisión de la señales entre los componentes (e.g. del sensor al controlador; del controlador al actuador). Estos retrasos pueden ser constantes o variantes en el tiempo, determinísticos o estocásticos. • Posibilidad de que la información falle en alcanzar su destino o bien que llegue de forma errónea. Este tipo de situación se da mayormente en aquellos NCSs implementados con un protocolo de red con un sistema de detección de errores de pobre desempeño o nulo. • Cuellos de botella que ocurren en las situaciones donde existe alta carga de la red o bien que la tasa de transferencia de mensajes no es la adecuada. Además, se presenta esta situación cuando los elementos de cómputo (e.g. CPU, microcontrolador) no tienen el suficiente poder de cálculo para cumplir con los requerimientos de tiempo y diseño. La magnitud de estos efectos depende del QoS del protocolo de red utilizado. Hay que destacar que el efecto más notorio en un NCS es el referente al retraso que sufren la señales, ya que los otros dos efectos se ven contrarrestados con la selección de un protocolo de red robusto y seguro. De este modo, si se añade el efecto del retraso al NCS de la figura 2.1, se obtiene el NCS de la figura 2.3, donde τsc se refiere al retraso de la señal del sensor al controlador, mientras que τca corresponde al retraso del controlador al actuador. Este esquema de NCS es el que se encuentra como problema clásico de investigación y reto de diseño en esta área ya que el retraso en un lazo de control afecta en el desempeño de éste y en su estabilidad [1]. Figura 2.3 NCS que incorpora el efecto del retraso en la transmisión de las señales 22 Capítulo 2 SISTEMAS DE CONTROL EN RED 2.4 Redes para control Las redes de control son distintas a las redes de datos (e.g. internet). Estas últimas están caracterizadas por la transmisión de grandes paquetes de datos, alta velocidad y por lo general su desempeño no se ve afectado por el efecto del retraso en la transmisión. Por su parte, las redes que se utilizan para control sobresalen por la transmisión de tramas pequeñas (i.e. el campo de datos no es muy grande) a alta velocidad tratando de cumplir con criterios de tiempo críticos dado el efecto que el retraso supone en un lazo de control. Otro puntoa remarcar es que en un NCS las señales se dividen en dos categorías: de tiempo real y basadas en evento. Las primeras se refieren a aquellas que deben ser recibidas en un monto específico de tiempo para asegurar la correcta operación del sistema. Este tipo de señales son las que usualmente se manejan para la retroalimentación sensor – controlador (e.g. posición, velocidad, aceleración) en el caso de servosistemas y reguladores. Dado que se trata de control en tiempo real, el protocolo de red que se utilice debe contar con un alto nivel de determinismo, es decir, debe garantizar que la señal llegue a su destino en un cierto límite de tiempo. Por otro lado, las señales basadas en evento son las que usualmente utiliza el controlador para tomar decisiones y no tienen un tiempo límite. Para este tipo de señales, el sistema espera hasta que se reciba la señal (e.g. de un sensor) e inmediatamente envía la señal de control. Usualmente se encuentran estas señales en líneas automatizadas de ensamble y manufactura basadas en control lógico. En el diseño de un NCS se debe especificar el tipo de conexión de mensaje que se utilizará: tipo strobe, tipo poll y de cambio de estado (COS) / cíclico. En la primera de ellas, que es una variante del tipo maestro – esclavo, el nodo maestro envía una señal de petición a todos los nodos esclavos quienes responden con el valor de su condición actual. En el caso del tipo poll, el maestro envía señales individuales a los nodos esclavos y éstos responden. Por último, en el caso del cambio de estado (COS) / cíclico, los dispositivos envían mensajes cuando su estatus cambia o bien lo hacen periódicamente. Este último tipo es el más común en las aplicaciones de control; sin embargo, los otros dos tipos también son utilizados [2]. 23 Capítulo 2 SISTEMAS DE CONTROL EN RED Por último, es importante destacar que la selección del tiempo de muestreo en un NCS afecta en la calidad del desempeño del controlador (QoP por sus siglas en inglés). Normalmente, se sabe que entre más pequeño sea el tiempo de muestreo, mejor será el desempeño; sin embargo, en un NCS, al hacer más pequeño ese tiempo, se aumenta la carga de la red, lo que implica un mayor retardo en transmisión y en consecuencia, en algunos casos, una disminución del QoP. Por esta razón, se debe seleccionar un tiempo que optimice el QoP tomando en cuenta el QoS del protocolo de red utilizado y los requerimientos del sistema [5]. 2.5 La investigación en NCS La investigación en los Sistemas de Control en Red se centra en dos áreas: protocolos de comunicación y diseño de controladores. El objetivo de dicha investigación es el estudio de protocolos que garanticen una buena calidad del servicio de la red (QoS) y el diseño de controladores digitales que permitan una buena calidad del desempeño del controlador (QoP) ante los efectos de la red [7]. 2.5.1 Estado del arte en el estudio de protocolos de red para NCS Esta área recae en la teoría de la información y redes de comunicación, donde se busca que los mensajes en una red se transmitan con la mayor precisión posible evitando la pérdida de paquetes y garantizando un tiempo de retraso aceptable. Antes del surgimiento de los NCSs, las redes de comunicación se utilizaban únicamente para transmitir grandes cantidades de datos entre diversos dispositivos conectados por un mismo medio (i.e. redes de datos). A partir del momento en que se decidió incluir la red como elemento del lazo de control, se empezaron a proponer nuevos protocolos (e.g. ControlNet, CAN) así como adecuaciones a los otros para su uso en el área (e.g. Ethernet). La investigación en esta área se ha enfocado principalmente en modelar y analizar el desempeño de estos protocolos, así como en el diseño de métodos que permitan incrementar el QoS al reducir tiempos de transmisión. En [4] se hace una comparación de la utilización para NCS de tres de los protocolos más utilizados: Ethernet, ControlNet y DeviceNet (CAN). Se realizan dos casos de 24 Capítulo 2 SISTEMAS DE CONTROL EN RED simulación en distintas condiciones donde para cada protocolo se hace un análisis de eficiencia de la red, utilización y tiempo de retraso en transmisión. El estudio se hace considerando que las características principales de un protocolo para control es la comunicación de pequeños paquetes de datos periódicos requiriendo garantía de transmisión y tiempo de retraso acotado. Los resultados indican que DeviceNet presenta el mejor desempeño para el caso de sistemas de control con mensajes cortos y basados en prioridad. Por su parte, ControlNet, dado el determinismo en su transmisión, se hace atractivo para situaciones donde los tiempos son críticos. Por último, los autores de [4] concluyen que Ethernet resulta adecuado en el caso de transmisión de grandes cantidades de datos, por lo que no lo recomiendan para el diseño de NCSs. [8] presenta un compendio de 12 artículos que se divide en tres partes: estado del arte de la tecnología de NCSs, fundamentos de los sistemas de control en tiempo real y en red, y el estatus de las redes inalámbricas en este campo. [2] es uno de los artículos de [8] en el que se trata el influjo que los NCSs están teniendo en los procesos de manufactura. Se señala que en los últimos cinco años la tendencia es a tener redes en todos los niveles. Asimismo se menciona que los parámetros que afectan al QoS de una red son el ancho de banda y velocidad, el retraso de transmisión y jitter, la confiabilidad de los datos y la seguridad. Se hace una descripción de las características de los protocolos más utilizados y se señala que Ethernet, a pesar de no ser un protocolo recomendado para control, se está adoptando como tal debido a la tendencia a tener dicho protocolo en todos los niveles: redes para control, para diagnosis y para seguridad. Por último [2] concluye que, ya que en los últimos años se han logrado grandes avances en las redes inalámbricas, el futuro en los procesos de manufactura está en incorporar dichas redes. Señala que entre las diversas ventajas que ello supone, las más claras son la reducción del cableado y la posibilidad de colocar sensores en posiciones difíciles y en partes móviles. Sin embargo, cree que no todo será inalámbrico debido a las necesidades de transmisión de potencia que regularmente existen en dichos procesos. [9] es un estudio del desempeño del protocolo CAN en una aplicación automotriz, específicamente en autobuses. Como plataforma experimental se modela una red CAN con 10 ECUs. El modelo de la red sigue un esquema de diagrama de estados en donde se simula la capa física, las subcapas de transferencia y objeto, de acuerdo a la 25 Capítulo 2 SISTEMAS DE CONTROL EN RED especificación del protocolo, [10]. Cada uno de los ECUs tiene diferente prioridad, todas las tramas son de 8 bytes y la velocidad del bus es de 250 kbit/s. El desempeño de la red se evalúa a partir de tres parámetros: tiempo de transmisión, carga de la red y repeticiones de mensaje (i.e. número de veces que se tiene que retransmitir una trama debido a errores). Para las condiciones presentadas, el tiempo de retraso máximo encontrado es de 2.5 ms, valor que [9] señala como menor al recomendado por la especificación SAE J1939, lo que supone que CAN cumple con los requerimientos para control en tiempo real. Por último, [9] menciona como trabajo a futuro el modelado y análisis del desempeño de un sistema multiredes ya que normalmente los vehículos tienen más de una red. Un método para reducir el jitter en los tiempos de retraso de transmisión en CAN es el que presenta [11]. Este procedimiento se basa en la manipulación de la trama y lo que se busca es reducir los bits de stuffing (i.e. en CAN cuando 6 o más bits consecutivos tienen el mismo nivel lógico, se añade un bit delotro nivel lógico cada 5 bits). Para ello se plantean dos pasos: eliminación de aquellos identificadores que provoquen bits de stuffing; y un método de manipulación del campo de datos a partir de operaciones XOR. [11] hace un análisis en una aplicación de manufactura en la que a partir de la reducción de dichos bits, se reduce el retraso de transmisión y el jitter. [12] es un estudio relacionado con [11] en donde se busca minimizar el jitter utilizando algoritmos genéticos. El método propuesto se aplica a protocolos que utilicen técnicas de multiplexaje por división en el tiempo y los experimentos se llevan acabo en TTCAN. Se plantea como problema de optimización, reducir el jitter global del sistema al variar las fases iniciales (i.e. tiempo en que inicia la transmisión) de cada una de las tramas. Los alelos de cada elemento de la población contienen todas las fases iniciales en una codificación por entero (no codificación binaria). Se utiliza el cruce de un punto con probabilidad del 100% y el operador de mutación con probabilidad del 3%. Los experimentos se llevan acabo en casos de estudio automotrices obteniendo resultados satisfactorios. Las desventajas del método propuesto por este estudio radican en que sólo es aplicable en redes con protocolo basado en TDM y en el enorme cómputo que se debe llevar acabo. 26 Capítulo 2 SISTEMAS DE CONTROL EN RED Los retos a futuro en esta área recaen en la búsqueda de algoritmos que optimicen el uso de la red buscando mejorar el QoS, como los estudios [11] y [12]. Ello supone tomar los protocolos de red ya existentes y proponer diferentes topologías y otros mecanismos de agenda de transmisión de mensaje (scheduling), [7]. 2.5.2 Estado del arte en el diseño de controladores digitales para NCS En el diseño de controladores para NCSs, los retrasos son de mucha importancia, incluso más que la precisión del dato que se transmite ya que la robustez de los controladores permite ese tipo de imprecisiones. El retraso afecta directamente al QoP y en el caso más crítico puede causar la inestabilidad [7]. La investigación en esta área que se ha realizado hasta el momento comprende el diseño de controladores ante distintas condiciones del retraso y análisis de estabilidad. En cuanto al diseño de controladores, existe una amplia variedad en la literatura que ha atacado el problema en base a los supuestos que se hace sobre el retraso en la comunicación. Así, [13] y [14] presentan el diseño de un controlador estocástico LQG óptimo para servosistema y regulador en donde existen diferentes tiempos de retraso. Se trata de una variante del Predictor de Smith en la que se utiliza un filtro de Kalman como observador. Además, se asume que el ruido en las mediciones puede estar correlacionado, así como ser blanco o coloreado. Los resultados que se obtienen son aceptables pero están sujetos a la alta sensibilidad ante errores en el modelado del proceso. [15] utiliza control óptimo estocástico asumiendo que los retrasos son aleatorios y menores al tiempo de muestreo. [16] utiliza las mismas técnicas de [15] para el caso de retrasos grandes (i.e. mayores al tiempo de muestreo). Asimismo, [17] usa el operador δ y técnicas de control estocástico asumiendo retrasos siempre mayores al tiempo de muestreo. Los resultados de estos tres últimos trabajos son buenos pero tienen el inconveniente de requerir mucha memoria del controlador, lo que resulta inaceptable en algunos casos prácticos. 27 Capítulo 2 SISTEMAS DE CONTROL EN RED Otras técnicas como SMC y diseño de controladores solucionando un set de LMIs han sido utilizadas por [18] y [19], con resultados satisfactorios en simulación pero no tomando en cuenta las restricciones del protocolo de red en la práctica. El análisis de estabilidad de los NCSs se ha hecho utilizando diversas técnicas. Algunos como [20] han basado su trabajo en los métodos de Lyapunov – Krasovskii. Otros han asumido el retraso de comunicación como un modelo markoviano y utilizando la teoría de estabilidad de Lyapunov; tal es el caso de [21] y [22]. Asimismo, se ha utilizado la técnica de análisis de estabilidad estocástica [23]. [7] señala que la investigación en esta área se ha centrado demasiado en un sistema de control de lazo simple y su análisis de estabilidad. Remarca que es preciso que se empiece a trabajar en estudio de diseño de NCSs en ambientes más reales donde muchos sistemas estén interconectados en una novedosa distribución buscando objetivos comunes. Además menciona que actualmente se está trabajando en sistemas donde los actuadores tienen restricciones, en buscar la viabilidad de implementación de los diversos algoritmos complejos propuestos, en detección de fallas y robustez ante dichas, en control reconfigurable y en maneras de incrementar los grados de autonomía en los sistemas de control en red. Todos esos tópicos, [7] los señala como áreas de oportunidad de investigación. 28 Capítulo 3 CONTROLLER AREA NETWORK 3. Controller Area Network A mediados de los 80’s del siglo pasado Robert Bosch desarrolló el bus de comunicación conocido como Controller Area Network (CAN por sus siglas en inglés). El propósito de su invención era lograr una comunicación multiplexada entre las diferentes unidades de control del motor (o unidades de control electrónico) de los carros (ECU por sus siglas en inglés) y así lograr una reducción en el cableado. Su bajo costo, robustez (i.e. alta tolerancia al ruido) y sus diferentes mecanismos para detección de errores, lo han convertido en el bus más utilizado por la industria automotriz desde los 90’s [3]. CAN resultó ser tan atractivo que su aplicación fue más allá del automóvil: actualmente es muy utilizado como protocolo de control en los procesos de manufactura y se le encuentra en dispositivos médicos, así como en otros medios de transporte como barcos, trenes, aviones, camiones y motocicletas, [24]. En el presente capítulo se hace una revisión del bus CAN enfatizando en sus características y aplicaciones. 3.1 Conceptos Básicos CAN es un protocolo de comunicación serial del tipo broadcast (i.e. la información es enviada a todos los nodos) con las siguientes características de acuerdo a [10]: • Velocidad de transmisión de hasta 1 Mbit/s. • Prioridad en los mensajes. • Garantía en los tiempos de latencia (i.e. retrasos). • Flexibilidad en la configuración. • Recepción multicast con sincronización de tiempo. • Sistema tipo multimaestro. • Detección de errores. • Retransmisión automática de los mensajes erróneos. • Distinción entre errores temporales y daños permanentes de los nodos con el consecuente apagado autónomo de dichos. 29 Capítulo 3 CONTROLLER AREA NETWORK En la especificación de CAN por Bosch [10] se detalla la estructura de un nodo en base a una estructura de capas (Figura 3.1). Como puede observarse, solamente se describen dos de las 7 capas del modelo OSI (Open Systems Interconnection Basic Referente Model) para un protocolo de comunicación de red. Estas corresponden a las capas física y la de enlace. Las restantes capas no descritas pueden ser definidas por el diseñador del sistema o bien utilizando otros protocolos basados en CAN como el KVASER’s CAN Kingdom, DeviceNet™ de Allen – Bradley y Smart Distributed System™ de Honeywell, [24]. Figura 3.1. Estructura en capas de un nodo CAN y su relación con el modelo OSI. La especificación de CAN solamente describe totalmente la subcapa de Transferencia y su efecto en las capas que la rodean. Con respecto a la capa física, únicamente se define 30 Capítulo 3 CONTROLLER AREA NETWORK la forma en la que las señales son transmitidas, dejando las especificaciones de niveles de señal y medio de transmisiónpara el diseñador del sistema. De las diferentes características de CAN vale la pena resaltar la referente a la flexibilidad en la configuración del sistema. Esto porque se pueden agregar o quitar nodos sin necesidad de cambiar el software o hardware de los otros nodos. Ello es posible debido a que un nodo CAN, dada su característica de multicast, no hace uso alguno de información acerca de la estructura del sistema. Los mensajes entonces no son enviados a un destinatario específico, sino más bien se etiquetan con un identificador (ver sección 3.2) que representa el contenido del mensaje y no una dirección. En consecuencia, todos los nodos reciben todas las tramas enviadas y depende de un filtrado de mensajes la información a utilizar por la capa de Aplicación. 3.2 La Trama CAN Existen dos versiones del protocolo CAN: CAN estándar o CAN 2.0A, y CAN extendido o CAN 2.0B. La diferencia entre ambos radica en el número de bits utilizados para el campo del identificador de la trama; 11 para el estándar y 29 para el extendido. La figura 3.2 muestra la estructura de una trama del CAN estándar, mientras que la figura 3.3 muestra la de CAN extendido. Figura 3.2 Estructura de una trama CAN estándar. Figura 3.3 Estructura de una trama CAN extendido 31 Capítulo 3 CONTROLLER AREA NETWORK La descripción de cada una de las partes constitutivas de las anteriores estructuras se presenta en el apéndice A. Como se puede notar, la estructura de una trama CAN extendido es similar a la de CAN estándar con la diferencia de que ahora el identificador consta de 29 bits (i.e. mayor número de identificadores; 229). Estos 29 bits se distribuyen en dos campos: un campo base de 11 bits, similar al CAN extendido y para hacerlos compatibles, y un campo extra de 18 bits. 3.3 Tipos de tramas: Existen cuatro tipos de tramas dentro del bus CAN, [10]: • Trama de datos (data frame): Se trata del tipo de trama más común y su uso es para intercambiar información entre los diferentes nodos. En este tipo de trama, el bit RTR (ver sección 3.2) debe tener valor dominante, es decir un “0” lógico. • Trama de solicitud (request frame): Se trata de una trama utilizada para solicitar el envío de información de un identificador específico. De este modo, para diferenciarse de la trama de dato, el bit RTR debe tener valor recesivo o bien “1” lógico. Además, en el campo de dato no hay información y se envía como identificador el valor de aquel del que precisamente se requiere información. • Trama de error (error frame): Corresponde a un tipo especial de trama que no sigue el formato presentado en la anterior sección y que es enviada por cualquier nodo al detectar un error en el mensaje previamente enviado. Funciona de tal modo que al iniciarse el envío de la trama por parte de un nodo específico, los otros contestan y contribuyen a formarla. De esta forma, esta trama está compuesta por dos partes: las banderas de error y el delimitador del error. La primera está constituida por 6 bits del mismo valor, mientras que la segunda, por 8 bits recesivos. • Trama de sobrecarga (overload frame): Esta trama es enviada por cualquier nodo para provocar un retraso en el envío de tramas de tipo dato o solicitud. De esta 32 Capítulo 3 CONTROLLER AREA NETWORK forma, cuando un nodo se considera “muy ocupado” y necesita tiempo, es cuando este tipo de trama es utilizado. Su formato es similar al de una trama de error. 3.4 Proceso de Arbitraje Antes de explicar el proceso de arbitraje que se sigue dentro del bus CAN, es preciso mencionar que este protocolo utiliza una codificación de bit de no – retorno a cero (NRZ). Asimismo los bits considerados dominantes son aquellos de valor “0” lógico; mientras que los recesivos son los “1” lógico. CAN utiliza un esquema de CSMA/CD + AMP (i.e. carrier – sense multiple – access con detección de colisión y arbitraje en la prioridad del mensaje). Esto significa entonces que cada nodo debe esperar un determinado período de inactividad del bus para intentar enviar un mensaje y que las colisiones se resuelven a partir de un método de arbitraje bit a bit (i.e. AND alambrado) basado en prioridad. Esta prioridad se localiza en el identificador del mensaje (ver sección 3.2) y funciona del siguiente modo: cuando dos nodos compiten por el uso del bus, son los bits dominantes los que prevalecen, de modo que si un nodo detecta que no ha ganado el proceso de arbitraje, deja de transmitir y se espera hasta que se de cuenta que el bus se encuentra desocupado para intentar enviar de nuevo su trama. Un ejemplo de este proceso se ilustra en el apéndice A. A partir de lo descrito anteriormente, se puede deducir entonces que la prioridad va en orden decreciente conforme crece el valor del identificador. En otras palabras, los identificadores de menor valor son los de mayor prioridad. 3.5 Manejo de los errores Existen 5 tipos de errores que pueden ser detectados por la subcapa Transferencia del protocolo CAN [10]: error de bit, de stuffing, de CRC, de forma y de Acknowledgment, apéndice A. Existe un tipo especial de trama cuando se produce cualquiera de los errores mencionados. Esta trama de error se genera de la siguiente forma: cuando cualquiera de los nodos conectados a la red detecta una condición que viole el protocolo 33 Capítulo 3 CONTROLLER AREA NETWORK CAN, envía una bandera de error que es contestada por todos los demás nodos. De este modo, la trama es construida por todos. El protocolo CAN especifica además un tipo especial de confinamiento de errores [10]. Se trata de un sistema en el cual los nodos dentro de la red van distinguiendo entre fallas permanentes y parciales. Cada nodo posee un contador de errores que es incrementado gradualmente conforme se van detectando violaciones. De esta forma, si un nodo, a partir del valor de dicho contador, considera que se encuentra en estado permanente de falla, decide desconectarse del sistema. 3.6 Consideraciones de la capa física La capa física del protocolo CAN se encuentra especificada en el estándar ISO 11898. En dicho estándar se establece el uso de par trenzado como medio de comunicación, lo que supone dos líneas: CANH y CANL. El uso de este tipo de cable trae como consecuencia robustez ante la incidencia de campos electromagnéticos y señales parásitas ya que las dos líneas se encuentran en oposición de fase y lo que se mide es la diferencia de voltaje entre dichas. De [10] se sabe que CAN especifica dos estados lógicos: dominante (“0” lógico) y recesivo (“1” lógico). ISO 11898 establece entonces la diferencia de tensión que debe existir entre las dos líneas para representar dichos estados, figura 3.4, [25]. Figura 3.4 Niveles de Voltaje Nominales de bus establecidos por ISO 11898 [25] 34 Capítulo 3 CONTROLLER AREA NETWORK Asimismo, el ISO 11898 especifica la topología de bus como la propia de la red CAN. Se establece además el uso de dos resistencias de terminación de 120 Ω para mantener la tensión en el circuito del bus. De esta forma, la figura 3.5 muestra la configuración común que se puede encontrar de una red CAN tal como especifica el estándar mencionado. Figura 3.5 Configuración de bus de la red CAN especificada por ISO 11898 3.7 CAN y su aplicación en los automóviles Debido a las diferentes operaciones con diferentes requerimientos que llevan acabo los ECUs, existe más de una red de comunicación dentro de los carros. De acuerdo a [3], el sistema dentro de un vehículo puede dividirse en varios dominios: powertrain, chasis, cuerpo, telematics y seguridad. El dominio powertrain supone principalmente el control del motor y la transmisión. Por su parte, el dominio chasis se refiere al control de suspensión, manejo y frenado,lo que conjunta las funciones de ABS, ESP, ASC (i.e. Automatic Stability Control), 4WD (i.e. 4 Wheel Drive). Debido a que todas estas operaciones implican un alto desempeño de los diferentes sistemas de control, estos dominios se implementan en una red CAN de alta velocidad (i.e. 500 kbit/s a 1 Mbit/s). El dominio del cuerpo reúne todo lo referente al confort como vidrios, luces, tablero de instrumentos, asientos y aire acondicionado. El dominio telematics conjunta las diferentes funciones de multimedia (e.g. CD, DVD) y comunicación inalámbrica (e.g. GPS, teléfono móvil). Estos dos dominios, debido a sus características se pueden 35 Capítulo 3 CONTROLLER AREA NETWORK encontrar implementados en redes de baja velocidad (e.g. CANLS de 125 kbit/s, MOST). Asimismo, algunas funciones pueden implementarse con otros tipos de redes de bajo costo como LIN (i.e. Local Interconnect Network) ya que no requieren de una red tan robusta como CAN, por lo que es común encontrar subredes. Figura 3.6 CAN y su aplicación en los automóviles [26] 36 Capítulo 3 CONTROLLER AREA NETWORK Por último, el dominio referente a seguridad incluye diferentes funciones como el control de las bolsas de aire, monitoreo de la presión de las llantas y ACC (i.e. Adaptive Cruise Control). La figura 3.6 muestra un ejemplo de las diferentes funciones que llevan acabo los ECUs dentro del automóvil y que se distribuyen en varias redes [26]. 37 Capítulo 4 PLATAFORMA EXPERIMENTAL 4. Plataforma Experimental A partir del esquema general de un sistema de control en red (ver figura 2.1), se diseñó e implementó una plataforma experimental que permitiera evaluar el desempeño de un controlador en un ambiente de red. El presente capítulo hace una descripción detallada de dicha plataforma dividiéndola en dos partes: hardware y software. 4.1 Hardware 4.1.1 Descripción General El esquema general de la plataforma experimental se detalla en la figura 4.1. Es un sistema de control en red en donde el proceso y el controlador se encuentran ubicados en dos nodos distintos y se comunican entre sí por medio del protocolo CAN Figura 4.1 Esquema general de la plataforma experimental Para poder evaluar el desempeño del controlador ante distintas condiciones (i.e. carga de la red, velocidad de transmisión, prioridad), se conectó el proceso y el controlador a un ambiente de red real. Este ambiente corresponde al de un automóvil y se representa en la maqueta FULL CAN X3. Sin embargo, la carga de red que se induce por la adición de dicha maqueta resulta de valor constante y muy pequeño (i.e. 10% en baja 38 Capítulo 4 PLATAFORMA EXPERIMENTAL velocidad, 14% en alta). Por esta razón y para poder variar dicho parámetro, se agregó a la red un generador de carga; tal como muestra la figura. 4.1.2 Nodo CAN En la figura 4.1 se puede notar la implementación de tres nodos de red CAN: el correspondiente al proceso, el del controlador y el del generador de carga. La implementación de cada uno de ellos se llevó acabo de acuerdo a la figura 4.2. Cada nodo consta de una computadora y una tarjeta de comunicación USB MUX 4C2L. Figura 4.2 Implementación de un nodo CAN El esquema de funcionamiento de este nodo es el siguiente: la computadora, según sea su caso (i.e. proceso, controlador o generador de carga), recibe y envía información a la red CAN a través de la tarjeta de comunicación USB MUX 4C2L. Otra opción de implementación pudo haber sido utilizar un microcontrolador con puerto CAN (i.e. con un módulo de comunicación para este protocolo). Sin embargo, se optó por la opción de la figura 4.2 dadas las facilidades de interfase visual con el usuario que una computadora puede tener. 39 Capítulo 4 PLATAFORMA EXPERIMENTAL 4.1.3 Tarjeta de comunicación USB MUX 4C2L La figura 4.2 muestra a la tarjeta USB MUX 4C2L como un elemento de cada uno de los nodos CAN implementados. Básicamente se trata de un periférico que permite a una PC conectarse a la red CAN high speed, CAN low speed / fault tolerant, CAN single wire y LIN. Sus vistas frontal y posterior se muestran en la figura 4.3. Figura 4.3 Vista frontal y posterior de la tarjeta USB MUX 4C2L [27] De [27] se sabe que esta tarjeta dispone de las siguientes conexiones: • 1 conexión CAN high speed (Norma ISO 11898) ó 1 conexión CAN low speed fault tolerant. La elección de esta conexión se hace por software. • 1 conexión CAN high speed. • 1 conexión CAN low speed. • 1 conexión CAN low speed ó 1 conexión CAN single wire. • 2 conexiones LIN / ISO9141. La tarjeta dispone de 4 conexiones CAN y 2 LIN. La comunicación entre la tarjeta y la computadora se realiza por USB. (De estos dos datos viene el acrónimo USB MUX 4C2L). 4.1.4 Maqueta Full CAN X3 Esta investigación se realizó en una maqueta didáctica Full CAN X3 de la marca Exxotest, [28]. Es un prototipo con componentes reales de un automóvil Peugeot 807 e integra 3 tipos de redes CAN. Cuenta con doce módulos: Interfase de sistema (Built – In System Interface, BSI), módulo de fuente de poder (Built – In Supply Module, BSM), 40 Capítulo 4 PLATAFORMA EXPERIMENTAL aire acondicionado, puerta de conductor, puerta de pasajero, luces frontales, luces traseras, tablero de instrumentos, radio, módulo AFIL (i.e. sistema de alarma para salida del camino), módulo de remolque y alarma. Figura 4.4 Distribución por redes de los distintos módulos de la maqueta Full CAN X3 Los módulos de la maqueta se encuentran distribuidos en tres redes CAN: una red intersistema, cuya velocidad es de 500 kbit/s (i.e. CAN high speed); una red de chasis y una de confort, ambas de 125 kbit/s (i.e. CAN low speed). La figura 4.4 muestra la distribución de los distintos módulos de la maqueta en las tres redes mencionadas. Por su parte las figuras 4.5 – 4.7 presentan diferentes vistas de la maqueta en cuestión. 41 Capítulo 4 PLATAFORMA EXPERIMENTAL Figura 4.5 Vista lateral izquierda de la maqueta Full CAN X3 Figura 4.6 Vista lateral derecha de la maqueta Full CAN X3 42 Capítulo 4 PLATAFORMA EXPERIMENTAL Figura 4.7 Vista frontal de la maqueta Full CAN X3 El módulo BSI (i.e. Built – In System Interface) cuenta con diferentes conexiones tipo banana hembra para cada una de las tres redes CAN de la maqueta. Agregar nodos a la maqueta resulta sencillo, pues basta con conectarse a las conexiones banana de la red CAN deseada: • CAN1HS: red intersistema con velocidad de transmisión de 500 kbit/s. • CAN2LS: red de chasis con velocidad de transmisión de 125 kbit/s. • CAN3LS: red de confort con velocidad de transmisión de 125 kbit/s. Para lograr la conexión de la figura 4.1 es necesario que los tres nodos estén conectados a la misma red CAN. 43 Capítulo 4 PLATAFORMA EXPERIMENTAL 4.2 Software Para cada uno de los tres nodos CAN se desarrolló el software necesario para cumplir con las funciones correspondientes. 4.2.1 Programa base de cada nodo CAN El software se desarrolló en LabWindows CVI 7.0 de National Instruments™. Se partió de un programa base proporcionado por el personal de Exxotest. Uno de dichos productos es un paquete de librerías para programas basados en C que permiten la conexión con las tarjetas de comunicación de redes multiplexadas (e.g. USB MUX 4C2L). El esquema para el desarrollo de una aplicación de PC desarrollada en C (e.g. LabWindows CVI) que se comunique con una tarjeta y así a un protocolo de comunicación multiplexado (e.g. CAN) es el mostrado en la figura 4.8, [29]. Figura 4.8 Esquema para el desarrollo de una aplicación de PC capaz de conectarsea una red multiplexada [29] Se trata de un programa que permite la conexión a 4 tipos de redes CAN, una a la vez y seleccionando la velocidad correspondiente. El resultado es una aplicación de monitoreo de la red seleccionada donde se pueden observar todas las tramas que viajan en el bus. El software mencionado está formado por tres archivos (*.c) y sus correspondientes (*.h): MuxCom.c, Thread.c, y WinMain.c; así como el archivo de interfase de usuario WinMain.uir. De los archivos mencionados los únicos que se modificaron para el desarrollo de cada uno de los tres nodos CAN de la plataforma experimental son el WinMain.c y el WinMain.uir. 44 Capítulo 4 PLATAFORMA EXPERIMENTAL Los archivos MuxCom.c y Thread.c son código fuente necesarios para establecer la comunicación con la tarjeta de red y quedaron sin cambios para los tres nodos CAN. Figura 4.9 Diagrama de flujo común para el código fuente de cada nodo CAN La figura 4.9 muestra el diagrama de flujo común del código fuente de cada nodo CAN. El proceso de cada nodo pasa primero por una rutina de inicialización que es diferente para cada uno. Después se abre el canal de comunicación y mientras esté abierto, se realizan las rutinas de proceso así como de comunicación a través de CAN. Para dar por terminada la aplicación, se cierra el canal. 4.2.2 Nodo Proceso Este nodo emula el bloque actuador – proceso – sensor de un sistema de control en red (ver figura 2.1). Se trata de un bloque que recibe como entrada la señal de manipulación del controlador y envía como salida, en cada tiempo de muestreo, el valor actual de las variables de estado. 45 Capítulo 4 PLATAFORMA EXPERIMENTAL Figura 4.10 Diagrama de entradas y salidas del nodo Proceso El diagrama de flujo del funcionamiento de este nodo es el mostrado en la figura 4.9. De este modo, los siguientes apartados detallan cada uno de los bloques de dicho diagrama. Inicialización: La figura 4.11 muestra la pantalla inicial de este nodo. La rutina de inicialización consiste en dos operaciones: • Establecimiento de parámetros de comunicación: Mediante esta operación, el usuario establece el valor de las distintas variables referentes a la comunicación a través de CAN. La primera de ellas consiste en establecer la tarjeta de comunicación a utilizar. Esto se logra al presionar el botón “INIT” (marcado como B) de tal forma que la aplicación reconoce el dispositivo conectado al puerto USB de la PC y coloca su acrónimo (e.g. USB MUX 4C2L) en el campo de “Available devices” (marcado como A). Una vez que se ha establecido la tarjeta de red a utilizar, se especifica la red CAN a accesar, así como su velocidad (i.e. CAN 1 – 500 kbit/s, CAN 2 – 125 kbit/s, CAN 3 – 125 kbit/s). Esto se logra en los campos marcados como C en la figura 4.11. El último paso de esta rutina de inicialización trata del establecimiento de los identificadores de las tramas a utilizar para el desarrollo de la comunicación, tanto para enviar datos (i.e. al controlador) como para recibirlos (i.e. del controlador). Este paso se efectúa al presionar el botón “Identifiers” (marcado como D) que lleva a la pantalla de la figura 4.12. 46 Capítulo 4 PLATAFORMA EXPERIMENTAL Figura 4.11 Portada principal del nodo Proceso Figura 4.12 Panel de pantalla para el establecimiento de los identificadores de las tramas 47 Capítulo 4 PLATAFORMA EXPERIMENTAL Para establecer los identificadores a utilizar en la transmisión de datos hay que recordar que la salida del nodo Proceso es el vector de variables de estado (figura 4.10). Es importante mencionar que una trama CAN puede transmitir dos valores de punto flotante a lo mucho. La razón de ello se explica en el apartado 5 de esta sección. Por cada dos variables de estado se tiene una trama CAN por enviar y un identificador. De este modo, en el campo “No. de X” (marcado como A en la figura 4.12) se establece el número de variables de estado del sistema con lo que en la tabla denotada como “Identifiers:transmitter” se colocan los identificadores a utilizar (e.g. si se tratara de 4 variables de estado, se utilizarían dos identificadores). El número de identificadores a utilizar para recibir datos viene dado por el número de variables de manipulación. Tal como en el caso anterior, por cada dos de estas variables, se tiene un identificador. El número de variables de manipulación se establece en el campo “No. de U” (marcado como B) y los identificadores a utilizar en la tabla “Identifiers: receiver”. Los identificadores a utilizar se relacionan directamente con la prioridad. Tal como se mencionó en el capítulo 3 en el protocolo CAN la prioridad de los mensajes viene dada por el valor del identificador: entre menor sea su valor, mayor será la prioridad. De tal forma que el usuario establece los identificadores teniendo en cuenta la prioridad que le desee dar a sus mensajes. Para ello en la List Box “Identifiers in the nerwork” (marcada como C), al momento de correr la aplicación, se presentan los identificadores existentes en la red previamente seleccionada (e.g. CAN1HS). Dichos valores se presentan de menor a mayor, lo que implica prioridad de mayor a menor. En la figura 4.12 en el campo “Network Load” (marcado como D), al momento de correr la aplicación, se muestra el valor de la carga de la red a la que se esté accediendo. Este dato es importante pues es una de las variables a modificar para el desarrollo de las pruebas experimentales. • Establecimiento de los parámetros del proceso: Mediante esta operación el usuario especifica el modelo del proceso a controlar. Este procedimiento se realiza al pulsar el botón “PROCESS MODEL” de la figura 4.11 (marcado como G), y se despliega 48 Capítulo 4 PLATAFORMA EXPERIMENTAL el panel de pantalla de la figura 4.13. Se trata de un sistema de espacio de estado discreto dado por: x(k + 1) = G x (k) + H u (k) + F w (k) (4.1) y(k) = C x (k) + D u (k) (4.2) donde: x (k): vector de estado de dimensión n. y (k): vector de salida de dimensión m. u (k): vector de entrada de dimensión r. w(k): escalar que representa la perturbación. G: matriz de dimensión n x n. H: matriz de dimensión n x r. F: vector de dimensión n. C: matriz de dimensión m x n. D: matriz de dimensión m x r. Figura 4.13 Panel de pantalla para el establecimiento del modelo del proceso 49 Capítulo 4 PLATAFORMA EXPERIMENTAL De esta forma, el usuario establece las dimensiones de los vectores y matrices a partir de los campos numéricos “No. de X” (dimensión n), “No. de U” (dimensión r) y “No. de Y” (dimensión m) de la figura 4.13 (marcados como A). Por otro lado, los valores de cada uno de los elementos de las matrices G, H, C, D y F se especifican en las correspondientes tablas del mismo nombre de la figura. Ahora bien, la estrategia de control que se utiliza en este estudio es la de control óptimo cuadrático para un regulador en donde el vector de entrada está dada por: u (k) = -K x (k) (4.3) y donde se busca minimizar el índice de desempeño dado por: [ ]∑ ∞ = += 0 (k)(k)(k)(k) 2 1 k ** RuuQxxJ (4.4) donde Q: matriz Hermítica (o matriz real simétrica) definida positiva o semidefinida positiva de dimensión n x n. R: matriz Hermítica (o matriz real simétrica) definida positiva de dimensión r x r. El resultado de dicha minimización es [30]: ( ) PGHPHHRK ** -1+= (4.5) donde P es la solución de la ecuación de Riccati: ( ) PGHPHHRPHGPGGQP *** *1- −++= (4.6) En la aplicación desarrollada, el usuario tiene la opción de ingresar manualmente los valores de la matriz de ganancia K o bien puede pedir al programa que resuelva las 50 Capítulo 4 PLATAFORMAEXPERIMENTAL ecuaciones (4.5) y (4.6) al pulsar el botón “LQ DESIGN” de la figura 4.13 (marcado como C). Los valores de los elementos de Q y R se establecen en las tablas del mismo nombre. Para resolver la ecuación de Ricatti (ecuación 4.6) se sigue un método de solución iterativa que se muestra en el diagrama de la figura 4.14, [30]. Este procedimiento plantea la ecuación (4.6) como una ecuación de diferencias, es decir: ( ) GPHHPHRHPGGPGQP *** (k)(k)(k)-(k)1)(k *1−++=+ (4.7) Figura 4.14 Diagrama de flujo para la solución iterativa de la ecuación de Riccati 51 Capítulo 4 PLATAFORMA EXPERIMENTAL Se empieza con un valor inicial de P = 0 (i.e. todos los elementos de la matriz P son cero) y se evalúa la ecuación (4.7) por 20 iteraciones. Luego se observa si los elementos de la última matriz P no han cambiado con respecto a los elementos de la penúltima matriz P. De no ser así, se vuelve a evaluar por 20 iteraciones hasta que se cumpla dicha condición, lo que supone que P ha alcanzado el estado estable. Es este último valor de P la solución de la ecuación de Riccati. Posteriormente se calcula K a partir de la ecuación (4.5). Por último, el usuario debe especificar, como parámetro de proceso, el valor del tiempo de muestreo a utilizar. Este se establece en el campo “Sampling Time” (marcado como B en la figura 4.13). Abrir comunicación: El siguiente paso en el diagrama de la figura 4.9 es abrir la comunicación. Esto se hace al pulsar el botón “OPEN” de la figura 4.11 (marcado como E) lo que provoca que se despliegue el panel de pantalla de la figura 4.15. A partir de dicho momento, la aplicación se encuentra conectada al bus CAN y es capaz de recibir y enviar información. Figura 4.15 Panel de pantalla de monitoreo del proceso en el nodo Proceso 52 Capítulo 4 PLATAFORMA EXPERIMENTAL Rutinas de Proceso – Rutinas CAN: Siguiendo el diagrama de la figura 4.9, una vez que se haya abierto el canal de comunicación la aplicación empieza a ejecutar las distintas rutinas de proceso y de CAN. Se mantendrá en dicho estado hasta que el usuario decida cerrar el canal. La figura 4.16 muestra el diagrama de flujo de las rutinas de proceso (lado izquierdo) y las de CAN (lado derecho) del nodo Proceso. El modo en el que están colocados los dos diagramas atiende al hecho de que se trata de dos tipos de operaciones que se realizan en paralelo. Figura 4.16 Diagrama de flujo de las operaciones de proceso y CAN en el nodo Proceso En cuanto a las rutinas de proceso, este nodo se encarga de simular un proceso de acuerdo a las ecuaciones 4.1 y 4.2 cuyos parámetros fueron especificados (i.e. en la etapa de inicialización). De este modo, cada tiempo de muestreo, se realizan tres operaciones básicas: • Cálculo de los valores actuales de x(k) y y(k) de acuerdo a las ecuaciones (4.1) y (4.2). • Se grafica x(k), y(k) y u(k) en las pantallas correspondientes de la figura 4.15. 53 Capítulo 4 PLATAFORMA EXPERIMENTAL • Se envía el valor de x(k) a través de CAN y utilizando los identificadores especificados en la etapa de inicialización. En las rutinas de CAN, cada vez que se recibe una trama del bus al que se está conectado sucede lo siguiente: si el identificador de la trama que se recibió pasa por el filtro (i.e. tiene el mismo valor que el especificado como identificador de recepción en la etapa de inicialización), entonces se ha recibido el nuevo valor de u(k), por lo que se actualiza dicho dato. El utilizar un filtro de recepción permite hacer más eficiente la aplicación desde el punto de vista de cómputo, pues dicho filtro se aplica directamente en la tarjeta USB MUX 4C2L, lo que implica que ésta interrumpe a la aplicación solamente en caso de haber recibido un dato que interese (i.e. que haya pasado el filtro). Cabe destacar que dichas tramas que la aplicación recibe se van mostrando en el campo “CAN Frames” de la figura 4.15 (marcado como C). Tal como muestra la figura 4.15, la aplicación desarrollada no sólo trabaja en tiempo real, sino además permite que se trabaje en modo simulación (campo A). Esto resulta útil para comprobar el funcionamiento del sistema completo y se activa al pulsar el botón “SIMULATION” de la figura 4.11 (marcado como F). Otra de las características del programa, es que permite trabajar tanto en modo automático, como en modo manual. Ello se elige en la manija marcada como B de la figura 4.15. El usuario tiene la opción de ingresar perturbaciones tipo escalón a través del numérico “Disturbance” (marcado como D). Cerrar comunicación: El nodo se desconecta del bus CAN a partir de que el usuario pulse el botón “CLOSE” de la figura 4.15 (marcado como F). Éste es el último paso del diagrama de flujo presentado en la figura 4.9 e implica que el nodo Controlador deja de recibir valores de entrada (i.e. el valor actual de las variables de estado). 54 Capítulo 4 PLATAFORMA EXPERIMENTAL 4.2.3 Nodo Controlador Este nodo implementa el bloque controlador de un sistema de control en red (ver figura 2.1). Es un bloque que recibe como entrada el valor actual de las variables de estado y envía como salida la señal de manipulación. Figura 4.17 Diagrama de entradas y salidas del nodo Controlador El diagrama de flujo del funcionamiento de este nodo es el mostrado en la figura 4.1. De este modo, los siguientes apartados detallan cada uno de los bloques de dicho diagrama. Inicialización: La figura 4.18 muestra el panel de pantalla que aparece al momento de iniciar la aplicación de este nodo. La rutina de inicialización consiste en dos operaciones: • Establecimiento de parámetros de comunicación: Mediante esta operación, el usuario establece el valor de las distintas variables referentes a la comunicación a través de CAN. La primera de ellas consiste en establecer la tarjeta de comunicación a utilizar. Esto se logra al presionar el botón “INIT” (marcado como B en la figura 4.18) de tal forma que la aplicación reconoce el dispositivo conectado al puerto USB de la PC y coloca su acrónimo (e.g. USB MUX 4C2L) en el campo de “Available devices” (marcado como A). Una vez que se ha establecido la tarjeta de red a utilizar, el siguiente paso consiste en especificar la red CAN a la que se accederá, así como su correspondiente velocidad (i.e. CAN 1 – 500 kbit/s, CAN 2 – 125 kbit/s, CAN 3 – 125 kbit/s). Esto se logra en los correspondientes campos marcados como C en la figura. 55 Capítulo 4 PLATAFORMA EXPERIMENTAL Figura 4.18 Portada principal del nodo Controlador El último paso de esta rutina de inicialización trata del establecimiento de los identificadores de las tramas a utilizar para el desarrollo de la comunicación, tanto para enviar datos (i.e. al nodo Proceso) como para recibirlos (i.e. del nodo Proceso). Este paso se efectúa al presionar el botón “Identifiers” (marcado como D) y despliega el mismo panel de pantalla de la figura 4.12. • Establecimiento de los parámetros del proceso: Mediante esta operación el usuario especifica el modelo del proceso a controlar. Este procedimiento se realiza al pulsar el botón “PROCESS MODEL” de la figura 4.18 (marcado como F), y se despliega el panel de pantalla de la figura 4.19. Tal como se mencionó en el apartado correspondiente al nodo Proceso, se trata de un sistema en espacio de estado discreto definido por las ecuaciones 4.1 y 4.2. De este modo, el usuario especifica el orden del sistema, número de entradas y salidas, a partir de los numéricos “No. de X”, “No. de U” y “No. de Y” englobados en la marca A de la figura. Además, los elementos de cada unas de las matrices G, H, C, D y F se especifican en las tablas del mismo título. 56 Capítulo 4 PLATAFORMA EXPERIMENTAL Figura 4.19 Panel de pantalla