<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0012-7353</journal-id>
<journal-title><![CDATA[DYNA]]></journal-title>
<abbrev-journal-title><![CDATA[Dyna rev.fac.nac.minas]]></abbrev-journal-title>
<issn>0012-7353</issn>
<publisher>
<publisher-name><![CDATA[Universidad Nacional de Colombia]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0012-73532013000300006</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[SISTEMA DE CONTROL DE UNA PLANTA EMBEBIDA EN FPGA EMPLEANDO HARDWARE-IN-THE-LOOP]]></article-title>
<article-title xml:lang="en"><![CDATA[CONTROL SYSTEM OF A PLANT EMBEDDED IN FPGA USING HARDWARE IN THE LOOP]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[CALDAS FLAUTERO]]></surname>
<given-names><![CDATA[OSCAR IVÁN]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[JIMÉNEZ GÓMEZ]]></surname>
<given-names><![CDATA[SEBASTIÁN]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[MEJÍA RUDA]]></surname>
<given-names><![CDATA[EDILBERTO]]></given-names>
</name>
<xref ref-type="aff" rid="A03"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[AVILÉS SÁNCHEZ]]></surname>
<given-names><![CDATA[OSCAR FERNANDO]]></given-names>
</name>
<xref ref-type="aff" rid="A04"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[AMAYA HURTADO]]></surname>
<given-names><![CDATA[DARÍO]]></given-names>
</name>
<xref ref-type="aff" rid="A05"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Militar Nueva Granada  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Militar Nueva Granada  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A03">
<institution><![CDATA[,Universidad Militar Nueva Granada  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A04">
<institution><![CDATA[,Universidad Militar Nueva Granada  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A05">
<institution><![CDATA[,Universidad Militar Nueva Granada  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>06</month>
<year>2013</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>06</month>
<year>2013</year>
</pub-date>
<volume>80</volume>
<numero>179</numero>
<fpage>51</fpage>
<lpage>59</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0012-73532013000300006&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0012-73532013000300006&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0012-73532013000300006&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[Los sistemas de prototipado rápido son ampliamente usados en el desarrollo de productos en diferentes industrias, ya que permite configurar prototipos iniciales, probarlos bajo condiciones reales y optimizarlos con efectividad en tiempo y costo, sin mayor desarrollo de hardware. Con el concepto de Hardware-in-the-loop (HIL), se pueden emular condiciones de operación de un sistema real, llevándolo a un modelo matemático embebido en un sistema electrónico. Este trabajo muestra la implementación de una planta térmica en una FPGA que emula el comportamiento real y permite evaluar los alcances y beneficios de la técnica HIL. Por otro lado, se diseñó un controlador tipo PID en el software LabView®, que reguló la dinámica de la planta embebida usando comunicación serial. Se hizo una comparación entre el experimento y una simulación en Matlab® Simulink para validar el desempeño del sistema con los parámetros de diseño.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[Rapid prototyping systems are widely used in product development in the different industries. They provide the ability to set up the initial prototypes, test them under real conditions, and optimize them time- and cost-effectively, without extensive hardware development. Following the Hardware-in-the-loop concept, the operation conditions of a real system can be emulated by means of a mathematical model, embedded in an electronic device. This paper shows a thermal plant implementation in a FPGA, which emulates the real behavior and allows to assess the scope and benefits of HIL technique. On the other hand, a PID controller was designed in LabView® to regulate the dynamics of the embedded plant by serial communication. A comparison was made to validate the system performance based on the design parameters.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[HIL]]></kwd>
<kwd lng="es"><![CDATA[Sistema de control]]></kwd>
<kwd lng="es"><![CDATA[FPGA]]></kwd>
<kwd lng="en"><![CDATA[Control system]]></kwd>
<kwd lng="en"><![CDATA[Hardware-in-the-Loop]]></kwd>
<kwd lng="en"><![CDATA[FPGA]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="center"><font size="4" face="Verdana, Arial, Helvetica, sans-serif"><b>SISTEMA DE CONTROL DE UNA PLANTA EMBEBIDA EN FPGA EMPLEANDO  HARDWARE-IN-THE-LOOP</b></font></p>     <p align="center"><i><font size="3"><b><font face="Verdana, Arial, Helvetica, sans-serif">CONTROL SYSTEM OF A PLANT  EMBEDDED IN FPGA USING HARDWARE IN THE LOOP</font></b></font></i></p>     <p align="center">&nbsp;</p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>OSCAR IV&Aacute;N CALDAS FLAUTERO</b>    <br>     <i>Ing. MCT Universidad Militar Nueva Granada, Investigador, <a href="mailto:davinci@unimilitar.edu.co">davinci@unimilitar.edu.co</a></i></font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>SEBASTI&Aacute;N JIM&Eacute;NEZ G&Oacute;MEZ</b>    <br>     <i>Ing. MCT Universidad Militar Nueva Granada, Investigador, <a href="mailto:davinci@unimilitar.edu.co">davinci@unimilitar.edu.co</a></i></font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>EDILBERTO MEJ&Iacute;A RUDA</b>    <br>     <i>Ing. MCT Universidad Militar Nueva Granada, Investigador, <a href="mailto:davinci@unimilitar.edu.co">davinci@unimilitar.edu.co</a></i></font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>OSCAR FERNANDO AVIL&Eacute;S S&Aacute;NCHEZ</b>    ]]></body>
<body><![CDATA[<br>     <i>Ph.D. Universidad Militar Nueva Granada, Director Programa Ing. Mecatr&oacute;nica, <a href="mailto:oscar.aviles@unimilitar.edu.co">oscar.aviles@unimilitar.edu.co</a></i></font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>DAR&Iacute;O AMAYA HURTADO</b>    <br>     <i>Ph.D. Universidad Militar Nueva Granada, L&iacute;der Grupo de Investigaci&oacute;n GAV, <a href="mailto:dario.amaya@unimilitar.edu.co">dario.amaya@unimilitar.edu.co</a></i></font></p>     <p align="center">&nbsp;</p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Recibido para revisar Enero 18  de 2013, aceptado Abril  26  de 2013, versi&oacute;n final Mayo 6 de 2013</b></font></p>     <p>&nbsp;</p> <hr>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>RESUMEN:</b> Los sistemas de prototipado r&aacute;pido son ampliamente usados en el desarrollo de productos en diferentes industrias, ya que permite configurar prototipos iniciales, probarlos bajo condiciones reales y optimizarlos con efectividad en tiempo y costo, sin mayor desarrollo de hardware. Con el concepto de Hardware-in-the-loop (HIL), se pueden emular condiciones de operaci&oacute;n de un sistema real, llev&aacute;ndolo a un modelo matem&aacute;tico embebido en un sistema electr&oacute;nico. Este  trabajo muestra la implementaci&oacute;n de una planta t&eacute;rmica en una FPGA que emula el comportamiento real y permite evaluar los alcances y beneficios de la t&eacute;cnica HIL. Por otro lado, se dise&ntilde;&oacute; un controlador tipo PID en el software LabView&reg;, que regul&oacute; la din&aacute;mica de la planta embebida usando comunicaci&oacute;n serial. Se hizo una comparaci&oacute;n entre el experimento y una simulaci&oacute;n en Matlab&reg; Simulink para validar el desempe&ntilde;o del sistema con los par&aacute;metros de dise&ntilde;o. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>PALABRAS CLAVE:</b> HIL; Sistema de control; FPGA.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>ABSTRACT:</b> Rapid prototyping systems are widely used in product development in the different industries. They provide the ability to set up the initial prototypes, test them under real conditions, and optimize them time- and cost-effectively, without extensive hardware development. Following the Hardware-in-the-loop concept, the operation conditions of a real system can be emulated by means of a mathematical model, embedded in an electronic device. This paper shows a thermal plant implementation in a FPGA, which emulates the real behavior and allows to assess the scope and benefits of HIL technique. On the other hand, a PID controller was designed in LabView&reg; to regulate the dynamics of the embedded plant by serial communication. A comparison was made to validate the system performance based on the design parameters.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>KEYWORDS:</b> Control system; Hardware-in-the-Loop; FPGA.</font></p> <hr>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>1.  INTRODUCCI&Oacute;N</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La tecnolog&iacute;a <i>Hardware-in-the-loop</i> (HIL) se ha convertido en una parte integral del proceso de desarrollo electr&oacute;nico para fabricantes y proveedores de productos, que emula en tiempo real la planta o el sistema de control, junto con elementos reales como sensores y actuadores (frecuentemente usados por su dificultad de modelado &#91;1&#93;), optimizando costos, duraci&oacute;n y seguridad en las pruebas &#91;2&#93;. La simulaci&oacute;n HIL es, por lo tanto, un m&eacute;todo empleado en el ciclo de desarrollo de productos, en el cu&aacute;l uno o m&aacute;s componentes reales interact&uacute;an con otros simulados en tiempo real, mediante modelos din&aacute;micos. El principal prop&oacute;sito de esta simulaci&oacute;n, es mejorar la calidad del producto, sobreponerse a la complejidad de los sistemas y reducir los costos del desarrollo. Este &uacute;ltimo objetivo se alcanza realizando las pruebas de funcionamiento y diagn&oacute;stico en el laboratorio HIL, en lugar de hacerlas con experimentos en bancos de prueba. El resultado es la reducci&oacute;n considerable de costosos prototipos y del tiempo requerido en el banco de pruebas &#91;3&#93;.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Recientemente, se ha hecho uso de las simulaciones HIL para poner a prueba desarrollos en diversas &aacute;reas tecnol&oacute;gicas. En &#91;4&#93; se destaca la reducci&oacute;n en costos y tiempo por a la facilidad para identificar errores de implementaci&oacute;n y probar condiciones de falla de forma segura, en sistemas de generaci&oacute;n distribuida (DG), cuyos prototipos de alto costo y consumo energ&eacute;tico. En &#91;5&#93; tambi&eacute;n se emplea la t&eacute;cnica HIL para simular de forma segura y controlada el comportamiento de un motor a gas durante su arranque. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Por otro lado, en &#91;6&#93; se utiliza HIL para un sistema de comunicaci&oacute;n m&oacute;vil, alcanzando una simulaci&oacute;n en tiempo real de alta precisi&oacute;n, bajo costo y m&iacute;nimo riesgo, que adem&aacute;s permite sintonizar diferentes caracter&iacute;sticas (recepci&oacute;n, velocidad, interferencia, etc) con total repetibilidad y controlabilidad.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Otros autores tambi&eacute;n emplean la simulaci&oacute;n HIL para facilitar las pruebas de prototipos en m&uacute;ltiples condiciones. En &#91;7&#93; se emplea la simulaci&oacute;n HIL de un tren motriz para un veh&iacute;culo el&eacute;ctrico, debido a la facilidad de comprobar su conveniencia para diferentes escenarios de uso y mejorarlos de forma particular, sin incurrir en las costosas adaptaciones de un desarrollo real. As&iacute; mismo, en &#91;8&#93; se desarroll&oacute; un m&eacute;todo para reducir los tiempos de sintonizaci&oacute;n de los controladores de un Veh&iacute;culo a&eacute;reo no tripulado  (UAV), simulado con HIL para aplicarle f&aacute;cilmente diferentes condiciones de ruido que se presentan en vuelo. De hecho, por esas razones el uso de HIL es muy popular en otras aplicaciones aeroespaciales, incluyendo aplicaciones para sistemas rob&oacute;ticos de rastreo, que requieren simular las diversas condiciones aerodin&aacute;micas de sus objetivos &#91;9&#93;, de forma similar al control de orientaci&oacute;n para toberas pivotantes en la industria espacial &#91;10&#93;.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Por otro lado, hay aplicaciones en las que la comunicaci&oacute;n con perif&eacute;ricos utiliza recursos m&aacute;quina elevados, disminuyendo la capacidad computacional disponible para procesar los modelos. En esos casos, tiene sentido mover los puertos a un dispositivo m&aacute;s conveniente y las FPGA (del ingl&eacute;s <i>Field Programmable Gate Array</i>) son ideales para estas tareas, ya que su arquitectura de hardware permite una ejecuci&oacute;n r&aacute;pida y concurrente &#91;11&#93;. Adicionalmente, para  aplicaciones con una din&aacute;mica r&aacute;pida, como los conversores DC-DC, se requieren frecuencias de PWM (Modulaci&oacute;n de ancho de pulso) bastante altas, que pueden ser superiores a 20kHz, adem&aacute;s de corrientes y voltajes que pueden ser representados de forma realista s&oacute;lo mediante simulaciones basadas en FPGA &#91;12&#93;.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En este caso se realiza una simulaci&oacute;n HIL con prop&oacute;sitos acad&eacute;micos, que as&iacute; como en &#91;13&#93;, se justifica como un procedimiento para comprender los alcances y las limitaciones de la t&eacute;cnica, antes de emplearla en aplicaciones con din&aacute;micas r&aacute;pidas y sistemas complejos. Particularmente, se presenta la implementaci&oacute;n del modelo de un sistema lineal de primer orden en una FPGA de Altera&reg;, controlado por un regulador PID de estructura fija, dise&ntilde;ado e implementado en la herramienta LabView&reg;, en donde se visualiza la evoluci&oacute;n de las variables del sistema en el tiempo y se manipulan los par&aacute;metros de dise&ntilde;o de la planta embebida como del controlador. As&iacute; mismo, se describe la manera en que se dise&ntilde;aron dichos m&oacute;dulos. La comunicaci&oacute;n entre LabView y la FPGA se realiza por medio de comunicaci&oacute;n serial, cumpliendo con los requerimientos del protocolo de comunicaci&oacute;n RS232 &#91;14&#93; &#91;15&#93;. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En las siguientes secciones, se describe por etapas el dise&ntilde;o e implementaci&oacute;n del protocolo de comunicaci&oacute;n y las ecuaciones en diferencias de la planta y el controlador, establecidas en la FPGA y en LabVIEW&reg;, respectivamente. Al final, se muestran los resultados obtenidos y se plantean las conclusiones correspondientes.</font></p>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>2.  HERRAMIENTAS Y M&Eacute;TODOS </b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="#fig01">Figura 1</a> se puede ver la arquitectura general del sistema propuesto, en esta secci&oacute;n se va a entrar en detalle de la metodolog&iacute;a de dise&ntilde;o  de cada etapa, como es la implementaci&oacute;n de la planta embebida en la FPGA y el controlador desarrollado en LabView&reg;, como tambi&eacute;n su integraci&oacute;n y comunicaci&oacute;n. </font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig01"></a></font><img src="/img/revistas/dyna/v80n179/v80n179a06fig01.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En los dos dispositivos, FPGA y el PC, se implementa el m&oacute;dulo de comunicaci&oacute;n serial y un sistema din&aacute;mico invariante en el tiempo. Inicialmente, se hace una descripci&oacute;n de los programas desarrollados para la FPGA y se continua con el programa y la interfaz de usuario implementados en LabView&reg;. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>2.1.  Sistema de primer orden en FPGA</b>    <br> Para la construcci&oacute;n del modelo de la planta y el protocolo que permite la comunicaci&oacute;n con la Interfaz Gr&aacute;fica de Usuario (GUI, por sus siglas en ingl&eacute;s), se utiliz&oacute; la FPGA Altera&reg; <i>Cyclone IV</i> &#91;16&#93;. Mediante el lenguaje de programaci&oacute;n VHDL, se implementaron dos programas con funcionamiento concurrente (simult&aacute;neo) &#91;17&#93;. El primero es el algoritmo para introducir la ecuaci&oacute;n en diferencias de un sistema de primer orden, con el cual se representa el modelo de la planta. El segundo, es el m&oacute;dulo para la comunicaci&oacute;n serial, que hace uso del protocolo RS232. A continuaci&oacute;n se presenta cada una de las etapas mencionadas. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>2.1.1. Modelo de la Planta</b>    <br> Se propone una planta de primer orden, que seg&uacute;n &#91;18&#93; puede representar lo que f&iacute;sicamente ser&iacute;a un circuito RC o un sistema t&eacute;rmico. Por lo tanto, se consider&oacute; un sistema de control t&eacute;rmico sin retardo, donde la se&ntilde;al manipulada est&aacute; en funci&oacute;n a un voltaje de alimentaci&oacute;n a una resistencia t&eacute;rmica y la variable controlada es la se&ntilde;al de temperatura como salida del sistema,  cuyo modelo din&aacute;mico est&aacute; definido bajo la funci&oacute;n de transferencia (1):</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v80n179/v80n179a06eq01.gif"></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En donde  es la ganancia en lazo directo y  es el tiempo de crecimiento del sistema de primer orden.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En &#91;19&#93; se propone un experimento en el que se le aplica una entrada escal&oacute;n de 2,5V y el sistema var&iacute;a de la temperatura ambiente de 20,5&deg;C a un valor final de 47,2&deg;C, entonces la constante de proporcionalidad K est&aacute; dada como la pendiente de la relaci&oacute;n Y(s)/U(s), relaci&oacute;n de sensibilidad del sensor utilizado durante el experimento (2):</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v80n179/v80n179a06eq02.gif"></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La constante de tiempo <font face="Symbol">t</font> para un sistema de primer orden se define como el tiempo que se tarda el sistema en alcanzar el 63,2% del valor final (equivalente a 37,37&deg;C), que corresponde a 2.4 horas, obteni&eacute;ndose los valores para (1):</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v80n179/v80n179a06eq03.gif"></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Se simul&oacute; el sistema de primer orden en lazo abierto, con el entorno de simulaci&oacute;n visual Simulink de Matlab&reg;, El diagrama de bloques del sistema se muestra en la <a href="#fig02">Figura 2</a>, cuya respuesta ante una entrada escal&oacute;n se ve en la <a href="#fig03">Figura 3</a>.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig02"></a></font><img src="/img/revistas/dyna/v80n179/v80n179a06fig02.gif"></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig03"></a></font><img src="/img/revistas/dyna/v80n179/v80n179a06fig03.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La planta se discretiz&oacute; usando un modelo de retenedor de orden cero, teniendo en cuenta un periodo de muestreo de 0,24s. El tiempo fue escogido con base en el teorema de muestreo de Nyquist-Shannon, que aunque indica que el tiempo de muestreo de un sistema debe ser al menos la mitad del tiempo de respuesta, se acostumbra a tomar muestras con periodos 10 veces menores, para que haya integridad en la se&ntilde;al &#91;20&#93;. En la <a href="#fig04">Figura 4</a> se muestra la respuesta del sistema al escal&oacute;n y se compara con la del sistema discretizado, con diferentes periodos de muestreo: igual al tiempo de respuesta, a la mitad y 10 veces menor.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig04"></a></font><img src="/img/revistas/dyna/v80n179/v80n179a06fig04.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la ecuaci&oacute;n (4) se muestra la planta discretizada.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v80n179/v80n179a06eq04.gif"></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Una vez se tiene la funci&oacute;n de transferencia discreta de la planta (4), se obtiene la salida a partir de la ecuaci&oacute;n en diferencias (5), para ser implementada en la FPGA.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v80n179/v80n179a06eq05.gif"></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para implementar la ecuaci&oacute;n en diferencias en la FPGA, se sigui&oacute; el procedimiento indicado en el diagrama de flujo de la <a href="#fig05">Figura 5</a>, definiendo los procesos y las variables seg&uacute;n &#91;21&#93;. En la l&iacute;nea 2 del pseudoc&oacute;digo embebido en la FPGA, que se muestra a continuaci&oacute;n, se observa la ecuaci&oacute;n en diferencias del modelo, magnificada en una relaci&oacute;n 100000:1. Una vez se van a enviar los datos, se procede a retornarlos a la escala 1:1, con el objetivo de obtener n&uacute;meros enteros, antes de  enviarlos por el puerto serial. Esto debido a que la FPGA <i>Cyclone IV</i>, en forma nativa, s&oacute;lo trabaja los flotantes bajo arquitectura de punto fijo &#91;16&#93;.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig05"></a></font><img src="/img/revistas/dyna/v80n179/v80n179a06fig05.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la l&iacute;nea 1 del pseudoc&oacute;digo se puede apreciar que siempre la se&ntilde;al de entrada a dicho proceso est&aacute; determinado por la variable RegIn, la cual indica que el buffer de lectura serial se encuentra lleno y ha recibido un nuevo dato, este evento est&aacute; gobernado directamente desde LabView&reg; por el time loop cada 0,24s, tiempo de muestreo seleccionado.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v80n179/v80n179a06alg01.gif"></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El software utilizado para programar la FPGA es <i>Quartus</i> de Altera. Dentro de la jerarqu&iacute;a del algoritmo se tiene un proceso para la planta, el cual indica si hay un nuevo dato en el registro de recepci&oacute;n.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Previamente, se considera el uso consecutivo de sentencias <i>if</i> para la conversi&oacute;n de n&uacute;meros enteros negativos (0-127) y positivos (128-255), dentro del rango est&aacute;ndar del RS232, que establece el env&iacute;o de 8 bits, lo que implica un rango de valores entre 0 y 255.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En el algoritmo, &quot;yk&quot; y &quot;y_1&quot; corresponden a la salida de la ecuaci&oacute;n en diferencias y su valor anterior, respectivamente. La entrada &quot;uk&quot; y su valor anterior &quot;u_1&quot;, se obtienen luego de identificar si el valor de &quot;ukk&quot; (el entero del registro de recepci&oacute;n) es negativo (debido al bit de signo de &quot;dbIn&quot;). Adicionalmente, se observan dos variables internas: la primera se denomina &quot;aux&quot; y se utiliza como registro temporal para la conversi&oacute;n de los datos del registro de recepci&oacute;n &quot;debIn&quot;, de tipo <i>std_logic</i> a tipo entero, por medio del uso secuencial de una sentencia <i>for loop</i> y una concatenaci&oacute;n de sus posiciones; la otra variable es &quot;sal&quot;, que corresponde al resultado de la ecuaci&oacute;n en diferencias &quot;yk&quot;, empleada para enviar su valor al registro de transmisi&oacute;n, ubicando los valores negativos de tal forma que se genere un bit de signo al convertirse al sistema binario.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>2.1.2.  Comunicaci&oacute;n Serial</b>    <br> De acuerdo a la <a href="#fig06">Figura 6</a>, la arquitectura de la entidad UART (del ingl&eacute;s <i>Universal Asynchronous Receiver / Transmitter</i>)  est&aacute; dise&ntilde;ada para realizar las acciones de transmisi&oacute;n y recepci&oacute;n entre la FPGA y el sistema SCADA. </font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig06"></a></font><img src="/img/revistas/dyna/v80n179/v80n179a06fig06.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La transmisi&oacute;n y la recepci&oacute;n se dise&ntilde;an mediante la l&oacute;gica secuencial de las denominadas M&aacute;quinas de Estados Finitos tipo Mealy, es decir, un modelo de comportamiento que define un conjunto de estados intermedios entre entradas y salidas, definiendo las salidas seg&uacute;n el estado actual y las entradas &#91;21&#93;. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Seg&uacute;n &#91;22&#93;, el uso de procesos en el lenguaje VHDL permite el funcionamiento concurrente de varias tareas, por lo que se dise&ntilde;an e implementan dos M&aacute;quinas de estados, cada una mediante dos procesos que trabajan en forma concurrente para cumplir con tres tareas como se presenta en la <a href="#fig07">Figura 7</a>. </font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig07"></a></font><img src="/img/revistas/dyna/v80n179/v80n179a06fig07.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El primero de esos procesos contiene la l&oacute;gica combinacional que calcula el estado siguiente y la l&oacute;gica secuencial que define las salidas, ambas dependiendo de las entradas y del estado presente; el segundo realiza la transici&oacute;n de estados, es decir, actualiza el estado presente con lo establecido como &quot;estado siguiente&quot; por el primer proceso.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las M&aacute;quinas de Estado para transmisi&oacute;n y recepci&oacute;n se encuentran enlazadas con dos bits de control de flujo &quot;transmitiendo&quot; y &quot;recibiendo&quot;, mutuamente excluyentes, que indican la acci&oacute;n en proceso. Adem&aacute;s, cada m&aacute;quina cuenta con un registro de 8 bits que corresponde al resultado de la conversi&oacute;n serial/paralelo de los datos recibidos o por transmitir, que con prop&oacute;sitos pr&aacute;cticos se referencia a un puerto digital, para as&iacute; mostrar su valor en los visualizadores de 7 segmentos incluidos en el kit de desarrollo de la FPGA <i>Cyclone II</i>. Cabe aclarar que cada una de las dos acciones est&aacute; directamente relacionada con uno de los dos pines de comunicaci&oacute;n asociados al puerto de la FPGA (&quot;Rx&quot; y &quot;Tx&quot;).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="#fig08">Figura 8</a> se observa la M&aacute;quina de Estados de transmisi&oacute;n. Esta m&aacute;quina consta de 3 estados, uno de inicio, que espera por la orden de transmisi&oacute;n, otro en donde se espera por la conversi&oacute;n paralelo-serial y otro para transmitir los siguientes datos por el puerto: bit de inicio, byte de dato, bit de paridad y bit de parada.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig08"></a></font><img src="/img/revistas/dyna/v80n179/v80n179a06fig08.gif"></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La <a href="#fig09">Figura 9</a> muestra la M&aacute;quina de Estados de recepci&oacute;n. Aqu&iacute; se observan 4 estados, uno que espera por la orden de recepci&oacute;n, un estado que da el retardo de sincronizaci&oacute;n, uno para la recepci&oacute;n del bit de inicio, del byte de dato y del bit de paridad, y un &uacute;ltimo estado para verificar la recepci&oacute;n del bit de parada.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig09"></a></font><img src="/img/revistas/dyna/v80n179/v80n179a06fig09.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En adici&oacute;n a los cuatro procesos que determinan el funcionamiento de las dos m&aacute;quinas de estado finitas, la comunicaci&oacute;n contiene un proceso encargado de hacer la divisi&oacute;n de frecuencia para asignar la velocidad de transferencia, otro como contador, que da la espera entre cada bit de datos (seg&uacute;n la velocidad de transferencia seleccionada) y un &uacute;ltimo para realizar la conversi&oacute;n serial-paralelo y paralelo-serial.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>2.2.  Controlador e interfaz de usuario implementado en sistema SCADA</b>    <br> Una vez desarrollada la etapa de implementaci&oacute;n de la planta embebida y la comunicaci&oacute;n en la FPGA, los cuales se ejecutan de manera concurrente, con variables tipo se&ntilde;al, que transfieren la informaci&oacute;n bidireccionalmente entre procesos. La comunicaci&oacute;n en LabView&reg; se hace mediante la sentencia <i>While-true</i>, que una vez inicializa las variables, espera por los eventos necesarios para dar transici&oacute;n. El proceso de control se realiza mediante una estructura <i>Time loop</i>, con un periodo de muestreo del sistema de control (0,24s). A continuaci&oacute;n se describir&aacute;n los diagramas de programaci&oacute;n mencionados. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>2.2.1.  Comunicaci&oacute;n serial</b>    <br> Se implement&oacute; una comunicaci&oacute;n serial con LabView&reg;, que trabaja con una M&aacute;quina de Estados Finita tipo Mealy, que eval&uacute;a tanto el estado actual como el evento para la transici&oacute;n. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La configuraci&oacute;n de la comunicaci&oacute;n se realiza mediante el paquete de librer&iacute;as <i>VISA</i>, espec&iacute;ficamente con las funciones <i>VISA Write</i> y <i>VISA Read</i>, que permiten la comunicaci&oacute;n con cualquier tipo de instrumento de forma serial.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El estado de aplicaci&oacute;n de par&aacute;metros (&quot;Aplicar&quot;) es el que tiene mayor prioridad, porque si no se ha ejecutado previamente, no puede realizarse ning&uacute;n tipo de tarea. Este estado solicita la configuraci&oacute;n de ciertos par&aacute;metros: nombre del puerto, frecuencia de transmisi&oacute;n, cantidad de bits, existencia del bit de paridad y par&aacute;metros de control de flujo.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Inmediatamente despu&eacute;s de la aplicaci&oacute;n de par&aacute;metros, la M&aacute;quina de Estados queda en un estado de espera (<i>timeout</i>), especialmente por el evento <i>Read</i>. Para realizar los cambios de eventos, se utiliza una estructura<i> Case Structure</i>, que de acuerdo a cambios en las variables de entrada, producen otro en la salida. </font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="#fig10">Figura 10</a>, el bloque 1 corresponde a la visualizaci&oacute;n de la estructura interna del subVI de la m&aacute;quina de estados finitos, donde se verifica el evento de entrada y el estado presente. El bloque 2 corresponde a una <i>case structure</i> donde se realiza la tarea espec&iacute;fica de lectura, escritura o configuraci&oacute;n serial, seg&uacute;n el estado presente de la m&aacute;quina de estados.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig10"></a></font><img src="/img/revistas/dyna/v80n179/v80n179a06fig10.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Controlador</b>    <br> El controlador es dise&ntilde;ado en Matlab&reg; por un proceso de autosinton&iacute;a de un PID con estructura fija, para obtener las constantes del controlador (6), que garantizan estabilidad y tiempo de establecimiento de 1,5s. El diagrama de bloques implementado en LabView&reg;, se observa en la <a href="#fig11">Figura 11</a>.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v80n179/v80n179a06eq06.gif"></font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig11"></a></font><img src="/img/revistas/dyna/v80n179/v80n179a06fig11.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="#fig11">Figura 11</a> se discrimina cada secci&oacute;n que contiene la etapa de control en LabView&reg;. Con el bloque 1 se habilita la transmisi&oacute;n de se&ntilde;al de control hacia la FPGA; en el bloque 2, <i>equation block</i>, se agrega la ecuaci&oacute;n en diferencias del controlador PID, ecuaci&oacute;n que fue discretizada utilizando el m&eacute;todo de aproximaci&oacute;n de atraso de Euler y el tiempo de muestreo T=0,24s, obteniendo (7) &#91;23&#93;.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Posteriormente, se despej&oacute; la ecuaci&oacute;n en diferencias para la se&ntilde;al de control, que se muestra en (8).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/dyna/v80n179/v80n179a06eq0708.gif"></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los datos que corresponden a valores pasados de cada una de las variables utilizadas en la ecuaci&oacute;n en diferencias, se toman de sucesivos <i>shift register</i>, que son registros que se van actualizando en cada iteraci&oacute;n del <i>Time Loop</i>. El bloque 3 corresponde al cambio de valores de la se&ntilde;al de control a valores entre 0 y 255, que ser&aacute;n interpretados por la FPGA, y finalmente en el bloque 4 se habilita o no la acci&oacute;n de control y la transmisi&oacute;n de datos.</font></p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>3.  RESULTADO</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Se dise&ntilde;&oacute; e implement&oacute; un controlador PID discreto para la planta de primer orden en LabView&reg;, cuya se&ntilde;al de salida se debi&oacute; saturar para trabajar dentro del rango de 0 a 255 bits, definida por el ancho de transmisi&oacute;n establecido por el protocolo de comunicaci&oacute;n serial (1 Byte), en donde el bit m&aacute;s significativo se reserv&oacute; para indicar el signo.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="#fig12">Figura 12</a> se observa el potencial de la integraci&oacute;n propuesta, al permitir monitorear con LabView&reg; todas las variables de control y la referencia, evaluando la evoluci&oacute;n en el tiempo de la funci&oacute;n de transferencia del sistema t&eacute;rmico embebido en la FPGA. Debido a que la FPGA no hace uso del punto flotante como una representaci&oacute;n para los n&uacute;meros reales, se hizo necesario magnificar considerablemente los coeficientes de la ecuaci&oacute;n en diferencias para trabajarlos como n&uacute;meros enteros, lo que al final significa facilitar los c&aacute;lculos en la herramienta utilizada.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig12"></a></font><img src="/img/revistas/dyna/v80n179/v80n179a06fig12.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Utilizando la estrategia modular propuesta y por etapas, se implement&oacute; un sistema de control en lazo cerrado para manipular la din&aacute;mica de la planta embebida en la FPGA con el PID de estructura fija dise&ntilde;ado, con el que se cumpli&oacute; con el par&aacute;metro de dise&ntilde;o , referente para la evaluaci&oacute;n de desempe&ntilde;o del sistema. Debido a que es una planta de primer orden con realimentaci&oacute;n unitaria, el error se hace igual a cero por la acci&oacute;n del integrador en el controlador propuesto. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Al realizar la magnificaci&oacute;n de las se&ntilde;ales de control y salida, se evidenci&oacute; la limitaci&oacute;n en la manipulaci&oacute;n del punto flotante en la FPGA, cuando no se emplean librer&iacute;as complementarias de la FPGA. En el sistema en lazo cerrado, esto se reflej&oacute; como falta de resoluci&oacute;n, lo que conllev&oacute; a saturaciones de la se&ntilde;al de control por la magnificaci&oacute;n de peque&ntilde;as variaciones. Adem&aacute;s, se generaron valores elevados de error, produciendo tambi&eacute;n saturaci&oacute;n en la se&ntilde;al de salida. Como consecuencia, las pruebas se debieron realizar con valores de referencia en &oacute;rdenes bajos. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Teniendo en cuenta que la se&ntilde;al de referencia podr&iacute;a variar en bits de 0 a 255, se trabajaron valores entre 0 y 10 bits. Para el caso de la <a href="#fig12">Figura 12</a>, se asign&oacute; un valor de referencia de 2, y se observ&oacute; que la se&ntilde;al de control estabiliza el sistema en 1,5 segundos, tal como se dise&ntilde;&oacute; y se simul&oacute; en <i>Simulink</i> de Matlab&reg; (<a href="#fig13">Figura 13</a>). Las diferencias con respecto a los datos de simulaci&oacute;n hicieron evidentes en los esfuerzos de la se&ntilde;al de control, debido a lo expuesto anteriormente acerca de la magnificaci&oacute;n necesaria de la se&ntilde;al de control y la se&ntilde;al de salida de la planta. </font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig13"></a></font><img src="/img/revistas/dyna/v80n179/v80n179a06fig13.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Finalmente, fue posible realizar un experimento para acoplar las dos etapas desarrolladas (FPGA-LabView), empleando la comunicaci&oacute;n serial como puente y sincronizador de los tiempos de muestreo para cada evento, que se solicitaban mutuamente la planta embebida el controlador.</font></p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>4.   CONCLUSIONES </b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tener un sistema ya sea de control o simplemente una planta embebida en una FPGA, permite realizar un monitoreo de las se&ntilde;ales en paralelo, por lo que se puede realizar seguimiento al sistema en tiempo real, algo que puede ser pr&aacute;ctico en sistemas que lo requieran, ya que se puede definir un proceso independiente dentro de la arquitectura que se encargue de enviar dichas se&ntilde;ales que son manipuladas en procesos concurrentes. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Con este trabajo se parti&oacute; de lo particular para llegar a soluciones m&aacute;s generales, donde se detectaron potenciales dificultades de desarrollo de sistemas con la arquitectura propuesta, desde embeber la planta en la FPGA, hasta definir las velocidades m&aacute;ximas de muestreo, limitadas por la comunicaci&oacute;n serial; lo que permitir&aacute; en trabajos futuros dise&ntilde;ar sistemas con din&aacute;micas m&aacute;s complejas, tiempos de respuesta menores y mayor cantidad de perif&eacute;ricos acoplados a la FPGA, donde se implementen sensores reales, aumentando la complejidad del sistema. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La utilizaci&oacute;n de HIL permite disminuir los ciclos en el desarrollo de un producto, ahorrando costos de manufactura en cuanto a materiales para fabricaci&oacute;n de prototipos y protege la integridad de operarios en el desarrollo de pruebas. Adem&aacute;s, permite detectar y diagnosticar  fallas, para corregirlas de forma oportuna y evaluar protocolos de detecci&oacute;n.</font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>REFERENCIAS</b></font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;1&#93;</b> Bacic, M., On hardware-in-the-loop simulation. 44th IEEE Conference on Decision and Contro. Sevilla, Espa&ntilde;a, pp. 3194-3198, Diciembre 2005.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000110&pid=S0012-7353201300030000600001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;2&#93;</b> Kohl, S. y Jegminat, D., How to do Hardware-in-the-Loop Simulation Right. SAE World Congress. Detroit, MI, USA, pp. 1-12, Abril 2005.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000111&pid=S0012-7353201300030000600002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;3&#93;</b> Waltermann, P., Hardware-in-the-Loop: The Technology for Testing Electronic Controls in Automotive Engineering. 6th Paderborn Workshop Designing Mechatronic Systems. Paderborn, Alemania, pp. 1-20, Abril 2009.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000112&pid=S0012-7353201300030000600003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;4&#93;</b> Mauri, M., Castelli, F. y Marchgiani, G., Hardware in the loop (HIL) test bench for small-scale distributed generation systems. IEEE International Symposium on Industrial Electronics. Cambridge, UK, pp. 2177-2182, Junio 2008.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000113&pid=S0012-7353201300030000600004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;5&#93;</b> Todd, R. y Forsyth, A., HIL Emulation of All-Electric UAV Power Systems. IEEE Energy Conversion Congress and Exposition. San Jos&eacute;, CA, USA, pp. 411-416, Septiembre 2009.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000114&pid=S0012-7353201300030000600005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;6&#93;</b> Xiong, L., Zhong, Z., Ai, B. y Hong, Wei., Performance Evaluation for High-Speed Railway Mobile Communication on HIL Simulation platform. 4th IET International Conference on Wireless, Mobile & Multimedia Networks. Beijing, China, pp. 141-144, Septiembre 2011.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000115&pid=S0012-7353201300030000600006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;7&#93;</b> Jeschke, S. y Koppers, M., HIL Simulation of electric vehicles in different usage scenarios. IEEE International Electric Vehicle Conference. Greenville, SC, USA, pp. 1-8, Marzo 2012.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000116&pid=S0012-7353201300030000600007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;8&#93;</b> Stojcsics, D. and Molnar, A., Fixed-wing small-size UAV navigation methods with HIL simulation for AERObot autopilot. IEEE 9th International Symposium on Intelligent Systems and Informatics. Subotica, Serbia, pp. 241-245, Septiembre 2011.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000117&pid=S0012-7353201300030000600008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;9&#93;</b> Tong, Z., Zhang, H., Ye, Z. y Han, J., RCP-based HIL Simulation and Control for 2-DOF Tracking Robot of Maneuvering Target. International Asia Conference on Informatics in Control, Automation and Robotics. Bangkok, Tailandia, pp. 121-125, Febrero 2009.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000118&pid=S0012-7353201300030000600009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;10&#93;</b> Pedroni, J. y Cova, W., Implementaci&oacute;n del control de orientaci&oacute;n con realimentaci&oacute;n de velocidad de una tobera pivotante de uso espacial en un ambiente de simulaci&oacute;n Hardware-in-the-Loop. ARGENCON, Cordoba, Argentina, pp. 1-6, Junio 2012.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000119&pid=S0012-7353201300030000600010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;11&#93;</b> Mertens, F. and Sander T., When Processor and FPGA Work Together, Elektronik Automotive, pp. 1-5, 2011.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000120&pid=S0012-7353201300030000600011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;12&#93;</b> Bobe, N., Ploger, M., Puschman, F. and Lillwitz, S., Thing are Speeding up: FPGA-based simulation models for electric drives, Hanser Automotive, pp. 1-5, 2012.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000121&pid=S0012-7353201300030000600012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;13&#93;</b> National Instruments. Tutorial: LabVIEW FPGA in Hardware-in-the-Loop Simulation Applications. Available: <a href="http://www.ni.com" target="referencia">http://www.ni.com</a> &#91;Citado 10 de Mayo de 2013&#93;    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000122&pid=S0012-7353201300030000600013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref -->.       <!-- ref --><br>   <b>&#91;14&#93;</b> Hui-Ling, P. y Ya-Lin, N., Design of serial communication interface based on FPGA. IEEE International Computer Science and Automation Engineering (CSAE) Conf. Shangai, China, pp. 410-414, Junio 2011.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000124&pid=S0012-7353201300030000600014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;15&#93;</b> Machado, F. and Borromeo, S., Dise&ntilde;o de sistemas digitales con VHDL, Universidad Rey Juan Carlos, Madrid, Espa&ntilde;a, 2010.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000125&pid=S0012-7353201300030000600015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;16&#93;</b> Altera. <i>Cyclone IV</i> FPGA Starter Development Board Reference Manual. San Jose, CA, USA, Octubre 2006.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000126&pid=S0012-7353201300030000600016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;17&#93;</b> Brown, S. and Vranesic, Z., Fundamentals of Digital Logic with VHDL Design, McGraw-Hill, University of Toronto, Toronto, Canada, 2005.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000127&pid=S0012-7353201300030000600017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;18&#93;</b> Ogatha, K., Ingenier&iacute;a de Control Moderna. Prentice Hill 4th ed., Madrid, Espa&ntilde;a, 2003       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000128&pid=S0012-7353201300030000600018&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;19&#93;</b> Quintero-G&oacute;mez, M., Uso de Labview para sistemas de control en ingenier&iacute;a qu&iacute;mica. Dyna, 169, pp. 150-157, 2011.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000129&pid=S0012-7353201300030000600019&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;20&#93;</b> Skoog, D., Principios de Analisis Instrumental. Cengage Learning, M&eacute;xico D.F., Mexico, 2008.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000130&pid=S0012-7353201300030000600020&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;21&#93;</b> Cassandras, C. and Lafortune, S., Introduction to discrete event systems. Springer Science+Business Media, New York, NY, USA, 2008.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000131&pid=S0012-7353201300030000600021&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;22&#93;</b> Perry, D., VHDL: Programming by Example. McGraw-Hill Education, 2002.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000132&pid=S0012-7353201300030000600022&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>   <b>&#91;23&#93;</b> Mathworks. Discrete PID Controller Help. Avaliable: <a href="http://www.mathworks.com" target="referencia">http://www.mathworks.com</a> &#91;Citado 10 de Mayo de 2013&#93;    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000133&pid=S0012-7353201300030000600023&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref -->.  </font></p>      ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bacic]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<source><![CDATA[On hardware-in-the-loop simulation]]></source>
<year>Dici</year>
<month>em</month>
<day>br</day>
<conf-name><![CDATA[44th IEEE Conference on Decision and Contro]]></conf-name>
<conf-loc>Sevilla </conf-loc>
<page-range>3194-3198</page-range></nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kohl]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Jegminat]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
</person-group>
<source><![CDATA[How to do Hardware-in-the-Loop Simulation Right]]></source>
<year>Abri</year>
<month>l </month>
<day>20</day>
<conf-name><![CDATA[ SAE World Congress]]></conf-name>
<conf-loc>Detroit MI</conf-loc>
<page-range>1-12</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Waltermann]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
</person-group>
<source><![CDATA[Hardware-in-the-Loop: The Technology for Testing Electronic Controls in Automotive Engineering]]></source>
<year>Abri</year>
<month>l </month>
<day>20</day>
<conf-name><![CDATA[6th Paderborn Workshop Designing Mechatronic Systems]]></conf-name>
<conf-loc>Paderborn </conf-loc>
<page-range>1-20</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Mauri]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Castelli]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[Marchgiani]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
</person-group>
<source><![CDATA[Hardware in the loop (HIL) test bench for small-scale distributed generation systems]]></source>
<year>Juni</year>
<month>o </month>
<day>20</day>
<conf-name><![CDATA[ IEEE International Symposium on Industrial Electronics]]></conf-name>
<conf-loc>Cambridge </conf-loc>
<page-range>2177-2182</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Todd]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Forsyth]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<source><![CDATA[HIL Emulation of All-Electric UAV Power Systems]]></source>
<year>Sept</year>
<month>ie</month>
<day>mb</day>
<conf-name><![CDATA[ IEEE Energy Conversion Congress and Exposition]]></conf-name>
<conf-loc>San José CA</conf-loc>
<page-range>411-416</page-range></nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Xiong]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[Zhong]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
<name>
<surname><![CDATA[Ai]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
<name>
<surname><![CDATA[Hong]]></surname>
<given-names><![CDATA[Wei]]></given-names>
</name>
</person-group>
<source><![CDATA[Performance Evaluation for High-Speed Railway Mobile Communication on HIL Simulation platform]]></source>
<year>Sept</year>
<month>ie</month>
<day>mb</day>
<conf-name><![CDATA[4th IET International Conference on Wireless, Mobile & Multimedia Networks]]></conf-name>
<conf-loc>Beijing </conf-loc>
<page-range>141-144</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Jeschke]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Koppers]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<source><![CDATA[HIL Simulation of electric vehicles in different usage scenarios]]></source>
<year>Marz</year>
<month>o </month>
<day>20</day>
<conf-name><![CDATA[ IEEE International Electric Vehicle Conference]]></conf-name>
<conf-loc>Greenville SC</conf-loc>
<page-range>1-8</page-range></nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Stojcsics]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Molnar]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<source><![CDATA[Fixed-wing small-size UAV navigation methods with HIL simulation for AERObot autopilot]]></source>
<year>Sept</year>
<month>ie</month>
<day>mb</day>
<conf-name><![CDATA[9th International Symposium on Intelligent Systems and Informatics]]></conf-name>
<conf-loc>Subotica </conf-loc>
<page-range>241-245</page-range></nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Tong]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
<name>
<surname><![CDATA[Zhang]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Ye]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
<name>
<surname><![CDATA[Han]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<source><![CDATA[RCP-based HIL Simulation and Control for 2-DOF Tracking Robot of Maneuvering Target]]></source>
<year>Febr</year>
<month>er</month>
<day>o </day>
<conf-name><![CDATA[ International Asia Conference on Informatics in Control, Automation and Robotics]]></conf-name>
<conf-loc>Bangkok </conf-loc>
<page-range>121-125</page-range></nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Pedroni]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Cova]]></surname>
<given-names><![CDATA[W.]]></given-names>
</name>
</person-group>
<source><![CDATA[del control de orientación con realimentación de velocidad de una tobera pivotante de uso espacial en un ambiente de simulación Hardware-in-the-Loop]]></source>
<year>Juni</year>
<month>o </month>
<day>20</day>
<conf-name><![CDATA[ ARGENCON]]></conf-name>
<conf-loc>Cordoba </conf-loc>
<page-range>1-6</page-range></nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Mertens]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[Sander]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
</person-group>
<source><![CDATA[When Processor and FPGA Work Together]]></source>
<year>2011</year>
<conf-name><![CDATA[ Elektronik Automotive]]></conf-name>
<conf-loc> </conf-loc>
<page-range>1-5</page-range></nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bobe]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
<name>
<surname><![CDATA[Ploger]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Puschman]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[Lillwitz]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
</person-group>
<source><![CDATA[Thing are Speeding up: FPGA-based simulation models for electric drives]]></source>
<year>2012</year>
<conf-name><![CDATA[ Hanser Automotive]]></conf-name>
<conf-loc> </conf-loc>
<page-range>1-5</page-range></nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="">
<collab>National Instruments</collab>
<source><![CDATA[Tutorial: LabVIEW FPGA in Hardware-in-the-Loop Simulation Applications]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hui-Ling]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Ya-Lin]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
</person-group>
<source><![CDATA[Design of serial communication interface based on FPGA]]></source>
<year>Juni</year>
<month>o </month>
<day>20</day>
<conf-name><![CDATA[ IEEE International Computer Science and Automation Engineering (CSAE) Conf.]]></conf-name>
<conf-loc>Shangai </conf-loc>
<page-range>410-414</page-range></nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Machado]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[Borromeo]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
</person-group>
<source><![CDATA[Diseño de sistemas digitales con VHDL]]></source>
<year>2010</year>
<publisher-loc><![CDATA[Madrid ]]></publisher-loc>
<publisher-name><![CDATA[Universidad Rey Juan Carlos]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="">
<collab>Altera</collab>
<source><![CDATA[Cyclone IV FPGA Starter Development Board Reference Manual]]></source>
<year>Octu</year>
<month>br</month>
<day>e </day>
<publisher-loc><![CDATA[San Jose^eCA CA]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Brown]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Vranesic]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
</person-group>
<collab>University of Toronto</collab>
<source><![CDATA[Fundamentals of Digital Logic with VHDL Design]]></source>
<year>2005</year>
<publisher-loc><![CDATA[Toronto ]]></publisher-loc>
<publisher-name><![CDATA[McGraw-Hill]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ogatha]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
</person-group>
<source><![CDATA[Ingeniería de Control Moderna]]></source>
<year>2003</year>
<edition>4th</edition>
<publisher-loc><![CDATA[Madrid ]]></publisher-loc>
<publisher-name><![CDATA[Prentice Hill]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B19">
<label>19</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Quintero-Gómez]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Uso de Labview para sistemas de control en ingeniería química]]></article-title>
<source><![CDATA[Dyna]]></source>
<year>2011</year>
<numero>169</numero>
<issue>169</issue>
<page-range>150-157</page-range></nlm-citation>
</ref>
<ref id="B20">
<label>20</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Skoog]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
</person-group>
<source><![CDATA[Principios de Analisis Instrumental]]></source>
<year>2008</year>
<publisher-loc><![CDATA[México ]]></publisher-loc>
<publisher-name><![CDATA[Cengage Learning]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B21">
<label>21</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cassandras]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Lafortune]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
</person-group>
<source><![CDATA[Introduction to discrete event systems]]></source>
<year>2008</year>
<publisher-loc><![CDATA[New York^eNY NY]]></publisher-loc>
<publisher-name><![CDATA[Springer Science+Business Media]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B22">
<label>22</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Perry]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
</person-group>
<source><![CDATA[VHDL: Programming by Example]]></source>
<year>2002</year>
<publisher-name><![CDATA[McGraw-Hill Education]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B23">
<label>23</label><nlm-citation citation-type="">
<source><![CDATA[Mathworks: Discrete PID Controller Help]]></source>
<year></year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
