142

INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE
Page 2: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DEMONTERREY

CAMPUS MONTERREY

DIVISIÓN DE COMPUTACIÓN, INFORMACIÓN Y COMUNICACIONES

PROGRAMA DE GRADUADOS EN INFORMÁTICA

TESISSISTEMA DE ADMINISTRACIÓN DE PARÁMETROS ENERGÉTICOS

PRESENTADA COMO REQUISITO PARCIAL PARAOBTENER EL GRADO ACADÉMICO DE

MAESTRO EN CIENCIAS

ESPECIALIDAD EN SISTEMAS ELECTRÓNICOS

FERNANDO ADRIÁN ORTIZ FERNANDEZ

MONTERREY, N.L. AGOSTO DE 2001

Page 3: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

TABLA DE CONTENIDO

Lista de Figuras i

Lista de tablas ii

Dedicatoria iii

Agradecimientos iv

Abstract v

Capítulol: Introducción 1

1.1 Justificación 1

1.2 Antecedentes 4

1.2.1 Sistema de Monitoreo de Potencia Real y Reactiva en Localidades

Múltiples 4

1.2.2 Sistema Modular de Monitoreo de Potencia y Parámetros Eléctricos 5

1.2.3 Sistema de Medición de Parámetros Eléctricos 5

1.3 Objetivos 6

1.4 Metodología 6

Capítulo 2: Medición de la Energía Eléctrica 9

2.1 La potencia eléctrica 9

2.2 Medición de energía real 10

2.3 Medición de la energía reactiva 10

2.4 Conexiones de los wattmetros 11

2.4.1 Sistema una fase dos hilos 11

2.4.2 Sistema una fase tres hilos 12

2.4.3 Sistemas tres fases cuatro hilos 13

2.4.4 Sistemas tres fases tres hilos 14

Page 4: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Capítulo 3: Facturación de la energía eléctrica en México 16

3.1 Niveles de Tensión 16

3.2 Tarifas 16

3.3 Regiones y tarifas 18

3.4 Períodos 20

3.5 Cargo por energía 21

3.6 Cargo por demanda 22

3.7 Factor de potencia 26

3.8 Factura total 27

Capítulo 4: Sistemas de Administración de energía 28

4.1 Fundamentos 28

4.2 Beneficios de un sistema de monitoreo 30

4.3 Sistemas de monitoreo 31

4.4 Selección del sistema de monitoreo 32

4.5 Selección del tipo de comunicaciones 32

4.6 Implementación de un sistema de monitoreo 33

Capítulo 5: Sistema Embebido R.L.C. LCD-PLUS 34

5.1 Descripción general 34

5.2 Hardware 35

5.3 Software 39

5.3 Proceso de arranque 40

Page 5: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Capítulo 6: Sistema de Administración de Parámetros Energéticos 41

6.1 Introducción 41

6.1.1 Fuente de poder 41

6.1.2 Construcción de programas 42

6.1.3 Reguladores integrados 42

6.1.4 Desarrollo de programas 42

6.2 Sistema de Administración de energía eléctricabasado en cierre de contactos (Pulsos) 44

6.2.1 Sistema utilizando componentes discretas 45

6.2.1.1 Implementación del sistema. 45

6.2.1.2 Pruebas realizadas al equipo 51

6.2.1.3 Comparación de resultados con equipo comercial 59

6.2.1.4 Comentarios y Conclusiones 60

6.2.2 Sistema utilizando un microcontrolador 61

6.2.2.1 Características generales del AT90S8515 61

6.2.2.2 Implementación del sistema 63

6.2.2.3 Pruebas realizadas al equipo 65

6.2.2.4 Comparación de resultados con equipo comercial 66

6.2.2.5 Comentarios y Conclusiones 67

6.3 Sistema de Administración de energía basado en entradas análogas 68

6.3.1 Implementación del sistema 68

6.3.2 Comparación de resultados con equipo comercial 70

6.3.3 Comentarios y Conclusiones 71

Page 6: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Capítulo 7: Modularidad del sistema 72

Capítulo 8: Conclusiones y Recomendaciones 73

Referencias bibliográficas 75

Apéndice A Programa del Sistema utilizando componente

discretas 77

Apéndice B Programa del Sistema utilizando microcontrolador 99

Apéndice C Programa del Microcontrolador AT9028515 113

Apéndice D Programa del Sistema basado en entradas análogas 119

Page 7: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

LISTA DE FIGURAS

Número Página

Figura 1-1 Diagrama descriptivo del Sistema 8Figura 2-1 Conexión una fase, dos hilos 11Figura 2-2 Conexión una fase, tres hilos 12Figura 2-3 Conexión tres fases, cuatro hilos 13Figura 2-4 Conexión tres fases, tres hilos 14Figura 3-1 Perfil de Demanda 23Figura 3-2 Perfil de Demanda (Facturación) 24Figura 5-1 Diagrama a Bloques tarjeta CE-Minus 35Figura 6-1 Contador de Pulsos 1/5 46Figura 6-2 Expansión de un segundo módulo de contadores 48Figura 6-3 Diagrama de Flujo contador con componentes discretas 49Figura 6-4 Gráfica con los dos canales tomando la misma entrada 51Figura 6-5 Circuito biestable formado por compuertas inversoras 52Figura 6-6 Implementación utilizando Biestable inversor 53Figura 6-7 Eliminación de rebotes utilizando un FF set reset 54Figura 6-8 Implementación utilizando registro NAND 54Figura 6-9 Circuito RC con inversor Schmitt Trigger 55Figura 6-10 Implementación utilizando circuito RC y Schmitt-Trigger 56Figura 6-11 Porcentaje de error en función de la frecuencia 57Figura 6-12 Error con la misma señal de entrada 58Figura 6-13 Lecturas a frecuencia fija de 2Hz 58Figura 6-14 Perfil de Potencia real contra equipo comercial 59Figura 6-15 Perfil de Potencia reactiva contra equipo comercial 60Figura 6-16 Diagrama de Flujo monitoreo con microcontrolador 63Figura 6-17 Implementación utilizando un Microcontrolador 51Figura 6-18 Perfil de Potencia real contra equipo comercial 66Figura 6-19 Perfil de Potencia reactiva contra equipo comercial 67Figura 6-20 Diagrama a bloques entradas análogas 69Figura 6-21 Diagrama de Flujo monitoreo de entradas análogas 70Figura 7-1 Modularidad del sistema 71

Page 8: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

LISTA DE TABLAS

Número Página

Tabla 3-1 Facturación de Demanda 23

Page 9: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

DEDICATORIA

A Dios,

El señor es mi pastor, nada me falta,En verdes pastos el me hace reposar

Y adonde brota agua fresca me conduce.Salmos 23:1-2

Aunque pase por quebradas muy obscurasNo temo ningún mal,

Porque Tú estas conmigo,Tu bastón y tu vara me protegen.

Salmos 23:4

A mis padres,

Fernando y Marina.Por enseñarme a creer

Que todos los retos que me fijoCon tenacidad y paciencia son alcanzables.

Bien sé yo que mi defensor vivey que el hablará el último, de pie sobre la tierra.

Yo me pondré de pie dentro de mi pielY en mi propia carne veré a Dios.

Job 19:25-26

Fernando A. Ortiz Fernández

iii

Page 10: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

AGRADECIMIENTOS

Al ITESM,

Por el apoyo recibido que hizo posible el ascender un escalón más en mi vidaprofesional.

Al Ing. Jesús Baez,

Asesor de esta tesis, por su ayuda, motivación y su gran calidad humana.Gracias por enseñar con el ejemplo.

Al Dr. Armando Llamas, Dr. Graciano Dieck Assad.

Por su participación como sinodales de esta tesis.Gracias por su confianza en mí.

Al Ing. Sergio Ornar Martínez

Por haberme brindado la oportunidad de aprender mientras trabaje para elinstituto.

A todos mis maestros

Por haber compartido conmigo la llama del conocimiento.

Al Ing. Enrique Ian Hernández , al Ing. José Antonio Yamaguchi

Por su gran amistad y apoyo que recibí de ustedes.

A todos mis compañeros del laboratorio de calidad de la energía,

Gracias por su amistad y apoyo.

Fernando A. Ortiz Fernández

iv

Page 11: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Abstract

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

ABSTRACT

El presente trabajo trata el desarrollo de un sistema de Administración deParámetros Energéticos. Se desarrollaron dos esquemas de medición deéstos parámetros:

Un sistema central que recolecta y almacena información de medidores yaexistentes de Potencias Eléctricas que tiene como entrada el cierre decontactos de estos medidores (Pulsos).

Un sistema que permite concentrar parámetros energéticos de diferenteíndole (Temperatura, presión y cualquier señal que pueda ser transducida alos estándares de voltajes y corrientes), con entrada en forma análoga.

En este trabajo se describe el diseño de estos sistemas, así como las basesteóricas sobre la medición, facturación de energía y sistemas de monitoreode energía.

Page 12: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 1: Introducción

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Capítulo 1: Introducción.

1.1 JUSTIFICACIÓN

Para mantener un crecimiento sostenible, nuestro país debe de satisfacer las necesidadesde demanda de energía. Este hecho convierte a la generación de energía eléctrica enfactor fundamental para el crecimiento de México.

En febrero de 1999, el director general de la Comisión Federal de Electricidad (CFE)comparece ante comisiones del senado de la república, la siguiente información fueobtenida de dicha comparecencia [1].

Con una superficie de 2 millones de kilómetros cuadrados y una población cercana a los90 millones de habitantes; en el área rural se atiende hoy en día a 84% de la población yen la urbana a casi 99%, por lo que 95% de los habitantes del país cuentan con el servicioeléctrico. La capacidad instalada en México es de 34,380 MW. Se cuenta con una red detransmisión de casi 35,000 kilómetros y más de 550,000 kilómetros de líneas dedistribución.

Un análisis de la CFE y de la Secretaría de Energía detectó en años pasados el riesgo deque se presentara un déficit de 2,175 MW en el margen de reserva de los años 1999 y2000, por lo que se requería ampliar la capacidad del sistema para dichos años.

Para garantizar los márgenes de capacidad de generación que son necesarios para laconfiabilidad del sistema, se estableció el Programa de Acción Inmediata, que contemplóla construcción de cinco unidades de turbo gas, de 150 MW cada una, el adelanto de lasbases de licitación de tres centrales de ciclo combinado y otras obras críticas detransmisión y subtransmisión.

Ahora bien, el importante crecimiento de la demanda que se espera para la próximadécada requerirá de grandes inversiones, principalmente en materia de generación, lo queobliga a buscar nuevos mecanismos para asegurar el margen de reserva adecuado para elcorrecto funcionamiento del sistema eléctrico del país en las próximas décadas.

La demanda de electricidad ha experimentado un continuo crecimiento durante los añosrecientes, y este incremento obligará a realizar en unos cuantos años lo que se harealizado en los últimos 60.

Los recursos de inversión que demandará el proveer un servicio eléctrico adecuado estáncalculados actualmente en 250 mil millones de pesos para los próximos seis años.

Page 13: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 1: Introducción

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

La inversión insuficiente en el sector podría, en pocos años, provocar problemas en elfuncionamiento operativo del organismo, como el incremento en las pérdidas de energía,así como problemas de capacidad y confiabilidad en algunos tramos del sistema.

La CFE, bajo el esquema actual, no genera los ingresos suficientes para asegurar amediano plazo los niveles de cobertura y calidad que tiene como objetivo ofrecer a losmexicanos. Es indispensable que el sector reciba montos significativos de inversión eincorpore nuevas tecnologías que reduzcan los costos de producción.

La creciente demanda y sus consecuencias en el costo de la energía acentúan lasimplicaciones económicas de no utilizarla de manera eficiente, estas implicacioneseconómicas no son solo para el consumidor, sino también para las compañías degeneración de energía.

A diferentes horas del día hay diversos niveles de consumo, por lo que entran al sistemaen primer lugar las plantas más económicas y después las de mayor costo, con excepciónde las hidroeléctricas que se utilizan para cubrir las horas de demanda máxima.

Las ventas de energía en 1998 ascendieron a alrededor de 137,000 gigawatts hora, de loscuales 30.7 por ciento fue consumido por la mediana industria; 29.4 por ciento por lagran industria; 23.3 por ciento en casas habitación; 6.9 por ciento por el sector agrícola;6.4 por ciento por el comercial; y 3.3 por ciento por el de servicios.

El sector industrial representa el 60.1% de las ventas de CFE, y también es donde laspérdidas por un uso ineficiente de la energía tienen mayores implicaciones económicas,es en este sector donde los esfuerzos de ahorro y uso eficiente de la energía eléctricadeben ser aplicados y adoptados.

Cabe mencionar que durante los meses de Enero y Febrero del 2001 se dio lugar a una delas más importantes crisis energéticas del estado de California en Estados Unidos deAmérica, con lo que el problema de abasto de energía eléctrica ha tomado escalacontinental.

La estrategia de solución implica diversos factores que combinados pueden mejorarnotablemente la eficiencia con la que se utiliza la energía eléctrica. Algunos puntos claveen esta estrategia son, por mencionar algunos, el conocimiento de la forma de facturacióny las tarifas vigentes, el monitoreo de consumo de las cargas importantes y la utilizaciónde equipo eficiente entre otras.

Para planear e implementar un programa de uso eficiente de energía eléctricaadecuadamente se consideran como pasos fundamentales analizar los recibos de consumoy tener acceso a los perfiles de consumo de las cargas importantes. El tener un sistema demonitoreo capaz de proveer al usuario con el perfil de consumo de cargas eléctricasimportantes, permite tener un seguimiento de la forma en que la energía eléctrica se está

Page 14: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 1: Introducción

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

consumiendo. La importancia de los perfiles de consumo radica en el hecho que nospermite identificar los puntos problemáticos y sus síntomas de una manera detallada, locual facilita la selección de la acción correctiva necesaria, y presenta un panorama másamplio y claro para la planificación de estrategias para el ahorro de energía.En la mayoría de los casos el perfil no esta disponible, debido a los altos costos de losequipos de medición disponibles comercialmente, los cuales son provenientes delextranjero.

De igual forma, ha aumentado la importancia de la calidad de la energía eléctrica, debidoen buena medida a que los usuarios finales del recurso energético tienen equipo cada vezmás sensible a disturbios originados en el sistema de potencia.

Esta creciente preocupación por mejorar la calidad de la energía eléctrica ha resultado enavances significativos en el equipo de monitoreo que puede ser utilizado paracaracterizar los disturbios y las variaciones en la calidad de la energía.

1.2 ANTECEDENTESEl Departamento de Ingeniería Eléctrica del ITESM campus Monterrey conciente de laproblemática que representa el uso eficiente de la energía eléctrica mantiene una línea deinvestigación multidisciplinaria enfocada a ese tema, siendo una de sus preocupaciones eldesarrollo de sistemas de monitoreo, administración de energía y medición de losdisturbios que afectan a la red eléctrica, de lo anterior surge la idea de diseñar un sistemaque sea capaz de cumplir con estas características.

A continuación se describen algunos de los trabajos que se han desarrollado sobreeste tema, el Sistema de Monitoreo de Potencia Real y Reactiva en localidades Múltiples,que es un sistema limitado a 64 nodos y con el cual se pueden medir potencia real,potencia reactiva, factor de potencia. También se describe el Sistema Modular deMonitoreo de Potencia y Parámetros Eléctrico (SIMMPE) el cual esta basado en unconcepto modular donde cada unidad esta basada en un microcontrolador

1.2.1 SISTEMA DE MONITOREO DE POTENCIA REAL Y REACTIVA ENLOCALIDADES MÚLTIPLES.

En el documento "Sistema de monitoreo de potencias real y reactiva enlocalidades múltiples," presentado por Armando Llamas, Salvador Acevedo, SergioOrnar Martínez y Jesús Báez, se describe brevemente los detalles del primer sistema demonitoreo desarrollado en el Departamento de Ingeniería Eléctrica del ITESM campusMonterrey.

Page 15: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 1: Introducción

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Teniendo como plataforma de investigación los trabajos "Sistemas de adquisiciónde datos para la medición y control de energía eléctrica y factor de potencia" de SalvadorAcevedo [2]; y "Sistema de monitoreo de energía, demanda y factor de potencia" de J.A.Gallardo [3], se desarrolló e instaló en la Escuela Práctica de Verano de 1994 en elITESM campus Monterrey, un sistema con capacidad de monitorear hasta 64 puntostrifásicos de tres o cuatro hilos. Las variables de las cuales se podría tener lectura son:potencias real (kW) y reactiva (kVAr), energías (kWh) y el factor de potencia. El sistemase conforma por un grupo de transductores, una computadora personal con una tarjeta deadquisición de datos comercial y software para adquisición de datos y presentación deresultados.

Siguiendo una línea de investigación enfocada al uso eficiente de energía eléctrica,los autores mencionan en el documento la utilidad que representa el disponer de losperfiles de consumo de cargas importantes en el desarrollo de un programa de ahorro deenergía. También señalan que generalmente no se cuenta con estos perfiles por el costode los equipos comerciales disponibles para hacer este tipo de mediciones.

El sistema anterior tiene como características principales:• Relación costo/beneficio muy atractiva• Exactitud de 1% a plena carga, apropiada para determinar perfiles de carga.• Capacidad de monitoreo de hasta 64 cargas trifásicas de tres o cuatro hilos, con

opción a un número mayor.

El sistema de monitoreo de potencia en localidades múltiples, resultó ser unasolución con excelente relación costo beneficio. El sistema fue instalado en algunosnodos del ITESM campus Monterrey, así como en diversas industrias locales, losautores del sistema señalan como sugerencias para el mejoramiento del sistema losiguiente:• Integrar la potencia real y reactiva localmente en la subestación para reducir el

número de tareas que realiza la computadora que recibe y procesa lainformación.

• Agregar módulos que permitan funciones de control como lo son el control dedemanda y el control automático de factor de potencia.

En un sistema analógico agregar dichas funciones implica cambios importantes enel diseño, el sistema no es flexible. Teniendo esto en mente se decidió diseñar un nuevosistema de monitoreo, pero esta vez digital. El nuevo diseño sería capaz de procesar lainformación localmente, proporcionar lecturas de potencia real y potencia reactiva, tenercapacidades de comunicación para transmitir los datos a una computadora central dondese concentraría la información de la red de monitoreo.

Page 16: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 1: Introducción

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

1.2.2 SISTEMA MODULAR DE MONITOREO DE POTENCIA YPARÁMETROS ELÉCTRICOS (SIMMPE)

El sistema se basó en un principió en un microcontrolador de 8 bits, cumpliendo con lasespecificaciones de diseño citadas, con la flexibilidad de agregar funciones por software.Una explicación a detalle de este sistema se encuentra en "Sistema Modular deMonitoreo de Potencia y Parámetros Eléctricos" de J. S. Aguilera [4]

El diseño del SIMMPE ha aportado, a la línea de investigación que mantiene el ITESM,las siguientes aportaciones:

• Se diseño un sistema de adquisición de datos para sistemas trifásicos de potenciacon capacidad de monitoreo de 3 señales de voltaje y 4 señales de corriente

• El sistema de medición es digital y con el software adecuado puede ser utilizadocomo un analizador de sistemas trifásicos de potencia.

• Se utilizo un diseño modular que permite hacer cambios o modificaciones a unaparte del diseño sin implicar cambios en el resto del sistema.

El desarrollo del software de comunicación y presentación de resultados fue desarrolladopor los estudiantes de Maestría Jesús E. Zamora y Ricardo Bolán

1.2.3 SISTEMA DE MEDICIÓN DE PARÁMETROS ELÉCTRICOS

"El sistema de Medición de Parámetros Eléctricos" fue el resultado de los trabajos deinvestigación y desarrollo de Enrique Ian Hernández Paz y Gerardo Mauricio NavarroCabrera [6]. Este es un sistema modular que mide parámetros eléctricos tales como lapotencia activa, potencia reactiva, potencia aparente, factor de potencia, Frecuencia,Voltaje, Corriente, desbalance de Voltaje y Corriente. Este diseño utiliza el circuitointegrado SA9605A de la compañía SAMES que tiene una salida de pulsos proporcionala la potencia consumida. Las aportaciones y recomendaciones de este sistema son lassiguientes:

• El diseño es capaz de medir la energía trifásica de una carga, tiene una salida depulsos representando una solución práctica y barata.

• El sistema es modular, lo que permite flexibilidad de acuerdo con las necesidadesdel sistema a monitorear.

• La exactitud de los resultados obtenidos es comparable con la de los medidorescomerciales.

• Se permite obtener los resultados en el lugar de la medición, sin necesidad deequipo adicional.

• La programación es muy sencilla y rápida.

Page 17: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 1: Introducción

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

• Se recomienda además el diseño de un sistema que sea capaz de almacenar losresultados obtenidos de uno o más módulos para compartir toda esta informaciónun sistema de monitoreo.

1.3 OBJETIVOSEs Importante distinguir entre los diferentes esquemas de Administración y Uso eficientede Energía, como se verá más adelante. Este Proyecto de tesis consiste en el desarrollode un sistema de medición de energía y de otros parámetros relacionados con los insumosenergéticos. El sistema permitirá conocer en tiempo real, el perfil de diversos parámetrosenergéticos:

Potencia eléctrica activa (W)

Potencia eléctrica reactiva (VAR)Temperaturas (°C)

Flujo (m3/seg)

Presión (kPa)

Es altamente deseable que el sistema que se desarrolle sea modular. De esta forma, podrácrecer mediante la inserción de módulos de aplicación. La ventaja de un sistema modulares su capacidad para poder cubrir las necesidades de cada usuario; sin importar el tamañoy tipo de la instalación. De igual manera, es necesario que los datos pueden estardisponibles para que otras aplicaciones realicen manipulaciones postreras. [2]

Por lo anterior el alcance de la presente investigación será el diseño y la implementaciónde un sistema basado en microprocesador que sea capaz en una primera instancia deregistrar los perfiles de los diversos parámetros energéticos. Es deseable que el sistemasea capaz de operar de manera individual e independiente, pero que en un momento dadotambién pueda constituir un nodo dentro de una red de monitoreo.

1.4 METODOLOGÍASe pretende llevar un registro de los perfiles de los parámetros energéticosanteriormente listados.

A continuación se muestra un diagrama descriptivo del sistema; que constituye unnodo que se puede comunicar con otros a su vez o con una PC:

Page 18: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 1: Introducción

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Medidor de Energía Eléctrica con cierrede contactos a la salida (Pulsos)

Medidor de flujo de gas con salida de4 a 20 mA.

Sistema

Medidor de Agua con cierre de contactos a la salida (Pulsos)

Computadorapara Administración

remota.

"Stand Alone"

Figura 1-1 Diagrama descriptivo del Sistema

Page 19: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 1: Introducción

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Como indica la Figura 1-1, el sistema deberá de ser capaz de obtener información dediferentes tipos de medidores existentes en el mercado. Estos medidoresnormalmente cuentan con una salida en forma de cierre de contactos (pulsos) cuyafrecuencia es proporcional al consumo; o también existen otros que tienen una salidaanalógica.

Se necesita contar con un reloj de tiempo real que sea capaz no solo de proveer lafecha y hora en la que ocurren las mediciones sino también controlar los medios desalida y la interacción con el usuario.

Si el sistema esta pensado para operar de manera independiente (Stand Alone), elmódulo será responsable de controlar el número de muestras, así como de sualmacenamiento temporal para posterior reporte; si el sistema esta pensado paraoperar como un nodo en una red de información este modulo será coordinador de lascomunicaciones en dicha red.

La interfase con el usuario se debe diseñar pensando en las dos modalidades en lasque puede operar el sistema y las cuales hacen necesario tener un sistema dedespliegue de información local, el cual puede constar de una pantalla de cristallíquido con botones; así como un sistema que permita la comunicación remota delequipo.

Page 20: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 2: Medición de la energía eléctrica

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Capítulo 2: Medición de la Energía Eléctrica.

2.1 LA POTENCIA ELÉCTRICA.

La potencia eléctrica es un parámetro muy importante para un sistema eléctrico, ya quenos habla de la razón a la cual el trabajo o la energía es convertido. La potencia complejapromedio es ampliamente utilizada en ingeniería eléctrica y nos brinda algunassimplificaciones si se considera a la potencia como una cantidad compleja. La definiciónde la potencia compleja esta dada por [7]:

~s = v * T (i)

Donde S es la potencia Compleja, V es el fasor de Voltaje e / es el conjugado complejodel fasor de corriente. Los fasores voltaje y corriente son números complejos que seexpresan normalmente en forma polar de la siguiente manera:

V = VZ6

Donde V es la magnitud del voltaje en valor rms, I es la magnitud de la corriente en valorrms, O es el ángulo de referencia del Voltaje y c|> es el ángulo de desfasamiento de lacorriente respecto al voltaje. Substituyendo estos valores en (1) obtenemos:

S = V-IZ<f>

Aplicando la identidad de Euler se obtiene la siguiente expresión:

S = V • I • cos(^) + jV • / • sen{(f)) (2)

A la parte real de (2) se le conoce como potencia real (P) sus unidades son Watts;mientras que a ala parte imaginaria se le conoce como potencia reactiva (Q) y susunidades son VAR.

Page 21: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 2: Medición de la energía eléctrica

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

2.2 MEDICIÓN DE ENERGÍA REAL.

Existen varios tipos de medidores de potencia, siendo los más comunes, el watthorimetrode inducción y actualmente watthorímetros electrónicos.

"El dispositivo más común de medición de energía es el watthorimetro. El tipo dewatthorimetro más común en la actualidad fue inventado por Schallenberg en 1888...Registra el consumo de energía de una carga mediante el conteo de las vueltas de undisco de aluminio". El giro del disco es causado por corrientes parásitas, inducidas porvariaciones en el campo magnético de la bobina de corriente. Las corrientes parásitasinducidas en el disco interactúan con el campo magnético de la bobina de voltaje y seejerce un par en el disco. El par es proporcional al producto v * i [8].

Los watthorímetros electrónicos, por su parte funcionan digitalizando señalesproporcionales a las de voltaje y de corriente. Con los valores digitalizados de estasseñales se efectúa una multiplicación de v(t) por i(t) "punto a punto", el resultado de lamultiplicación es integrado en relación con el tiempo de muestreo del dispositivo yalmacenado en un registro. El registro en cuestión guarda la información de la energíatotal consumida o entregada por el sistema durante cierto tiempo.

2.3 MEDICIÓN DE LA ENERGÍA REACTIVA.Es posible utilizar watthorímetros de inducción para medir la potencia reactiva, paracomprender mejor esta idea utilizamos la definición de la potencia reactiva, como la parteimaginaria de (2):

La ecuación anterior es igual que para la potencia real, solo que se tiene un retraso de90°. Por lo anterior y utilizando transformadores desfasadores, que adelantan al voltaje90°; es posible utilizar watthorímetros para medir la potencia reactiva.

En el caso de los medidores electrónicos, el calculo de la potencia reactiva se realizaadelantando la señal de corriente 90° antes de efectuar la multiplicación "punto a punto."

10

Page 22: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 2: Medición de la energía eléctrica

Ing. Femando A. Ortiz FernándezAsesor: Ing. Jesús Baez

2.4 CONEXIONES DE LOS WATTMETROS

Existen diferentes formas de conectar los wattmetros para medir la energía. Estasdiferentes formas dependen de la forma en la que este conectado el sistema a las líneas dealimentación, siendo las más comunes:

• Una fase dos hilos (1F2H).

• Una fase tres hilos (1F3H).

• Tres fases tres hilos (3F3H).

• Tres fases cuatro hilos (3F4H).

2.4.1 SISTEMA UNA FASE DOS HILOSEste tipo de sistemas son alimentados por una línea (fase) y el neutro. La conexiónutilizada para medir la potencia en estos sistemas se muestra en la figura 2-1. Como seaprecia en la figura la potencia total será la mostrada por el medidor.

Figura 2-1 Conexión una fase, dos hilos.

11

Page 23: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 2: Medición de la energía eléctrica

Ing. Femando A. Ortiz FernándezAsesor: Ing. Jesús Baez

2.4.2 SISTEMA UNA FASE TRES HILOS

Estos sistemas se pueden medir utilizando 2 wattmetros como lo indica la figura 2-2.

Figura 2-2 Conexión una fase, tres hilos

Se puede observar que la conexión es igual que en el caso de una fase dos hilos, con ladiferencia de que en estos sistemas se dispone de una segunda línea o hilo "vivo". En estecaso la potencia total consumida es la suma de la potencia de cada medidor.

12

Page 24: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 2: Medición de la energía eléctrica

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

2.4.3 SISTEMAS TRES FASES CUATRO HILOS

Estos sistemas son sistemas trifásicos con el neutro del sistema disponible. Para lamedición de potencia se utiliza el llamado método de los 3 elementos, que consiste enutilizar 3 wattmetros, y la forma de la conexión es descrita en la figura 2-3

linea 1- lar

P1i

linea 2 - Ib-"YY"V>

P2

linea 3 -L...

P3:+ VI

neutro-

Figura 2-3 Conexión tres fases, cuatro hilos

Como se observa en la figura 2-3, la potencia de cada fase es la potencia medida porcada wattmetro, y la potencia total trifásica, es la suma de las potencias de cada elemento.

Una ventaja de esta conexión es de que podemos conocer la potencia por fase, para teneruna idea de que tan bien esta balanceado el sistema.

13

Page 25: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 2: Medición de la energía eléctrica

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

2.4.4 SISTEMAS TRES FASES TRES HILOS

Son sistemas trifásicos, en los que el neutro no esta disponible. Por lo general se utilizael método de los dos wattmetros. La conexión que se utiliza es la mostrada en lafigura 4-4.

Figura 3-4 Conexión tres fases, tres hilos.

En este caso se tiene que la potencia total del sistema es:

(3)

14

Page 26: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 2: Medición de la energía eléctrica

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Debido a que no fluye corriente por el neutro, se tiene que cumplir la ley de corrientes deKirchhoff:

*B = *• A ~ *C

Sustituimos en (3) y reacomodando términos se tiene:

De donde se puede demostrar que la suma de las lecturas de cada wattmetro será lapotencia total del sistema.

El método de los dos elementos también se puede aplicar a sistemas 3F4H siempre ycuando el sistema este balanceado (la corriente por el neutro igual a cero). Con ladesventaja de que con este método no se puede conocer la potencia por fase.

El método de tres elementos también se puede utilizar en sistemas 3F3H, en este casoaunque no existe un neutro físico, se crea uno que servirá de referencia a los treswattmetro s.

15

Page 27: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos Capítulo 3: Facturación de la energíaeléctrica en México

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Capítulo 3: Facturación de la energía eléctrica en México

En México y por razones constitucionales la empresa encargada de la generación,transmisión y comercialización de la energía eléctrica es la Comisión Federal deElectricidad (CFE). En este capítulo se dará una explicación de la forma en que CFErealiza la facturación de la energía que vende a sus clientes; específicamente hablaremosde usuarios de tarifas generales, que es la tarifa de uso industrial.

La información de este capítulo fue obtenida de [19].

3.1 NIVELES DE TENSIÓN

CFE define la contratación del servicio de energía eléctrica en las siguientes tensiones desuministro:

• Baja tensión es el servicio que se suministra en niveles de tensión menores oiguales a 1.0 kilovoltios.

• Media tensión es el servicio que se suministra en niveles de tensión mayores a 1.0kilovolt, pero menores o iguales a 35 kilovoltios.

• Alta tensión a nivel subtransmisión es el servicio que se suministra en niveles detensión mayores a 35 kilovoltios, pero menores a 220 kilovoltios.

• Alta tensión a nivel de transmisión es el servicio que se suministra en niveles detensión iguales o mayores a 220 kilovoltios.

3.2 TARIFAS

La facturación al usuario depende de la tarifa con la cual se haya establecido el contratocon CFE. Las tarifas vigentes para suministro y venta de energía eléctrica (2000-2001)son:

• Tarifas específicas:• Domésticas.• Servicios Públicos.• Agrícolas• Temporal.

16

Page 28: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos Capítulo 3: Facturación de la energíaeléctrica en México

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

• Tarifas generales:• En Baja Tensión• En media tensión• En alta tensión• Servicio de respaldo• Servicio interrumpible

De acuerdo con los niveles de tensión se pueden contratar las siguientes tarifas:

• En media tensión tarifas OM y HM

• En alta tensión a nivel subtransmisión, tarifas HS y HSL.

• En alta tensión a nivel transmisión, tarifas HT y HTL

Tarifas de media tensión:

• Tarifa O-M: Tarifa Ordinaria para servicio general con demanda menor a 100 kW. Esta tarifa se aplicará a los servicios que destinen la energía a cualquier uso. Estatarifa no es horaria, lo que significa que el costo de la energía no depende de lahora del día.

• Tarifa H-M: Tarifa horaria para servicio general con demanda de 100 kW o más.Esta tarifa se aplicará a los servicios que destinen la energía a cualquier uso. Estatarifa es la más utilizada por la pequeña y mediana industria; la forma defacturación será descrita más adelante.

Tarifas de Nivel Subtransmisión:

• Tarifa H-S: Tarifa horaria para servicio general. Esta tarifa se aplicará a losservicios que destinen la energía a cualquier uso y que por las características deutilización de su demanda soliciten inscribirse en este servicio, el cual tendrávigencia mínima de un año.

• Tarifa H-SL: Tarifa horaria para servicio general de larga utilización. Esta tarifase aplicará a los servicios que destinen la energía a cualquier uso y que por lascaracterísticas de utilización de su demanda soliciten inscribirse en este servicio,el cual tendrá vigencia mínima de un año.

Estas tarifas son horarias con la característica de que existe un compromiso entre laspartes por consumir/entregar una cierta demanda, brindando a CFE mejor planeación y

17

Page 29: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos Capítulo 3: Facturación de la energíaeléctrica en México

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

otorgando al cliente mejor precio por concepto de demanda. Su facturación es similar ala que será descrita para las tarifas horarias.

Tarifas de Nivel Transmisión:

• Tarifa H-T: Tarifa horaria para servicio general. Esta tarifa se aplicará a losservicios que destinen la energía a cualquier uso, y que por las características deutilización de su demanda soliciten inscribirse en este servicio, el cual tendráuna vigencia mínima de un año.

• Tarifa H-TL: Tarifa horaria para servicio general de larga utilización. Esta tarifase aplicará a los servicios que destinen la energía a cualquier uso, y que por lascaracterísticas de utilización de su demanda soliciten inscribirse en este servicio,el cual tendrá una vigencia mínima de un año.

La diferencia entre estas últimas categorías radica en el nivel de tensión que existe en elpunto de acoplamiento entre cliente y proveedor y que puede ser un valor desubtransmisión o de transmisión.

3.3 REGIONES Y TARIFAS.

Para aplicar los cargos de las tarifas la CFE define las siguientes regiones:

• Región Baja California:

Todos los municipios del estado de Baja California.Municipios del estado de Sonora: San Luis Río Colorado.

• Región Baja California Sur:

Todos los municipios del estado de Baja California Sur.

• Región Noroeste:

Todos los municipios del estado de Sonora, excepto el comprendido en la regiónBaja California.

Todos los municipios del estado de Sinaloa.

Región Norte:

Todos los municipios de los estados de Chihuahua y Durango.

18

Page 30: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos Capítulo 3: Facturación de la energíaeléctrica en México

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Municipios del estado de Zacatecas: Chalchihuites, Jiménez del Teúl, Sombrerete,Saín Alto, Jerez, Juan Aldama, Río Grande, General Francisco Murguía, Mazapil,Melchor Ocampo.

Municipios del estado de Coahuila: Torreón, San Pedro de las Colonias,Matamoros, Viesca, Parras de la Fuente, Francisco I. Madero, Ocampo y SierraMojada.

Región Noreste:

Todos los municipios de los estados de Nuevo León y Tamaulipas.

Todos los municipios del estado de Coahuila, excepto los comprendidos en laRegión Norte.

Municipios del estado de Zacatecas: Concepción del Oro y El Salvador.

Municipios del estado de San Luis Potosí: Vanegas, Cedral, Cerritos, Guadalcazar, Ciudad Fernández, Rió verde, San Ciro de Acosta, Lagunillas, SantaCatarina, Rayón, Cárdenas, Alaquines, Ciudad del Maíz, Ciudad Valles,Tamazopo, Aquismón, Axtla de Terrazas, Tamazunchale, Huehuetlán, Tamuín,Tancahuitz, Tan lajas, San Antonio, Coxcatlán, Tampamolón, San VicenteTancuayalab, Ébano, Xilitla, Tampacán, Tanquián de Escobedo.

Municipios del estado de Veracruz: Panuco, Tempoal, Pueblo Viejo, TampicoAlto, Ozuluama de Mascareñas, El Higo, Huayacocotla.

Región Central:

Todas las delegaciones del Distrito Federal.

Municipios del Estado de México: Tultepec, Tultitlán, Ixtapaluca, Chalco de DíazCovarrubias, Huixquilucan de Degollado, San Mateo Ateneo, Toluca,Tepotzotlán, Santa Cruz Atizapán, Cuautitlán, Coacalco, Cuautitlán Izcalli,Atizapán de Zaragoza, Tlalnepantla, Naucalpan de Juárez, Ecatepec,Chimalhuacán, San Vicente Chicoloapan, Texcoco, Ciudad Nezahualcóyotl, LosReyes La Paz.Municipios del estado de Morelos: Cuernavaca.Región Sur:

Todos los municipios de los estados de: Nayarit, Jalisco, Colima, Michoacán,

19

Page 31: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos Capítulo 3: Facturación de la energíaeléctrica en México

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Aguascalientes, Guanajuato, Querétaro, Hidalgo, Guerrero, Tlaxcala, Puebla,Oaxaca, Chiapas, Tabasco.

Todos los municipios de los estados de Zacatecas, San Luis Potosí y Veracruz nocomprendidos en la Región Norte o en la Región Noreste.

Todos los municipios de los estados de México y Morelos no comprendidos en laRegión Central.

• Región Peninsular:

Todos los municipios de los estados de Yucatán, Campeche y Quintana Roo.

3.4 PERÍODOS.

CFE ha definido cuatro períodos de facturación. Cada uno de estos períodos esta definidopara cada una de las regiones tarifarias descritas en la sección 3.3 para diferentestemporadas del año. De tal suerte, que para cada tarifa y cada región tarifaria existendiferentes temporadas durante el año, y diferentes períodos durante el día. Los períodosdefinidos por CFE son:

• Período Base.• Período Intermedio• Período semi-punta.• Período Punta.

La estrategia de facturación de CFE debe de tomar en cuenta, que por el lado delconsumo existe una tendencia natural para que se presente un "pico" de demanda en unintervalo de tiempo pequeño, es decir en el transcurso de las primeras horas de la noche,en este intervalo, que corresponde al período punta, suelen estar conectados al sistemanacional algunas industrias que laboran en turno nocturno, comercios, alumbrado yviviendas. Este "pico" de consumo resulta muy inconveniente para las plantasgeneradoras, debido a la limitación técnica, de que aún no es posible "almacenar"grandes cantidades de energía eléctrica para cubrir la demanda en este intervalo. Por ellado de la oferta, resulta demasiado costoso tener plantas generadoras que cubran solounas cuantas horas del día, por lo que el costo marginal de estas plantas resulta sermucho muy elevado. Se tiene como estimado que en promedio lMegaWatt decapacidad instalada cuesta 1 millón de dólares, lo anterior tomando en cuenta lasdiferentes tecnologías existentes [9].

En nuestro país la forma en que se ha rezagado el sector eléctrico ha obligado a la CFEa utilizar su capacidad instalada cada vez de manera más eficiente, es por lo anterior queCFE ha bajado la demanda necesaria para cambiar de tarifa OM a tarifa HM. En 1989

20

Page 32: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos Capítulo 3: Facturación de la energíaeléctrica en México

Ing. Femando A. Ortiz FernándezAsesor: Ing. Jesús Baez

era necesario que los clientes tuvieran una demanda máxima mayor a los 1000 kW, para1991 cambio a 500 kW un par de años después volvió a cambiarse a 300 kW; y ya en1999 era solo de lOOkW. Lo anterior ilustra el gran rezago en la capacidad instaladacontra el crecimiento económico. Este gran rezago obligo al gobierno federal invertir en1999 alrededor de $1,700 millones de dólares, cantidad superior a programas dedesarrollo social como PROCAMPO Y PROGRESA en el mismo año[10].

El esquema de facturación de CFE se basa en aprovechar al máximo la capacidadinstalada; razón por la cual la energía resulta ser más cara cuando existen más usuariosconectados al sistema eléctrico nacional, período punta. De igual manera la capacidadinstalada queda sobrada cuando existen menos usuarios conectados a la red, por lo queen estas horas se pretende incentivar el uso de la energía en las tarifas horarias en elperíodo base.

3.5 CARGO POR ENERGÍA.

Al cargo que se realiza por el consumo de energía (kWh) durante el período defacturación se le denomina cargo por energía. Para calcular el cargo por energía semultiplica la energía (kWh) consumida en cada uno de los períodos por el precio de cadakWh consumido en dicho período ($/kWh). Lo anterior se ilustra en la siguienteexpresión:

Donde $B ,$ ; y$p son los costos de la energía en pesos por kWh para los períodos debase, intermedio y punta respectivamente. Notar que en esta ecuación no aparece elperíodo semi-punta definido por CFE debido a que se esta tomando en cuenta la tarifamás utilizada por la industria.

21

Page 33: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos Capítulo 3: Facturación de la energíaeléctrica en México

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

3.6 CARGO POR DEMANDA.

Muchos usuarios piensan que el concepto principal de la factura es el cargo por energíadefinido en la sección anterior. Sin embargo, el cargo por demanda es un factor quegeneralmente ocupa un lugar muy importante en la factura de usuarios industriales.Muchas compañías de generación basan su facturación en base a la demanda, y enrelación a esta agregan los cargos por energía, factor de potencia, etc. [11]. Sin embargoen México normalmente el principal cargo es por energía, de un 70% a un 80% del totalde la factura; siendo el cargo por demanda del 20% al 30%.

La razón de esto se explica como ya lo vimos en la sección 3.5, en el hecho de que lascompañías generadoras (CFE) tienen que tener la suficiente capacidad instalada parapoder satisfacer la demanda máxima que todos sus clientes lleguen a solicitar a pesar deque sea por un breve tiempo. Donde el costo marginal de tener toda la capacidad parasatisfacer a la demanda instalada por un pequeño instante de tiempo es demasiado alto,tal que la demanda máxima de un usuario cualquiera es más importante que la cantidadde energía consumida por el mismo [6],

La demanda máxima de cada período es obtenida de la promediar la demanda capturadapor los medidores cada cinco minutos. Una vez que se tienen los datos de lecturas cadacinco minutos se procede a obtener un promedio en un lapso de 15 minutos (en el caso deCFE aunque en otros países puede ser de 20, 25 ó 30 minutos) este promedio se realizade la siguiente manera. Supongamos que n es la muestra o lectura actual, siendo n+lyn+2, la muestra que se obtuvo 5 minutos antes y 10 minutos antes respectivamente.Entonces se procede a obtener un promedio de estas tres muestras obteniendo así unpromedio en un lapso de 15 minutos. Con la siguiente lectura, n+1 =n y n+2- n+1 y lanueva muestra será n. El efecto se puede visualizar como el de "recorrer las muestras yse promedia en una ventana fija las primeras 3 muestras."

Este proceso se explica mejor con el siguiente ejemplo. En la figura 3-1 se muestra unperfil de demanda, en donde suponemos para simplificar que nuestra referencia de tiempoempieza en 0 minutos.

22

Page 34: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos Capítulo 3: Facturación de la energíaeléctrica en México

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Perfil de Demanda (Real)

tiempo (minutos)

Figura 3-1 Perfil de Demanda

La información del perfil de jt(m¡n)

01234567891011121314151617181920212223242526272829

kW

100100200200200350350350500500poo600350350350250250200200200200200300400350500500500600600

potencia lo pondremos en la tabla

Intervalo de 5 minutoskW-m¡n800

2050

2250

1100

1450

2700

Demanda Media (kW)160

410

450

220

290

540

3-1.

Int. Dem(15m)

340

360

320

350Tabla 3-1 Facturación de Demanda

23

Page 35: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos Capítulo 3: Facturación de la energíaeléctrica en México

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

En la Tabla 3-1 se puede apreciar que la demanda que reporta el medidor es de cada 5minutos este promedio de cada cinco minutos se encuentra en la segunda columna entrerecuadro. Se muestra también la suma de kW-min a la derecha de la demanda media decada 5 minutos. La demanda que se utilizará para la facturación consiste del promedio detres intervalos de 5 minutos consecutivos tal como se explicó anteriormente. De talforma que el perfil de demanda de facturación tendrá la forma de "ventanas conintervalos de tres períodos de facturación (15 minutos), que se están desplazando en eltiempo. Esto se ilustra en la figura 3-2.

^7fl -,

350 -

g 340 -w 330 -Q-

320 -

310 -

300 -

Perfil de Demanda (Facturación)

]

1 I I ! 1 1 1 l i l i l i l i l i l i l i l i

T - f O U l l ^ O ) T - c 0 l í ) h - O ) ^ - C 0 l f ) N . O )^ T - r - T - T - C N C M C M C N J C M

Tiempo (mins)

Figura 3-2 Perfil de Demanda (Facturación)

Este esquema de facturación de la demanda se utiliza para prevenir que el usuario sepueda sincronizar con la compañía suministradora (CFE) y pueda ocultar demandas muyaltas. Por ejemplo si con intervalos fijos de demanda de 15 minutos, un usuario podríaoperar una carga con una demanda muy elevada durante los 5 minutos centrales ymantener la demanda baja en el tiempo restante de manera que se obtendría un balance dedemanda bajo. Además este esquema también garantiza que la demanda máxima que setomara en cuenta no será la demanda máxima instantánea que se pudiera tener, sino elpromedio del intervalo de 15 minutos; lo cual evita ser engañados por fenómenostransitorios, como el arranque de motores u otro equipo industrial. [11]

24

Page 36: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos Capítulo 3: Facturación de la energíaeléctrica en México

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

CFE realiza el calculo de la demanda facturable en tarifas HM, HS, HT, HST y HTL conla siguiente fórmula:

DF = DP + FRI -max(£>/ -DP,0)+FRB • max (DB - DPI ,0)

Donde:DP es la demanda máxima medida en el periodo de puntaDI es la demanda máxima medida en el periodo intermedioDB es la demanda máxima medida en el periodo de baseDPI es la demanda máxima medida en los periodos de punta e intermedioFRI y FRB son factores de reducción que tendrán los siguientes valores,dependiendo de la región tarifaria:

RegiónBaja CaliforniaBaja California SurCentralNoresteNoroesteNortePeninsularSur

FRI0.1410.1950.30.30.1620.30.30.3

FRB0.07b.0970.150.150.0810.150.15b.15

En las fórmulas que definen las demandas facturables, el símbolo "max" significamáximo, es decir, que cuando la diferencia de demandas entre paréntesis sea negativa,ésta tomará el valor cero. Como se puede observar de la fórmula la demanda medida en elperíodo de punta (DP) es la que más impacta a la demanda facturable (DF) ya que no semultiplica por ningún factor de reducción.

Las demandas máximas medidas en los distintos periodos se determinarán mensualmentepor medio de instrumentos de medición, que indican la demanda media en kilowatts,

durante cualquier intervalo de 15 minutos del periodo en el cual el consumo de energíaeléctrica sea mayor que en cualquier otro intervalo de 15 minutos en el período

correspondiente.

Para las regiones Baja California, Baja California Sur y Noroeste, DP tomará el valorcero durante la temporada que no tiene periodo de punta.

Cualquier fracción de kilowatt de demanda facturable se tomará como kilowatt completo.

25

Page 37: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos Capítulo 3: Facturación de la energíaeléctrica en México

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Cuando el usuario mantenga durante 12 meses consecutivos valores de DP, DI y DBinferiores a 100 kilowatts, podrá solicitar al suministrador su incorporación a la tarifaO-MFinalmente el cargo por demanda (CD) se calcula como:CD = DF-$DFDonde $DF es el costo en pesos por cada kW de demanda, y este costo depende de laregión tarifaria, la tarifa, y la estación del año en que se realice la facturación.

3.7 FACTOR DE POTENCIA

Otra componente de la facturación la constituye el Factor de potencia, que dependiendode su valor puede ser un cargo o una bonificación. Históricamente el concepto de factorde Potencia se vincula con las compañías generadoras de energía eléctrica, donde grandescantidades de energía eléctrica deben de ser transferidas de un punto a otro. La eficienciacon la cual esta transferencia de energía es efectuada se relaciona directamente con elcosto de la energía eléctrica. El factor de potencia se define como [7]:

p

Donde P es la potencia real en kW y S es la potencia aparente, para el caso particular devoltajes y corrientes sinusoidales se simplifica a cos(# - <j>) donde (6 - ^) es el ángulocon el que el voltaje adelanta a la corriente [7].

Cuando se opera con bajo factor de potencia, solo una fracción de la potencia transmitidase convierte en energía útil, mientras que el resto es potencia reactiva que no realizatrabajo útil y sin embargo se mantiene en el sistema; ocasionando que la capacidadinstalada disminuya considerablemente con perdidas en las líneas y en lostransformadores; y en general una transferencia poco eficiente. El factor de Potencia escalculado por CFE utilizando las cantidades totales de energía real y reactiva consumidasdurante el período de facturación; a través de la siguiente fórmula:

De esta última ecuación se puede observar que el factor de potencia que utiliza CFE parala facturación es el promedio durante el mes facturado.

26

Page 38: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos Capítulo 3: Facturación de la energíaeléctrica en México

Ing. Femando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Es conveniente resaltar que dentro de la sumatoria de kVARhr, no se incluyen loskVARhr en adelanto que se hayan tenido durante el mes. Esto se debe a la limitación delos medidores de CFE, por lo que el usuario no recibe ningún beneficio si decide operarcon un factor de potencia adelantado durante el mes [6].

Con el cálculo del factor de potencia, CFE obtiene el cargo o la bonificación que lecargara a la factura del usuario; cuando se tiene un factor de potencia menor a 0.9 seaplicará un recargo, para calcularlo se utiliza la siguiente fórmula.

% R e c = 60(K9

JP- 1

De manera similar si el factor de potencia es mayor o igual a 0.9 se utilizará la siguientefórmula para calcular el porcentaje de bonificación:

%Bonif. = 251-09fP

El porcentaje obtenido se redondea a un solo decimal. En el caso del recargo, elporcentaje máximo de recargo que se aplicará es de 120%, mientras que en el caso debonificación el porcentaje máximo será de un 2.5% [6].

El cargo/bonificación se calcula sobre la base del consumo de energía (CE); del consumode demanda (CD); del cargo por medición en baja tensión (BT), este cargo trata decompensar la energía perdida en el transformador reductor usado en la subestación, dadoque los medidores no ven esta energía, CFE realiza este cargo para tratar de compensaresta energía no medida; y al porcentaje de recargo/bonificación de acuerdo con lassiguientes expresiones:

Cargo = {CE + CD + BT)-%RGC

Bonificación = {CE + CD + BT) • %Bonif

3.8 FACTURA TOTALLa factura total resulta de la suma de los siguientes conceptos:

• Cargo por Energía• Cargo por Demanda• Bonificación o recargo por factor de potencia• IVA

La cantidad obtenida es la factura total a pagar por el usuario por el servicio recibidodurante el período de facturación.

27

Page 39: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 4: Sistemas de Administraciónde Energía

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Capítulo 4: Sistemas de Administración de energía

4.1 FUNDAMENTOS.

Inmersas en un mundo global, las empresas han incorporado como parte fundamental ensu estructura de costos el uso eficiente de los recursos energéticos que emplean dentro delproceso de producción. Esta lucha por mantenerse competitivas a ocasionado que lasempresas incorporen programas que permitan hacer un uso más eficiente de los recursoseficientes; existen cuatro categorías en las que se pueden clasificar estos programas [12].

i. Ahorros mejorando los procedimientos operativos. Estos ahorros son el resultadode un mejor mantenimiento y operación del equipo. Dentro de estas medidas seincluyen la desconexión del equipo que no se utiliza como el alumbrado;eliminación de fugas de vapor, aire comprimido y calor; lubricación de equipoentre otras medidas de mantenimiento. Además de estrategias para mejorar lademanda eléctrica facturable, logrando operar con una demanda promedio lo máscercano a la demanda máxima (Factor de Carga unitario); control de las demandasmáximas en cada uno de los horarios; revisar si las demandas máximas/mínimasestán relacionadas con cambios de turno; control de la energía consumida;mejoramiento del factor de potencia no solo de la planta, sino también de maneralocal, en grupos de unidades. Revisar las demandas máximas y el consumo deenergía por día y/o por turno y relacionarlo con la producción; Calcular índices deproducción (kgs, lts, m2...)/kW-h.

ii. Modificaciones al proceso o al equipo. Dentro de estas medidas podemosmencionar la substitución de válvulas estranguladoras, o sistemas basados enperdidas para variar la velocidad de flechas giratorias, por dispositivos variadoresde velocidad (VFD's). Substitución de motores por aquellos de alta eficiencia.

iii. Mejor utilización del equipo. Esto se logra analizando el proceso de produccióncomo un todo. Típicamente las plantas industriales son instalaciones que fabricanvarios productos en varias unidades y que llevan a cabo operacionesindependientes, esto ocasiona que no se trabaje en conjunto para mejorar laeficiencia energética de la planta en general. Para lograr este objetivo se puedecambiar la secuencia de las operaciones productivas para lograr un menorconsumo energético, así como programar el equipo de para tener períodos deproducción continua minimizando las pérdidas por arranques (inercias mecánicas,térmicas etc.)

28

Page 40: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 4: Sistemas de Administraciónde Energía

Ing. Femando A. Ortiz FernándezAsesor: Ing. Jesús Baez

iv. Reducción de pérdidas por aislamientos en edificios. La reducción de fugastérmicas se logra con mejor aislamiento, cerrando accesos, reduciendo gases deescape y utilizando el calor de desecho del proceso.

Para poder realizar estos ahorros de energía se debe de conocer dónde cuándo y cómo seestá utilizando la energía. Para esto se requiere de un análisis detallado de los consumos ypérdidas de energía que normalmente se conoce como diagnóstico energético [13].

De lo anterior, se desprende la necesidad de tener un constante monitoreo de los distintosparámetros energéticos, involucrados en el proceso de producción.

Los usos prácticos de un sistema de monitoreo de energía se pueden separar en trescategorías: la administración de la energía, programación de horarios de mantenimiento yherramienta de control del sistema.

Por Administración de energía se entiende que el usuario puede tener la habilidad deconocer continuamente y en tiempo real, cuánta y dónde se esta consumiendo la energíadentro de un proceso industrial. Una vez que se tienen disponibles los perfiles deconsumo de energía para un proceso, se tiene la posibilidad de administrar el consumo deenergía de manera que se puedan obtener ahorros por el uso eficiente de la energía [6].

El mantenimiento al equipo se puede mejorar con la ayuda de sistemas de monitoreo yaque se puede conocer el tiempo de operación del equipo, así como llevar un registro delas temperaturas de operación de baleros y transformadores; todo lo anterior con el fin dpoder realizar un mantenimiento preventivo y no correctivo que trae consigo grandesbeneficios económicos [6],

Utilizar los sistemas de monitoreo de energía como herramientas de control conlleva a losmayores impactos en el aumento de productividad. Lo anterior se debe a que lainformación proporcionada por el sistema puede contribuir a evitar paros, tiemposmuertos, desconexión de cargas no críticas entre otros. Resulta interesante que entre un50% a un 70% del tiempo en un paro inesperado es dedicado a conocer las causas de lafalla, mientras que con un sistema de monitoreo este tiempo se reduce considerablemente[6].

29

Page 41: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 4: Sistemas de Administraciónde Energía

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

4.2 BENEFICIOS DE UN SISTEMA DE MONITOREO.

Las áreas de oportunidad que se pueden detectar, al instalar el sistema de monitoreo son:

• Tener disponibles los perfiles de carga (kW, kVAR, kVA) en función del tiempo.

• Reducir el consumo de energía en horario punta.

• Tener un perfil de las demandas a lo largo del día y así poder revisar si lasdemandas máximas/mínimas están relacionadas con cambios de turno.

• Revisar el comportamiento del factor de carga por horario y por turno.

• Relacionar consumos y demandas máximas con la producción y de esta maneradeterminar índices energéticos (unidades de producción por kW, kW-h).

• Revisar el comportamiento del factor de potencia por día y por turno en cadasubestación (línea de producción); y tomar acciones de control en caso de queeste haya disminuido. Al mismo tiempo la corrección del factor de potencia traeconsigo los siguientes beneficios:

• Eliminación de penalización y lograr bonificación.• Recuperación de la capacidad instalada.• Disminución de perdidas en las líneas.• Mejor regulación de voltaje.

• Cálculo de costos de energía.

• Analizar que cargas son responsables de las demandas máximas y del bajo factorde potencia.

• Algunos de los aspectos que se deben de tener en cuenta, al implementar unprograma de control de demanda son:

• Establecer horarios de operación.• Definir cargas esenciales y no esenciales (que puedan ser

desconectadas).• En caso de que la demanda se acerque a la máxima poder desconectar

las cargas no esenciales.• Establecer tiempos mínimos entre arranques y paros.• Establecer dependencia entre cargas.

30

Page 42: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 4: Sistemas de Administraciónde Energía

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

• Distribución del costo total en las diferentes líneas de producción en base a losparámetros de facturación

• Cálculo de la eficiencia global (kW-hr utilizados/kW-hr recibidos).

• Evaluar la factibilidad y conveniencia de solicitar un cambio de tarifa.

• Lograr implementar un esquema de mantenimiento predictivo y no correctivo.

Con ayuda de un sistema de monitoreo de energía, es posible detectar las anteriores áreasde oportunidad que nos permiten hacer un uso más racional de la energía y reducir elimporte de la factura. Algunas de las acciones están relacionadas con procedimientosoperativos y no representan una inversión inicial importante.

Estos ahorros se pueden utilizar para calcular la tasa de retorno de la inversión y asíjustificar la inversión en el sistema de monitoreo. Las inversiones asociadas con lainstalación de un sistema de monitoreo se recuperan por lo general en un tiempo menor aun año [14].

4.3 SISTEMAS DE MONITOREO.

Los sistemas de monitoreo se pueden clasificar en las siguientes categorías: Sistemas deMonitoreo Remotos, Monitoreo solo de Energías y Sistemas de Monitoreo locales [15].

En los sistemas de monitoreo completamente remotos, existe una computadora centralque puede servir como interfase para mostrar resultados; o también ser parte activa delproceso de control y configuración de parámetros. Los sistemas de monitoreocompletamente remotos son muy versátiles, la información fluye al sistema de maneraautomática, a través de las líneas de comunicación. Debido a lo anterior su costo se puedeincrementar de manera considerable, por lo que se debe de realizar antes de laimplementación un análisis costo beneficio.

Los sistemas de monitoreo solo de energía ("power-only monitoring systems") brindaninformación de . potencia eléctrica real y reactiva. A pesar de que solo brindaninformación de potencia con esta información se pueden conseguir grandes beneficios.Estos sistemas son más económicos que un sistema remoto y su aplicación puede abarcarplantas medianas o pequeñas [6].

31

Page 43: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 4: Sistemas de Administraciónde Energía

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Cuando se va a construir una nueva planta, o se va a construir una nueva subestación enuna planta existente, instalar un sistema de monitoreo es más fácil de justificar, ya que nose tiene equipo existente que se vaya a dejar de utilizar. Sin embargo, con el equipo demedición existente es posible realizar un monitoreo manual y obtener muchos de losbeneficios ya descritos.

4.4 SELECCIÓN DEL SISTEMA DE MONITOREO.

Para poder seleccionar un sistema de monitoreo se deben de tomar en cuenta el tipo deequipo que se va a monitorear, su nivel de tensión, sus niveles de potencia y otrascaracterísticas eléctricas mecánicas y magnéticas; así como su ubicación en el sistemaeléctrico. Debido a que se necesitan diferentes funciones en diferentes lugares de laplanta, se sugiere dividir el diagrama unifilar de la planta en secciones, permitiendo asídefinir que funciones se requieren en cada sección; además esto nos permite tener unaaproximación del costo del sistema [6].

4.5 Selección del tipo de comunicaciones.

"Los sistemas de monitoreo generalmente tienen un sistema de comunicaciones basadoen dos tipos de arquitectura: un sistema radial, o una arquitectura cliente/servidor." [6]

En un sistema radial, los elementos del sistema se enlazan a una computadora central através de un par de cables eléctricos, fibra óptica, línea telefónica (módem) o radio. Lacomputadora obtiene la información y toma las medidas de control pertinentes [6].

En los sistemas con arquitectura cliente/servidor se tienen generalmente uno o masservidores conectados dentro de una red local (LAN). En este caso cualquier servidor sepuede comunicar con los elementos del sistema y compartir las operaciones de acceso ycontrol, siendo el sistema más robusto y pudiendo compartir la información con cualquierusuario autorizado [6].

Los sistemas radiales son más fáciles de implementar, son generalmente más baratostanto en instalación como mantenimiento y son más robustos en el sentido de que sufunción es dedicada a una sola tarea. Sin embargo, la estructura cliente/servidor tiene laventaja de que la información puede ser accesada de manera simultanea desde diferenteslugares; y aprovechando la infraestructura de redes ya existente el sistema se vuelve muyversátil [6].

32

Page 44: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 4: Sistemas de Administraciónde Energía

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

4.6 IMPLEMENTACIÓN DE UN SISTEMA DE MONITOREO.

Como se ha visto en las secciones anteriores, a la hora de implementar un sistema demonitoreo se tienen que tomar en cuenta muchos factores, de manera que el sistema aimplementar tenga la mejor relación costo - beneficio.

Se pueden seguir una serie de pasos a la hora de seleccionar un sistema de monitoreo,para asegurar que el sistema sea el más adecuado, donde es importante destacar ladiferencia entre implementar un sistema en una planta nueva o en una planta ya existente.Para mayor información consulte [6] dónde se agrega un diagrama de flujo que sirve deayuda para la selección del sistema.

33

Page 45: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 5: Sistema EmbebidoR L C . LCD-PLUS

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Capítulo 5: Sistema Embebido R.L.C. LCD-PLUS

Como parte del sistema de medición de parámetros energéticos implementado en elpresente trabajo se utilizo el sistema embebido RLC LCD-PLUS. A lo largo de estecapítulo se hará una descripción del sistema RLC LCD PLUS, la siguiente informaciónesta basada en documentación dada por la compañía con la siguiente referencia:www.rlc.com.

5.1 DESCRIPCIÓN GENERAL.

La tarjeta CE-Minus de R.L.C. Enterprises Inc., es la base de CPU/ENGINE del sistema.En esta tarjeta, se incluye un procesador AMD ELAN SC400 de lOOMHz, compatiblecon un 486; memorias DRAM y FLASH; reloj de tiempo real; puertos seriales yparalelos; controlador de gráficos para LCD; controlador para PCMCIA; interfase parateclado XT/Matrix; unidad de administración de energía; entre otros. Esta tarjeta básicapuede utilizarse directamente en el desarrollo de algunas aplicaciones; o puede ser la basedel CE-Plus, que es una tarjeta de expansión de I/O; también se puede utilizar unaexpansión adicional para formar el sistema LCD-Plus, que convertidores A/D y unapantalla del tipo "touch screen" [16].

Dentro de las características del sistema LCDPlus podemos citar las siguientesHardware:

- CPU embebido Elan SC400 (486) de 32 bits.• Velocidad de reloj de lOOMHz.• 12 Meg-Bytes de memoria FLASH en la tarjeta.• 16Meg-Bytes de memoria RAM• Pantalla gráfica de color LCD (6", Vi VGA).• Touch Screen• Interfase para tarjeta PCMCIA• Puertos seriales (3).• Puerto Paralelo (1).• Entradas Análogas (6).• Entradas/Salidas digitales compatibles con TTL, unidireccionales (8/8).• Interfase para módulos de I/O iSBX (2).• Reloj de tiempo real y contadores (3).• Bus para expansión de 1/0.• Fuente de poder integrada en la tarjeta.

Software:• Windows CE 3.0.• Ambientes de programación visuales: Visual C++ y Visual Basic, versiones

embebidas.

34

Page 46: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 5: Sistema EmbebidoR.L.C. LCD-PLUS

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

5.2 HARDWARE.

A continuación se muestra un diagrama a bloques de la tarjeta CE-Minus en la figura 5.1.En la figura podemos apreciar las diferentes características ya previamente mencionadas.

PuertoSerial(comí)

PuertoParalelo(LPT-1)

Controladorde GráficosLCD

LíneasDatos

(16)

LíneasDir.(16)

LíneasControl

Controlador Chip Selects y InterfasePCMCIA Interrupciones de Teclado

Matrix XT/AT

Respaldo de BateríasRTC

CircuitoSupervisorde Energía

(2) LED's, (3)Software Jumpers

100 Mhz 32 bits CPU EmbebidoReloj de Tiempo Real, (3) Timers, Controlador de DRAMControlador de Interrupciones, Controlador de Chip SelectControlador de Gráficos LCD, Unidad de Administración

de Energía, Controlador de PCMCIA, Puerto Serial,Puerto Paralelo, etc.

8/16MegaBytes

DRAM

••'" 2 /4 •Megabytes

FLASHEPROM

BIOSBuilt in

A ChipFLASH

Disk8-144

MegaBytes

Figura 5-1 Diagrama a Bloques tarjeta CE-Minus

35

Page 47: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 5: Sistema EmbebidoR.L.C. LCD-PLUS

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

A continuación se realizará una descripción de los principales elementos del hardware[16]:

• LED's. La tarjeta del CE-Minus, tiene 2 LED's que pueden ser utilizados por lasaplicaciones para depurar los programas, así como indicadores de diagnóstico deprogramas etc.

• Memoria DRAM. El CE-Minus tiene memoria DRAM de 8 o 16 mega-bytes de16 bits de ancho, con cero ciclos de espera, y montura sobre superficie. Estamemoria es utilizada por el sistema operativo, así como por las aplicaciones. Estamemoria está organizada en un mapa de memoria lineal apropiada para laejecución de programas en ella. La DRAM tiene cero ciclos de espera con modode ráfaga (Fast Page). No se provee de expansión adicional y solo puede serexpandida utilizando la interfase PCMCIA.

• Memoria FLASH. El CE-Minus cuenta con 2 o 4 mega-bytes de memoria FLASHcon montura sobre superficie. Esta memoria se utiliza para almacenar al sistemaoperativo y al BIOS de la máquina. La memoria se tiene un ancho de 8 bits y estamapeada de manera lineal. Los ciclos de espera se introducen de maneraautomática al ser requeridos. El sistema operativo Windows CE arranca de lamemoria FLASH y se ejecuta en la DRAM, para mejorar el desempeño.

• Disk on a Chip. El CE-Minus tiene un socket para agregar un dispositivo dememoria FLASH conocido como Disk on a Chip. Utilizando esta memoria setiene espacio adicional para las aplicaciones. Los programas no pueden correr demanera directa en esta memoria y deben de ser cargados primeramente en laDRAM que tiene cero ciclos de espera. Las aplicaciones que utilizan el sistemaoperativo Windows CE pueden utilizar este espacio para almacenamiento deprogramas y datos. Los "drivers" para esta memoria han sido integrados alambiente de RLC.

• Firmware embebido. El CE-Minus tiene un cargador estándar de BIOS contenidoen la memoria FLASH. Este BIOS permite que el sistema operativo sea cargado através del puerto serial y programado en la memoria FLASH; así mismo permitecargar al sistema operativo después de un estado de reset o al momento deenergizarse.

36

Page 48: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 5: Sistema EmbebidoR.L.C. LCD-PLUS

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

• Puentes de lectura por software. El CE-Minus cuenta con un grupo de trespuentes en la posición JP-3 su función es la siguiente:

• JP3 Posición 1 cerrado: De esta manera, el BIOS carga una imagen binaria deWindows CE a través del puerto paralelo y directamente en la memoriaDRAM; lo anterior con el propósito de depuración y prueba. Esta opción seutiliza para desarrollar una nueva o personalizada versión del sistemaoperativo Windows CE o para desarrollar una aplicación que se construye almismo tiempo que el programa operativo.

• JP3 Posición 1 abierto: Esto le dice al BIOS que cargue la imagen binaria deWindows CE a través de CCOM-1 y que lo escriba en la memoria FLASH.Esta opción es utilizada para reemplazar al sistema operativo con diferentesversiones, o para escribir la última versión personalizada creada con laplataforma de desarrollo.

• JP3 Posición 2 cerrado: : La pantalla en un sistema LCD Plus se incluye en elsistema. BIOS utiliza esta información para inicializar el hardware durante elarranque.

• JP3 Posición 2 abierto: La pantalla en un sistema LCD-Plus no se incluye.

• JP3 Posición 3 cerrado: Se ejecuta el programa REPLLOG durante elarranque.

• JP3 Posición 3 abierto: El sistema buscará en el directorio de inicio paraejecutar un programa de aplicación.

La tarjeta básica del CE-Minus se puede expandir a una tarjeta CE-Plus con las siguientesventajas:

• Entrada de Alimentación: La tarjeta CE-Plus requiere de una sola entrada dealimentación. Una fuente de poder de DC no regulada se puede emplear paraalimentar a los reguladores de voltaje, que a su vez proporcionarán 3V DC Y 5VDC a todo el sistema. El rango de alimentación puede ser de 8V DC a 14V DC.

Puertos seriales RS-232/422/485: La tarjeta CE-Plus tiene 3 puertos seriales, asícomo los drivers y conectores del tipo DB9. El puerto COM-1 viene directamentede la tarjeta CE-Minus y es utilizado para desarrollo de programas y transferenciaa la memoria FLASH y al Disk on a Chip. Los restantes 2 puertos tienen sololíneas de transmisión y recepción, y no cuentan con drivers para hardware

37

Page 49: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 5: Sistema EmbebidoR.L.C. LCD-PLUS

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

handshake. COM-3 también soporta estándares RS-422 y RS-485. Los trespuertos están configurados para conectarse con un puerto serial de una PC.

• Puerto Paralelo: La tarjeta CE-Plus tiene buífers y drivers así como un conectorpara tener una interfase paralela.

• Bus de expansión de I/O: La tarjeta CE-Plus cuenta con buffers, drivers y unconector para expansión de I/O. Esta interfase cuenta con líneas de dirección,datos y selectores de chips (chip selects) que pueden ser utilizados para desarrollode aplicaciones, esta expansión de I/O también es utilizada por el LCD-Plus paracontrolar el contraste, touch screen, etc.

• Interfase para PCMCIA: El CE-Plus cuenta con buffers, drivers y un socket paratener un controlador de PCMCIA .

• Módulo de expansión e interfase iSBX: La tarjeta CE-Plus tiene buffers y driversy dos conectores para módulos de I/O iSBX disponibles: I/O serial, I/O Paralela yI/O análoga.

• Batería de litio: La tarjeta CE-Plus tiene un socket para una batería de litio. Estabatería es para el respaldo del reloj de tiempo real.

La tarjeta CE-Plus se puede expandir a una tarjeta LCD-Plus con las siguientes ventajas:

• Pantalla: la tarjeta LCD-Plus puede admitir pantallas de colores ymonocromáticas con una resolución de 320x240 y touch screen.

• Convertidores A/D: CE-Plus provee de un convertidor análogo digital de 8canales y 12 bits, 2 de los canales son utilizados en la interfase del touch screen;mientras que los restantes 6 están disponibles para desarrollo de aplicaciones.

• Interfase para teclado de matriz y puertos de I/O: CE-Plus cuenta con 8 líneas deentradas y 8 líneas de salidas digitales, estas líneas son unidireccionales ycompatibles con TTL. Se pueden utilizar para tener una interfase con un tecladode matriz, o botones, contactos o cualquier dispositivo de I/O paralelo.

38

Page 50: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 5: Sistema EmbebidoR.L.C. LCD-PLUS

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

5.3 SOFTWARE

El ambiente de desarrollo de aplicaciones en el sistema operativo Windows CE, permitecrear aplicaciones tanto en Visual C++, como en Visual Basic; donde ambos lenguajesestán desarrollados para ambientes embebidos.

Se requiere de la instalación de Microsoft Active Sync en la PC para poder desarrollaraplicaciones de manera remota, este programa debe de ejecutarse en la computadora dedesarrollo; mientras tanto, en la computadora embebida debe de estar corriendo elprograma REPLLOG. Una vez que las dos computadoras se han conectado, lacomputadora de desarrollo puede navegar en la computadora embebida a través deWindows CE.

Es posible escribir programas sin la computadora embebida; sin embargo, para poderdepurar los programas es necesario tener Active Sync corriendo en la computadora dedesarrollo y unida al programa REPLLOG. Para esto se requiere de un puerto serial en lacomputadora de desarrollo conectado al COMÍ en la embebida.

RLC provee de una librería de acceso dinámico o DLL, llamada ceminus.dll. Estasrutinas tienen formato "C" y además se cuenta con un archivo que declara estas funcionespara utilizarlas en programas escritos en Visual Basic.

Las funciones contenidas en la librería ceminus.dll son:

• Funciones de 8 bits de I/O.

• Funciones de 16 bits de I/O.

• Funciones para el manejo de los 2 led's.

• Funciones para ajustar contraste.

• Funciones para el manejo de los convertidores A/D.

• Funciones para tener interfase SBX.

39

Page 51: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 5: Sistema EmbebidoR.L.C. LCD-PLUS

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

5.4 PROCESO DE ARRANQUE.

La computadora embebida RLC-CE tiene como sistema operativo una versión deMicrosoft Windows CE. El sistema operativo permite que las aplicaciones sean escritas,transferidas y depuradas (debugged) utilizando herramientas Visuales embebidas deMicrosoft. También se ha configurado el sistema para que estas aplicaciones se ejecutende manera automática después de la energización del sistema o a la salir de un estado dereset, una vez que haya concluido el desarrollo [17].

Durante la energización o reset, Se" sigue la siguiente secuencia:

El BIOS del sistema transfiere el sistema operativo de la memoria FLASH que esta en latarjeta a la memoria DRAM y se ejecuta. Esto tomará de 5 a 10 segundos dependiendo delos valores de calibración y del tipo de versión de Windows CE que se este utilizando.

Sí el "touch screen" se presiona, automáticamente se ejecuta una calibración del mismo.Después de que la calibración termine, estos nuevos valores son almacenados para usofuturo.

Si el "touch screen" no ha sido presionado durante el arranque, el sistema operativobuscará en un directorio de la memoria FLASH llamado "Startup". Si el directorio noexiste, las condiciones de calibración y contrastes por "default" serán utilizados. Si eldirectorio se encuentra, se utilizará la información en el archivo "Settings.ini" para lacalibración y el contraste si estos valores son diferentes a los que tiene el sistemaoperativo por "default".

A continuación el sistema operativo examina al puente JP3, y si esta en la posición 3 enla tarjeta, se ejecuta automáticamente el programa "REPLLOG" estando listo paraconectarse a la computadora de desarrollo utilizando el programa de comunicacionesActive Sync. Si el puente esta abierto el sistema operativo realizará la siguientesecuencia:

Copiar todos los archivos de librerías o DLL's del directorio "Startup" al directorio deWindows.Si existe algún programa llamado start.exe o start.vb, será ejecutado, de está manera lasaplicaciones desarrolladas serán automáticamente ejecutadas durante el arranque y no setienen que cargar las DLL's manualmente.

Después de que el desarrollo de la aplicación ha terminado, el programa desarrolladodeberá de remplazar al programa de inicio. Los archivos de apoyo no necesitan sercopiados, ya que existe un registro en el sistema operativo que apunta al directorio quecontiene estos archivos de apoyo.

40

Page 52: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos, Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Capítulo 6: Sistema de Administración de Parámetros Energéticos

6.1 Introducción.

El sistema embebido RLC-LCD Plus con el que se implemento el presente trabajopresentó' algunos problemas que tuvieron que ser resueltos antes de poder desarrollar lasaplicaciones. En esta sección se realizará una descripción de los pasos y programas quese efectuaron para familiarizarse con el sistema. Además se incluyen algunos aspectosdel sistema que causaron problemas y la manera en que fueron resueltos.

6.1.1 FUENTE DE PODER.

La fuente de poder que viene incluida con la computadora embebida presenta problemasde diseño. De acuerdo con las características del sistema, este debería de operar con untransformador y rectificador de pared, mismo que es proporcionado por la mismacompañía. Los datos del transformador/rectificador son: entrada 120volts AC 60Hz18.5W, salida 9V DC 1500mA Sin embargo, al empezar a desarrollar los pnmerosprogramas este transformador/rectificador dejo de suministrar voltaje; se procedió a abriresta fuente y el fusible de protección de 1.5Amps. estaba fundido. Cabe señalar que estefusible era de listón grueso es decir era un fusible de retraso con una constante de tiempogrande. Se cambio el fusible por otro de 1.5Amps. pero de listón sencillo y el resultadofue que la computadora arrancaba un par de veces y terminaba fundiendo el fusibledurante algún arranque. Se midió la corriente y se encontraron las siguientesconclusiones:

1. Durante el arranque la computadora demanda hasta 2Amps. pero si durante elproceso de arranque se presiona el touch screen para calibración, este pico decorriente llega a ser de hasta 2.5Amps; es decir 1.66 veces la corriente máxima dela fuente.

2. Una vez que la computadora se estabiliza después de un proceso de arranque o dereset, la corriente que demanda baja a O.75Amps; pero si en esta etapa ya establese presiona el touch screen se puede observar un pico de corriente de 1.3Amps.

3. Existe una función en la librería ceminus.dll llamada RLCBacklightOn(int), pormedio de la cual se puede retirar la luz que emite la pantalla; con esta funciónactivada, la corriente en estado estable llega a ser de solo 0.2Amps.

De las mediciones anteriores se concluye que cada vez que se arrancaba el sistema la vidaútil del fusible disminuía por lo que se recomienda rediseñar la fuente tomando encuenta estos aspectos. En cuanto a la forma de seguir trabajando con el sistema, seprocuró utilizar una fuente regulada de voltaje y se cambió el fusible por un de 2Amps.

41

Page 53: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

6.1.2 CONSTRUCCIÓN DE PROGRAMAS.

Para desarrollar los diferentes programas, vale la pena citar que una vez que elcompilador de Visual C++ terminaba su labor, había un error con el linker, que decía quefaltaba la librería wininet.lib, y por esto no se terminaba el proceso de construcción. Sinimportar que tan simple o complejo fuese el programa el linker siempre marcaba esteerror, y la librería en cuestión no se encontraba instalada en ningún lugar. Se contacto alpersonal de RLC y respondieron que era un problema Microsoft cuya solución fue decirleal compilador que no utilizará tal librería.

6.1.3 REGULADORES INTEGRADOS.

Uno de los problemas que se tuvo al capturar datos de medidores durante largos períodosde tiempo, fue que el sistema se inhibía después de que pasara algún tiempo. Esto sedebía a que la protección térmica del circuito regulador de voltaje LM7805 entraba enoperación dejando al sistema sin energía. Se utilizó un abanico para evitar elcalentamiento de los disipadores de calor del LM7805, pero se seguía calentando. Seaplicó una fuente regulada de voltaje suministrando 8V DC junto con el abanico y aún asíel sistema se inhibía, aunque ya más esporádicamente.

6.1.4 DESARROLLO DE PROGRAMAS.

Para cumplir con la implementación, se realizaron diferentes programas que se listan acontinuación así como una descripción de su objetivo y características:

• Helio: Este programa fue el primer programa que se desarrollo utilizando elMFCAppWizard, el cual es un poderoso asistente que escribe el códigoestructural de los programas [18]. Este programa, basado en diálogos, muestrauna ventana con dos botones uno de ellos; Exit, termina la aplicación; el otro, SayHelio, despliega una cadena de caracteres del tipo Cstrting. Con la construcciónde este programa se resolvió el problema de tener que cargar la libreríamencionada en la sección 6.1.2.

• Led: El objetivo de este programa era el de cargar la librería dinámica ceminus.dlly utilizar las funciones de manejo de led's que en ella se incluyen. Como sedescribió en el capítulo 5 la librería de acceso dinámico ceminus.dll tiene muchas

42

Page 54: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Femando A. Ortiz FernándezAsesor: Ing. Jesús Baez

funciones importantes que se utilizan en el sistema. Para poder cargar esta libreríase debe de incluir en los archivos de cabecera: #include "ceminus.h"; y además,llamar a la función LoadCEMINUS() en la función de inicialización de diálogo.Este programa consta de 3 botones, uno para terminar la aplicación y otros 2 paraencender/apagar cada uno de los leds.

• Clock: El objetivo de este programa fue instalar un Timer, obtener la hora delsistema y desplegarla en el formato de un reloj que esta actualizando los datos dela pantalla cada 50mseg. En este programa es importante conocer si el timer pudoser instalado, ya que "...dependiendo del sistema en particular que se esteutilizando será el número de cronómetros que se puedan instalar..."[18]. Otracaracterística de este programa es que se utilizó un objeto de la clase CTime paraextraer la hora del sistema; esta clase fue ampliamente utilizada en los programassubsiguientes.

• Digital I/O: El objetivo de este programa fue manejar entradas y salidas digitales,partiendo de las funciones para manejo de I/O de la librería ceminus-.dll. Elprograma consiste de una ventana en la que hay un teclado hexadecimal, 2 cajasde edición, y tres botones para mandar un número, leer un número y terminar laaplicación; en las cajas de edición se tienen los números transmitidos y recibidos.

• Analog: El objetivo de este programa fue el de leer entradas analógicas, a travésde los ADC's que tiene el sistema, utilizando las funciones para manejo de losconvertidores que se incluyen en la librería ceminus.dll. El programa consiste deuna ventana con 2 botones; uno de ellos para terminar la aplicación y otro pararealizar lecturas en los 6 canales simultáneamente; además se tienen 6 cajas dediálogo en las que están los valores de las lecturas realizadas por los ADC's.Cabe mencionar que se utilizaron los canales de manera que se cubrieran losdiferentes rangos de lecturas: [0,5V],[-5V,5V],[0,10V],[-10V,10V].

Con el desarrollo de estos programas se adquirieron las bases necesarias para poderdesarrollar las aplicaciones eje de la tesis. Estas aplicaciones serán descritas en lo queresta del capítulo.

43

Page 55: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

6.2 Sistema de Administración de energía eléctricabasado en cierre de contactos

En la actualidad, la mayoría de los medidores de energía eléctrica cuentan a la salidacon relevadores electromecánicos o su equivalente en estado sólido; un transistor encorte para el contacto normalmente abierto (NA); y un transistor en saturación para elcontacto normalmente cerrado (NC). De igual manera una gran cantidad demedidores incorpora este tipo de salidas, entre estos podemos citar: medidores deagua, medidores de gas, medidores de otros flujos, etc.

En estos dispositivos es muy fácil de implementar salidas de pulsos utilizando elcomún del relevador como salida; el contacto normalmente abierto a un nivel devoltaje, por ejemplo 5V; y el contacto normalmente cerrado a un nivel de referencia.De esta manera estos dispositivos pueden generar a su salida una señal de pulsos confrecuencia o número de pulsos proporcionales al parámetro de medición. El rango dela frecuencia en estos medidores no excede a los 20Hz de manera general. Para losmedidores de energía eléctrica la salida de potencia real puede alcanzar los 20Hz,pero la potencia reactiva no excede a los 15 Hz.

Estos pulsos son muy fáciles de contar utilizando equipo digital, por lo que laaplicación de sistemas digitales en lo general es muy utilizado. En el caso particulardel presente trabajo, la facilidad de contar pulsos como entradas digitales justifica eluso del sistema que se diseño.

Como se mencionó en el capítulo 4, los sistemas de monitoreo solo de energía(power-only monitoring systems) brindan información de potencia eléctrica real yreactiva; y con esta información se pueden conseguir grandes beneficios. Estossistemas son económicos y se pueden ir escalando de acuerdo con las necesidades dela empresa. Además como se mencionó en párrafos anteriores, estos sistemas puedentambién consultar medidores de otros tipos de variables energéticas.

De lo anterior, y tomando en cuenta el gran desarrollo que están teniendo los sistemasembebidos tanto en términos de hardware, software y comunicaciones; resulta muyimportante poder implementar un sistema de administración de parámetrosenergéticos que tenga la opción de consultar varios medidores que tengan como salidacierre de contactos es decir una salida de pulsos.

Dentro de la presente investigación se implemento uno de estos sistemas basados enel sistema LCD-Plus. RLC tiene dentro de su gama de productos puertos deexpansión de I/O así como de entradas análogas, comunicaciones en red etc.

44

Page 56: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Tomando esto en cuenta se empezó la implementación del sistema; sin embargo,desde un principio se pensó en el sistema de RLC como un concentrador de lainformación que pudiese provenir de diversos y diferentes tipos de medidores.

El sistema RLC tendría las aplicaciones para consultar a estos medidores y almacenarla información en modo de Stand Alone o compartirla a través de los diferentesesquemas de comunicación que la misma compañía ofrece. Además se ideo el sistematal que no fiiera muy demandante en cuanto a la capacidad de cómputo del mismo; demanera que, en trabajos posteriores se pudieran realizar adicionalmente al análisis dela cantidad de energía, un análisis de la calidad de la energía, dado que el sistemaRLC, cuenta con 6 canales ADC se pueden monitorear los 3 voltajes y las 3 corrientesde un sistema trifásico y obtener el espectro armónico de distorsión.

Tomando lo anterior en cuenta, se busca que las aplicaciones del sistema no sean muydemandantes en recursos, por lo que se planteo diseñar un sistema que consultará alos medidores durante un intervalo de tiempo relativamente grande, con la capacidadde tomar medidas de control y que guardara la información en un archivo queposteriormente pueda ser abierto con algún paquete convencional para posteriorinterpretación de los datos.

6.2.1 SISTEMA UTILIZANDO COMPONENTES DISCRETAS.

Debido a que se tienen disponibles las 8 líneas de entrada y 8 líneas de salida quetiene el LCD-Plus para tener interfase con un teclado, se desarrollo un circuito basadoen contadores. Este circuito tiene la capacidad de contar pulsos a la entrada y cuandola computadora embebida lo solicite transferir la cuenta de pulsos. El circuito constade contadores, multiplexores, selectores y demás lógica TTL con capacidad dealmacenar la salida de potencia real y reactiva de un medidor con salida de cierre decontactos.

6.2.1.1 IMPLEMENTACIÓN DEL SISTEMA.

A continuación se muestra el Diagrama esquemático del circuito capturado enOread®, "Contador de Pulsos 1/5"

45

Page 57: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

- Figura 6-1 Contador de Pulsos 1/5

46

Page 58: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

El circuito mostrado en la figura 6-1 se puede dividir en 2 módulos: el módulo de controly el módulo de contadores. El sistema se diseño pensando en la capacidad de escalar losmódulos de contadores, pudiendo tener hasta 8 contadores de potencias reales y reactivas.

El sistema cuenta con un bus de datos que comparten todos los módulos de contadores,por esta razón los circuitos U6 y U5 de la figura 6-1 son circuitos 74LS257,multiplexores que tienen dos entradas y salidas de 3 estados [20]. El bus de datos locomparten además de 2 multiplexores por cada módulo, el circuito U2 que es un74LS373 que consiste de 8 latches con salida de 3 estados, donde los registros sontransparentes a los datos (los datos cambian asincronamente) mientras el latch estehabilitado [20].

El módulo de control lo integran los circuitos Ul y U3. El circuito Ul es otro 74LS373que toma las entradas del las primeras 7 salidas del puerto de interfase con el teclado delsistema LCD-Plus. De estas entradas las primeras 6 van directamente a las entradas dedatos de Ul y la 7 es la que habilita al latch. U3 es un circuito integrado 74LS138, que esun decodificador de 1 a 8 [20]. El 74LS138 se utiliza para seleccionar al módulo decontadores que se desea consultar.

El módulo de contadores tiene a la entrada un circuito eliminador de rebotes("debouncing"). A donde entra el común del relevador; manteniendo el contactonormalmente abierto a 5V y el normalmente cerrado a tierra. De esta manera la salida decierre de contactos se convierte en una señal de pulsos, cuya cuenta es proporcional alconsumo de energía.

Los pulsos que salen del circuito eliminador de rebotes entran a la primera etapa deconteo, formada por los circuitos U7y U9; estos circuitos integrados son del tipo74LS193 y son contadores por década de 4 bits con cuenta ascendente, descendente yprecarga de datos [20]. Y la entrada es al pin 5, que incrementa la cuenta con la transiciónpositiva del pulso.

Para utilizar el bus de datos de 8 bits y no consumir tiempo del sistema RLC, se conectala salida de acarreo "carry" pin 12 a la entrada de los circuitos U8 y U9, que soncontadores del mismo tipo que U7 y U8, contadores en cascada. De forma que el Byte delas cuentas totales se forme con el nibble de U7 y el nibble de U9 para el primercontador; mientras que el nibble de U8 y el de UlO para el byte del segundo contador.

Como se ilustra en la figura 6-1, el reset de los contadores se forma de la operación ÑORentre la señal de control XMR y la salida correspondiente de U3 para cada módulo.

El sistema se puede escalar tomando las señales S, XMR del módulo de control, así comola salida correspondiente del selector U3, en la figura 6-2 se ilustra como se puedeconectar un segundo módulo de contadores.

47

Page 59: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

R=4?OKU11C > RESISTOR

" SSmoei

CPin 14, Yl>•' m

1 U4B74LS02

Fernando A. Ortiz Fdz

3ocumañtNumbirContador 2

Mau 3 , 200HSh««t 2 of

Figura 6-2 Expansión de un segundo módulo de contadores

Como se ilustra en la figura 6-2 se pueden tener hasta 8 módulos de contadores,tomando todos la misma señal S, XMR y la salida del selector correspondiente de U3(YO,Y1,...Y7).

En la siguiente figura se muestra el diagrama de flujo del sistema:

48

Page 60: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

OLE= 1 ,XMR=0, A=0,HJE=0

OLE=1XMR=0A=A+1OLE=0

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Inicializar contadores.

XMR=1OLE=1TIMER=0OLE=0

s=oPulsosl[A]=RLC_Keyboard_In()S=lPulsos2[A]=RLC_Keyboard_In()XMR=0A=A+1

Figura 6-3 Diagrama de Flujo contador con componentes discretas

49

Page 61: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Donde:

"Latch Enable".OLE es el habilitador de los latch de control y de datos,U1.U2

ILE es el habilitador del latch de datos "LE" , que va a U2.

A es la salida que va al selector U3

• XMR es la salida que va a U4a, y que junto con la salida del selector U3 setiene la señal de reset para el módulo de contadores designado por A; yseleccionado por U3.

• S es el selector que va a los multiplexores U5 y U6.

Como se puede constatar de la figura 6-2, el programa empieza inicializando a todoslos contadores de todos los módulos, después mantiene la señal de reset negada yespera a que se cumpla el tiempo T establecido para el Timer. Transcurrido eltiempo, habilita al latch de datos hace A igual a 0; y entra en un ciclo donde primerolee un byte y luego el otro con el cambio de la señal S, guardando las cuentas de cadamódulo en los arreglos Pulsos 1 y Pulsos2; finalmente incrementa el valor de A paraconsultar los datos del siguiente módulo de contadores. Una vez fuera del ciclo,vuelve a inicializar al cronómetro Timer y deshabilita al latch de datos. Para volver arepetir la secuencia una vez que el tiempo T a transcurrido en el cronómetro Timer.

El tiempo de establecimiento "setup" y el tiempo de retención "hold" para el74LS373 es de 25nseg [20]. Mientras que el tiempo de propagación del selector a lasalida, "Propagation Delay Data to Output"; y del selector al dato, "PropagationDelay Select to Output"; es menor a 21nseg [20]. El ciclo de reloj es de lus, por loque los datos estarán estables y correctos en cada ciclo de lectura.

Consulte el apéndice A, donde se encuentra el listado del programa

50

Page 62: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

6.2.1.2 PRUEBAS REALIZADAS AL EQUIPO

Para comprobar que el sistema funcionara de manera correcta, se procedió con elsiguiente experimento: se utilizo un generador de funciones con el que se alimentaron alos dos canales de conteo. Se efectuó un barrido en el rango de frecuencia de 0 a 20Hzcon intervalos de .lHz para la primera década de O.lHz a 0.9Hz; de lHz para la décadade lHz a lOHz; y de 2Hz para el rango de lOHz a 20Hz. Revisando que amboscontadores tuvieran la misma cuenta después de 5 minutos. Los resultados se muestran enla Figura 6-4:

Ambos Canales del Generador de Funciones

7000

6000

e 5000

I 4000* 3000o

2000

1000

0 f

-

. " • " • • • " " ? • . - :

• • •• - . ^ x T 1 •

.i* » • • •

• • • á f ^ . - - - . . : . - • • . ,••• J . i t Ü - • -- •- -JV y, . , - ~ , . .. * . * - • ? - - • • • . ' . •

• Canal 1- Canal 2

10 15

Frecuencia [Hz]

20

Figura 6-4 Gráfica con los dos canales tomando la misma entrada

Como se puede apreciar de la figura 6-4 ambas lecturas coinciden totalmente, conexcepción de algunos puntos a bajas frecuencias, donde se observó un error del 5% de uncanal con respecto del otro. Sin embargo, se dieron por buenos los resultados. Laexplicación de esta desviación a bajas frecuencias será tratada en siguientes secciones.

Los medidores comerciales cuentan con cierre de contactos formados por relevadoreselectromecánicos convencionales, relevadores que utilizan mercurio y transistoreselectrónicos para disminuir los efectos del rebote del contacto que se cierra. Sinembargo, una gran cantidad de equipo tiene a sus salidas relevadores electromecánicosque producen muchos rebotes en el cierre de sus contactos. Por lo anterior, esimprescindible contar con un buen circuito que elimine los rebotes de contactos.

51

Page 63: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Femando A. Ortiz FernándezAsesor: Ing. Jesús Baez

6.2.1.2.1 ELIMINACIÓN DE REBOTES

Durante la presente investigación se implementaron diferentes tipos de circuitos con elpropósito de eliminar el efecto de los rebotes. A continuación se muestran algunos de loscircuitos utilizados, una descripción de su principio de funcionamiento y los resultadosobtenidos. Estos resultados se obtuvieron de la manera siguiente; se utilizo el generadorde funciones como entrada de los dos contadores, solo que en este caso, uno de loscanales se hizo pasar por un relevador electromecánico.

• Circuito Biestable basado en compuertas inversoras. El circuito secuencial mássimple, el elemento biestable TTL puede ser utilizado como se muestra en lafigura 6-5. Antes de cerrar el contacto, el punto A se encuentra a OV, un 0 lógicoválido, El inversor superior produce un 1 lógico en B y en el contacto inferior.Cuando se presiona el botón y el contacto se abre, la retroalimentación delbiestable mantiene al punto A con Vb (que para el 74LS04 es menor a 0.5V),todavía un 0 lógico válido. Cuando el contacto toca al punto 2 el circuito opera demanera inestable, ya que el inversor superior esta tratando de mantener un 1 en Bpero conexión metálica a tierra es más fuerte, llevando al punto B a tierra. Pocodespués (30 ns para un 74LS TTL), el 0 lógico forzado en B se propaga a travésde los dos inversores del biestable por lo que el inversor superior emite un 0lógico al punto B, que se mantiene aún cuando la laminilla se despega delcontacto inferior, como lo hace en realidad [21].

Figura 6-5 Circuito biestable formado por compuertas inversoras

52

Page 64: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Femando A. Ortiz FernándezAsesor: Ing. Jesús Baez

La ventaja de este circuito es que ocupa un tercio de un 74LS04, no se requierenresistencias externas y se tienen ambas polaridades de la señal entrante [21].El resultado de la implementación se muestra en la figura 6-6.

Eliminación de Rebotoes utilizando circuitobiestable inversor

5000

M 4000

I 3000o 2000jn

¿ 1000

¿

- -,--•' - v . ' • •

• Reales

• Medidor

4 6

Frecuencia [Hz]10

Figura 6-6 Implementación utilizando Biestable inversor.

De la figura se muestra que contador que pasa por el relevador no suprime losrebotes, por lo que esta opción se descarta.

• Registro básico, con compuertas NAND. Este circuito utiliza dos compuertasNAND para formar un registro del tipo set reset. El circuito se ilustra en la figura6-7. Cuando el interruptor se encuentra en reposo en la posición de normalmentecerrada ("Normally Closed") la salida se mantiene en un 0 lógico. Cuando elinterruptor se acciona, se mueve a la posición de normalmente abierto ("NormallyOpen") y se aterriza esta terminal. Esto hace que la salida cambie a 1 lógicodespués de transcurrido el tiempo de respuesta de la compuerta NAN (unoscuantos nanosegundos). Si el interruptor oscila y deja de estar en contacto con lasterminales nada le ocurre a la salida hasta quedar en reposo en la terminalnormalmente Abierta ("Normally Open") [22].

La desventaja de este circuito es de que utiliza dos compuertas NAND, dosresistencias externas y se necesitan de las dos terminales del relevador; lanormalmente abierta y la normalmente cerrada.

53

Page 65: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Output.

+5V2.2 K

Normally Closed•O O

+5V2.2 K

Normally Open

Figura 6-7 Eliminación de rebotes utilizando un FF set reset.

El resultado de la implementación se muestra en la figura 6-8.

Eliminación de Rebotes con FF compuertasNAND

6000„ 5000I 4000— 3000c/i

w 2000¿ 1000

0

— - - > ^ «I*!»

^ V-.

— ' •

5 10 15 20 25Frecuencia [Hz]

Figura 6-8 Implementación utilizando registro NAND.

• Reales-Medidor

54

Page 66: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Como se puede apreciar de la figura 6-8 las curvas coinciden casi en su totalidad, y sepuede observar diferencias a bajas frecuencias como en la figura 6-4, donde lasseñales tomaban su entrada directamente del generador de funciones. En general elcircuito cumple con la función de eliminar rebotes, pero tiene la desventaja de utilizarla tercera parte de un circuito integrado y utilizar componentes externas.

• Circuito RC con inversor Schmitt Trigger. Esta opción requiere de una selecciónapropiada de valores de Resistencia y de Capacitancia para permitir el filtrado delos rebotes pero aún así detectar el cambio de estado; se debe de tener cuidado alescoger el valor de la resistencia para mantener buenos niveles lógicos en ambosestados. En la figura 6-9 se muestra este circuito:

vcc

Figura 6-9 Circuito RC con inversor Schmitt Trigger

Cuando el contacto se cierra, el capacitor se descarga rápidamente. Cuando elcontacto se abre, el capacitor se carga lentamente a través de la resistencia. Elbuffer debe de ser del tipo Scmitt-Trigger, para que la lenta carga del capacitor nocause que la salida oscile. Los dispositivos CMOS funcionan mejor para estatarea, debido a su alta impedancia de entrada, que permiten utilizar resistenciasrelativamente altas y capacitores pequeños. En este caso se escogió un valor decapacitor de 0.1 uF y una resistencia de 470kQ, dando por resultado una constantede tiempo RC= 47mseg de esta manera se asegura que a la frecuencia de 20Hz(50mseg) el capacitor ya se encuentre con carga suficiente para mantener un 1lógico en la familia CMOS en cuestión [23].

El resultado de la implementación se muestra en la figura 6-10.

55

Page 67: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Eliminación de Rebotoes con Circuito RC ySchmitt Trigger

5000-.&*?

RealMedidor

5 10Frecuencia [Hz]

15

Figura 6-10 Implementación utilizando circuito RC y Schmitt-Trigger

De la figura 6-10 podemos ver que el circuito para eliminar rebotes funciona ya que lasdos curvas se encuentran empatadas. Además se observa también cierta distorsión a bajasfrecuencias como se observa en la figura 6-4. El circuito de la figura 6-9 tiene además laventaja de utilizar solo 1/6 del circuito integrado y aunque utiliza componentes externossolo es necesario el contacto normalmente abierto y el común.

Por lo anterior, se escogió el circuito de la figura 6-9 para la etapa de eliminar rebotes.Ver figura 6-1 y 6-2 que son esquemáticos del diseño final.

56

Page 68: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

6.2.1.2.2 RUIDO.

Como se puede apreciar en las figuras 6-4,6-8 y 6-10, a bajas frecuencias existe unadistorsión que provoca que las lecturas por ambos canales no sea la misma, cuando setiene la misma entrada en ambos canales. Lo anterior resulto en un problema mayor,ya que no se detecto en la primera prueba. Por lo que no se sabía si el problema eraoriginado por rebotes, por ruido inherente al sistema o por interferencia. Debido a laincertidumbre se utilizo el eliminador de rebotes que utiliza el FF de la figura 6-7 yse realizaron pruebas teniendo la misma señal de entrada en ambos canales.A continuación se muestra la figura 6-11 que muestra el porcentaje de error comofunción de la frecuencia.

% de Error utilizando FF set reset

• • * '

"-.-:. ' '*-••;*•- ' - . • * : * - ! • • ••• •• j t

10 15Frecuencia [Hz]

20 25

Figura 6-11 Porcentaje de error en función de la frecuencia.

Como se muestra en la figura los errores ocurren a bajas frecuencias, como lo revelanlas gráficas precedentes. Observando los errores de todas las pruebas se llega a laconclusión de que el rango de errores se encuentra en frecuencias de 0.1 Hz y luego elerror cae para volver a incrementarse en el rango de 0.8Hz a 2Fíz.

Para asegurarse de que el ruido no era causado por el relevador, en la figura 6-12 setiene una gráfica del error en función de la frecuencia cuando el generador defunciones alimenta directamente ambos canales, es decir sin el relevadorelectromecánico.

57

Page 69: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Error con la señal de entrada igual para amboscontadores.

wut

o

cEc0)

o(03

Q.

70605040302010

0

Frecuencia [Hz]

Figura 6-12 Error con la misma señal de entrada

Como se puede ver claramente de la figura 6-12, el rango de error se encuentre entre0.8Hz y 2Hz. Para investigar la naturaleza del error se opero el sistema en este rango defrecuencias. Se realizó una prueba a una frecuencia de 2Hz, debido a que a estafrecuencia a pesar de que existen errores; estos ocurren de manera no muy frecuente. Enla figura 6-13 se muestra el resultado obtenido.

Lecturas con frecuencia fija de 2Hz

c0)(AO

¡i¡É</>o

JA3

Q.

620615610605600595590585580

•f .

•Seriesi•Series2

T — ( O T — < D •*— < O i— < O T — ( D

T - T - ( \ i ( M c o c o T t - * i n i nTiempo [intervalos de 5 minutos]

Figura 6-13 Lecturas a frecuencia fija de 2Hz.

58

Page 70: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fanando A. Otiz FernándezAsesor: Ing. Jesús Baez

De la figura 6-13 se puede observar que las lecturas cuando los datos no sonexactamente los mismos son 614 para un canal y 594 para el otro; la diferencia entreambos es de 20 pulsos. El sistema consulta a los contadores cada lOseg y vaacumulando la cuenta hasta 300 segundos o sea 5 minutos. Por lo que se concluye queen los casos en los que existe diferencia entre las lecturas, esta diferencia se debe aque uno de los contadores no fue consultado en algún periodo de 10 segundos, dentrodel intervalo de 5 minutos (en 10 segundos a una frecuencia de 2Hz se tienen 20pulsos).

6.2.1.3 COMPARACIÓN DE RESULTADOS CON EQUIPO COMERCIAL

Se realizaron pruebas de monitoreo de potencia real y reactiva en el edificio de aulasIV del ITESM campus Monterrey. Las pruebas se hicieron contra un medidorcomercial de la marca Power Logic y los resultados se muestran en la figura 6-14.

Perfil de Potencia Real contra equipo comercial

|

40035030025020015010050

-P Power Logic- P Sistema de Admon.

IO LTmmWmu n Ih.fru , . „ , , „ , : • : , , , , \

T- o> a s m n4 m ID N

Tiempo (intervalos de 5 mins)

Figura 6-14 Perfil de Potencia real contra equipo comercial

En la figura 6-14 se muestran los resultados de los perfiles de potencia real medidosde las 23:30hrs del Io de abril del 2001 a las 7:30hrs del 2o de abril del mismo año.De igual forma, la figura 6-15 se muestra los perfiles de potencia reactiva medidos enel mismo período de tiempo.

59

Page 71: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Perfil de potencia Reactiva contra equipocomercial

•Q Power Logic ¡•QSist. AdmonJ

Tiempo (intervalos de Smins)

Figura 6-15 Perfil de Potencia reactiva contra equipo comercial

De las figuras 6-14 y 6-15 se desprende que el sistema de administración obtuvoresultados muy satisfactorios.

6.2.1.4 COMENTARIOS Y CONCLUSIONES

Como se puede observar en las figuras 6-14 y 6-15, los resultados del sistema deadministración de parámetros energéticos concuerdan con los resultados de equipocomercial. La implementación del sistema con componentes discretas tiene comoventajas el que se puede implementar el diseño en un FPGA (Field Programable GateArray) y de esta manera dejar el sistema a la medida; de esta forma se eliminaría elproblema de ruido descrito en la sección 6.2.1.2.2. Si el sistema esta pensado paramonitorear una sola subestación este esquema resultaría muy adecuado. Sinembargo, si se requiere tener el perfil en varios puntos, una de las desventajas de esteenfoque es de que el medidor tiene que estar cerca de la computadora embebida y lacomunicación entre esta última y los diversos módulos de contadores sería muyruidosa por todas las líneas que se incluirían. Por lo que este enfoque tiene ladesventaja de la forma de comunicarse con la computadora central para más de unmedidor.

60

Page 72: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

6.2.2 SISTEMA UTILIZANDO UN MICROCONTROLADOR

Si el sistema de monitoreo utiliza un microcontrolador, en lugar de componentesdiscretas, se tienen las ventajas de utilizar un protocolo estándar de comunicaciones; asícomo el tener todos los recursos del sistema en un solo integrado. De esta manera sepueden utilizar los contadores del Microcontrolador y la unidad UART para lascomunicaciones. Se tiene la ventaja extra de que el microcontrolador tiene memoria paraguardar datos y estarlos comunicando al sistema RLC cada 5 minutos cuando menos; locual libera poder de computo para otras aplicaciones al sistema RLC.

A pesar de que el microcontrolador estaría subutilizado; el beneficio de poderimplementar una red de medidores utilizando un protocolo estándar, como el RS-485, escon mucho más alto que el costo. El sistema embebido RLC tiene puertos decomunicación RS-232 y RS-485, con lo que se alienta aún más el desarrollo del sistemautilizando un Microcontrolador.

El microcontrolador debe de tener 2 contadores y una unidad UART. Para el presentetrabajo se selecciono el AVR AT90S8515 de ATMEL. Este microcontrolador seseleccionó debido a las ventajas que ofrece de entre las cuales resaltan: la experienciaprevia que se tiene utilizando este microcontrolador; el sistema de desarrollo ydepuración "AVR Studio" que es un sistema de desarrollo muy completo y profesional;la gran difusión de la familia AVR facilita encontrar documentación amplia y ayudaoportuna (páginas y foros de consulta en red); la familia AVR tiene una arquitecturaRISC con pocas instrucciones que resulta en una gran facilidad para desarrollarprogramas en lenguaje ensamblador. La disponibilidad de compiladores de C facilita eldesarrollo de programación en este lenguaje de alto nivel.

6.2.2.1 CARACTERÍSTICAS GENERALES DEL AT90S8515

• Arquitectura RISCo 118 instrucciones, la mayoría se ejecutan en un ciclo de reloj ("Instruction

Set Code").o 32 registros de uso general de 8 bits.o Salida de 1MIPS por MHz.

• Memoria para programa y datoso 8 KBytes de memoria programable FLASH en el sistemao 512Bytes de memoria SRAMo 512 Bytes de memoria EEPROM

61

Page 73: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

• Periféricoso 1 contador/temporizador de 8 bits.o 1 contador/temporizador de 16 bits y modos de Comparación, captura y 8,9 o

lObitsPWM.o Comparador análogo en el chip.o "Watchdog" programable.o UART programable.o Interfase serial SPI Master/Slave

• Características especialeso Modalidades de baja potencia y deshabilitación ("Idle").o Fuentes de interrupción Externas e Internas.

• Specificacioneso Tecnología CMOS de baja potencia y alta velocidad.

• Consumo de potencia a 4MHz, 3 V, 25°Co Activo: 3.0 mAo Idle: lmAo Bajapotencia:<luA

• I/O y empacadoo 32 líneas programables de I/O.o 40-pin PDIP, 44 pinPLCC y TQFP

• Voltaje de operacióno 4.0- 6.0V

• Velocidado 0-4MHz.

"El AT90S8515 es un microcontrolador de 8 bits, basado en la arquitectura AVR RISC.Ejecuta poderosas instrucciones en un solo ciclo de reloj, teniendo salidas de 1MIPS porMHz, permitiendo al diseñador optimizar el consumo de potencia contra la velocidad deprocesamiento." [24]

62

Page 74: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

6.2.2.2 IMPLEMENTACION DEL SISTEMA

Para poder implementar el sistema con un microcontrolador, se utilizó el protocolo decomunicación RS-232.

Para poder desarrollar con éxito la aplicación, se tuvieron que desarrollar los siguientesprogramas:

• SerialPC: Este programa comunica dos PC's por medio del puerto serialutilizando el protocolo RS-232. El diseño visual del programa consta de dosbotones y dos cajas de diálogo para mandar y recibir datos. El programa utilizafunciones de una librería que manda los datos en forma de cadenas de caracteres ylos almacena en un buffer del mismo tipo, para desplegar los caracteres se utilizaun apuntador al buffer y de esa manera se crea una pila del tipo FIFO ("First InFirst Out"). La librería utiliza las siguientes funciones:

o Serini: Esta función guarda la configuración del puerto serial y aplica lanueva configuración.

o limpiabuff: Esta función se encarga de limpiar el buffer de datosrecibidos.

o Sndserial: Esta función se encarga de mandar una cadena de datos delongitud establecida.

o Rcvserial: Esta función se encarga de recibir una cadena de datos delongitud establecida y almacenarlos en el buffer.

o Serclose: Esta función se encarga de cerrar el puerto y el archivo que seutiliza, además configura el puerto con los parámetros origuinalesobtenidos por serini. De esta manera una vez que se ejecuta el programa,el puerto queda disponible para otras aplicaciones.

• SerialtoEmbedded: Este programa comunica al sistema RLC con una Pe pormedio del puerto serial RS-232. El diseño visual del programa es igual que elanterior. Cabe notar que mientras el programa SerialPC se desarrollo en VisualC++ versión 6.0, el programa SerialtoEmbedded se desarrollo en Visual C++versión Embebida 3.0; y se tuvieron grandes diferencias de un programa a otro, atal grado que la librería que utilizaba el puerto serial no se pudo agregar comoarchivo de cabecera, teniendo que ser copiadas todas las funciones al programafuente original.

• AVRserial: Una vez que se logró establecer la comunicación entre una Pe y elsistema RLC, se trato de utilizar el programa para comunicarse con la unidadUART del microcontrolador se tienen 2 opciones para este programa:

o Utilizar interrupciones para llamar a la rutina del sistema UART.o Estar revisando el estado del registro de la UART ("Polling").

63

Page 75: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Órtiz FernándezAsesor: Ing. Jesús Baez

Se utilizó el segundo esquema donde se revisa constantemente el estado del registrode la UART. Sin embargo, la comunicación con la Pe y el sistema RLC no funcionódebido a que ambos programas mandaban datos en forma de cadena de caracteres,mientras el microcontrolador esperaba números enteros.

Por lo anterior, se tuvo que cambiar la estructura de los programas desarrollados enVisual C++ y una vez que se logró la comunicación entre el microcontrolador y una Pe sehicieron los ajustes para que el microcontrolador se comunicara con el sistema RLC.

En la figura 6-16 se muestra el diagrama de flujo que utilizará el sistema RLC; ElPrograma tiene un cronómetro que agota su cuenta cada 5 minutos. Una vez pasados los 5minutos, se llama a la función send para que mande el número clave de cadamicrocontrolador ("Broadcasting ID"), el microcontrolador estará ciclado esperandorecibir esta ID, debido a que sus contadores funcionan de manera independiente, una vezque el microcontrolador recibe su ID, manda el byte menos significativo del contadorpara seguir con el byte más significativo y después mandar en ese mismo orden la palabradel otro contador.

Send(ID delmedidor)

RecibirPulsos Realesy reactivos

GuardarenArchivo

ReinicializarTimer yvariables

Figura 6-16 Diagrama de Flujo monitoreo con microcontrolador

64

Page 76: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Femando A. Ortiz FernándezAsesor: Ing. Jesús Baez

El diseño visual del programa tiene 2 cajas de edición, donde se despliegan las cuentascada 5 minutos; se tiene dos botones, uno para salir y otro para desactivar la luz de lapantalla y ahorrar energía; además se cuenta con una caja de selección ("check box")para almacenar los datos en un archivo que pueda ser posteriormente abierto por una hojade cálculo. Consultar los apéndice B Y C donde encontrará un listado de los programas.

6.2.2.3 PRUEBAS REALIZADAS AL EQUIPO

Para comprobar que el sistema funcionara de manera correcta, se procedió con elexperimento descrito en la sección 6.2.1.2.1: se utilizo el generador de funciones comofuente de pulsos, esta señal de pulsos llega directamente a uno de los contadores y activaa un relevador electromecánico de. cuyos contactos se toma la señal del otro contador. Seefectuó un barrido en el rango de frecuencia de 0 a 20Hz con intervalos de lHz para laprimera década de O.lHz a 0.9Hz; de lHz para la década de lHz a lOHz; y de 2Hz parael rango de lOHz a 20Hz. Revisando que ambos contadores tuvieran la misma cuentadespués de 5 minutos. Se utilizo el circuito RC con Scmitt-Trigger de la figura 6-9. Losresultados se muestran en la Figura 6-17.

Microcontroladorcon RC Schmitt-Trigger

<fl

•¡ 4000

~ 3000meu!

RealesMedidos

5 10 15Frecuencia [Hz]

20

Figura 6-17 Implementación utilizando un Microcontrolador

Como se puede ver en la figura 6-17, ambas lecturas corresponden completamente, noexiste el problema de ruido que se discutió en la sección 6.2.1.2.2 y además se tiene laventaja de utilizar un protocolo de comunicación estándar RS-232. De forma quecualquier microcontrolador que tenga contadores puede ser utilizado, si se resuelve elproblema de los rebotes mecánicos.

65

Page 77: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

6.2.2.4 COMPARACIÓN DE RESULTADOS CON EQUIPO COMERCIAL

A continuación se muestran los resultados de haber probado el diseño contra un medidorPower Logic que mide la potencia de aulas IV en el ITESM Campus Monterrey, laprueba fue realizada el 05/04/2001 entre las 16:45hrs y la 1:55hrs del día siguiente. En lafigura 6-18 se muestran los perfiles de potencia real de ambos medidores.

Perfil de potencia real

- p Sistema de Admon.p Power Logic

Tiempo en intervalos de S mins.

Figura 6-18 Perfil de Potencia real contra equipo comercial

Como se puede apreciar en la figura 6-18 los dos sistemas brindan el mismo perfil depotencias reales. En la figura 6-19 se observan los perfiles de potencias reactivasobtenidas en el mismo período de tiempo.

66

Page 78: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Femando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Perfil de Potencia Reactiva contra Equipocomercial

200

150E"| 100O

50

0

•¿¿•i-

¿ *ümipSi'h

',.•;'"'•

1 í • 11

.vy-

iti * * • -

^ ^

TV'

J . *•*•

- . *

Ü•1

M/i

i_ • i

oo

Power LogicSistema Admon

Tiempo (Intervalos de 5mins)

Figura 6-19 Perfil de Potencia reactiva contra equipo comercial

Como se puede apreciar en la figura 6-19, los perfiles de potencia reactiva coincidenplenamente, por lo que la medición de las potencias reales y reactivas corresponde a lasmedidas con equipo comercial.

6.2.2.5 COMENTARIOS Y CONCLUSIONES

La implementación utilizando el microcontrolador tiene grandes ventajas al diseño queutiliza partes discretas. De las pruebas realizadas a equipo comercial se aprecia que elsistema proporciona resultados muy satisfactorios. La opción de poder localizar almicrocontrolador en un lugar remoto, constituye una gran ventaja sobre el otro diseño. Enel caso del diseño basado en microcontrolador, se tiene la ventaja de que elmicrocontrolador puede almacenar cuentas por más de 5 minutos, inclusive pudierautilizar su memoria de datos para guardar las lecturas de cada 5 minutos; esto resulta enun menor tiempo de procesamiento para el sistema RLC, que en el diseño anterior teníaque consultar a los medidores cada lOseg. Otra ventaja que tiene la implementaciónbasada en el microcontrolador, es de que se puede utilizar un estándar de comunicacionesde red, como por ejemplo el estándar RS-485 y de esta manera consultar variosmedidores en varias localidades ofreciéndole al sistema la capacidad de crecimientosegún los requerimientos del sistema eléctrico. El sistema basado en microcontroladorpuede utilizar cualquier tipo de microcontrolador que tenga 2 contadores y una unidadUART, de esta manera se pueden buscar opciones otras opciones competitivas en precio.

67

Page 79: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Femando A. Ortiz FernándezAsesor: Ing. Jesús Baez

6.3 SISTEMA DE ADMINISTRACIÓN DE ENERGÍA BASADO ENENTRADAS ANÁLOGAS

Como se describió en la sección 6.2, en la actualidad una gran cantidad de medidores dediferentes tipos de variables energéticas cuentan en sus salidas con cierres de contactos yse puede utilizar el esquema de la sección 6.2 para obtener sus perfiles. Sin embargo,existe también en el mercado una gran cantidad de medidores de variables que serelacionan con algún aspecto energético que tienen salidas analógicas.

Estos medidores tienen salidas de voltaje en los rangos de [0-5]V, [-5,5]V, [0,10]V,[-10,10]V; y de corriente cuyo rango más utilizado es de [4,20]mA.

6.3.1 IMPLEMENTACIÓN DEL SISTEMA

Se implemento un sistema para poder monitorear variables analógicas con los rangosanteriores. Se utilizaron los 6 canales ADC del sistema RLC descritos en la sección 5.2.El circuito tiene en uno de sus canales un circuito integrado del tipo LM335, este es unsensor de temperatura cuya salida es un voltaje proporcional a la temperatura absoluta(°K) y es muy utilizado para medir temperaturas inferiores a 100°C [25], por lo que seutilizó una etapa de acondicionamiento voltaje a voltaje para utilizar todo el rango delcanal. En otro canal se utilizo un convertidor de corriente a voltaje, para acondicionar unaentrada de corriente con rango de [4,20]mA. En los otros cuatro canales se utilizaronentradas de voltaje en los rangos del convertidor: [0,5]V, [-5,5]V, [0, 10V], [-10,10]V.

El diseño visual del programa consta de seis cajas de dialogo, en las que se desplegaba elvalor de la lectura cada 5 minutos, cada una con su etiqueta de texto estáticorepresentando la variable que se estaba midiendo. Se contaba con dos botones, uno paraterminar la ejecución del programa, y otro para desactivar la luz de la pantalla y ahorrarenergía. Además se tenía un botón de selección con el que se guardaban los datos de laslecturas en un archivo que podría ser consultado posteriormente por una hoja de cálculo.

En figura 6-20 se muestra un diagrama a bloques del sistema. Para una descripcióndetallada de las diferentes etapas de acondicionamiento consultar [25]. Para laImplementación del circuito se utilizaron amplificadores operacionales del tipo LM348.Se utilizó un seguidor de voltaje en las entradas directas de voltaje, para aislar a la fuentey presentar una alta impedancia de entrada.

En la figura 6-21 se muestra el diagrama de flujo del programa. El programa utiliza comolos ya descritos, un cronómetro ("Timer") y la función RLC_Analog_In() de la libreríaCeminus.dll. Esta función tiene regresa un entero y tiene como parámetros el número delcanal y el rango. Consultar el Apéndice C, donde encontrará un listado del programa

68

Page 80: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Sistema RLC

Canal 1 ADC

Canal 2 ADC

Canal 3 ADC

Canal 4 ADC

Canal 5 ADC

Canal 6 ADC

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

ConvertidorV-V

Entrada[2.63,3.73]V

Salida [0.5]

Convertidor I-VEntrada [4,20]mASalida [0,10]V

Seguidor deVoltaje

Seguidor deVoltaje

Seguidor deVoltaje

Seguidor deVoltaje

Figura 6-20 Diagrama a bloques entradas análogas

Sensor deTemperaturaCircuitoIntegradoLM335

Convertidor V-IEntrada[0,10]VSalida [4-20]mA

Señal deentrada [-5,5]V

Señal deentrada [0,5]V

Señal de entrada[0, 10]V

Señal de entrada[-10, 10]V

69

Page 81: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Inicialización de variables.Lectura de los 6 canales analógicosUtilizando la fundón RLC_Analog_In()Desplegado de resultados en las cajas deedición.

GuardarenArchivo

ReinicializarTimeryvariables

íFigura 6-21 Diagrama de Flujo monitoreo de entradas análogas

6.3.2 COMPARACIÓN DE RESULTADOS CON EQUIPO COMERCIAL

A pesar de que no se obtuvieron perfiles de las diversas variables analógicas, por nocontar con equipo comercial disponible, se realizaron pruebas de las variables en algunospuntos; en el caso de la temperatura se tomaron lecturas variando la temperatura dellaboratorio y se comprobó con un termómetro comercial. Los resultados fueron muyaceptables. Para el caso del sensor de corriente, se conecto en serie un amperímetro Fluke77 y se comprobaron que las lecturas de ambos medidores fueran iguales en todo elrango. Para el caso de las entradas de voltaje se midieron en cada uno de los rangos y secomparo con la lectura del Fluke 77, pero ahora conectado como voltímetro. En todos loscasos se obtuvieron lecturas iguales a las que arrojo el equipo comercial.

70

Page 82: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 6: Sistema de Mediciónde Parámetros Energéticos

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

6.3.3 COMENTARIOS Y CONCLUSIONES

El sistema de administración de parámetros energéticos es útil para aquellos dispositivosque tienen salidas análogas; sin embargo, también resulta muy útil a la hora deimplementar sistemas de medición con sensores industriales que tienen la capacidad demedir diferentes variables físicas que se relacionan con aspectos energéticos, de tal suerteque se tengan disponibles los perfiles de dichas variables para poder implementar unesquema de ahorro y uso de energía integral en todos los procesos. Como ejemplo sepueden citar las compañías generadoras de energía eléctrica que utilizan ciclo combinado,en estas se puede tener los perfiles de las variables eléctricas, térmicas, de flujo y depresión. Con toda esta información se puede implementar estrategias integrales en toda laplanta.

Resulta muy conveniente incluir en el diseño amplificadores de ganancia programable, detal suerte que se puedan tener acceso a diferentes rangos en la señal de entrada. Ademásse recomienda desarrollar una "tarjeta universal" donde con determinados puentes("jumpers") se pueda seleccionar el tipo de convertidor.

71

Page 83: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 7: Modularidad delsistema

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Capítulo 7: Modularidad del sistema

El sistema ha sido diseñado para operar de una manera modular, en la cual el sistemapueda ser escalado de acuerdo con las necesidades usuario.

En el caso del sistema de administración de energía eléctrica que utilizamicrocontrolador, el microcontrolador mantiene la cuenta de los pulsos durante unintervalo de tiempo de 5 minutos; sin embargo, este tiempo puede ser mayoraprovechando la memoria no volátil del circuito. Esto permite que la computadora RLCno destine mucho poder de cómputo y pueda realizar otras tareas. El sistema esta pensadopara su operar en una red con estándar RS-485, en la cual el sistema RLC, al indicarlo elcronómetro ("timer"), empieza a consultar a los diversos nodos de la red. Para esto elsistema RLC emite la ID de cada nodo (Broadcasting ID), cada microcontrolador estarárecibiendo las diferentes ID's en el registro de la UART pero hasta que el ID que ha sidoemitido coincida con la ID del microcontrolador, se realizará la transferencia de datos. Deesta manera el sistema RLC puede consultar a los diversos nodos en un ciclo ("for). Eneste caso se puede tener una red de hasta 32 módulos [25].

En el caso del sistema de administración de energía basado en entradas análogas, serequiere utilizar un selector analógico para que cada tarjeta pueda ser consultada, deacuerdo con la configuración de la misma.

En la figura 7-1 se muestra como podría operar el sistema con diversos módulos.

Medidorde EnergíaEléctricaID= 1

Medidorde EnergíaEléctricaID = 2

Medidorde EnergíaEléctricaID = 3

TarjetaAnáloga

TarjetaAnáloga

SelectorAnálogo

Medidorde EnergíaEléctricaID = 4

Medidorde EnergíaEléctricaID = 5

Figura 7-1 Modularidad del sistema

72

Page 84: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 8: Conclusiones yRecomendaciones

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Capítulo 8: Conclusiones y Recomendaciones

En la actualidad nos enfrentamos con una escasez de energéticos a escala global, quehace necesario implementar esquemas de uso eficiente de los recursos energéticos.Durante el presente trabajo se desarrollaron circuitos y programas con el objetivo deimplementar un sistema de administración de energía.

En la actualidad el desarrollo de los sistemas embebidos ha llevado a nuevos diseñadoresla oportunidad, de utilizar equipo de alto poder de computo y bajo consumo de energía enambientes industriales. De igual manera, el desarrollo de sistemas operativos parasistemas embebidos a llevado a poder programar estos dispositivos en lenguajes visualesde alto nivel, con la ventaja de poder transportar el programa de una plataforma a otra. Eneste trabajo se desarrollaron algoritmos y circuitos para el sistema embebido de R.L.C.Enterprises Inc. R.L.C.-LCD-Plus. Los programas se desarrollaron en el ambiente visualde C++ de Microsoft.

Se implemento un sistema de administración de energía eléctrica que tiene como entradala salida de cierre de contactos de los medidores. Un primer enfoque para laÍmplementación fue utilizar componentes discretas. Los resultados del sistema deadministración de parámetros energéticos concuerdan con los resultados de equipocomercial. La Ímplementación del sistema con componentes discretas tiene comoventajas el que se puede implementar el diseño en un FPGA (Field Programable GateArray) y de esta manera dejar el sistema a la medida; de esta forma se eliminaría elproblema de ruido. Si el sistema esta pensado para monitorear una sola subestación esteesquema resultaría muy adecuado.

La Ímplementación utilizando el microcontrolador tiene grandes ventajas al diseño queutiliza partes discretas. De las pruebas realizadas a equipo comercial se aprecia que elsistema proporciona resultados muy satisfactorios. La opción de poder localizar almicrocontrolador en un lugar remoto, constituye una gran ventaja sobre el otro diseño. Enel caso del diseño basado en microcontrolador, se tiene la ventaja de que elmicrocontrolador puede almacenar cuentas por más de 5 minutos, inclusive pudierautilizar su memoria de datos para guardar las lecturas de cada 5 minutos; esto resulta enun menor tiempo de procesamiento para el sistema RLC. Otra ventaja que tiene esteenfoque es la Modularidad que le ofrece al sistema gracias a que utiliza estándares decomunicación. Para futuras investigaciones se recomienda sustituir el estándar RS-232,por uno que permita construir una red, por ejemplo el estándar RS-485; y de esta maneraconsultar varios medidores en varias localidades, ofreciéndole al sistema la capacidad decrecimiento según los requerimientos del sistema eléctrico.

73

Page 85: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Capítulo 8: Conclusiones yRecomendaciones

Ing. Femando A. Ortiz FernándezAsesor: Ing. Jesús Baez

El sistema basado en microcontrolador puede utilizar cualquier tipo de microcontroladorque tenga 2 contadores y una unidad UART, de esta manera se pueden buscar opcionesque usen de modo más eficiente a los recursos del microcontrolador.

El sistema de administración de parámetros energéticos basado en entradas analógicas esútil para aquellos dispositivos que tienen salidas análogas; sin embargo, también resultamuy útil a la hora de implementar sistemas de medición con sensores industriales quetienen la capacidad de medir diferentes variables físicas que se relacionan con aspectosenergéticos, de tal suerte que se tengan disponibles los perfiles de dichas variables parapoder implementar un esquema de ahorro y uso de energía integral en todos los procesos.

Resulta muy conveniente incluir en el diseño amplificadores de ganancia programable, detal suerte que se puedan tener acceso a diferentes rangos en la señal de entrada. Ademásse recomienda desarrollar una "tarjeta universal" donde con determinados puentes("jumpers") se pueda seleccionar el tipo de convertidor.

Otro punto interesante es el de poder diseñar un circuito integrado que tenga como partesanalógicas los diferentes convertidores y amplificadores; que integre además lascomponentes digitales del sistema de administración de energía basado en pulsos; ycuente además con unidades de comunicación. El desarrollo de este circuito se puedelograr diseñando las partes desde el principio utilizando tecnología CMOS, o bienutilizando diferentes IP's ("Intelectual Property").

Los programas desarrollados tratan de que la computadora RLC no destine mucho poderde cómputo, para pueda realizar otras tareas. Se recomienda, para desarrollos futurosutilizar sus 6 canales ADC para obtener el espectro armónico del sistema eléctrico. Conesta información, las soluciones no solo se vincularán con la cantidad sino la calidad de laenergía eléctrica, tema este último que tomará cada vez mayor importancia con el uso deequipo electrónico que distorsiona a las formas de onda originales.

74

Page 86: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Referencias Bibliográficas

Ing. Femando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Referencias bibliográficas

[I] Comparecencia del Director de la Comisión Federal de Electricidad Ante el Senadode la República; Febrero 1999 ; http://www.cfe.gob.mx[2] C. J. Melhorn, M.F. McGranaghan; "Interpretation and Analysis of Power Quality

Measurements," IEEE Trans. Ind. Applicat; vol 31, no 6 ; November/December 1995; pp1363-1370[3]S. Acevedo; Sistema de adquisición de datos para la medición y control de la energíaeléctrica y factor de potencia; Tesis de Maestría, ITESM mayo 1993.[4]J.A. Gallardo; Sistema de Monitoreo de Energía, Demanda y Factor de Potencia; Tesisde Maestría, ITESM Mayo de 1993.[5]J.S. Aguilera; Sistema Modular de Monitoreo de Potencia y Parámetros Eléctricos.;Tesis de Maestría, ITESM. Septiembre de 1997.[6] Enrique Ian Hernández Paz, Gerardo Mauricio Navarro Cabrera; Sistema de

Medición de Parámetros Eléctricos; Tesis de Maestría, ITESM. Diciembre 1999.[7] W. H. Hayt, Engineering Circuit Analysis, 5& Edición, Me Graw Hill Inc., E. U. A,1993[8]S. Wolf y R. F. M. Smith, Guía para mediciones electrónicas y prácticas delaboratorio, 2& Edición, Prentice Hall Hispanoamericana, S. A., 1992[9] Department of Energy's Office of Industrial Technologies, BestPractices, Julio 2001;

http://www.oit.doe.gov/bestpractices/[10] Comparecencia del Director de la Comisión Federal de Electricidad Ante elcongreso de la República; Febrero 2001 ; http://www.cfe.gob.mx[II] Dranetz Technologies, Energy Survey Handbook for Electric Power Systems,Dranetz Technologies Inc. E.U.A.,1983[12] IEEE Std 739-1995. IEEE Recommended Practice for Energy Management inIndustrial and Control Facilities. Bronze Book.[13]Unidad de Enlace para la Eficiencia Energética Nuevo León, Metodología de lasAuditorias Energéticas. Dirección de Calidad y Mejoramiento Ambiental Energéticos yEcología Industrial, Noviembre 1998.[14] Jesús A. Baez Moreno; "Determinación de Oportunidades de Ahorro de EnergíaUtilizando Sistemas de Medición",ITESM Departamento de Ingeniería Eléctrica, Agosto1998.[15] A. P. Stublen, C.M. Wellman, S. A. Kell, T. W. Langston; "Justifyingand Planningan Energy Monitoring System." IEEE Industry Applications, Vol. 3, No.2, Marzo 1997.[16] RLC Enterprises Inc., "CE-MINUS, CE-PLUS & LCD-PLUS Hardware Manual,RLC Enterprises Inc.,E.U.A.,Rev 1.2 Junio 2000[17] RLC Enterprises Inc., "CE-MINUS, CE-PLUS & LCD-PLUS Manual Software &Getting Started Guide, RLC Enterprises Inc.,E.U.A.,Rev 1.2 Junio 2000.[18] N. Gurewich y O. Gurewich, Aprendiendo Visual C++ 5 en 21 días, SamsPublishing, Prentice Hall Hispanoamericana, S.A., 1998[ 19] Comisión Federal de Electricidad, Tarifas, Julio 2001,http://www.cfe.gob.mx/www2/TarifasTarifasM.asp[20]Motorola Fast and LS TTL DATA, Motorola, Cuarta edición, Motorola Inc. 1989.

75

Page 87: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Referencias Bibliográficas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

[21] J. F. Wakerly, Diseño Digital, Principios y Prácticas, Prentice HallHispanoamericana, S. A., 1992[22] R.J. Tocci, Sistemas Digitales, Principios y aplicaciones, Quinta Edición, PrenticeHall Hispanoamericana, S. A., 1993.[23] M. Slater, Microprocessor Based Design: A Comprehensive Guide to EffectiveHardware Design, Prentice Hall Inc, 1989.[24] ATMEL Corporation,AVR RISC MICROCONTROLLER, Data Book, ATMELCorporation, Agosto 1999.[25] G.D. Assad, Instrumentación, Acondicionamiento Electrónico y Adquisición deDatos, Pre-Edición para publicación, Departamento de Ingeniería Eléctrica ITESMcampus Monterrey, 1999.

76

Page 88: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

APÉNDICE A PROGRAMA DEL SISTEMA UTILIZANDOCOMPONENTE DISCRETAS

// Pulsos.cpp : Defines the class behaviors for the application.

#include "stdafich11

#include "Pulsos.h"#include "PulsosDlg.h"

#ifdef_DEBUG#define new DEBUG_NEW#undefTfflS_FILEstatic char THIS_FILE[] = _ F I L E _ ;#endif

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII CPulsosApp

BEGIN_MESSAGE_MAP(CPulsosApp, CWinApp)//{{AFX_MSG_MAP(CPulsosApp)

// NOTE - the ClassWizard will add and remove mapping macros here.// DO NOT EDIT what you see in these blocks of generated code!

//}}AFX_MSGE N D M E S S AGE_MAP()

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII CPulsosApp construction

CPulsosApp: :CPulsosApp(): CWinApp()

{// TODO: add construction code here,// Place all significant initialization in Initlnstance

I l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l lII The one and only CPulsosApp object

CPulsosApp theApp;

Illllllllllllllllllllllllllllllllilllllllilllllllllllllllllllllllllllllllllll

11

Page 89: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

// CPulsosApp initialization

BOOL CPulsosApp: :lnitlnstance(){

AfxEnableControlContainer();

// Standard initialization// If you are not using these features and wish to reduce the size// of your final executable, you should remo ve from the following// the specific initialization routines you do not need.

CPulsosDlg dlg;m_pMainWnd = &dlg;int nResponse = dlg.DoModal();if (nResponse == IDOK){

// TODO: Place code here to handle when the dialog is// dismissed with OK

}else if (nResponse == IDCANCEL){

// TODO: Place code here to handle when the dialog is// dismissed with Cancel

// Since the dialog has been closed, return FALSE so that we exit the// application, rather than start the application's message pump.return FALSE;

78

Page 90: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

//PulsosDlg.cpp : implementation file

#include "stdafx.h"#include "Pulsos.h"#include "PulsosDlg.h"#include "ceminus.h"#include "Afx.h"#include "Afxdisp.h"#include <time.h>#include <string.h>#include <stdio.h>

#ifdef_DEBUG#define new DEBUG_NEW#undefTHIS_FILEstatic char TfflS_FBLE[] = _ F I L E _ ;#endif

IIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII CPulsosDlg dialog

CPulsosDlg::CPulsosDlg(CWnd* pParent /*=ÑULL*/): CDialog(CPulsosDlg::IDD, pParent)

{//{{AFXDATAJNIT(CPulsosDlg)mPulsos = 0;mFrequency = O.Of;m_Pulsos2 = 0;m_Frequency2 = O.Of;mWriteFile = FALSE;//}}AFX_DATA_INIT// Note that Loadlcon does not require a subsequent Destroylcon in Win32mhlcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME)

void CPulsosDlg: :DoDataExchange(CDataExchange* pDX)

79

Page 91: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

CDialog: :DoDataExchange(pDX);//{ { AFX_DATA_MAP(CPulsosDlg)DDX_Text(pDX, IDC_EDITPULSOS, m_Pulsos);DDX_Text(pDX, EDC_EDITFREQUENCY, mFrequency);DDX_Text(pDX, IDC_EDITPULSOS2, m_Pulsos2);DDX_Text(pDX, EDC_EDITFREQUENCY2, m_Frequency2);DDX_Check(pDX, IDC_CHECKWRITEFILE, m_WriteFile);//}}AFX_DATA_MAP

BEGIN_MESSAGE_MAP(CPulsosDlg, CDialog)//{{AFX_MSG_MAP(CPulsosDlg)ON_BN_CLICKED(IDC_BUTTONCLOSE, OnButtonclose)ON_WM_DESTROY()ON_WM_TIMER()ON_BN_CLICKED(IDC_BUTTONBACKLIGHT, OnButtonbacklight)ON_WM_MOUSEMOVE()ON_BN_CLICKED(IDC_CHECKWRITEFILE, OnCheckwritefile)//}}AFX_MSG_MAP

END_MESSAGE_MAP()

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII CPulsosDlg message handlersint Led=0;unsigned Pulsos;unsigned Pulsos2;unsigned Time;bool BacklightOn = true;bool FirstWrite = true;FILE *cfPtr; //Pointer to FileCString FileStatus = "File Could not be Opened";

BOOL CPulsosDlg: :OnInitDialog(){

CDialog: :OnInitDialog();

// Set the icón for this dialog. The framework does this automatically// when the application's main window is not a dialogSetlcon(mjilcon, TRUE); // Set big icónSetlcon(mjilcon, FALSE); // Set small icón

CenterWindow(GetDesktopWindow()); // center to the hpc screen

80

Page 92: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

// TODO: Add extra initialization here

m_WriteFile = false;

// Load the CEMINIUS.DLL WITH THE LoadCEMINUS() function

LoadCEMINUS();

RLC_Keyboard_Out(24); //Enable Output LatchRLC_Keyboard_Out(24); //Enable Output Latch

//Initializing var's

Pulsos = 0;Pulsos2 = 0;RLC_Keyboard_Out(27); // Initialize Out Port so the Mux are disabled And Reset

to countersRLC_Keyboard_Out(27); // Initialize Out Port so the Mux are disabled And Reset

to counters

Time = 0;

RLC_Keyboard_Out(26); //Hold Master Reset Down Disable Outputs fromMux's

Mux'sRLC_Keyboard_Out(26); //Hold Master Reset Down Disable Outputs from

//Install a timer with 10 seg <=> 10,000 mseg

int ilnstallResult;CString TimerNotlnstalled = "Cannot Install Timer Please Cióse Other

Applications";

81

Page 93: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

ilnstallResult = SetTimer(l, 10000, NULL);

if(iInstallResult = O){

MessageBox(TimerNotInstalled,NULL|MB_OK);}

RLCJÍeyboardOut(lO); //Disable OE OutLatchRLCKeyboardOut(lO); //Disable OE OutLatch

RLC_Keyboard_Out(0); //Assert OE in input latch

return TRUE; // return TRUE unless you set the focus to a control

void CPulsosDlg::OnButtonclose()

// TODO: Add your control notification handler code hereRLC_ledoff(3);KillTimer(l); //Eliminar el Timer 1fclose(cfPtr); //Cerrar el archivo de escrituraOnOK();

void CPulsosDlg::OnDestroy(){

CDialog::OnDestroy();

}

// TODO: Add your message handler code hereKillTimer(l); //Eliminar el Timer 1fclose(cfPtr); //Cerrar el archivo de escritura

void CPulsosDlg::OnTimer(UINT nIDEvent){

// TODO: Add your message handler code here and/or cali default

RLC_Keyboard_Out(16); //Enable Out latch and OE ininput latch

82

Page 94: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautüizando componente discretas

RLC_Keyboard_Out( 16);input latch

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

//Enable Out latch and OE in

// The Following code tests the timer by using the led'sIlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

//Led++;if(Led = 1)

}else{

Led = 0;RLC_ledoff(l);

Led=l;RLCJedon(l);

IlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII E n d of Testing codeIllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

Pulsos += RLC_Keyboard_In();

RLC_Keyboard_Out(20);Selector = 1

RLC_Keyboard_Out(20);Selector = 1

Time += 10;

//READ THE FIRST COUNTER

//Enable Mux's & Outputs

//Enable Mux's & Outputs

11 Ada 10 msec toTimer

Page 95: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

Pulsos2 += RLC_Keyboard_In(); //READ THE SECOND COUNTER

m_Frequency = (float)Pulsos;

RLC_Keyboard_Out( 17);RLC_Keyboard_Out( 16);

//Delay Time;

//Master Reset to Counters//Master Reset to Counters

//Frequency = (float)Pulsos/Time;(Frequency over 5mins -> 300 seconds.)

//INSTANT FREQUENCY

RLC_Keyboard_Out(26); //Enable the counters,DISABLE MUX'S OUTPUT'S, DISABLE Output's from input latch

//Frequency2 = (float)Pulsos2/Time;(Frequency over 5mins -> 300 seconds.)

//INSTANT FREQUENCY

//m_Pulsos = Pulsos;

//m_Frequency = (float)Pulsos/Time;

m_Frequency = (float)Pulsos;

//m_Frequency2 = Frequency2;

m_Frequency2 = (float)Pulsos2;

RLC_Keyboard_Out(10); //Disable OE Out LatchRLC_Keyboard_Out( 10); //Disable OE Out Latch

UpdateData(FALSE);

RLC Keyboard_Out(0); //all outs low

84

Page 96: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

if(Time==300){

object timel

mPulsos = Pulsos;m_Pulsos2 = Pulsos2;if ( mPulsos = m_Pulsos2) // for Hardware debugging*

else

RLC_ledon(2);

RLCJedoff(2);

m_Frequency = (float)Pulsos;m_Frequency2 = (float)Pulsos2;

UpdateData(FALSE);

int hour;int minute;int second;int day,month,year;char disptime[30];// dispdate[30];CTime timel = CTime::GetCurrentTime();

if((cfPtr = fopen("Data.out", "a")) = NULL)

MessageBox (FileStatus ,NULL|MB_OK);

//Initialize the

else{

second = timel.GetSecond();minute = timel .GetMinute();hour = timel.GetHour();day = timel.GetDay();month = timel GetMonth();year = timel.GetYear();

IIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIII/IIIIIIIIIIIIIIIII

85

Page 97: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

//// Formating TimeIllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllif(minute<10){

if(second<10){

sprintf(disptime,"%2d:%c%ld:%c%ld",hour,10',minute,'01,second);

}else{

sprintf(disptime,"%2d:%c%ld:%2d",hour,10',minute,second);

elseif(second<10){

sprintf(disptime,"%2d:%2d:%c% 1 d",hour,minute,'0',second);

else

sprintf(disptime, "%2d:%2d:%2d",hour,minute,second);

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII E n d o f F o r t m a t i n g T i m eIllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

if(m_WriteFile){

if(FirstWrite){

FirstWrite = false;fprintf(cflPtr, "%s\t %s\t %s\t %s\n",

"Fecha","Hora","Pulsosl","Pulsos2");fprintf(cfPtr, "%2d/%2d/%2d\t %s\t %u\t %u\n",

day,month,year,disptime,Pulsos,Pulsos2);}else

86

Page 98: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

fprintf(cfPtr, "%2d/%2d/%2d\t %s\t %u\t %u\n",day,month,year,disptime,Pulsos,Pulsos2);

fclose(cfPtr);

Pulsos = 0;

Pulsos2 = 0;

Time = 0:

CDialog: :OnTimer(nIDEvent);

void CPulsosDlg: :OnButtonbacklight(){

// TODO: Add your control notification handler code hereRLC_Backlight_On(0);BacklightOn = false;

void CPulsosDlg ::OnMouseMove(UINT nFlags, CPoint point){

// TODO: Add your message handler code here and/or cali defaultif(IBacklightOn)

{RLC_Backlight_On(l);

87

Page 99: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

BacklightOn = true;

CDialog: :OnMouseMove(nFlags, point);

void CPulsosDlg: :OnCheckwritefile()

// TODO: Add your control notification handler code here

UpdateData(TRUE);

file}

UpdateData(FALSE);//start(stop) writing to

// stdafx.cpp : source file that includes just the standard includes// Pulsos.pch will be the pre-compiled header// stdafx.obj will contain the pre-compiled type information

#include "stdafx.h"

88

Page 100: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

#ifndefCEMINUS_H#define CEMINUS H

// ceminus.h// USAGE: UsedtoloadtheCEMINUS.DLL

// HowTo: To use the CEMINUS.DLL, just include this file with your// other header files. And Cali LoadCEMINUS()

// Used to hold declaration ofCEMINUS.DLLHINSTANCE hDLL;

// DECLARATIONS OF FUNCTIONS TO MAKE AVAILABLE FROMCEMINUS.DLLtypedef unsigned short(*RLCInp)(unsigned short addr);typedef void(*RLCOutp)(unsigned short addr, unsigned short data);typedef int(*RLCInpw)(unsigned short addr);typedef void(*RLCOutpw)(unsigned short addr, unsigned short data);typedef void(*RLCLedOn)(UINT);typedef void(*RLCLedOff)(UINT);typedef void(*RLCAdjust)(unsigned short direction);typedef void(*RLCReset)(void);typedef void(*RLCBackLight)(unsigned short state);typedef void(*RLCKeyOut)(unsigned short val);typedef unsigned short(*RLCKeyIn)(void);typedef int(*RLCAnalogIn)(unsigned short channel, unsigned short range),typedef void(*SBXOut)(unsigned short, unsigned short, unsigned short);typedef unsigned short(*SBXIn)(unsigned short, unsigned short);typedef void(*RLCSetTime)(int hour, int min, int sec);typedef void(*RLCSetDate)(int month, int day, int year);typedef bool(*RLCCreateProcess)(LPCTSTR cmdlin, LPCTSTR args);typedef void(*RLCWriteCSC)(UCHAR CSC_Reg, UCHAR Valué);typedef void(*RLCReadCSC)(UCHARCSC_Reg);

// CRÉATE FUNTION PROTOTYPESRLCInp RLC_inp;RLCOutp RLCoutp;RLCInpw RLCinpw;RLCOutpw RLCoutpw;RLCLedOn RLC ledon;

89

Page 101: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

RLCLedOfFRLCAdjustRLCResetRLCBackLightRLCKeyOutRLCKeylnRLCAnaloglnSBXOutSBXInRLCSetTimeRLCSetDateRLCCreateProcessRLCWriteCSCRLCReadCSC

RLCledoff;RLC_Adjust_Contrast;RLC_Reset_Contrast;RLC_Backlight_On;RLCJÍeyboardOut;RLCJCeyboardln;RLC_Analog_In;

RLC_SBX_Out;RLC_SBX_In;RLCSetLocalTime;RLCSetDate;

RLCCreateProcess;RLC_Write_CSC;

RLC_Read_CSC;

// FUNCTION: LoadCEMINUS()//// PURPOSE: Initialize the CEMINUS.DLL, extract and make all functions available.//// RETURNS: FALSE = fails; TRUE = success//BOOL LoadCEMINUS()

// Load Library CEMINUS.DLLhDLL = LoadLibrary(L"CEMINUS.DLL");

// Error Check; Make sure the Library is Loadedif(hDLL = NULL)

retum FALSE;

// Grabs the functions from CEMINUS.DLLRLCJnp = (RLCInp)GetProcAddress(hDLL, L"RLC_inp");if(!RLC_inp)

return FALSE;RLC_outp = (RLCOutp)GetProcAddress(hDLL, L"RLC_outp");if(!RLC_outp)

return FALSE;RLCinpw = (RLCInpw)GetProcAddress(hDLL, L"RLC_inpw");if(!RLC_inpw)

90

Page 102: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

return FALSE;RLC_outpw = (RLCOutpw)GetProcAddress(hDLL, L"RLC_outpw");if(!RLC_outpw)

return FALSE;RLC_Adjust_Contrast = (RLCAdjust)GetProcAddress(hDLL,

L"RLC_Adjust_Contrast");if(!RLC_Adjust_Contrast)

return FALSE;RLCResetContrast

L"RLC_Reset_Contrast");if(!RLC_Reset_Contrast)

return FALSE;RLCBacklightOn

L"RLC_Backlight_On");if(!RLC_Backlight_On)

return FALSE;RLCKeyboardOut

L"RLC_Keyboard_Out");if(!RLC_Keyboard_Out)

return FALSE;RLCKeyboardJn

L"RLCJteyboard_InM);if(!RLC_Keyboard_In)

return FALSE;RLCAnalogln = (RLCAnalogln)GetProcAddress(hDLL, L"RLC_Analog_In");if(!RLC_Ana!og_In)

return FALSE;RLC_SBX_Out - (SBXOut)GetProcAddress(hDLL, L"RLC_SBX_Out");if(!RLC_SBX_Out)

return FALSE;RLC_SBX_In = (SBXIn)GetProcAddress(hDLL, L"RLC_SBX_In");if(!RLC_SBX_In)

return FALSE;RLCJedon = (RLCLedOn)GetProcAddress(hDLL, L"RLC_ledon");if(!RLCJedon)

return FALSE;RLC_ledofF= (RLCLedOrí)GetProcAddress(hDLL, L"RLCJedofF();if(!RLCJedoff)

return FALSE;RLC_SetLocalTime = (RLCSetTime)GetProcAddress(hDLL,

L"RLC_SetLocalTime");if( !RLC_SetLocalTime)

(RLCReset)GetProcAddress(hDLL,

(RLCBackLight)GetProcAddress(hDLL,

(RLCKeyOut)GetProcAddress(hDLL,

(RLCKeyln)GetProcAddress(hDLL,

91

Page 103: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

return FALSE;RLCSetDate = (RLCSetDate)GetProcAddress(hDLL, L"RLC_SetDate");if(!RLC_SetDate)

return FALSE;RLC_CreateProcess =

L"RLC_CreateProcess");if(!RLC_CreateProcess)

return FALSE;RLC_Write_CSC

L"RLC_Write_CSC");if(!RLC_Write_CSC)

return FALSE;RLC_Read_CSC

L"RLC_Read_CSC");if(!RLC_Read_CSC)

return FALSE;

return TRUE;

(RLCCreateProcess)GetProcAddress(hDLL,

(RLCWriteCSC)GetProcAddress(hDLL,

(RLCReadCSC)GetProcAddress(hDLL,

#endifCEMINUS H

92

Page 104: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

// Pulsos.h : main header file for the PULSOS application

#if!defined(AFX_PULSOS_H_4A497F84_04FF_llD5_8DB3_0008C70CA67C_INCLUDEDJ#defineAFX_PULSOS_H_4A497F84_04FF_11D5_8DB3_0008C70CA67C_INCLUDED_

#if_MSC_VER>=1000#pragma once#endif// _MSC_VER >= 1000

#ifhdef _AFXWIN_H_#error include 'stdafx.h' before including this file for PCH

#endif

#include "resource.h" // main symbols

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII CPulsosApp:// See Pulsos, cpp for the implementation of this class

class CPulsosApp : public CWinApp{public:

CPulsosApp();

// Overrides// ClassWizard generated virtual fünction overrides//{{AFXVIRTUAL(CPulsosApp)public:virtual BOOL Initlnstance();//}}AFX_VIRTUAL

// Implementation

//{{AFX_MSG(CPulsosApp)// NOTE - the ClassWizard will add and remove member functions here.// DO NOT EDIT what you see in these blocks of generated code !

//}}AFX_MSG

93

Page 105: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

DECLARE_MESSAGE_MAP()

Illllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

II{{AFX_INSERT_LOCATION}}// Microsoft eMbedded Visual C++ will insert additional declarations immediately beforethe previoüs Une.

#endif . //!defined(AFX_PULSOS_H_4A497F84_04FF_llD5_8DB3_0008C70CA67C_INCLUDEDJ

94

Page 106: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

// PulsosDlg.h : header file

#if!defined(AFX_PULSOSDLG_H_4A497F86_04FF_llD5_8DB3_0008C70CA67C_INCLUDEDJ#defineAFX_PULSOSDLG_H_4A497F86_04FFJ1D5_8DB3_0008C70CA67C_INCLUDED_

#if_MSC_VER>=1000#pragma once#endif // JVISCVER >= 1000

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII CPulsosDlg dialog

class CPulsosDlg : public CDialog

// standard constructor

// Constructionpublic:

CPulsosDlg(CWnd* pParent = MJLL);

// Dialog Data//{{AFX_DATA(CPulsosDlg)enum {IDD = IDDPULSOSDIALOG };long m_Pulsos;float mFrequency;long m_Pulsos2;float m_Frequency2;BOOL mWriteFile;//}}AFX_DATA

// ClassWizard generated virtual function overrides//{{AFXVIRTUAL(CPulsosDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support//}}AFX_VIRTUAL

// Implementationprotected:

HICONm hlcon;

95

Page 107: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

// Generated message map fiinctions//{{AFX_MSG(CPulsosDlg)virtual BOOL OnlnitDialogO;afxmsg void OnButtonclose();afxjnsg void OnDestroy();afxjnsg void OnTimer(UINT nIDEvent);afx_msg void OnButtonbacklight();afx_msg void OnMouseMove(UINT nFlags, CPoint point);afxmsg void OnCheckwritefile();afxmsg void OnButtonbounce();//}}AFX_MSGDECLARE_MESSAGE_MAP()

//{{AFXINSERTLOCATION}}// Microsoft eMbedded Visual C++ will inserí additional declarations immediately beforethe previous line.

#endif //!defined(AFX_PULSOSDLG_H_4A497F86_04FF_llD5_8DB3_0008C70CA67C__INCLUDEDJ

96

Page 108: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

//{{NO_DEPENDENCIES}}// Microsoft Developer Studio generated include file.// Used by Pulsos, re//#define IDDPULSOSDIALOG 102#define IDR_MAINFRAME 128#defme IDBBITMAP1 129#define IDCBUTTONCLOSE 1000#define IDC_EDITPULSOS 1001#defíne IDC_EDITFREQUENCY 1002#defme IDC_BUTTONBACKLIGHT 1003#define IDC_EDITPULSOS2 1004#define IDC_EDITFREQUENCY2 1005#define IDC_CHECKWRITEFILE 1006#define IDC_BUTTONBOUNCE 1007

// Next default valúes for new objects

#ifdef APSTUDIO_INVOKED#ifhdef APSTUDIO_READONLY_S YMBOLS#defme _APS_NEXT_RESOURCE_VALUE#define _APS_NEXT_COMMAND_VALUE#define _APS_NEXT_CONTROL_VALUE#define _APS_NEXT_SYMED_VALUE#endif#endif

13032771

1008101

97

Page 109: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice A: Programa del Sistemautilizando componente discretas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

// stdafx.h : include file for standard system include files,// or project specific include files that are used frequently, but// are changed infrequently

#if!defined(AFX_STDAFX_H_4A497F88_04FF_llD5_8DB3_0008C70CA67C_INCLUDEDJ#defineAFX_STDAFX_H_4A497F88_O4FF_11D5_8DB3_OOO8C7OCA67C_INCLUDED_

#if_MSC_VER>= 1000#pragma once#endif// MSC VER >= 1000

#defmeVC EXTRALEAN // Exelude rarely-used stuff from Windows headers

#include <afxwin.h>#include <afxext.h>

// MFC core and standard components// MFC extensions

#if defmed(_WIN32_WCE) && (_WIN32_WCE >= 211) && (_AFXDLL)#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls#endif

#include <afxdisp.h> // MFC OLE automation classes#ifhdef _AFX_NO_AFXCMN_SUPPORT#include <afxcmn.h> // MFC support for Windows Common Controls#endif//_AFX_NO_AFXCMN_SUPPORT

//{ { AFXJNSERTLOCATION}}// Microsoft eMbedded Visual C++ will insert additional declarations immediately beforethe previous line.

#endif //!defined(AFX_STDAFX_H_4A497F88_04FF_llD5_8DB3_0008C70CA67C_rNCLUDEDJ

98

Page 110: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice B Programa del Sistemautilizando microcontrolador

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

APÉNDICE B PROGRAMA DEL SISTEMA UTILIZANDOMICROCONTROLADOR

// SerialEmbedded.cpp : Defines the class behaviors for the application.

#include "stdafic.h"#include "SerialEmbedded.h"#include "SerialEmbeddedDlg.h"

#ifdef_DEBUG#define new DEBUG_NEW#undefTHIS_FILEstatic char THIS_FILE[] = _ F I L E _ ;#endif

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHII CSerialEmbeddedApp

B E G I N M E S S AGE_MAP(C SerialEmbeddedApp, CWinApp)//{{AFX_MSG_MAP(CSerialEmbeddedApp)

// NOTE - the ClassWizard will add and remove mapping macros here.// DO NOT EDIT what you see in these blocks of generated code!

//}}AFX_MSGEND_MESSAGE_MAP()

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII CSerialEmbeddedApp construction

CSerialEmbeddedApp: :CSerialEmbeddedApp(): CWinApp()

{// TODO: add construction code here,// Place all significant initialization in Initlnstance

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII The one and only CSer ia lEmbeddedApp object

CSer ia lEmbeddedApp theApp;

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII CSerialEmbeddedApp initialization

99

Page 111: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice B Programa del Sistemautilizando microcontrolador

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

BOOL CSerialEmbeddedApp: :lnitlnstance(){

AfxEnableControlContainer();

// Standard initialization// If you are not using these features and wish to reduce the size// of your final executable, you should remove from the following// the specific initialization routines you do not need.

CSerialEmbeddedDlg dlg;m_pMainWnd = &dlg;int nResponse = dlg.DoModal();if (nResponse == IDOK){

// TODO: Place code here to handle when the dialog is// dismissed with OK

}else if (nResponse == IDCANCEL){

// TODO: Place code here to handle when the dialog is// dismissed with Cancel

// Since the dialog has been closed, return FALSE so that we exit the// application, rather than start the application's message pump.return FALSE;

100

Page 112: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice B Programa del Sistemautilizando microcontrolador

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

// SerialEmbeddedDlg.cpp : implementation file

#include <string.h>#include <stdlib.h>//#include <string.h>//#include "serial.h"

#include "Aix.h"#include "Afxdisp.h"#include <time.h>

#include "stdaíx.h"#include "SerialEmbedded.h"#include "SerialEmbeddedDlg.h"#include "ceminus.h"#include <winbase.h>#include <stdio.h>#include <string.h>#include "conio.h"#include <windows.h>

HANDLE serial;DCB block,old,neu;COMMTIMEOUTS tiempo; //configdata son los datos para la estructura DCBCString name="C0M2:";int sbuffer[20]; //buffer son los datos que se recibenunsigned long byread,bywrite;int x,tecla; //val=longitud de bufFer,es la cantidad de datos que se pueden recibirboolean readcomm,build,state,tout,writecomm;DWORD error;

int Led=l;int Pulsos;int Pulsos2;

int MSByte;int LSByte;

101

Page 113: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice B Programa del Sistemautilizando microcontrolador

bool BacklightOn = true;bool First Write = true;FILE *cfPtr; //Pointer to FileCString FileStatus = "File Could not be Opened";

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

/ / ************************************************************************

//tiempo entre char y char en ms

int serini(void){//SERIAL

tiempo. ReadlntervalTimeout^ 10;tiempo.ReadTotalTimeoutMultiplier=0;tiempo.ReadTotalTimeoutConstant=l00; //tiempo const. (máximo) de recibir

enmstiempo.WriteTotalTimeoutMultiplier=0;tiempo.WriteTotalTimeoutConstant=l00; //tiempo const. (máximo) de enviar

en ms

//crea el FILE para manejar el puerto, el handleserial=CreateFile(name, GENERIC_WRITE |

GENERIC_READ,0,NULL,OPEN_EXISTING,0,NULL);error=GetLastError();if (serial==INVALID_HANDLE_V ALUE) {

printf("Error en CreateFileV);printfCError %d\n",error);return(O);

state=GetCommState(serial,&old); //obtiene la configuraciónerror=GetLastError(); //para al final reponerlaif(state==O){

printf("Error en GetCommStateV);printf("Error %d\n",error);return(O);

state=GetCommState(serial,&neu); //obtiene la configuraciónerror=GetLastError(); //para modificarlaif(state==0){

printf("Error en GetCommState\n");printf("Error %d\n",error);return(O);

102

Page 114: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice B Programa del Sistemautilizando microcontrolador

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

//configuración del puerto serialneu.BaudRate=CBR_9600;neu.fParity=FALSE;neu.Parity=NOPARITY;neu.ByteSize=8;neu. StopBits=ONESTOPBIT;

state=SetCommState(serial,&neu); //aplica la nueva configuraciónerror=GetLastError();if(state==O){

printff'Error en SetCommState\n");printf("Error %d\n",error);return(O);

tout=SetCommTimeouts(serial,&tiempo); //aplica los timeouts al puertoerror=GetLastError();if(tout=0){

printf("Error en SetCommTimeouts\n");printf("Error %d\n",error);return(O);

}return(l);

//SERIAL}II ********* M t * * * * * * * * * * * * * * * * * * * * * * * * * * * ^**void serclose(void){ state=SetCommState(serial,&old); //aplica la configuración original

error=GetLastError();if(state==O){

printf("Error en SetCommState(old)\n");printf("Error %d\n",error);

CloseHandle(serial); //cierra el FILE, el handle

//* ***********************************************************************void limpia_buff(unsigned char * buffer,int longitud){int x;

for (x=0;x<longitud;x++) //limpia el bufferbuffer[x]='\0';

103

Page 115: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice B Programa del Sistemautilizando microcontrolador

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

**void sndserial(int * buffer,unsigned long longitud){int x;

writecomm=WriteFile(serial,(int *)bufFer,longitud,&bywrite,NULL);err or=GetLastError();

// printf("Char enviados = %d\n",bywrite); //numero de char enviadosif (writecomm==0) {

printf("Error en WriteFileW);~printf("Error %d\n",error);

}// printf("enviado serial: ");// for (x=0;x<longitud;x++) printf("%O2x:",buffer[x]);}

**unsigned long rcvserial( int * buffer,int val){

readcomm=ReadFile(serial,(int *)buffer,val,&byread,NULL);error=GetLastError();

if (readcomm==0) {printf("Error en ReadFile\n");printf("Error %d\n",error);

}return byread;

int datosTsm;int datosRcv;int contadorRcv=0;int send=0;bool puertoinicializado = false;

#ifdef_DEBUG#define new DEBUG_NEW#undefTHIS_FILEstatic char THIS_FILE[] = _FILE#endif

104

Page 116: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice B Programa del Sistemautilizando microcontrolador

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII CSerialEmbeddedDlg dialog

CSerialEmbeddedDlg: :CSerialEmbeddedDlg(CWnd* pParent /*=NULL*/): CDialog(CSerialEmbeddedDlg::IDD, pParent)

//{{AFX_DATA_INIT(CSerialEmbeddedDlg)mWriteFile = FALSE;mPulsos = 0;m_Pulsos2 = 0;//}}AFX_DATA_INIT// Note that Loadlcon does not require a subsequent Destroylcon in Win32mhlcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

void CSerialEmbeddedDlg: :DoDataExchange(CDataExchange* pDX){

CDialog: :DoDataExchange(pDX);//{{AFX_DATA_MAP(CSerialEmbeddedDlg)DDX_Check(pDX, IDC_CHECK_WRITE_FILE, mWriteFile);DDX_Text(pDX, IDC_EDIT_PULSOS1, mPulsos);DDX_Text(pDX, IDC_EDIT_PULSOS2, m_Pulsos2);//}}AFX_DATA_MAP

BEGIN_MESSAGE_MAP(CSerialEmbeddedDlg, CDialog)//{{AFX_MSG_MAP(CSerialEmbeddedDlg)O N W M D E S T R O Y 0ON_BN_CLICKED(IDC_BUTTON_CLOSE, OnButtonClose)ON_BN_CLICKED(IDC_BUTTONBACKLIGHT, OnButtonbacklight)O N W M M O U S E M O V E 0ON_BN_CLICKED(IDC_CHECK_WRITE_FILE, OnCheckWriteFile)O N W M T I M E R 0//}}AFX_MSG_MAP

END_MESSAGE_MAP()

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII CSerialEmbeddedDlg message handlers

BOOL CSerialEmbeddedDlg: :OnInitDialog(){

CDialog: :OnInitDialog();

105

Page 117: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice B Programa del Sistemautilizando microcontrolador

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

// Set the icón for this dialog. The framework does this automatically// when the application's main window is not a dialogSetlcon(m_hlcon, TRUE); // Set big icónSetlcon(m_hlcon, FALSE); // Set small icón

CenterWindow(GetDesktopWindow()); // center to the hpc screen

// TODO: Add extra initialization here

CString Portlnitialized = "Port could not be Initialized!";

else

MessageBox (PortInitialized,NULL|MB_OK);puertoinicializado = false;

puertoinicializado = true;

Illllllllllllll/llllllllllllllllllllllllllllllllllllllllllllllllllllllII Inicializacion de Pulsos.cpp

m_WriteFile = false;

// Load the CEMINIUS.DLL WITH THE LoadCEMINUS() flinction

LoadCEMINUS();

MSByte = 0; //Initializing var'sLSByte - 0;Pulsos = 0;Pulsos2 = 0;

//Install a timer with 5 mins <=> 300 seg <=> 300,000 mseg

int ilnstallResult;

106

Page 118: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice B Programa del Sistemautilizando microcontrolador

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

CString TimerNotlnstalled = "Cannot Install Timer Please Cióse OtherApplications";

5 mins.ilnstallResult = SetTimer(l, 300000, NULL);

if(iInstallResult = O)

MessageBox (TimerNotInstalled,NULL|MB_OK);

return TRUE; // return TRUE unless you set the focus to a control

//establecer el Timer a

void CSerialEmbeddedDlg: :OnButtonClose(){

// TODO: Add your control notification handler code here// TODO: Add your control notification handler code hereRLC_ledoff(3);KillTimer(l); //Eliminar el Timer 1fclose(cfPtr); //Cerrar el archivo de escrituraserclose(); //Cerrar el puerto serialOnOKO;

void CSerialEmbeddedDlg: :OnDestroy(){

CDialog:: OnDestroyO;

// TODO: Add your message handler code hereKillTimer(l); //Eliminar el Timer 1fclose(cfPtr); //Cerrar el archivo de escrituraserclose();OnOK();

107

Page 119: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice B Programa del Sistemautilizando microcontrolador

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

void receive()

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIII//This fiinction Receives LSB and MSB

// TODO: Add your control notification handler code here

if(puertoinicializado){

MSByte = 0;LSByte = 0;contadorRcv=0;contadorRcv=rcvserial(&datosRcv, 1);LSByte = datosRcv;sndserial(&datosTsm, 1);contadorRcv=0;contadorRcv=rcvserial(&datosRcv, 1);MSByte = datosRcv;

}

void CSerialEmbeddedDlg::OnTimer(UINT nIDEvent)

// TODO: Add your message handler code here and/or cali default

Illllllllllllllllllllllllllllllllllllllllllllllllllllllllll/lllll//Test Code to pro ve Ceminus.dll chargedIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIII

if(Led==l)

}else{

Led = 0;RLC_ledoff(l);

108

Page 120: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice B Programa del Sistemautilizando microcontrolador

Led= 1;RLCJedon(l);

Illllllllllllllllllllllllllllllllllllllll/llllllllllllllllllllII E n d o f Testing c o d eIllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

send = 1;

datosTsm = send;

sndserial(&datosTsm, 1);

MSByte = 0;

LSByte = 0;

receive();

Pulsos = MSByte*255+LSByte;

sndserial(&datosTsm, 1);

receive();

Pulsos2 = MSByte*255+LSByte;

m_Pulsos = Pulsos;m_Pulsos2 = Pulsos2;

MSByte = 0;

LSByte = 0;

if(Pulsos == Pulsos2)

RLC_ledon(2),

else

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

//Broadcasting Counters ID's

//Receive Real Power;

//Receive Reactive Power;

//for hardware debbuging

RLC_ledoff(2);

109

Page 121: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice B Programa del Sistemautilizando microcontrolador

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

timel

UpdateData(FALSE);

int hour;int minute;int second;int day,month,year;char disptime[30];// dispdate[30];CTime timel = CTime::GetCurrentTime();

if((cfPtr = fopen("Data.out", "a")) == NULL)

MessageBox (FileStatus ,NULL|MB_OK);

//Initialize the object

else{

if(m_WriteFile)

second = timel.GetSecond();minute = timel.GetMinute();hour = timel .GetHour();day = timel .GetDay();month = timel.GetMonth();year = timel .GetYearQ;

Illlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll i l i F o r m a t i n g T i m eIllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllif(minute<10){

if(second<10){

sprintf(disptime,"%2d:%c%ld:%c%ld",hour,'0',minute,10',second);

else

sprintf(disptime,"%2d:%c%ld:%2d",hour,'01,minute)second);

no

Page 122: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice B Programa del Sistemautilizando microcontrolador

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

elseif(second<10){

sprintf(disptime,"%2d:%2d:%c%ld",hour,minute,'0',second);

else

sprintf(disptime, "%2d:%2d:%2~d",hour,minute,second);

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII E n d o f Fortmating T i m eIllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

if(FirstWrite){

FirstWrite = false;fprintf(cfPtr, "%s\t %s\t %s\t %s\n",

"Fecha","Hora","Pulsosl","Pulsos2");fprintf(cfPtr, "%2d/%2d/%2d\t %s\t %u\t %u\n",

day,month,year,disptime,Pulsos,Pulsos2);}else{

fprintf(cfPtr, "%2d/%2d/%2d\t %s\t %u\t %u\n",day,month,year,disptime,Pulsos,Pulsos2);

fclose(cfPtr);

Pulsos = 0;

Pulsos2 = 0;

111

Page 123: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice B Programa del Sistemautilizando microcontrolador

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

void CSerialEmbeddedDlg: :OnButtonbacklight()

// TODO: Add your control notification handler code hereRLC_Backlight_On(0);BacklightOn = false;

void CSerialEmbeddedDlg: :OnMouseMove(UINT nFlags, CPoint point){

// TODO: Add your message handler code here and/or cali defaultif(!BacklightOn){RLC_Backlight_On(l);BacklightOn = true;}CDialog: :OnMouseMove(nFlags, point);

void CSerialEmbeddedDlg: :OnCheckWriteFile(){

// TODO: Add your control notification handler code hereUpdateData(TRUE);

UpdateData(FALSE);

file}

//start(stop) writing to

112

Page 124: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice C :Programa delMicrocontrolador AT9028515

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

APÉNDICE C PROGRAMA DEL MICROCONTROLADOR AT9028515

**********************.***** Code for Counting pulses of Real and Reactive Power..***** Transmitting Data after Receiving the proper ID of MCU by RS232 (Polling)

Maestría en Sistemas ElectrónicosITESM campus MonterreyVerano 2001

.***** jng F e r n a n c j 0 A. Ortiz Fernandez

.***** y e r j 3 Timer/CounterO overflow is polled;***** Each time a valué is transmited the MCU waits for receiving its ID for nexttransmission

Date: 07-01-01

.*****

.*****

.*****

.*****

.*****

**********************.include"8515def.inc"

.defrtemp =rl7

.defrreg =rl8

.deftreg =rl9

.defQH =r20

.defzero =r21

;temporary register;register for recieving data

;register for transmitting;HighbyteofQ

;Initializing Reg

.equbaudrate=$19Mhzequ RXCb=7

register)equ UDREb=5

USR register).equ ID=1

.csegorgO

;baud rate of 9600 bps for a clock frequency of 4

;UART recieve complete flag( 7th bit of USR

;UART data register empty flag(5th bit of

;MCU's Propper ID

rjmp RESET ;Reset Handler

;rjmp EXTINTO ;IRQ0 Handler

113

Page 125: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice C :Programa delMicrocontrolador AT9028515

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

;rjmp EXTJNT1

;rjmp TIM1_CAPT

;rjmp TIM1C0MPA

;rjmp TTM1COMPB

;rjmp TIM10VF

;rjmp TIMOOVF

;rjmp SPISTC

;rjmp UARTRXC

;rjmp UARTDRE

;rjmp UARTTXC

;rjmp ANACOMP

;IRQ1 Handler

;Timerl Capture Handler

;Timerl CompareA Handler

;Timerl CompareB Handler

;Timerl Overflow Handler

;TimerO Overflow Handler

;SPI Transfer Complete Handler

;UART RX Complete Handler

;UDR Empty Handler

;UART TX Complete Handler

;Analog Comparator Handler

RESET: ldi rió, high(RAMEND) ;initialising stack

out SPH,rl6 ;

ldirl6,low(RAMEND) ;

out SPL,rl6

ldi rl6,00 ;initialising PBO as input

outDDRB,rl6

ldi zero,00 ;

;sbi PORTBO

ldi rtemp,7

;PB0 will source current if exteraal pulled lo

114

Page 126: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice C .Programa delMicrocontrolador AT9028515

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

out TCCRO,rtemp ;External Pin TO, rising edge

mov QH, zero ;Initialize QH

out TCNT0,zero ;initialize the counter

ldi rtemp,7

out TCCRlB,rtemp ;External Pin TI, rising edge

out TCNT1 H,zero ;Initialize PH

out TCNTlL,zero ;Initialize PL

rcall init_uart ;initialising 8515 for transmit and recieve

up:

treg)

treg)

rcall rxcomp

;out portb,rreg

intregJCNTIL

;Wait for Broadcasting MCU's ID

;outputting data at port B

;Charge LSB of Real Power (Counterl H to

rcall txcomp ;Transmit LSB of Real Power (Counterl L to treg)

rcall rxcomp ;Wait for Broadcasting MCU's ID

in tregJCNTlH ;Charge MSB of Real Power (Counterl L to

out TCNTlH,zero ;ClearTCNTlH

115

Page 127: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice C :Programa delMicrocontrolador AT9028515

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

L to treg)

treg)

treg)

out TCNTlL,zero

rcall txcomp

rcall rxcomp

in treg,TCNTO

rcall rxcomp

mov treg,QH

ldi QH,00

rcall txcomp

;ClearTCNTlL

;Transmit MSB of Real Power (Counterl L to treg)

;Wait for Broadcasting MCU's ID

;Charge LSB of Reactive Power (CounterO

out TCNT0,zero ;Clear TCNTO

rcall txcomp ;Transmit LSB of Reactive Power (CounterO L to

;Wait for Broadcasting MCU's ID

;Charge MSB of Reactive Power (CounterO H to

;Clears MSB of Reactive Power

;Transmit MSB of Reactive Power (CounterO MSBto treg)

rjmp up

* * * # * * * :* ******************.***********************subroutine for initialising baudrate and UART controlregister*****

ínit uart:ldi rtemp, baudrate ;setting baud rate

out UBRR,rtemp ;

ldi rtemp, $18 ;initialising UART control register;RXEN Enale, TXEN Enable

***

******

*********

116

Page 128: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice C : Programa delMicrocontrolador AT9028515

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

out UCR, rtemp***

ret******

*******************

*******************

-4 r | 4 - o *P *i ?|C 5|C 5|C 3|C 5¡C 5(C 3|C 7[» Jf* 3fi Jf* ?|C ^C ^^7)C7|C?fC?f«^C7jC?fC3f«^C^?|C?fC?|C3|C#fC^C

rxcomp:

O"

***

***

***

in rl6,TIFR

sbrc rl6,l

rjmp countO_ovf

sbis USR,RXCb

rjmp rxcomp

in rreg,UDR

cpi rreg,ID

brne rxcomp

;if Timer/CounterO overflows then go to***

;subroutine

5

;poll to checkifID is received:;if RXC set then skip to;read UDR

;put received data in rreg

;If received Data equals MCU's ID skip to

;otherwise wait for propper ID

******

******

******

*********

next

***

ret******

* * * * * * * * * * * * * * * * * * *

•T" ff* "T4* T ^ *¡* ^* ^* T ^ ' p ^* *p *|* *|* *t* *I* ^* *|* J¡> *|>

117

Page 129: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

pp BUIBJSOJJ: 3 90ipu9dv

8TI

*******************************************************************************************

*******************

******

*********

*********

***

jajunoo aqj azpijuní

Ul

si

duiooxj duiü

9lJ'0IM31

00'9lJ ÍPI

OUT

***

***

***

************************************* *J9IPU^H

MOJJJ3AQ QJSUIIJ^^ ¡Itjlc^^ülj^slc^^^jlt^slülc^jlc^clt^^^^jlt^-l;^;);^-

*******************

*******************

*******************

***************

***

o;

UOISSIXUSUBJJ JO pU9

si

OJ

duiooxj duifj

***qaraan^sn sjqs idwooxj

**************************** *^wpJOJ

*******************************************************************************************

zaeg snsaf Suj iZ9pUBUi3 j ZIJJQ V§UI

SIS8306IVsoopaSjaug sojjauíBjed sp uopejjsniíuipv sp

Page 130: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice D Programa delSistema basado en entradas análogas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

APÉNDICE D PROGRAMA DEL SISTEMA BASADO EN ENTRADASANÁLOGAS

// Analog Input.cpp : Defines the class behaviors for the application.

#include "stdarx.h"#include "Analog Input.h"#include "Analog InputDlg.h"

#ifdef_DEBUG#define new DEBUG_NEW#undefTHIS_FILEstatic char TfflS_FILE[] = _ F I L E _ ;#endif

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllílII CAnaloglnputApp

BEGIN_MESSAGE_MAP(CAnalogInputApp, CWinApp)//{ { AFX_MSG_MAP(CAnalogInputApp)

// NOTE - the ClassWizard will add and remove mapping macros here.// DO NOT EDIT what you see in these blocks of generated code!

//}}AFX_MSGE N D M E S S AGE_MAP()

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII CAnaloglnputApp construction

CAnaloglnputApp:: C Analoglnput App(): CWinApp()

{// TODO: add construction code here,// Place all significant initialization in Initlnstance

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII The one and only CAnaloglnputApp object

CAnaloglnputApp theApp;

IIHIIIIIIIIIIIIIIIIIlilllllillllllllllllllllllllllllllllllllllllllllllllllll

119

Page 131: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice D Programa delSistema basado en entradas análogas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

// CAnaloglnputApp initialization

BOOL CAnaloglnputApp: :lnitlnstance(){

AfxEnableControlContainer();

// Standard initialization// If you are not using these features and wish to reduce the size// of your final executable, you should remove from the following// the specific initialization routines you do not need.

CAnaloglnputDlg dlg;m_pMainWnd = &dlg;int nResponse = dlg.DoModal();if(nResponse==IDOK){

// TODO: Place code here to handle when the dialog is// dismissed with OK

}else if (nResponse = IDCANCEL){

// TODO: Place code here to handle when the dialog is// dismissed with Cancel

// Since the dialog has been closed, return FALSE so that we exit the// application, rather than start the application's message pump.return FALSE;

120

Page 132: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice D Programa delSistema basado en entradas análogas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

// Analog InputDlg.cpp : implementation file

#include "stdafk.h"#include "Analog Input.h"#include "Analog InputDlg.h"#include "ceminus.h"#include <TCHAR.h>#include <string.h>

#ifdef_DEBUG#defme new DEBUG_NEW#undefTHIS_FILEstatic char THIS_FILE[] = _ F I L E _ ;#endif

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII CAnaloglnputDlg dialog

CAnaloglnputDlg: :CAnalogInputDlg(CWnd* pParent /*=NULL*/): CDialog(CAnalogInputDlg::IDD, pParent)

{//{{AFXDATAINIT(CAnaloglnputDlg)m_CSCHl=_T("");m_CSCH2 = _T("");m_CSCH3=_T("");m_CSCH4 = _T("");m_CSCH5=_T("");m_CSCH6 = _T("");//}}AFX_DATA_INIT// Note that Loadlcon does not require a subsequent Destroylcon in Win32mhlcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

void CAnaloglnputDlg: :DoDataExchange(CDataExchange* pDX){

CDialog: :DoDataExchange(pDX);//{{AFX_DATA_MAP(CAnalogInputDlg)DDX_Text(pDX, IDCJEDITCH1, mCSCHl);DDX Text(pDX, IDC_EDITCH2, m_CSCH2);DDX_Text(pDX, IDCEDITCH3, m_CSCH3);DDX_Text(pDX, IDCEDITCH4, m_CSCH4);

121

Page 133: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice D Programa delSistema basado en entradas análogas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

DDX_Text(pDX, IDC_EDITCH5, m_CSCH5);DDX_Text(pDX, EDC_EDITCH6, rnCSCHÓ);//} } AFX_DATA_MAP

BEGIN_MESSAGE_MAP(CAnalogInputDlg, CDialog)//{{AFX_MSG_MAP(CAnalogInputDlg)ON_BN_CLICKED(IDC_BUTTONCLOSE, OnButtonclose)ON_BN_CLICKED(IDC_BUTTONREADANALOG, OnButtoñreadanalog)//}}AFX_MSG_MAP

END_MESSAGE_MAP()

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII CAnaloglnputDlg message handlers

BOOL CAnaloglnputDlg: :OnInitDialog(){

CDialog: :OnInitDialog();

// Set the icón for this dialog. The framework does this automatically// when the application's main window is not a dialogSetlcon(m_hlcon, TRUE); // Set big icónSetlcon(m_hlcon, FALSE); // Set small icón

CenterWindow(GetDesktopWindow()); // center to the hpc screen

// TODO: Add extra initialization here

LoadCEMINUS();

RLC_ledon(3);

return TRUE; // return TRUE unless you set the focus to a control

void CAnaloglnputDlg: :OnButtonclose(){

// TODO: Add your control notification handler code hereRLC_ledoff(3);

122

Page 134: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice D Programa delSistema basado en entradas análogas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

OnOK();

int chO,chl,ch2,ch3,ch4,ch5;double voltajel, current, temperature, voltaje2,voltaje3,voltaje4;TCHAR disp[20];

void CAnaloglnputDlg: :OnButtonreadanalog(){

// TODO: Add your control notification handler code here//double multiplier;

chO = RLC_Analog_In(0,0);voltajel = (double)chO*5.0/4096.0; //lectura y

calculo de voltaje en rango de 0-5V

chl = RLC_Analog_In(l,2);//lectura de canal de voltaje

//en rango deO-lOVcurrent= 1.6*(double)chl * 10.0/4096.0 + 4; //Ecuación de

acondicionamiento de corriente

ch2 = RLC_Analog_In(2,2);//Lectura de canal 2 de voltaje en rango 0-10Vtemperature = 11 *(double)ch2* 10.0/4096.0 - 10; //Ecuación de

acondicionamiento [0,10]V vs. [-10,100]°C

ch3 = RLC_Analog_In(3,1);//Lectura de canal 3 de voltajevoltaje2 = (double)ch3* 10.0/4096.0; //[-

5V,5V]

ch4 = RLC_Analog_In(4,2);//Lectura de canal 4voltaj e3 = (double)ch4 * 10.0/4096.0;//[0V,10V]

ch5 = RLC_Analog_In(5,3);//Lectura de canal 5

123

Page 135: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice D Programa delSistema basado en entradas análogas

voltaje4 = (double)ch5*20.0/4096.0;10V,10V]

swprintf(disp, L"%.3f, voltajel);mCSCHl = disp;

swprintf(disp, L"%.3f, current);m_CSCH2 = disp;

swprintf(disp, L"%.2f', temperature);m_CSCH3 = disp;

swprintf(disp, L"%.3f, voltaje2);m_CSCH4 = disp;

swprintf(disp, L"%.3f', voltaje3);m_CSCH5 = disp;

swprintf(disp, L"%.3f, voltaje4);m_CSCH6 = disp;

UpdateData(FALSE);

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

124

Page 136: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice D Programa delSistema basado en entradas análogas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

// Analog Input.h : main header file for the ANALOG INPUT application

#if! defmed( AFX_ANALOGINPUT_H_ADB4AEC4_F616_11D48DB30008C70C A67C_INCLUDEDJ#defineAFX_ANALOGINPUT_H_ADB4AEC4_F61611D4_8DB3_OOO8C7OCA67C_INCLUDED_

#if _MSC_VER >= 1000#pragma once#endif//_MSC_VER>= 1000

#ifndef _AFXWIN_H_#error include 'stdafx.h' before including this file for PCH

#endif

#include "resource.h" // main symbols

IllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllII CAnaloglnputApp:// See Analog Input.cpp for the Ímplementation of this class

class CAnaloglnputApp : public CWinApp{public:

CAnalogInputApp();

// Overrides// ClassWizard generated virtual function overrides//{{AFXVIRTUAL(CAnaloglnputApp)public:virtual BOOL Initlnstance();//}}AFX_VIRTUAL

// ímplementation

//{{AFXJVISG(CAnalogInputApp)// NOTE - the ClassWizard will add and remove member flinctions here.// DO NOT EDIT what you see in these blocks of generated code !

125

Page 137: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice D Programa delSistema basado en entradas análogas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

//}}AFX_MSGDECLAREMESSAGEMAPO

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHUIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIII

//{{AFXJNSERTLOCATION}}// Microsoft eMbedded Visual C++ will iñsert additional declarations immediately beforethe previous line.

#endif//! defined( AFX_ANAL0GINPUT_H_ADB4 AEC4F616_11D4_8DB3_OOO8C7OC A67C_JNCLUDEDJ

126

Page 138: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice D Programa delSistema basado en entradas análogas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

#ifhdefCEMINUS_H#define CEMINUS H

// ceminus.h// USAGE: UsedtoloadtheCEMINUS.DLL//// HowTo: To use the CEMINUS.DLL, just include this file with your// other header files. And Cali LoadCEMINUS()

// Used to hold declaration of CEMINUS.DLLHINSTANCE hDLL;

// DECLARATIONS OF FUNCTIONS TO MAKE AVAILABLE FROMCEMINUS.DLLtypedef unsigned short(*RLCInp)(unsigned short addr);typedef void(*RLCOutp)(unsigned short addr, unsigned short data);typedef int(*RLCInpw)(unsigned short addr);typedef void(*RLCOutpw)(unsigned short addr, unsigned short data);typedef void(*RLCLedOn)(UINT);typedef void(*RLCLedOff)(UINT);typedef void(*RLCAdjust)(unsigned short direction);typedef void(*RLCReset)(void);typedef void(*RLCBackLight)(unsigned short state);typedef void(*RLCKeyOut)(unsigned short val);typedef unsigned short(*RLCKeyIn)(void);typedef int(*RLCAnalogIn)(unsigned short channel, unsigned short range);typedef void(*SBXOut)(unsigned short, unsigned short, unsigned short);typedef unsigned short(*SBXIn)(unsigned short, unsigned short);typedef void(*RLCSetTime)(int hour, int min, int sec);typedef void(*RLCSetDate)(int month, int day, int year);typedef bool(*RLCCreateProcess)(LPCTSTR cmdlin, LPCTSTR args);typedef void(*RLCWriteCSC)(UCHAR CSC_Reg, UCHAR Valué);typedef void(*RLCReadCSC)(UCHAR CSC _Reg);

// CRÉATE FUNTION PROTOTYPESRLCInp RLC_inp;RLCOutp RLCoutp;RLCInpw RLCinpw;RLCOutpw RLCoutpw;RLCLedOn RLCJedon;

127

Page 139: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice D Programa delSistema basado en entradas análogas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

RLCLedOff RLCJedoff;RLCAdjust RLC_Adjust_Contrast;RLCReset RLCResetContrast;RLCBackLight RLC_Backlight_On;RLCKeyOut RLCJCeyboardOut;RLCKeyln RLC_Keyboard_In;RLCAnalogln RLCAnalogln;SBXOut RLCSBX Out;SBXIn RLC_SBX_In;RLCSetTime RLCSetLocalTime;RLCSetDate RLC_SetDate;RLCCreateProcess RLCCreateProcess;RLCWriteCSC RLC_Write_CSC;RLCReadCSC RLC_Read_CSC;

// FUNCTION: LoadCEMINUS()//// PURPOSE: Initialize the CEMINUS.DLL, extract and make all fünctions available.//// RETURNS: FALSE = fails; TRUE = success//BOOL LoadCEMINUS()

// Load Library CEMINUS.DLLhDLL = LoadLibrary(L"CEMINUS.DLL");

// Error Check; Make sure the Library is Loadedif(hDLL == NULL)

return FALSE;

// Grabs the fünctions from CEMINUS.DLLRLC_inp = (RLCInp)GetProcAddress(hDLL, L"RLC_inp");if(!RLC_inp)

return FALSE;RLC_outp = (RLCOutp)GetProcAddress(hDLL, L"RLC_outp");if(!RLC_outp)

return FALSE;RLCJnpw = (RLCInpw)GetProcAddress(hDLL, L"RLC_inpw");if(!RLC_inpw)

128

Page 140: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice D Programa delSistema basado en entradas análogas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

return FALSE;RLCoutpw = (RLCOutpw)GetProcAddress(hDLL, L"RLC_outpw");if(!RLC_outpw)

return FALSE;RLCAdjustContrast = (RLCAdjust)GetProcAddress(hDLL,

L"RLC_Adjust_Contrast");if( !RLC_Adjust_Contrast)

return FALSE;RLCResetContrast = (RLCReset)GetProcAddress(hDLL,

L"RLC_Reset_Contrast");if(!RLC_Reset_Contrast)

return FALSE;RLCBacklightOn = (RLCBackLight)GetProcAddress(hDLL,

L"RLC_Backlight_On");if(!RLC_Backlight_On)

return FALSE;RLC_Keyboard_Out = (RLCKeyOut)GetProcAddress(hDLL,

L"RLC_Keyboard_Out");if(! RLC_Keyboard_Out)

return FALSE;RLC_Keyboard_In = (RLCKeyln)GetProcAddress(hDLL,

L"RLC_Keyboard_In");if(!RLC_Keyboard_In)

return FALSE;RLCAnalogln = (RLCAnalogln)GetProcAddress(hDLL, L"RLC_Analog_In");if(!RLC_Analog_In)

return FALSE;RLC_SBX_Out = (SBXOut)GetProcAddress(hDLL, L"RLC_SBX_Out");if(!RLC_SBX_Out)

return FALSE;RLC_SBX_In = (SBXIn)GetProcAddress(hDLL, L"RLC_SBX_In");if(!RLC_SBX_In)

return FALSE;RLCJedon = (RLCLedOn)GetProcAddress(hDLL, L"RLC_Iedon");if(!RLC_ledon)

return FALSE;RLC_ledofF= (RLCLedOñ)GetProcAddress(hDLL, L"RLC_ledoff');if(!RLC_ledofí)

return FALSE;RLCSetLocalTime = (RLCSetTime)GetProcAddress(hDLL,

L"RLC_SetLocalTime");if(!RLC_SetLocalTime)

129

Page 141: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE

Sistema de Administración de parámetros Energéticos. Apéndice D Programa delSistema basado en entradas análogas

Ing. Fernando A. Ortiz FernándezAsesor: Ing. Jesús Baez

return FALSE;RLC_SetDate = (RLCSetDate)GetProcAddress(hDLL, L"RLC_SetDate");if(!RLC_SetDate)

return FALSE;RLC_CreateProcess = (RLCCreateProcess)GetProcAddress(hDLL,

L"RLC_CreateProcess");if( !RLC_CreateProcess)

return FALSE;RLC_Write_CSC = (RLCWriteCSC)GetProcAddress(hDLL,

L"RLC_Write_CSC");if(!RLC_Write_CSC)

return FALSE;RLC_Read_CSC = (RLCReadCSC)GetProcAddress(hDLL,

L"RLC_Read_CSC");if(!RLC_Read_CSC)

return FALSE;

return TRUE;

#endifCEMINUS H

130

Page 142: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE