martes, 11 de mayo de 2021

 

Anexo Driver USB CH341SER

La instalación del driver para el puente USB se lleva a cabo de la siguiente manera:

1.    Ingresar al siguiente enlace y descargar el fichero Zip pulsando el botón “DOWNLOAD”: http://www.wch.cn/download/CH341SER_ZIP.html

 

2.    Al abrir el fichero nos encontraremos con dos carpetas, solo es necesario descomprimir la llamada “CH341SER”

 

3.    Al abrir la carpeta que se descomprimió se encontrará una carpeta y varios archivos, ejecutar el llamado “SETUP”

 

4.    Al ejecutar el archivo se desplegará una pequeña pestaña como la que se muestra a continuación:

 

5.    Para instalar el driver solo es necesario pulsar en el botón “INSTALL”. Se iniciará la copia de los archivos necesarios para el óptimo funcionamiento y al terminar se desplegará la siguiente ventana:

 

6.    Una vez que se desplegó la ventana, la instalación del driver se ha completado y se pueden cerrar las ventanas ocupadas anteriormente.


Actualmente se instala un driver automáticamente, sin embargo, este no es funcional para el FT-232, si se presenta la situación en la que no se puede crear el puerto COM virtual, proceder con los siguientes pasos:

1.    Abrir el administrador de dispositivos el cual se puede desplegar desde el panel de control en el apartado Sistema o a través del buscador “Cortana”.

 

2.    Desplazarse hacia el apartado “Puertos COM y LPT” y observar si el dispositivo llamado “Prolific USB-to-Serial Comm Port” se encuentra como se muestra a continuación.

 

3.    Pulsar clic derecho sobre el dispositivo, después pulsar en “Actualizar software de controlador…”, “Buscar Software de controlador en el equipo” y por último “Elegir en una lista de controladores de dispositivo en el equipo”.

 

4.    Se desplegará una lista con los controladores que se encuentran instalados en el equipo, elegir el fechado con [27/10/2008], como es mostrado a continuación:

 

5.    Pulsar el botón “Siguiente”, se instalará el controlador y posteriormente cerrar la ventana. Si el procedimiento se realizó correctamente, el dispositivo deberá observarse de la siguiente manera:

 

Algunas veces el ordenador instala automáticamente el controlador más reciente, sin embargo, estos no funcionan para el puente que se ocupa en este proyecto. Si eso ocurre solo es necesario repetir los cinco pasos mostrados anteriormente.

El instalador del driver es compatible para sistemas operativos de 64 y 32 bits desde Windows XP hasta 10. Si se desea instalar en otro sistema operativo, en la página de descarga se puede seleccionar las diferentes versiones para descargar.

 

Referencias bibliográficas

 

[1] Molero, R. (2006). Realización de un PLC didáctico (Maestría). Universidad Nacional Autónoma de México.

[2] Ontiveros, M. (2016). Reconocimiento de objetos y manejo de un brazo robótico mediante un procesador Sitara (Maestría). Universidad Nacional Autónoma de México.

[3] Maloney, T. (2006). Electrónica industrial moderna (5th ed.). México: PEARSON EDUCACIÓN.

[4] Bryan, L. & Bryan, E. (1997). Programmable controllers: theory and implementation (2nd ed.). United States of America: Industrial Text Company.

[5] Allen Bradley. (2016). MicroLogix 1400 Programmable Controllers. Recuperado en febrero del 2017, de: http://literature.rockwellautomation.com

[6] Vallejo, H. (2013). PLC: Los controladores Lógicos programables. Saber Electrónica versión argentina, 166.

[7] Jiménez, A. (2015). Desarrollo de un sistema en FPGA para ensamble robotizado guiado por visión (Maestría). Universidad Nacional Autónoma de México.

[8] NEMA. (2013). ICS 61131-1-2005 (R2013). National Electrical Manufacturers Association. Recuperado en enero del 2017, de: http://www.nema.org

[9] PLCOpen. (2014). PLCopen on IEC 61131-3. PLCOpen. Recuperado en diciembre del 2016, de: http://www.plcopen.org

[10] Bolton, W. (2006). Programmable Logic Controllers (4th ed.). Burlington: Elsevier.

[11] PLCOpen. (2013). IEC 61131-3: a standard programming resource. PLCOpen. Recuperado en enero del 2017, de: http://www.plcopen.org

[12] Van der Wal, E. IEC 1131 or 61131: Status of the StandardPLCOpen. Recuperado en diciembre del 2016, de: http://www.plcopen.org

[13] Westhues, J. (2009). LDmicro: Ladder Logic for PIC and AVR (6th ed.). Seattle: LDmicro. Recuperado en diciembre del 2016, de: http://cq.cx/ladder.pl#dl

[14] De la Peña, B. & Díaz, F. (2009). Elementos de electrónica. Cuautitlán: Universidad Nacional Autónoma de México.

[15] Galeano, G. (2009). Programación de sistemas embebidos en C (1st ed.). México: Alfaomega.

[16] Salas, S. (2015). Todo sobre sistemas embebidos (1st ed.). Lima: Universidad Peruana de Ciencias Aplicadas.

[17] Di Lella, D. Curso introductorio sobre Microcontroladores Familias HC705 y HC908 de Freescale. Edudevices. Recuperado en enero del 2017, de: http://www.edudevices.com.ar

[18] ON Semiconductor (2014). TIP120, TIP121, TIP122 (NPN); TIP125, TIP126, TIP127 (PNP). USA. ON Semiconductor

 [19] Reyes, C. (2006). Microcontroladores PIC Programación en Basic (2nd ed.). Quito: RISPERGRAF.

[20] Medina, R. (1992). Programación avanzada en lenguaje ensamblador. Bolivia: Facultad Nacional de Ingeniería. Recuperado en octubre del 2016, de: https://inf3530.files.wordpress.com/2011/09/tutorial-completo-assembler.pdf

[21] Valdés, F & Pallás, R. (2007). Microcontroladores: Fundamentos y aplicaciones con PIC. España: Marcombo

[22] Morero, F. (2000). Introducción a la OPP (1st ed.). Grupo EIDOS.

[23] Joyanes, L. (1996). Programación orientada a objetos (1st ed.). España: McGraw-Hill.

[24] Halvorson, M. (2010). Visual Basic 2010 Step by Step (1st ed.). Washington: Microsoft Press.

[25] Landa, N. (2010). C# (1st ed.). Buenos Aires: USERS.

[26] Introducción a Visual Studio .NET. Developer Network. Recuperado en octubre del 2016, de: https://msdn.microsoft.com/es-MX

[27] Blanco, L. (2002). Programación en Visual Basic .NET (1st ed.). Madrid: Grupo EIDOS.

[28] Microchip. (2007). PIC16f882/883/884/886/887 Data Sheet. USA. Microchip Technology Inc.

[29] Rodríguez, L. Conceptos de la arquitectura .NET Framework. Madrid: Universidad Pontifica de Salamanca. Recuperado en enero del 2017, de: http://www.colimbo.net/i208/docu.htm

[30] Arduino - Bootloader. Arduino.cc. Recuperado en febrero del 2017, de: https://www.arduino.cc

[31] CEL. (2016). Optocouplers Product Selection Guide. California. CEL.

[32] WAGO. (2015). RELAYS AND OPTOCOUPLERS Product Overview. Alemania. WAGO Kontakttechnik GmbH & Co.

[33] Universidad del Cauca. Práctica 4. Características del diodo Zener. Colombia. Universidad del Cauca. Recuperado en diciembre del 2016, de: http://www.rftorrent.com/caracteristicas_deL_diodo_zener.pdf

[34] Hackworth, J. & Hackworth, F. (2004). Programmable Logic Controllers: Programming Methods and Applications (1st ed.). Pearson/Prentice Hall.

[35] India Community Initiative. .NET Tutorial for Beginners. India Community Initiative. Recuperado en noviembre del 2016, de: https://www.computer-pdf.com/programming

[36] Clase SerialPort. Developer Network. Recuperado en octubre del 2016, de: https://msdn.microsoft.com/es-es

[37] Pérez, F & Ávila, D. Amplificador Darlington. SENA (CEET). Recuperado en marzo del 2017, de: https://es.scribd.com

[38] Instituto Nacional para la Educación de los Adultos. (2008). CONTROL DE EMISIONES 14. Relevadores. México. Instituto Nacional para la Educación de los Adultos en Coordinación del Consejo Nacional del Educación para la Vida y el Trabajo

[39] Beningo, J. (2015). Bootloader Design for Microcontrollers in Embedded Systems. BENINGO ENGINEERING. Recuperado en diciembre del 2016, de: http://beningo.com/

[40] Anton, O. Gelineau, B. & Sauget, J. (2012). Firmware and bootloader. rose.telecom-paristech.fr. Recuperado en febrero del 2017, de: https://rose.telecom-paristech.fr/2012/wp-content/uploads/

[41] Comparación de Visual Studio y Visual Web Developer Express. Developer Network. Recuperado en febrero del 2017, de: https://msdn.microsoft.com/es-es

[42] Márquez, Diego. (2008) El fichero HEX explicado. PicManía by RedRaven. Recuperado en septiembre del 2016, de: http://www.picmania.garcia-cuervo.net

 

Capítulo 5

Conclusiones

 

Conforme a los objetivos planteados, se desarrolló una tarjeta electrónica capaz de emular a un PLC comercial con un bajo costo de adquisición, tamaño reducido y programable vía USB, implementando un microcontrolador PIC.

También, se desarrolló una aplicación para Windows, que entabla comunicación con el microcontrolador de manera eficiente para transmitir los bytes de un fichero hexadecimal, el cual graba en la memoria flash de este dispositivo. Además, brinda cuatro programas pregrabados que funcionan como un auxiliar para implementar tareas sencillas de control dentro del mismo entorno desarrollado.

De acuerdo con las pruebas realizadas a la tarjeta, la grabación de la memoria flash a través del bootloader se realiza correctamente, el circuito propuesto trabaja de la manera esperada con los programas pregrabados y los programados en Ladder.

Con un microcontrolador de 8 bits basado en RISC, se concluye que puede ser implementado en un circuito que funcione como herramienta de estudio, para el diseño de sistemas embebidos de control a nivel industrial. En conjunto con una aplicación desarrollada para PC e implementando un Bootloader, se cuenta con las características básicas de un PLC.

 

5.1 Trabajo futuro

Debido a que el diseño busca ser semejante a un PLC comercial, el trabajo que queda por realizarse es basto. Respecto al circuito digital, se pueden adaptar las conexiones para que sean soportados microcontroladores de 18 o 28 pines. Se propone incorporar un algoritmo de verificación del checksum de cada bloque grabado en la memoria flash. Además de implementar un Bootloader en otros microcontroladores PIC.

En cuanto a la aplicación, acoplar programas pregrabados con diferentes propósitos para el control, así como un algoritmo de calibración para los dispositivos conectados a los módulos.

También, la incorporación de un entorno de programación en Ladder y otros lenguajes estandarizados dentro de la misma aplicación. La interfaz del bootloader puede incorporar un algoritmo para procesar el operador 28xx y evitar los problemas causados por el desplazamiento de los saltos y se pueda asegurar la buena ejecución de programas creados en otros entornos.

 

4.4 Programas pregrabados

Los programas pregrabados fueron creados como una herramienta para implementar el PLC de manera rápida y como ejemplos sencillos para su implementación. Estos programas fueron escritos en el entorno CCS que es una plataforma de programación en lenguaje C estándar para microcontroladores PIC.

El diseño de estos programas mantiene comunicación serial con la aplicación que se desarrolló en Visual Basic. A través de la cual se configura el PIC para sus diferentes modalidades de uso en el PLC

4.4.1 Programa de compuertas lógicas

En este programa, la configuración del PIC se lleva a cabo a través de un caracter, como se observó en la Figura 4.3, la combinación de compuertas elegida en la aplicación transmite dicho caracter, el cual ejecuta una función de manera cíclica como se muestra a continuación:

  Figura 4.15 Diagrama de compuertas lógicas en el PIC.

 Una vez recibido el carácter de configuración, no se podrá cambiar la combinación de las entradas y salidas. Para cambiar de combinación será necesario reiniciar el PIC

4.4.2 Programa ADC

De la misma manera que el programa de compuertas lógicas, el PIC recibe caracteres para configurarse, para este caso, son tres. Estos caracteres alfanuméricos configuran el módulo ADC, relevador y valor de cierre.

En la Figura 4.16 se muestra el diagrama del programa diseñado, solo se percibe el funcionamiento del ADC0, sin embargo, la configuración y el ciclo infinito para los otros módulos se realiza de la misma manera.

     Figura 4.16 Diagrama de ADC en el PIC.

 Como se mencionó anteriormente, estas lecturas al implementar más de un módulo son erróneas cuando se convierte el valor implementando el algoritmo presentado anteriormente, sin embargo, se comprobó con instrumentos de laboratorio (osciloscopio y multímetro) el valor del voltaje transmitido por el dispositivo analógico, el cual decae 20mV al encender un relevador. De cualquier forma, el valor convertido no debería de variar drásticamente el valor de la conversión como se ha observado en las pruebas. 

4.4.3 Programa PWM

La configuración de este programa se realiza de la misma manera que los dos anteriores, sin embargo, la relación del ciclo de trabajo puede ser modificada a través de la aplicación. En la siguiente figura se muestra el diagrama a bloques de este programa.

  Figura 4.17 Diagrama de PWM en el PIC

 

4.3.2 Protección contra sobre escritura

Como se pudo observar en la Figura 4.13, se protege el bloque donde se almacena el salto al bootloader con “Dirección +16” y “Borrar primer bloque”. La protección del arrancador se lleva a cabo con “¿Dirección límite +1?”, esta toma de decisión revisa que no se grabe sobre el bootloader ya que la dirección límite es un bloque anterior al que se almacena.

El sumar 16 a la dirección es básicamente el mismo principio que el de eliminar el primer bloque del fichero, solo que en vez de ignorar las primeras dos líneas, el sumar 16 las recorre. Si se desea ocupar el grabado genérico hay que tener en cuenta que:

·         El desplazamiento de la grabación puede ocasionar que los saltos no se realicen correctamente.

·         Los fuses CONFIG no pueden ser modificados.

·         La configuración del fuse del oscilador es HS.

El desplazamiento puede ser solucionado con la función NOP en el caso de ASM, o haciendo el desplazamiento desde el entorno de programación para que los saltos se realicen correctamente.

Los fuses CONFIG no pueden ser modificados para mantener la integridad del bootloader, por lo que el pin 1 será RESET y el oscilador funcionará en HS, como se mencionó, además no se podrá incluir WatchDog ya que este está desactivado.

 

4.3.3 Transmisión de bytes.

El  protocolo de escritura del PIC toma un tiempo considerable, por lo que la aplicación también requiere esperar para transmitir el siguiente valor. 

Tomando en cuenta que el PIC ocupa cuatro ciclos de reloj por cada instrucción y se ocupa un oscilador de 20Mhz, el tiempo de ejecución por cada instrucción es de 200ns [21]. 

 

Teniendo en cuenta que el proceso de grabación y su regreso a la espera de un dato recibido es de 36 instrucciones, el tiempo que deberá esperar la aplicación para transmitir cada byte es de 7.2ms, sin embargo, se programó con un tiempo de espera de 10ms mediante el método Sleep de la clase Thread la cual permite retardos sin necesidad de saturar al procesador con saltos [24].

 

4.3.1 Procesamiento de fichero hexadecimal PIC

Los CheckBox funcionan como un condicional para grabar y además discriminar el procesamiento del fichero según su origen. Es necesario tener uno marcado para proceder a la grabación.

El rotulado con “LDmicro” borra el primer bloque del fichero, o, en otras palabras, borra las primeras dos líneas de datos del archivo, se hace esto porque en el primer bloque de la memoria está almacenado el salto hacia la estructura principal del bootloader y para evitar problemas con los saltos en el programa.

El operador 28xx de un fichero hexadecimal para PIC de 8-bit es el encargado de indicar los saltos. En la Figura 4.12 se observa un ejemplo de este operador.

Figura 4.12 Ejemplos de operador 28xx.

Como se aprecia, las “xx” son el valor hexadecimal de la parte baja de la dirección hacia dónde se dirige el salto. En la parte izquierda de la figura se observa un salto que se ejecuta de manera correcta. Del lado derecho se muestra un salto erróneo; que desde luego que al compilar en ASM direccionaría a 0x0010, pero, este desplazamiento ocurre al usar el grabado de la memoria flash a través de un bootloader.

Como se mencionó, la solución a este problema fue eliminar el primer bloque del fichero de LDmicro, ya que el encabezado para todos sus archivos generados es el mismo, el cual no contiene configuraciones o procesos del programa, sino que limpia la memoria RAM para poder ocuparla para variables generadas en el código de programación, sin embargo, al ser una memoria volátil, el contenido de sus celdas de uso general será el de fábrica [28], por lo que quitar este bloque del fichero no perjudica a la ejecución del programa.

El segundo CheckBox rotulado con Otro” indica que la grabación será genérica y que solo deberá ejecutar la protección contra sobre escritura.

Por otra parte, para iniciar el procesamiento del fichero y grabar el programa dentro del PIC, es necesario que la primera línea del fichero sea “:020000040000FA”, ya que los archivos generados por LDmicro incluyen esta línea, por lo que el procesamiento inicia con esta condicionante, tanto en “LDmicro” como en Otro.

En las Figuras 4.13 y 4.14 se muestran los diagramas que representan el procesamiento de un fichero hexadecimal pulsando el botón “Grabar” de la interfaz. El procesamiento y transmisión se hace de la misma manera usando la grabación a través de la barra de menús o los botones de la barra de herramientas. Lo único que cambia es el condicionante de los CheckBox, ya que, dependiendo del tipo de grabación que se elija, se ejecuta la sentencia de la condicionante que se muestra en la Figura 4.13 pero de forma secuencial. Además, se han resaltado en color rojo las protecciones contra sobre escritura del bootloader y en azul la protección de los fuses CONFIG.

        Figura 4.13 Diagrama de botón “Grabar” .HEX (I).


     Figura 4.14 Diagrama de botón “Grabar” .HEX (II).

 Los tipos de datos o grabación indican al ordenador que proceso se va a realizar con la línea del fichero. Del tipo 0 indica que son datos por grabar, 1 fin del fichero y 4 complemento a 32-bit. El 4 no se implementará ya que el PIC usado es de 8-bit y no son necesarios complementos tan amplios. Además, los tipos 2 y 3 solo son usados por procesadores de 32-bit [42].

 

4.3 Interfaz de bootloader

El bootloader de un microcontrolador necesita de una interfaz que transmita los datos de un fichero hexadecimal. Esta se encarga de procesar el contenido, hacer las conversiones necesarias para que el microcontrolador interprete los datos, transmita la información y en el caso de este proyecto, implemente la protección contra sobre escritura [39].

La pestaña “Grabar” en la aplicación que se desarrolló para este proyecto, es la interfaz gráfica para el bootloader. A continuación, se presenta esta pestaña.

 Figura 4.11 Pestaña “Grabar”.

 Como se observa, en la parte izquierda se menciona información sobre su uso. Cada una de estas consideraciones se abordarán a lo largo de este tema.

Por otra parte, en el costado derecho de la pestaña, se observa un TextBox, varios botones y un par de CheckBox. El conjunto de estas herramientas conforma la interfaz gráfica del bootloader.

El funcionamiento de cada botón es el siguiente:

·         Abrir: Despliega una ventana de dialogo para elegir el fichero hexadecimal que se quiera grabar en el microcontrolador

·         Grabar: Al pulsar este botón se inicia el procesamiento del fichero y la transmisión de las direcciones y datos a grabar.

·         Rápido: Se carga el valor 0x3FFF hasta la dirección 0x01A0 que equivale aproximadamente al 5% de la memoria de programa.

·         Medio: Este botón alcanza hasta la dirección 0x0FF8 que sería algo parecido al 50% de la memoria disponible.

·         Completo: Carga el valor 0x3FFF en todas las direcciones de la memoria flash disponible sin borrar el bootloader.

 Los tres botones de borrado, no suprimen en si el contenido de la memoria flash, sino que lo sustituyen por el valor 0x3FFF el cual el PIC interpreta como borrado. El proceso de grabado y borrado toma cierto tiempo, entre más largo sea el fichero, más tardará en grabar. Para el borrado medio, se tarda entre uno y dos minutos y el completo poco más de cuatro. Se recomienda solo hacer uso del borrado necesario para evitar pérdida de tiempo.



 

4.2.4 Pestaña Mon. Serial

La pestaña de Monitor Serial proporciona una herramienta de comunicación efectiva. Surgió como una interfaz de prueba para el bootloader, por esta razón su diseño solo transmite caracteres de 1 byte. El enviar más de un carácter colapsa la aplicación por desbordamiento, sin embargo, la recepción no tiene límite de caracteres. A continuación, se muestra esta pestaña.

 

 Figura 4.9 Pestaña Mon. Serial.

 El botón “Habilitar” en esta pestaña solo activa los botones y cajas de texto implementadas, a diferencia de las otras, no graba ningún programa en el PIC.

Para poder entablar comunicación se debe respetar la configuración mostrada en la figura anterior. También, para mostrar datos se hace uso del mismo Timer de la pestaña ADC, sin embargo, como se observa en la Figura 4.10, el valor de la variable, al pulsar el botón recibir, será 1.

  Figura 4.10 Diagrama de botón “Enviar” y “Recibir” Mon. Serial.

 El Scroll de un TextBox, es la barra de desplazamiento. Recorrer Scroll, como se muestra en el diagrama anterior, hace referencia a tener siempre en primera línea el último dato recibido [24].

 

4.2.3 Pestaña PWM

En esta pestaña se configuran los módulos CCP del PIC en su modalidad PWM. En la Figura 4.7 se observa esta pestaña:

Figura 4.7 Pestaña PWM.

 Ambos módulos cuentan con un ComboBox en el cual se habilita cada uno. La frecuencia es la misma para ambos módulos y se cuenta con tres configuraciones 1500, 2500 y 3500Hz.

Se puede usar ambos módulos independientemente, sin embargo, si se desea hacer uso de un solo módulo, este deberá ser el rotulado como PWM0. El uso del segundo módulo solo se utiliza si se desea modular por dos canales.

El botón “Grabar” en esta pestaña se desbloquea cuando se tiene habilitado al menos el módulo PWM0. Una vez que se haya pulsado se ejecutará la secuencia de transmisión de las configuraciones hacia el PIC, en la Figura 4.8 se representa un diagrama a bloques de este proceso.

Figura 4.8 Diagrama de botón “Grabar” PWM.

 Al deslizar la ScrollBar se transmite el valor de este en decimal. Fue configurado con límite a diez y cuenta de uno en uno por lo que se tiene once posibilidades de caracteres para transferir (0-10). El PIC al recibir cualquiera de estos valores, lo procesa para modificar el ciclo de trabajo deseado en proporciones de 10% en 10% del ciclo de trabajo efectivo.

 

4.2.2 Pestaña ADC

La pestaña ADC pretende brindar una herramienta de fácil implementación. Como se observa en la Figura4.4, el diseño es práctico y además cuenta con la posibilidad de visualizar el valor convertido por el microcontrolador.

 Figura 4.4 Pestaña ADC.

 Al igual que la pestaña Compuertas, PWM y Mon.Serial, se necesita habilitar la pestaña para utilizarla. También, graba un fichero hexadecimal en el PIC para que se lleve a cabo la interacción.

Cada módulo de conversión cuenta con su ComboBox para seleccionar si está habilitado o deshabilitado, un TextBox donde se muestra el valor leído por el ADC, el botón para activar o desactivar un relevador y el valor de cierre o apertura de dicho relevador.

Una vez que se selecciona el estado “Habilitado” de un módulo ADC, este permite elegir si se activa un relevador o no. En caso de que no se desee interactuar con un relevador, el botón de “Leer ADC” permite visualizar el valor leído por el microcontrolador.

Por otra parte, al pulsar el botón “RerlevadorX”, se habilita el uso de un relevador. Además, al habilitarlo, permite seleccionar el valor de cierre o apertura del mismo. Los módulos están acomodados de forma que AN0 y AN1 cierran, mientras que AN2 y AN3 abren sus respectivos relevadores.

Por ejemplo, se elige el módulo AN2 con relevador y apertura de 256. Cuando la lectura del ADC iguale o sobrepase el valor de apertura, el PIC cambiará el estado de su pin asignado al Relevador2 de 1 a 0. Por otra parte, si se hubiese elegido el módulo AN1, este cerraría el relevador o cambiaría el estado de 0 a 1.

Para desbloquear el botón “Grabar” es necesario marcar el CheckBox “Listo”, para eso hay que tener activado al menos un módulo. Una vez pulsado este botón, el programa procesa el estado de cada módulo para transmitir las configuraciones de ejecución al microcontrolador.

En la siguiente figura se muestra el diagrama a bloques del botón “Grabar, solo se muestra el proceso de AN0, sin embargo, los demás módulos siguen la misma secuencia.


 Figura 4.5 Diagrama de botón “Grabar” ADC.

 Ya que se transmitieron las configuraciones, el botón “Leer ADC” se desbloquea. Al pulsarlo se ejecuta una serie de procesos para mostrar el valor de cada módulo correspondiente.

Para poder llevar a cabo esta tarea, se implementó un Timer, el cual ejecuta un algoritmo cada vez que se desborda [27]. Para poder distinguir hacia donde se dirige un dato recibido entre la pestaña Mon. Serial y ADC, se creó una variable para distinguir entre una y otra. En la Figura 4.6 se muestra el diagrama a bloques de la recepción del valor leído por el ADC, solo se muestra la operación del ADC0, pero, se realiza lo mismo para los otros módulos.


   Figura 4.6 Diagrama de botón “Leer ADC”.

 Actualmente su uso está limitado a un puerto a la vez. Se hicieron varias pruebas y en cuanto a las lecturas, al usar más de un módulo, estas son erróneas, aun así, la interfaz cuenta con los cuatro módulos con el propósito de implementarlo con programas desarrollados en LDmicro.

 

4.2 Pestañas

Las pestañas permiten interactuar entre las diversas funciones y programas pregrabados que ofrece esta aplicación. Su diseño brinda un uso sencillo. En los siguientes subtemas se explicarán cada una de estos apartados.

Los programas pregrabados están formados por dos partes, la transmisión de las configuraciones seleccionadas en la aplicación y el programa que ejecuta el microcontrolador. La transmisión de configuraciones se explica en este tema y la ejecución de estas configuraciones en el PIC, en el Tema 4.4. Además, para ejecutar uno de estos programas, es necesario tener el PLC en modo grabación, ya que se han transmitido las configuraciones se puede pasar a modo ejecución y ejecutar los programas. 

4.2.1 Pestaña Compuertas

Esta pestaña tiene la función de programar al PLC para que emule una serie de compuertas lógicas (AND, OR, XOR y NOT) en la tarjeta. En el ComboBox se puede elegir una combinación entre las entradas y dependiendo la interacción de la combinación, las salidas reflejarán el resultado. A continuación, se muestra este apartado.


Figura 4.2 Pestaña compuertas.

 El botón “Habilitar” permite la manipulación las características de esta y las otras pestañas, además, graba el programa pregrabado en el PIC necesario para interactuar con la aplicación.

Cada una de las combinaciones tiene un orden fijo entre las entradas y salidas. Por lo que, no es posible cambiarlas.

Ya que se seleccionó una combinación se puede pulsar el botón “Grabar”, el cual transmite las configuraciones necesarias para que el microcontrolador pueda ejecutar la combinación seleccionada. En la siguiente figura se muestra que carácter se transmite dependiendo la combinación seleccionada.


                               Figura 4.3 Diagrama de botón “Grabar” Compuertas.

 Para la transmisión de datos a través del puerto serie hacia el microcontrolador se ocupó la clase SerialPort, como se mencionó anteriormente, esta cuenta con varios métodos para la transmisión (Write, Write(Char), Write(Byte) y WriteLine) [36], el envío de caracteres de configuración se lleva a cabo a través del método Write [24].