You are on page 1of 249

Sistemas de Control

CAPITULO I: PLANTEAMIENTO TERICO



1.1. Objetivo

Desarrollar un mdulo educativo para la enseanza de los cursos de pre
grado de Control Automtico, para la Universidad Catlica de Santa Mara.
Esto es necesario ya que permite al alumno experimentar son equipos
simuladores de procesos industriales con caractersticas reales antes de
manipular plantas industriales, as el alumno obtiene una visin mayor en
los diferentes problemas a los que se va a enfrentar en su vida profesional
en el rea del control Automtico.

1.2. La Meta

La meta es el diseo y construccin de 3 tipos diferentes de control que se
encuentran en el mundo real en las empresas del medio:

a. Mdulo de control PID y Autosintona PID mediante Visual Basic
b. Mdulo de control PID mediante LabView
c. Mdulo de control: Instrumento Unilazo Programable (SLPI por sus
siglas en ingls, Single Loop Programmable Instrument)

Adems de esto necesitamos una planta experimental (simulada) en la que
podemos probar nuestro mdulo por lo cual estamos diseando dos
simuladores de procesos:

a. Simulador de proceso de temperatura
b. Simulador de proceso de nivel

1.3. Objetivos

Objetivo Principal

El desarrollo de un software que permita la sintonizacin de los parmetros
PID, para que el proceso pueda controlar de manera correcta el proceso
industrial simulado.

Desarrollar tres (3) mdulos de control basados en el control PID, como
una ayuda prctica para el aprendizaje de los cursos de pre grado del
rea de control del Programa Profesional de Ingeniera Electrnica de la
Universidad Catlica de Santa Mara.

Objetivo Secundarios

El uso de tcnicas de modelamiento de software para realizar de manera
ms sencilla y eficaz el diseo de software.

Diseo de simuladores de curvas de procesos industriales que sean
capaces de cumplir con todas las caractersticas de un proceso real.

1.4. Hiptesis

Es posible efectuar el desarrollo de mdulos de control y simuladores de
procesos industriales para la enseanza de los cursos de pre grado de
control automtico.

1.5. Alcance

Con estos mdulos se pretende llegar a los alumnos de pre grado en el
curso de Control Automtico Aplicado.

Con este tipo de software y SLPI es posible llegar a las empresas que
requieren de controladores industriales basados en adquisicin de datos y
de controladores de campo.

1.6. Justificacin

a. Permitir al alumno realizar experiencias cercanas a las reales dentro
de la Universidad, sin tener que hacer uso de plantas fsicas (reales),
que en algn momento podran ser daadas, si es que no se conoce
eficientemente los pasos de sintona. De manera que cuando el
alumno se encuentre en el campo sea capaz de identificar y resolver
problemas, que de otra manera no podran ser vistos dentro de la
Universidad.
b. El entorno visual en el que se desarrollarn los diferentes programas
es mucho ms amigable que un software basado en DOS.
c. En nuestro pas, el desarrollo de software educativo es escaso.
d. Muchos centros de estudio superior cuentan con PCs que pueden ser
utilizadas para este fin.
e. Muchos centros de estudio superior no cuentan con el presupuesto
necesario para realizar la compra de plantas reales.
f. Muchos centros de estudio superior en la enseanza de cursos de
control no cuentan con equipos ni reales, ni de simulacin de control
procesos industriales.

1.7. Factibilidad

a. Factibilidad Tcnica

Tecnolgicamente hablando el proyecto descrito es factible, ya que
no requiere para su elaboracin recursos tecnolgicos inexistentes.

b. Factibilidad Operativa

Los usuarios finales, los alumnos y maestros de los cursos de
control, podrn usarlos ya que en la gran mayora de centros de
estudio superior cuentan con PCs que son necesarias para el uso de
este proyecto.

c. Factibilidad Econmica

De acuerdo al estudio de factibilidad econmica, es factible (Ver
Captulo 6). Siendo adems accesible para cualquier centro de
estudios.



CAPITULO II

MARCO TEORICO

2.1. Evolucin histrica de los sistemas de control

Como todo proceso evolutivo, es casi imposible comprender plenamente el
estado actual y las tendencias futuras si es que no se conoce su pasado.

Lo que hoy se est viviendo en el rea de control de procesos industriales
es la consecuencia de la suma e interrelacin de distintos eventos que se
fueron sucediendo de forma tal, que es probable que nadie haya pensado,
en su momento, que pudieran tener vinculacin.

2.1.1. Evolucin del control automtico

Conocemos tiene su primer antecedente (al menos as qued registrado
en la historia) en el Regulador de Watt, el famoso sistema que
controlaba la velocidad de una turbina a vapor en el ao 1774.

Estos avances los podemos observar de forma resumida en el Tabla 2.1.

EPOCA PERSONA DESARROLLO
Siglo XVIII James Watt
Regulador de velocidad centrfuga para el
control de la velocidad de una mquina de
vapor.
1922 Minorsky
Controladores automticos para dirigir
embarcaciones. Mostr que la estabilidad puede
determinarse a partir de las ecuaciones
diferenciales que describen el sistema.
1932 Nyquist
Dise un procedimiento relativamente simple
para determinar la estabilidad de sistemas en
lazo cerrado, con base en la respuesta en lazo
abierto en estado estable cuando la entrada
aplicada es una senoidal.
1934 Hazen
Introdujo el trmino servomecanismos para los
sistemas de control de posicin. Analiz el
diseo de los servomecanismos con
relevadores, capaces de seguir con precisin
una entrada cambiante.
40's Varios
Mtodos de respuesta en frecuencia para
sistemas de control lineales en lazo cerrado que
cumplieran con los requerimientos de
desempeo.
Finales de
los 40's y
principios de
los 50's
Evans El mtodo del lugar geomtrico de las races.
Desde
principios de
1960
Varios
Anlisis en el dominio del tiempo de sistemas
complejos.
Entre 1960 y
1980
Varios
Control ptimo tanto de sistemas
determinsticos como estocsticos.
Control adaptable, mediante el aprendizaje de
sistemas complejos.
De 1980 a la
fecha
Varios
Teora de control moderna centrada en el
control robusto.

Tabla 2.1.- Evolucin histrica del control automtico

A partir de aquel regulador se desarrollaron innumerables aplicaciones
prcticas. En el plano terico las primeras ideas surgieron hacia 1870. A
partir de la dcada de los 30 del presente siglo recibieron un fuerte
impulso; se hicieron importantes experiencias y anlisis.

Como mencionamos, las industrias de procesos continuos fueron las
primeras en requerir mantener las variables de proceso en un
determinado rango a fin de lograr los objetivos de diseo. Las primeras
industrias realizaban el control de las variables en forma manual a travs
de operadores que visualizaban el estado del proceso a travs de
indicadores ubicados en las caeras y/o recipientes y equipos.

El operador conoca el valor deseado de la variable a controlar y en
funcin del error tomaba acciones correctivas sobre un elemento final de
control (generalmente una vlvula) a fin de minimizarlo.

Esta descripcin se ajusta en sus principios a lo que conocemos como
lazo cerrado de control o lazo realimentado. (Figura 2.1)

Figura 2.1.- Lazo de control realimentado



2.1.2. Introduccin de la tecnologa digital en el rea de control automtico

Las primeras grandes computadoras se utilizaron actuando sobre
controladores individuales en un modo conocido como Control de
Valores Deseados (Set Point Control SPC) (Figura 2.2)

Los controladores electrnicos analgicos efectuaban el control en la
forma convencional siendo supervisados y ajustados sus valores
deseados por la computadora, en funcin de algoritmos de optimizacin.
La falla de la computadora no afectaba el control, dejando el sistema con
los ltimos valores calculados. Un aspecto a destacar fue que, a
diferencia de las aplicaciones en los planos administrativos y cientficos,
en el rea de control se necesit el funcionamiento de las computadoras
en tiempo real, es decir, que el procesamiento deba de ser lo
Controlador
Elemento
final de
control
PROCESO
Medicin
Perturbaciones
Valor
Deseado
(Set Point)
suficientemente rpido como para poder resolver eventos y problemas
que iban ocurriendo, en instantes.


Figura 2.2.- Diagrama de control de valores deseados

Esta problemtica era (y es) distinta a la de la mayora de las exigencias
computacionales. Tal vez el clculo en si no es complejo, pero si lo es el
procesamiento en forma recurrente y en fracciones de segundo de
algoritmos sobre cientos de variables (a veces miles) que llegan desde el
campo. A este procesamiento se deben sumar las exigencias de otros
perifricos (como son las consolas de operacin o las impresoras de
eventos ya alarmas).

En paralelo con el desarrollo del SPC, surgi la idea de trasladar todo el
procesamiento de control hacia la computadora teniendo como interfaz
las tarjetas de entrada salida que hacan la conversin de las seales
analgicas en digital (y viceversa) de y hacia campo.

Los mayores inconvenientes de este modo de control estaban en la falta
de seguridad y continuidad operativa ante una falla (no tan frecuenta) de
la computadora: la falla abarcaba a toda la planta detenindola o lo que
Computadora de Proceso
PROCESO
Valor
deseado
Medicin
era peor llevndola a un estado impredecible y potencialmente peligroso.
Dos alternativas surgieron para resolver estos problemas:

Una computadora redundante a la espera de la falla a la que en ese
momento se le transfiera todo el control.
Un panel con controladores e indicadores convencionales a los que
en el momento de la falla le ser transferido todo el control.

Ambas alternativas presentaron problemas:

El problema econmico (prcticamente se duplicaba la instalacin, o
sea la inversin teniendo la mitad ociosa a la espera de una falla.)
La exigencia de tener el sistema de respaldo actualizado con los
ltimos valores, tanto de campo, como los modificados por los
operadores en funcin del proceso. Esto requera una gran
capacidad de cmputo as como una conmutacin muy segura (sin
saltos ni fallas).
El problema del lenguaje de programacin de las computadoras; el
personal de planta no conoca los mtodos que estaban reservados a
personal especializado.

Estos problemas fueron importantes y dieron lugar a complejos anlisis y
desarrollos para simplificar la programacin, como ser la configuracin
de las estrategias de control por medio de bloques o el seguimiento de
variables actualizndolas en distintas unidades (tracking).

2.1.3. Expansin

A travs del desarrollo tecnolgico y la reduccin de costos asociados al
procesamiento computacional llegaron para ayudar a los ingenieros de
control, la aparicin del microprocesador permiti tener en un pequeo
espacio una gran cantidad de procesamiento.

2.2. Microcontroladores

2.2.1. Definicin

Es un circuito integrado que contiene todas los componentes funcionales
de una computadora. Su uso es exclusivo para el control de un solo
proceso, debido a esto, es usualmente inducido dentro del proceso a
gobernar. Es esta ltima caracterstica la que le da el nombre de
controlador incrustado (embedded controller).

En otras palabras se trata de un computador dedicado. El nico
programa residente en su memoria es aquel que est dedicado a
controlar una aplicacin determinada. Una vez que el microcontrolador
es programado solo se dedicar a realizar la tarea asignada.

En la actualidad existen varias aplicaciones comerciales que usan
microcontroladores, como: la industria automotriz, de computadoras, de
electrodomsticos, aeronutico, espacial, etc.

Segn la empresa DATAQUEST se estima que existe un promedio de
240 microcontroladores en cada hogar americano en el ao 2001.

En resumen podemos decir que un microcontrolador es un micro
computador de limitadas prestaciones, contenido en un solo circuito
integrado que una vez que es programado est destinado para realizar
una sola tarea.

2.2.2. Diferencia entre microcontroladores y microprocesadores

Sabemos que un sistema basado en microprocesador es prcticamente
una Unidad Central de Proceso (UCP o CPU por sus siglas en ingls)
que contiene una Unidad de Control, que interpreta las instrucciones y
las lneas de datos a ejecutar.

El patillaje del microprocesador est compuesto por:

- Lneas de Buses (Control, Direcciones y Datos) mediante los cuales
el microprocesador se comunica con el exterior (Memoria, Perifricos
de E/S, etc.)
- Patillas de configuracin de cristal
- Patillas de funciones especficas

Un esquema resumido lo podemos observar en la Figura 2.3

Micro
Procesador
Bus de Direcciones
Bus de Datos
Bus de Control
Memoria Controlador 1 Controlador 2

Figura 2.3.- Estructura de un sistema de microprocesador (sistema
abierto). La disponibilidad de los buses en el exterior permite que se
configure a la medida de la aplicacin.

De acuerdo a lo anterior expuesto tenemos las siguientes definiciones:

Un microprocesador es un sistema abierto con el que puede construirse
un computador con caractersticas particulares, con solo la eleccin de
los mdulos necesarios para poder cumplir con tales fines.

Un microcontrolador es un sistema cerrado ya que tiene caractersticas
definidas e inexpandibles, tenindose que adecuar las caractersticas de
este al proceso en el cual va a ser usado.

Figura 2.4.- El microcontrolador es un sistema cerrado, ya que todas sus
partes se encuentran en el interior y no pueden ser modificadas y al exterior
solo salen lneas para los perifricos.

En el mundo prctico los fabricantes de microcontroladores tienen varios
modelos puestos a disposicin de usuario, desde los ms bsicos hasta
los ms complejos, para que de esta manera los diseadores puedan
dimensionar de forma adecuada el microcontrolador al proceso a
controlar, de esta manera los fabricantes de estos equipos no tienen
despilfarro al construir un solo tipo de microcontrolador muy bien
equipado.

2.2.3. Microcontroladores Microchip

Arquitectura interna

Debido a la necesidad de tener un adecuado rendimiento en el
procesamiento de instrucciones, el microcontrolador PIC de
Microchip usa la arquitectura Harvard frente a la arquitectura clsica
Von Neuman. Esta ltima se caracteriza porque la CPU se conectaba
con una memoria nica, donde coexistan datos e instrucciones, a
travs de un sistema de buses Figura 2.5.
MicroControlador Perifricos Perifricos

Figura 2.5.- Diagrama que muestra el sistema de comunicacin usado en la
arquitectura Von Neuman.

En la arquitectura Harvard son independientes la memoria de
instrucciones y la memoria de datos, adems de que cada una dispone
de un propio sistema de buses para el acceso.

Esto proporciona el paralelismo, adems de adecuar el tamao de las
palabras y los buses a los requerimientos especficos de las
instrucciones y los datos. La capacidad de cada memoria es diferente.
Esto lo podemos observar en la Figura 2.6.

Figura 2.6.- En la figura se muestra una memoria de instrucciones de 8K x 14,
mientras que la de datos solo dispone de 512 x 8.

Este microcontrolador responde a la arquitectura RISC (Computadoras
de Juego de Instrucciones Reducido Reduced Instruction Set
Computer por sus siglas en ingls), el cual se identifica al tener un juego
CPU
Instrucciones
Datos
Memoria
Bus comn de
Direcciones
Bus de Datos e
Instrucciones
CPU
Memoria de
Datos
512 x 8
Memoria de
Instrucciones
8K x 14
/
8
14
/
/
10
Bus de direccin
de Instruccin
Bus de
Instrucciones
8
/
Bus de
Direcciones de
Datos
Bus de Datos
de instrucciones de mquina pequeo y simple, de manera que la mayor
parte de instrucciones se ejecuta en un ciclo de instruccin.

Memoria de programa

Debemos de tener en cuenta que la memoria de este microcontrolador
no puede ser ampliada y que la memoria de programa almacena todas
las instrucciones del programa de control. Ya que el programa a ejecutar
siempre debe de ser el mismo, este debe estar grabado de forma
permanente, estas pueden ser de 5 tipos diferentes:

a) ROM con mscara

b) EPROM

c) OTP

d) EEPROM

e) FLASH

En nuestro caso haremos uso de un microcontrolador con memoria
Flash. Este es un tipo de memoria no voltil, ms econmico, de igual
sistema de borrado escritura que las EEPROM, pero que pueden tener
mayores capacidades que estas. El borrado se realiza de forma
completa y no por bloques o posiciones concretas. Este tipo de memoria
es fcilmente identificable en las series de microcontroladores Microchip,
por ejemplo:

PIC16C84 PIC16F84

Memoria de datos
Indica Memoria EPROM Indica Memoria FLASH

Los datos en memoria varan continuamente, y esto exige que la
memoria que los contiene debe de ser de lectura y escritura, por lo que
la memoria RAM esttica (SRAM) es la mas adecuada aunque sea
voltil. Las memorias del tipo EEPROM y FLASH puedan escribirse y
borrarse elctricamente. Sin necesidad de sacar el Circuito Integrado de
zcalo de grabador pueden ser escritas y borradas numerosas veces.
Para estos casos existen sistemas, tanto para la escritura de EEPROM
como FLASH.

Lneas de entrada y salida (E/S) para los controladores de perifricos

Con excepcin de las patitas que recibe alimentacin (2), las que
contienen el cristal (XT) (2) que regula la frecuencia de trabajo del
microcontrolador, y una mas para provocar el RESET, las dems sirven
para soportar su comunicacin con los perifricos que controla, en
nuestro caso tenemos:

Patitas Nombre Funcin
3 7 Puerto A Entradas/Salidas digitales o entradas del
conversor A D
33 46 Puerto B Entradas/Salidas digitales
15 18
23 26
Puerto C
Entradas/Salidas digitales, captura PWM,
funciones I2C, SPI y USART
19 22
27 30
Puerto D
Entradas/Salidas como puerto paralelo esclavo
TTL (PSP buffer)
8 10 Puerto E
Entradas/Salidas digitales o como entradas
para el conversor A D

Tabla 2.2.- Distribucin de patitas del PIC16F877

Recursos auxiliares

a) Circuito de reloj: para sincronizar el funcionamiento de todo el
sistema
b) Temporizadores
c) Watch Dog Timer, destinado a provocar una reinicializacin cuando
el programa queda bloqueado.
d) Comparadores analgicos
e) Sistemas de proteccin entre fallos de alimentacin.
f) Sleep, en el que el sistema se congela y pasa a un estado de bajo
consumo.

Caractersticas del PIC16F877

a) CPU RISC de alta performance
b) 35 Instrucciones de una sola palabra
c) Todas las instrucciones se realizan en un ciclo de instruccin, a
excepcin de las que contienen saltos u otra programacin que las
realizan en dos ciclos de instruccin.
d) Velocidad de operacin:
DC 20 MHz de entrada de reloj
DC 200 ns de ciclo de instruccin
e) Mas de 8K x 14 palabras de Memoria de Programacin FLASH
Mas de 368 x 8 bytes de Memoria de Datos (RAM)
Mas de 256 x 8 bytes de Memoria EEPROM de datos
f) Interrupciones (mas de 14 fuentes)
g) Modos de direccionamiento: Directo, indirecto y relativo.
h) Power On-Reset (POR)
i) Temporizador de encendido (PWRT) y Temporizador Oscilador de
Encendido (OST)
j) Temporizador Perro Guardin (Watch Dog Timer WDT) con su propio
oscilador RC para una operacin ms confiable.
k) Cdigo de proteccin programable
l) Modo de SLEEP, ahorrador de energa
m) Opciones de oscilador seleccionables
n) Tecnologa CMOS FLASH/EEPROM de alta velocidad y bajo
consumo.
o) Amplio rango de operacin, de 2.0 a 5.0 V
p) Bajo consumo de potencia
< 2 mA tpicamente @ 5V, 4 Mhz
20 A tpicamente @ 3V, 32 Khz
< 1 A tpicamente a corriente estndar

Caractersticas de Perifricos:

q) Timer0: Contador/temporizador de 8 bits con 6 bits de pre-escalar
r) Timer1: Contador/temporizador de 16 bits con pre-escalar, puede ser
incrementado durante el modo de SLEEP mediante un reloj/cristal
externo.
s) Timer2: Contador/temporizador de 8 bits con un registro de 8 bits, pre-
escalar y post-escalar
t) Dos mdulos PWM de captura y comparacin
16 bits de captura, mxima resolucin de 12.5 ns.
16 bits de comparacin, resolucin, mxima de 200 ns.
Mxima resolucin del PWM de 10 bits
u) Convertido Anlogo Digital multicanal de 10 bits.
v) Puerto Serial Sncrono (Serial Synchronous Port SSP) con SPI (Modo
Maestro) e I2C (Maestro/Esclavo)
w) USART/SCI con 9 bits de deteccin de direccin
x) Puerto Paralelo Esclavo (Paralell Slave Port PSP) de 8 bits, con pines
de: RD, WR y CS externos de control.

Juego de Instrucciones

Cada Instruccin del PIC16F87X es una palabra de 14 bits dividida en
OPCODE el cual especifica el tipo de instruccin y uno o ms operandos
los cuales especifican ms profundamente la operacin de la instruccin.

El set de instrucciones del PIC16F87X se muestra en la Tabla 2 lista
orientacin de byte, orientacin de bit, y operaciones de control y
literales.

La Tabla 1.3 muestra la descripcin de los campos del OPCODE. Para
las instrucciones orientadas a byte, f representa el registro de campo
designado y la d representa el destino.

El registro de campo designado especifica el registro a ser usado por la
instruccin.

El destino especifica donde va a ser colocado el resultado de la
operacin. Si d es cero, el resultado es colocado en el registro W. Si d
es uno, el resultado es colocado en el registro especificado por la
instruccin.

Para instrucciones orientadas a bit, b representa un sealizador el cual
selecciona el nmero del bit afectado por la operacin, mientras f
representa el nmero del archivo en el cual va ser colocado. Para
operaciones de control y literales, k representa una constante de 8 o 11
bits o un valor literal.

Campo Descripcin
F Direccin del registro (0x00 a 0x7F)
W Registro de trabajo (acumulador)
B Direccin de un bit, dato constante o etiqueta
X Ubicacin ni importante (=0 o 1)
D Seleccin de destino, d=0: el resultado se almacena en w.
D=1: el resultado se almacena en el registro f. Por default
d=1
PC Contador de programa
TO Timer-out bit
PD Power-down bit

Tabla 2.3.- Descripcin de campos OPCODE

El set de instrucciones est agrupado en tres categoras bsicas:

- Operaciones orientadas a byte
- Operaciones orientadas a bit
- Operaciones de control y literales

Todas las instrucciones son ejecutadas en un solo ciclo de instruccin, a
menos si una condicin sea verdadera o el contador de programa es
cambiado como resultado de una instruccin. En este caso, la ejecucin
toma dos ciclos de reloj, con un segundo ciclo ejecutado como un NOP.
Cada ciclo de instruccin consiste en cuatro periodos de oscilacin.
Entonces, para una frecuencia de oscilador de 4 MHz, el tiempo normal
de ejecucin es de 1 s. Si una operacin condicional es verdadera o el
contador de programa es cambiado como resultado de una instruccin,
el tiempo de ejecucin de instruccin es de 2 s.
La Tabla 2.4 lista las instrucciones reconocidas por el ensamblador
MPASM.

Nemnico, Operandos Descripcin Ciclos
Operaciones Orientadas a byte
ADDWF f, d Suma w y f 1
ANDWF f, d AND entre w y f 1
CLRF F Limpia f 1
CLRW - - Limpia w 1
COMF f, d Complementa f 1
DECF f, d Decrementa f 1
DECFSZ f, d Decrementa f, salta si es cero 1(2)
INCF f, d Incrementa f 1
INCFSZ f, d Incrementa f, salta si es cero 1(2)
IORWF f, d OR inclusivo con f 1
MOVF f Mueve f 1
MOVWF f, d Mueve w a f 1
NOP - No-operacin 1
RLF f, d Rota a la izquierda a travs del acarreo 1
RRF f, d Rota a la derecha a travs del acarreo 1
SUBWF f, d Substrae w de f 1
SWAPF f, d Intercambia los nibles en f 1
XORWF f, d OR Exclusivo de w con f 1
Operaciones orientadas a bit
BCF f, b Limpia el bit en f 1
BSF f, b Activa el bit en f 1
BTFSC f, b Examina el bit en f, salta si es cero 1(2)
BTFSS f, b Examina el bit en f, salta si es uno 1(2)
Operaciones de control y literal
ADDLW k Suma un literal y w 1
ANDLW k Realiza AND entre un literal y w 1
CALL k Llama a una subrutina 2
CLRWDT - Limpia en WDT (Watchdog Timer) 1
GOTO k Ir a una direccin 2
IORLW k OR Inclusivo entre un literal y w 1
MOVLW k Mueve un literal a w 1
RETFIE - Retorna de interrupcin 2
RETLW k Retorna con un literal en w 2
RETURN - Retorna de una subrutina 2
SLEEP - Ir hacia el modo de bajo consumo 1
SUBLW k Substrae w de un literal 1
XORLW k OR exclusiva entre un literal y w 1

Tabla 2.4.- Lista las instrucciones reconocidas por el ensamblador MPASM.

Orientadas a byte
OPCODE D f (file #)
d = 0 para destino w y 1 para destino f
f = direccin del registro de 7 bits

Orientadas a bit
OPCODE b (#bit) f (file #)
b = direccin de 3 bits
f = direccin del registro de 7 bits

Figura 2.7.- Formato general que las instrucciones tienen.

2.3. Protocolo de comunicaciones I2C

El Bus I2C (Inter IC)

Antes de empezar, comentar que el Bus I2C es sencillamente un protocolo
de comunicaciones desarrollado por Philips.

Introduccin de las especificaciones I2C

Esta orientado a las aplicaciones de 8-bit controladas por un
microprocesador o microcontrolador y estas son bsicamente los criterios
que se deben establecer:

- Un sistema consistente en al menos un microcontrolador y varios
sistemas perifricos como memorias o circuitos diversos
- El costo de conexin entre los varios dispositivos dentro del sistema
debe de ser el mnimo.
- El sistema que utiliza este Bus no requiere una alta tasa de
transferencia de datos
- La total eficacia del sistema depende de la correcta seleccin de la
naturaleza de los dispositivos y de la interconexin de la estructura del
bus.

El concepto del Bus I2C

El bus I2C soporta cualquier tipo de componente (NMOS, CMOS, bipolar,
etc.). Dos hilos fsicos uno de datos (SDA) y otro de reloj (SCL)
transportan la informacin entre los diversos dispositivos conectados al
bus. Cada dispositivo es reconocido por una nica direccin (si es un
microcontrolador, LCD, memoria o teclado)y puede operar cualquiera
como transmisor o emisor de datos, dependiendo de la funcin del
dispositivo. Un display es solo un receptor de datos mientras que una
memoria recibe y transmite datos. En funcin de que enve o reciba datos
se debe considerar los dispositivos como Maestros (Master) o esclavos
(Slaves). Un Master es un dispositivo que inicia un envo de datos al Bus y
genera las seales de reloj que permiten la transferencia, al mismo tiempo
un dispositivo direccionado se considera un Slave.

Terminologa bsica del Bus I2C

Trminos Descripcin
Transmisor El dispositivo que enva datos al Bus
Receptor El dispositivo que recibe datos desde el Bus
Master (Maestro) El dispositivo que inicia una transferencia,
general las seales del reloj y termina un
envo de datos
Slave (Esclavo) El dispositivo direccionado por un master
Multi-Master Mas de un master puede controlar el bus al
mismo tiempo sin corrupcin de los mensajes
Arbitraje Procedimiento que asegura que si uno o ms
master simultneamente deciden controlar el
Bus solo uno es permitido a controlarlo y el
mensaje saliente no es deteriorado
Sincronizacin Procedimiento para sincronizar las seales del
reloj de dos o ms dispositivos

Generalidades

El Bus I2C es multi-master, esto significa que ms de un dispositivo
capaz de controlar el bus puede ser conectado a el. Los master son
generalmente microcontroladores, por lo que un microcontrolador puede
ser unas veces Master y otras esclavo.

Para imaginar la imagen del Bus son dos cables a los que se conectan
diversos circuitos o chips en cantidad variable segn las necesidades,
controlado el conjunto por uno o ms microcontroladores que dan
instrucciones para el buen funcionamiento del conjunto.

La posibilidad de conectar mas de un microcontrolador al Bus significa
que uno o ms microcontroladores pueden iniciar el envo de datos al
mismo tiempo. Para prevenir el caos que esto ocasionara se ha
desarrollado un sistema de arbitraje. Si uno o ms master intentan poner
informacin en el bus es la seal de del reloj si esta a 1 o a 0 lo que
determina los derechos de arbitraje.

La generacin de seales de reloj (SCL) es siempre responsabilidad de
los dispositivos Master, cada Master general su propia seal de reloj
cuando enva datos al bus, las seales de reloj de un master solo pueden
ser alteradas cuando la lnea de reloj sufre una cada por un dispositivo
esclavo o por el dominio del control del Bus por el arbitraje de otro
microcontrolador.

Los dispositivos conectados al bus deben ser de colector abierto (en
paralelo), para que todos se puedan estar formando una conexin AND.
La nica limitacin en la conexin de dispositivos al bus depende de la
capacidad mxima que no puede superar los 400 pF.


Los tipos de transferencia de datos en el bus son:

Modo Estndar aproximadamente a 100 kBits/Sg.
Modo Rpido aproximadamente a 400kbits/Sg.
Modo Alta velocidad mas de 3,4 Mbits/Sg.

Aunque el tipo Modo Estndar es que trataremos aqu.

2.4. Instrumentos Unilazo Programables

El nombre comercial con el que normalmente se conocen a este tipo de
instrumentos que tienen a cargo el control de un solo lazo de control y
basados en microprocesador o microcontroladores, es el de Instrumentos
Unilazo Programables (Single Loop Programmable Instrument SLPI por
sus siglas en ingls).

Una funcin ms precisa de estos instrumentos puede ser: SLPI son
aquellos que contienen, en una unidad, la capacidad de cumplir una
funcin especfica con relacin a una variable de proceso.

Esta capacidad no solo implica resolver los algoritmos correspondientes
(implementados en un microcontrolador), sino tambin el
acondicionamiento de las entradas y salidas variables del proceso, la
interfaz del operador, etc.

Dentro de estos SLPI se pueden considerar, no por el estricto
cumplimiento del concepto antes definido, sino por la generalidad que
engloba este a los siguientes instrumentos:

Indicadores
Controladores
Computadoras de Caudal
Registradores
Totalizadores

Los fundamentos aqu presentados sirven como base no solo para los
controladores unilazo, sino tambin para los controladores multilazo
implementados en los sistemas digitales como los DCS o los OIS (DCS =
Distributed Control Systems OIS = Open Industrial Systems).

2.4.1. Introduccin

Debido a una disminucin en los costos de produccin, en este
momento la mayora de SLPI son digitales, adems, podemos
mencionar sus mayores capacidades y caractersticas.

2.4.2. Caractersticas

El equipo a ser diseado tendr las siguientes caractersticas, estas
estn, en la mayora de las posibilidades dentro de las caractersticas
generales de los SLPI, que se describirn a continuacin:

Interfaz del operador

En general la interfaz del operador esta dada por un display
digital, en el que se indican el estado o variables, un teclado para
la configuracin, y de forma opcional (en otros casos es de forma
obligatoria), barras indicadoras que comnmente se denominan
indicacin analgica, an cuando se trata de una indicacin
digital grfica. Figura 2.8.








Figura 2.8.- Interfaz del operador con de un controlador (Modelo
760, The Foxboro Co.).

Configuracin

La flexibilidad de los instrumentos basados en
microprocesador/microcontrolador lleva a la necesidad de
configurarlos, esto es, determinan los parmetros requeridos para
obtener del equipo la funcin deseada. Otros parmetros no son
esenciales para el funcionamiento del equipo, pero pueden
facilitar su operacin.

Tpicamente, algunos parmetros a configurar (dependiendo de
las caractersticas del instrumento) son:

- TAG (o identificacin del instrumento), que puede o no,
aparecer en un display alfanumrico.
- Tipo de entrada, y su correspondiente caracterizacin.
- Lmite superior en inferior del rango.
- Ajuste de parmetros de Control (Kp, Ki, Kd o del algoritmo
presente en el SLPI)
- Ajuste de alarmas y de ser deseado, contacto de salida de
las mismas.

En muchos casos, la capacidad de equipo y sus posibilidades de
configuracin se representan por medio de diagramas
funcionales. Dependiendo del diseo del instrumento, se puede
disponer de varias formas de configuracin, usualmente
excluyente una de otra:

- Teclado del Instrumento: Mediante un men tipo rbol y las
teclas en el frente del instrumento, se procede a la
configuracin del equipo, no requirindose ningn elemento
adicional.
- Configuracin Porttil: Se trata de un equipo porttil especial,
que permite la configuracin del instrumento.
- Conexin con PC: Requiere de la conexin del instrumento
con la PC y un software que corra en la misma. Si bien
demanda equipo adicional, permite funciones de inters
como la autodocumentacin y archivo de la configuracin.




Comunicaciones

Esta caracterstica permite la creacin de una red de instrumentos
entre s y con un equipo de supervisin (PC.) Como resultado de
esta comunicacin, al instrumento le pueden ser requeridos (y, en
algunos casos, se pueden modificar valores tales como:
Parmetros de ajuste, variables de proceso, etc.) Es importante
aclarar que, en general, estas caractersticas no permitir la
configuracin del instrumento de forma remota. Adems esta
caracterstica solo est disponible n algunos modelos de SLPI.

Instalacin

Los instrumentos se pueden montar en dos localizaciones:

- En panel: en cuyo caso se caracterizan por una pequea
superficie frontal y mayor profundidad (Figura 2.9). De esta
forma se logran paneles con frentes ms compactos.
- En campo: se trata de equipos con gabinetes NEMA 4 (apto
intemperie), de menor profundidad que los instrumentos de
panel, de mayor superficie frontal (Figura 2.10). Estos
instrumentos permiten la implementacin de lazos de control
locales, que pueden ser supervisados desde un sistema de
sala de control. De esta forma, sustituyen con mayor
flexibilidad y funcionalidad a sus predecesores neumticos.
Una desventaja se observa en industrias que manejan
fluidos y/o polvos que puedan generar mezclas explosivas,
ya que requieren alimentacin elctrica no intrnsecamente
segura (Por ejemplo 220 VAC, o corrientes elevadas en 24
VDC)



Figura 2.9.- Controlador Unilazo de gabinete



Figura 2.10.- Controlador Unilazo de campo (Modelo CN3240, Omega
Electronics Co.). Este equipo brinda las mismas prestaciones que el mostrado
en la Figura 2.9, en un equipo apto para su instalacin a la intemperie.

Caractersticas

La capacidad y flexibilidad que permite un equipo basado en
microprocesador/microcontrolador ha llevado a los proveedores a
ofrecer mltiples funciones en un mismo instrumento. De esta
forma, es frecuente que un instrumento unilazo basado en
microprocesador/microcontrolador cuente con la posibilidad de
implementacin de alarmas con contactos de salida, clculos
sencillos (como: suma, esta, multiplicacin y divisin) y complejos
(como clculo de humedad relativa, logaritmos, potencias
fraccionarias, etc.), etc. Estas caractersticas varan notablemente
de equipo en equipo, por lo que es necesario consultar al
proveedor a efectos determinar capacidad de satisfacer un
determinado requerimiento.

2.4.3. Caractersticas particulares

Controladores

Evidentemente, la implementacin del algoritmo PID es la
principal caracterstica de estos equipos. Otras caractersticas
son:

- Cantidad de algoritmos PID implementados: se dispone de
equipos con lazo simple, lazo doble en cascada o lazo doble
independiente.

- Caractersticas particulares del algoritmo: podemos
encontrar equipos con auto sintona, ya sea a lazo abierto o
a lazo cerrado. Las caractersticas de estos algoritmos se
describen mas adelante.


- Desde el punto de vista de funciones: en general, podemos
agrupar a los controladores en dos grupos: los controladores
DIN, y los controladores de proceso. Ambos tipos difieren
entre si en su funcionalidad, y tambin en su aspecto fsico.

- Los controladores DIN: reciben esta denominacin debido
a su frente normalizado de 96 mm. x 96 mm. (Figura 2.11).
Estos controladores se caracterizan en general por un bajo
costo, y una prestacin limitada. Funciones tales como el
ajuste remoto del calor deseado, contactos para salida de
alarmas, o interfaz de comunicaciones suelen ser opcionales
con costo extra. Muchos aspectos de diseo, tales como los
materiales del gabinete o el tipo de borneras, estn
orientadas a lograr un bajo costo total del instrumento.

- Los controladores de proceso: se caracterizan por una
mayor flexibilidad que los de DIN. La mayor parte de las
funciones que son opcionales en un controlador DIN son
estndar en un controlador de procesos. Otras funciones
estndar, como la capacidad de clculo matemtico,
usualmente no estn disponibles en un controlador DIN.
Adicionalmente, el frente de un controlador de procesos imita
al frente de los controladores de tecnologas ms antiguas,
disponiendo de indicadores de barras independientes para el
valor deseado, la variable medida y la salida de la vlvula
(Figura 2.9). Este tipo de controladores es preferido en la
industria de procesos qumicos y petroqumicos. Su mayor
desventaja es su precio, que puede llegar a cuadruplicar al
de un controlador de DIN, en casos de prestaciones
reducidas.



Figura 2.11.- Controladores de 1/8 DIN y DIN (Cortesa de Omega
Electronics)

Cabe aclarar que ambos controladores implementan algoritmos PID
similares, pudiendo diferir en su tiempo de barrido.

2.4.4. Implementacin de algoritmos de control en equipos digitales

Introduccin

Usualmente, las variables de un proceso se relacionan una a una,
tomando una de ellas como entrada al controlador o variable
medida, y la otra como salida del controlador o variable
manipulada. La relacin entre ambas est dada por un algoritmo
de control, cuya implementacin es la funcin principal del
controlador.

En los primeros decenios de este siglo se ha desarrollado un
algoritmo de control que responde a una estructura del tipo
Proporcional + Integral + Derivativo (PID), que fue implementado
con controladores neumticos y electrnicos analgicos en
distintas variables. La aparicin del microprocesador de nuevas
posibilidades para el control de planta, tanto en la interrelacin de
lazos como en la potencia de algoritmos de control. Se da
entonces un fenmeno curioso: dado su bajo costo, los
controladores basados en microprocesador sustituyen a los de
electrnica analgica o los neumticos, con mayores
prestaciones, pero la estructura bsica de control sigue siendo un
algoritmo PID. Considerando la situacin presentaremos a
continuacin los algoritmos PID clsicos. Luego analizaremos
algunos detalles de la implementacin de estos algoritmos en un
microprocesador/microcontrolador, y la aplicacin de la
autosintona.

2.4.5. El algoritmo PID

Recordemos en primer lugar al lazo de control, tal como lo mostramos
anteriormente. El mismo consta de un elemento de medicin, un
algoritmo de control, un elemento final de control (usualmente una
vlvula), y el proceso.

Figura 2.12.- Un lazo de control

La funcin de lazo de control es tratar de que la variable controlada se
mantenga lo ms prxima al valor deseado, con una evolucin temporal
que respete las exigencias del proceso.
Controlador
Elemento
final de
control
PROCESO
Medicin
Perturbaciones
Valor
Deseado
(Set Point)

El controlador PID surge como consecuencia de la combinacin de las
tres acciones bsicas de control: la accin proporcional, la accin
integral y la accin derivativa.

La accin proporcional intenta corregir el error en la variable controlada
dando a la vlvula posicin proporcional al mismo.

) ( ) ( ) ( t b t v t e =

) ( * ) ( t e Kc t m = [Ec. 2.1]

v = valor deseado
b = medicin
m = salida
e = error
Ke = ganancia

El valor K se conoce como ganancia del controlador. Muchos
controladores utilizan la Banda Proporcional en lugar de la ganancia:

E Kc
M
BP

=
100


BP = Banda Proporcional
E = Alcance
M = Variacin Mxima de Salida

La Banda Proporcional se define como el cambio en la variable de
entrada que provoca una variacin del 100% de la salida.

En muchos casos, la accin proporcional puede dejar un error
permanente u offset (Figura 2.13), que puede ser eliminado por medio
del agregado del modo integral. Esta capacidad del modo integral se
denomina reset. El modo integral tiene una salida proporcional a la
integral del error a lo largo del tiempo, y por lo tanto acta mientras
exista el error en el lazo.

=
t
t
I
t
dt e
T
m
0
) ( ) (
1
[Ec. 2.2]

T
I
= constante de tiempo integral

En los lazos de dinmica lenta es conveniente el agregado del modo
derivativo, cuya salida es proporcional a la velocidad de variacin del
error, es decir, a la derivada del error respecto al tiempo:

dt
de
T m
t
D t
) (
) (
= [Ec. 2.3]

T
D
= constante de tiempo derivativo

Un algoritmo PID combina estas tres acciones de control. No existe una
nica forma de combinarlas; la mayora de los algoritmos implementados
comercialmente disponibles corresponde a alguna de las siguientes
clases:





Controlador PID ideal no iterativo (o algoritmo ISA)

(

+ + =

dt
de
T dt e
T
e Kc m
t
D
t
t
I
t t
) (
0
) ( ) ( ) (
1
[Ec. 2.4]

Controlador PID ideal paralelo

dt
de
T dt e
T
e Kc m
t
D
t
t
I
t t
) (
0
) ( ) ( ) (
1
+ + =

[Ec. 2.5]

Controlador PID iterativo

(

+
(

+ =

dt
de
T dt e
T
e Kc m
t
D
t
t
I
t t
) (
0
) ( ) ( ) (
1
1
[Ec. 2.6]

Puede apreciarse que si bien se utilizan los mismos smbolos y
denominaciones para la ganancia Kc, el tiempo integral T
I
y el tiempo
derivativo T
D
, su valor nominal debe ser distinto que los algoritmos, si se
desea obtener una misma respuesta. Si se utilizan los mismos valores
nominales de Kc, T
I
y T
D
en los tres algoritmos, se obtendran tres
respuestas distintas.

Por lo tanto cuando se utilizan valores recomendados de Kc, T
I
y T
D
para
el ajuste de un lazo, deben prestarse atencin al tipo de algoritmo para
el que son recomendados, y efectuar las conversiones que
correspondan.

Del mismo modo, cuando se reemplazan controladores, debe prestarse
atencin al tipo de algoritmo que cada equipo implementa. Puede ocurrir
que un antiguo controlador neumtico haya mantenido el lazo estable
por aos, y el nuevo controlador digital no logre estabilizar el lazo.

Y esto se debe a que ambos utilizan algoritmos distintos, pero fueron
ajustados con los mismos parmetros PID.

El algoritmo PID iterativo tiene un origen histrico, ya que puede ser
implementado utilizando un solo amplificador. Dado el alto costo de los
amplificadores en los controladores neumticos y en los primeros
controladores electrnicos, este algoritmo fue utilizado por muchos
fabricantes.

En algunos casos, se los sigui utilizando en controladores basados en
microprocesador/microcontrolador, permitiendo el uso de los mismos
ajustes de los controladores neumticos y electrnicos analgicos a los
que sustituyen.

Figura 2.13.- Error permanente u Offset a lazo cerrado, en un
controlador proporcional.

Algunas modificaciones sencillas sobre estos algoritmos bsicos son los
siguientes:

Accin proporcional y derivativa opcional para cambios de set point:

Los algoritmos presentados establecen relaciones entre el error y la
salida a vlvula. El error puede variar porque vari e valor de la
variable medida, o porque el operador modific el valor deseado.
Usualmente, el operador vara el valor deseado en forma bastante
rpida, semejando un salto escaln. En este caso, los modos
proporcional y derivativo pueden tener respuestas bruscas, que
perturben el lazo de control. Para evitarlo, se modifica el algoritmo
PID como sigue (se muestra la modificacin para el algoritmo ISA,
siendo anlogo para los otros algoritmos):

(

+ + =

dt
db
T dt e
T
b Kc me
t
D
t
t
I
t t
) (
0
) ( ) ( ) (
1
[Ec. 2.7]

b = valor medido

En este algoritmo, los modos proporcional y derivativo operan sobre
la medicin, y no sobre el error.

De esta forma, un salto escaln en el valor deseado slo afectar al
modo integral, mientras exista error. Por otra parte, el
comportamiento frente a una variacin en la medicin es igual al del
algoritmo original (Figura 2.14). Algunos sistemas utilizan en forma
automtica esta modificacin del algoritmo en todos los lazos,
excepto los lazos secundarios de controladores en cascada. Estos
ltimos no requieren esta modificacin, ya que no estn sujetos a
perturbaciones bruscas en el valor deseado.

a) Respuesta a una perturbacin escaln en la medicin.
La respuesta de los dos algoritmos coincide

b) Respuesta a una perturbacin escaln en el valor
deseado

Figura 2.14.- Modificacin del algoritmo PID, para disminuir las
perturbaciones bruscas por cambios en el valor deseado.

Anti Reset wind up

El modo integral del controlador tiene la caracterstica de
saturarse en aquellos casos en que el error persiste a lo largo de
un tiempo prolongado. En un controlador neumtico este
fenmeno e evidencia en el fuelle integral, que se infla hasta su
lmite fsico. Por esta caracterstica, se le conoce como anti
reset wind up. Matemticamente se puede interpretar como un
fuerte incremento de la integral del error, que se produce an
cuando el error es pequeo, debido a su persistencia en el
tiempo. Para que el trmino del modo integral en el algoritmo PID
disminuya su valor, resulta necesario que el error invierta su
signo, y persista as hasta eliminar la saturacin.

Por tal motivo, pueden producirse apreciables sobre picos en la
respuesta del sistema. Este efecto se magnifica en sistemas con
retardo, o en aquellos en los que el error tiene el mismo signo la
mayor parte del tiempo.

El anti reset wind up elimina este efecto limitando el
incremento del trmino integral del algoritmo de control.

Transferencia bumpless

Es frecuente que, frente a condiciones no estacionarias del
proceso como paradas o puestas en marcha, la salida del
controlador sea fijada manualmente por el operador. Al pasar el
controlador a automtico, el valor de la salida pasar
bruscamente del valor adoptado manualmente al valor adoptado
por el algoritmo de control. Esta cambio perturba el proceso.

Los algoritmos que impiden este salto se denominan de
transferencia Manual Automtico bumpless, o sin salto.

2.4.6. Controladores PID Digitales

El controlador PID fue implementado originalmente utilizando tcnicas
analgicas. Actualmente, es comn que se los implemente en
microprocesadores/microcontroladores, lo que implica dos nuevos
conceptos: el tiempo de barrido y la discretizacin del algoritmo.

2.4.7. Tiempo de barrido

Cuando se implementa un algoritmo en el computador digital, todo el
procesamiento se realiza en pasos secuenciales:

1) Lectura de las seales de entrada
2) Clculo del algoritmo de control
3) Definicin de la seal de salida
4) Actualizacin de las variables
5) Espera, durante las cuales el procesador realiza tareas no
asociadas a este algoritmo
6) Ir a 1

Cada secuencia se denomina barrido (scan); se define como tiempo de
barrido (scan time) al tiempo entre el comienzo de dos barridos
sucesivos.

Una consecuencia del mecanismo de barrido es que dos seales de
distinta frecuencia pueden mimetizarse, apareciendo frente al
controlador como la misma seal. Las dos curvas de la Figura 2.15
presentan los mismos valores de cada barrido, y por lo tanto es
imposible discriminarlas.

Como consecuencia, una perturbacin de alta frecuencia puede
aparecer como de baja frecuencia. En general, las variaciones
asociadas al proceso son de baja frecuencia, mientras que las de alta
frecuencia son ruidos. Por lo tanto, la implementacin de un filtro de alta
frecuencia soluciona este problema.


Figura 2.15.- Mimetizacin de dos seales. Un controlador con un
tiempo de barrido de 1 seg. no distinguira entre la seal de baja y alta
frecuencia.

Otro aspecto a considerar en la implementacin de un algoritmo PID
digital, es que el barrido introduce al alzo de control un retardo igual a la
mitad del tiempo de barrido, lo cual puede dificultar el ajuste del lazo.

Para reproducir la respuesta de un controlador analgico, el tiempo de
barrido debera ser de unos 100 mseg. Mientras que algunos
controladores dedicados tienen este rendimiento, en un controlador multi
lazo sta sera una carga exagerada e innecesaria.

En efecto, si el proceso permite un perodo de barrido mayor, el
controlador multi lazo podr atender ms lazos de control,
alcanzndose un ptimo tcnico econmico. En la prctica, rara vez
los sistemas (incluyendo el proceso, el elemento de medicin y el
elemento final de control) no tiene algn retardo propio.

Por ejemplo un lazo de control de presin tpico tiene un perodo de
oscilacin de 20 segundos. Un controlador digital con un tiempo de
barrido del segundo llevara a este perodo a 22 segundos, un efecto
poco significativo.

La Figura 2.16 presenta una regla prctica para la determinacin del
tiempo de barrido a partir de la curva de reaccin del proceso. Esta
curva se obtiene poniendo el lazo en manual, y generando un salto
escaln en la salida de controlador. El proceso (incluyendo la vlvula de
control y el elemento de medicin) seguir una evolucin sigmoidea (con
forma de s), con la que se pueden determinar tiempos caractersticos
del proceso, utilizados para la determinacin del tiempo de barrido.

La Tabla 2.5, contiene los valores tpicos que pueden servir como
referencia.

TIPO DE LAZO TIEMPO DE BARRIDO (en
segundos)
Caudal 1
Presin:
Lquidos
Gases

1
5
Nivel 5
Temperatura 10 20
Composicin 20

Tabla 2.5.- Valores tpicos de tiempo de barrido. Estos valores
orientativos.



Figura 2.16.- Estimacin del tiempo de barrido. Se aproxima la
respuesta a lazo abierto a un sistema de primer orden con retardo puro.
El tiempo de barrido se calcula entonces como:

) ( 1 . 0
1
T T t
R
+ t = tiempo de barrido

2.4.8. Discretizacin del algoritmo

La implementacin de un algoritmo PID en un
microprocesador/microcontrolador requiere de su discretizacin, por
medio de la aproximacin numrica de las integrales y derivadas
involucradas. Las implementaciones digitales de algoritmos PID se
pueden clasificar en dos grandes grupos: posicionales e incrementales.





2.4.9. Algoritmos posicionales

La forma intuitiva de implementacin de un algoritmo PID es la
discretizacin del algoritmo ideal no iterativo [Ec. 2.4]. Esta misma
implementacin recibe el nombre de posicional, ya que calcula
directamente la posicin que deber tomar la salida.

Bsicamente el problema se presenta con las discretizacin de los
modos integral y derivativo, ya que le modo proporcional se resuelva
sencillamente. Para analizar cada modo, modificaremos la ecuacin 2.4
de la siguiente forma:

+ + =
t
t
D t t t
dt
de
KcT dt e
T
Kc
e Kc m
0
) (
) ( ) ( ) (
[Ec. 2.4]

) ( ) ( ) ( ) ( t t t t
D I P m + + = [Ec. 2.8]

El modo proporcional que queda reducido simplemente a:

) ( ) ( t t
e Kc P = [Ec. 2.9]

El modo integral admite diferentes aproximaciones. Una aproximacin
clsica es la regla rectangular, que se muestra en la Figura 2.17. Se
puede observar que la primera forma presentada [Ec. 2.10] requiere
almacenar todos los valores del error. En cambio, la Ecuacin 2.11
utiliza un algoritmo recursivo, que solo requiere almacenar el ltimo valor
del trmino integral.

| |

=

=
n
j
t jx
I
t nx
t e
T
Kc
I
0
) ( ) (
[Ec. 2.10]



| | t e
T
Kc
I I
t nx
I
t n t nx
+ =
) ( ) ) 1 (( ) (
[Ec. 2.11]



Figura 2.17.- Aproximacin del modo integral por medio de la regla
rectangular.

Otra aproximacin clsica del modo integral es la regla trapezoidal.
Segn sta, la integral es aproximada como una serie de trapecios
(Figura 2.18). En forma similar a la aproximacin rectangular, esta
ecuacin requiere un algoritmo recursivo para su implementacin
prctica.


+
=
n
j
t x j t jx
I
t nx
t
e e
T
Kc
I
0
) ) 1 (( ) (
) (
2
[Ec. 2.12]





t
e e
T
Kc
I I
t x n t nx
I
t n t nx

+
+ =


2
) ) 1 (( ) (
) ) 1 (( ) (
[Ec. 2.13]



Figura 2.18.- Aproximacin del modo integral por medio de la regla
trapezoidal.

La aproximacin del modo derivativo tambin admite variantes. Una de
las formas ms comunes de aproximacin de una derivada es la
diferenciacin hacia atrs, que equivale al clculo de una pendiente
entre dos puntos:

t
e e
dt
de
t t t t

+
=
) ( ) ( ) (
[Ec. 2.14]



Por lo que el modo derivativo tomara la forma:

( )
) ( ) ( ) (
.
t t t
D
t
e e x
t
T Kc
D

= [Ec. 2.15]

Otra aproximacin parte de la ecuacin anterior, cambindola con una
aproximacin numrica del modo derivativo.

( ) ( ) | |
) 2 ( ) ( ) ( ) (
2
) ( ) (
) (
) (
t t t t t t t
D
t t t
t
t
e e e e
t
KcT
t
D D
d
dD


= [Ec. 2.16]

de donde se deduce la forma recursiva

| |
) 2 ( ) ( ) ( ) ( ) (
2
t t t t t
D
t t t
e e e
t
T Kc
D D

+

+ = [Ec. 2.17]

Este algoritmo tiene la ventaja de atenuar las variaciones que pueden
presentarse en el error debido al ruido de medicin, ya que considera
ms puntos que la ecuacin 2.15.

Los algoritmos posicionales tienen las siguientes caractersticas:

Requieren la implementacin de limitaciones a la acumulacin del
modo integral (anti reset wind up)
Puesto que el algoritmo siga trabajando mientras el controlador
est en manual, la salida que calcula puede diferir de la fijada del
operador. Para lograr una transferencia bumpless, es necesario
calcular los trminos proporcional y derivativo al momento de la
transferencia de manual a automtico, y el valor requerido del
trmino integral para que la salida del algoritmo coincida con la
fijada por el operador.

2.4.10. Algoritmos Incrementales

El algoritmo incremental calcula el incremento (o decremento) a
aplicar a la salida existente, para obtener su nueva posicin.
Genricamente, tiene la forma:

) ( ) ( ) ( t t t t
m m m + =



) ( ) ( ) ( ) ( t t t t
D I P m + + =

Para el clculo de los incrementos de cada modo puede utilizarse
directamente la diferencia entre dos estados sucesivos entre dos
estados sucesivos de un algoritmo posicional. Por ejemplo, el
modo proporcional tomara la forma:

) (
) ( ) ( ) ( t t t t
e e Kc P

= [Ec. 2.18]

Se resume a continuacin la implementacin de los otros modos
de control:

Modo integral, Regla rectangular

t e
T
Kc
I
t
I
t
=
) ( ) (
[Ec. 2.19]

Modo integral, Regla trapezoidal

| | t e e
T
Kc
I
t t t
I
t
=
) ( ) ( ) (
2
[Ec. 2.20]


Modo derivativo

| |
) 2 ( ) ( ) ( ) (
2
t t t t t
D
t
e e e
t
T Kc
D

+

= [Ec. 2.21]

La Ecuacin 2.21 es sensible al ruido, ya que pequeas
variaciones en algunos de sus trminos pueden dar lugar a
importantes variaciones en el Trmino Derivativo. Este efecto es
magnificado si el tiempo de barrido t es pequeo. Una frmula
alternativa utilizada con xito es la diferencia central de cuatro
puntos. En este caso, se puede demostrar que el Trmino
Derivativo puede aproximarse como:

| |
) 3 ( ) 2 ( ) ( ) ( ) (
3 3
6
t t t t t t t
D
t
e e e e
t
T Kc
D

+

= [Ec. 2.22]

Los algoritmos incrementales tienen las siguientes caractersticas:

EL problema del reset windup es solucionado sencillamente,
limitando el valor de la salida del 0 al 100%.
La transferencia bumpless es fcil de implementar, ya que
los incrementos se aplican directamente a la salida a la
vlvula fijada manualmente.

2.5. Analoga de los procesos simulados con uno real

2.5.1. Analoga del simulador de proceso de Nivel

Elemento Capacidad pura o integrador

En la prctica, no existe ningn elemento, del tipo que fuere,
absolutamente puro.
En este caso, al hablar de capacidad pura, este hecho toma especial
relevancia, dado que se habla de condiciones en las que una variable
tiende a infinito.

Seamos, pues, conscientes de que la expresin terica infinito tendr
el significado prctico de muy grande o, sencillamente, que los
componentes fsicos alcanzaran su estado de saturacin o su deterioro,
en los que cesara el fenmeno: un elemento constituido por una
capacidad pura se comporta como un integrador. A continuacin se ver
algn ejemplo del elemento capacidad pura.

Nivel en tanque con salida constante

Supongamos un sistema de nivel, como el representado en la Figura
2.19, en el que el contenido de un tanque, de seccin horizontal A es
extrado por una bomba de caudal constante, independientemente de la
altura del nivel del tanque.

Podemos imaginar una situacin de equilibrio en la que el caudal de
aporte q1 es exactamente igual que el de evacuacin q2, impuesto por
la bomba.

q1 + q
h
q2
A
q1 = q2
q = caudal neto
1/s 1/A
1/As
Q H
Volumen acumulado
Caudal neto Nivel
Q H


Figura 2.19. Elemento capacidad pura.

Si en un momento dado el caudal de aporte se ve incrementado en una
cantidad q, resulta intuitivo que el nivel ir incrementndose a una
velocidad constante, hasta alcanzar el rebose ( o su vaciado total si q es
negativo). Es decir, nunca se llegar a una nueva condicin de equilibrio,
como ocurra cuando el vaciado se produca mediante una restriccin.
Se trata pues, de un proceso inestable, sin autorregulacin.
La ecuacin de balance de material de este sistema es:

Acumulacin = entrada salida
2 1 q q q
dt
dh
A + =

pero como se ha hecho

q1 =q2
entonces
q
dt
dh
A =
Tomando Laplacianas

AsH =Q

La Transmitancia ser


As Q
H 1
=

Obviamente no se puede hablar de constante de tiempo, que, en todo
caso, sera infinita. Despejando dh en la ltima ecuacin diferencial
tenemos:
qdt
A
dh
1
=

En la que integrando ambos miembros de la igualdad se obtiene

= qdt
A
h
1


De aqu que un elemento capacidad pura pueda ser considerado como
un elemento integrador.

Despejando ahora la constante A, se obtiene

= qdt
h
A
1


Haciendo h = 1 y q = 1 (constante), e integrando entre los lmites 0 y
obtenemos
A =

Que debe ser interpretada del siguiente modo: cuando el caudal neto de
aportacin (o extraccin) al tanque es de valor unitario (q=1), el tiempo
que tarda el nivel en aumentar o disminuir en una unidad de longitud
(Uh =1) es igual a la constante A (rea de la seccin horizontal del
tanque). De aqu que a esta constante se la llame tiempo de integracin.
Generalizando, puede decirse:

El tiempo de integracin de un elemento capacidad pura es el tiempo
necesario para que la variable de salida se incremente en una unidad,
cuando la variable de entrada es constante e igual a la unidad.

Habitualmente, expresaremos la ecuacin del comportamiento de un
elemento capacidad pura como:

= xdt
Ti
y
1

donde:

x = Variable de entrada
y = Variable de salida
Ti = Tiempo de integracin

2.5.2. Analoga del simulador de proceso de Temperatura

Supongamos un horno de gas o fuel-oil para calentamiento de un
producto que va ha ser enviado a una torre de destilacin. La variable
controlada sera la temperatura del producto a la salida del horno. La
variable manipulada sera el caudal de combustible. En principio
podramos establecer un sistema de control como el mostrado en la
Figura 2.20. La temperatura del proceso sera transmitida al controlador,
el cual en funcin de la seal de error corregira la posicin de la vlvula
para ajustar la cantidad precisa de combustible.

Sin embargo, veamos que sucedera si, por cualquier causa, la presin
en la lnea de combustible sufre un cambio (perturbacin), supongamos
una disminucin. Como primera consecuencia disminuira el caudal del
combustible, a continuacin esto provocara un descenso en la
temperatura del producto que sera detectada por el transmisor . Estos
sucesos vendran afectados por el retardo de tiempo y el tiempo muerto
inherentes a la dinmica del horno, as como por el retardo de tiempo del
sensor de temperatura, tambin por un pequeo tiempo muerto debido a
la situacin fsica del sensor. Con ello, el controlador modificara su
seal de salida, lo que provocara una mayor apertura de la vlvula, a
efectos de compensar la disminucin en la presin de combustible,
teniendo as a recuperar el caudal inicial.

Aun asumiendo que el sistema se hallase perfectamente optimizado, es
evidente que la variable controlada se vera alterada como consecuencia
de la perturbacin. Precisamente si hay accin correctora es porque hay
seal de desviacin.

El comportamiento dinmico de un horno puede ser representado
aproximadamente por la siguiente funcin de transferencia:

) 1 )( 1 (
2 1
+ +
=

s T s T
Kpe
Gp
s T
m


La cual muestra los siguientes parmetros:

Kp = Ganancia esttica, o relacin (incremental) entre la
temperatura de salida y el caudal de combustible (en estado
estacionario).
Tm = Un tiempo muerto, funcin del tiempo medio de
residencia.
T1 y T2 = Constantes de tiempo, dependientes de la concepcin
(diseo) y de la dinmica del horno.

TT
TIC
HORNO
Salida del producto
Transmisor
Controlador
Vlvula de control
Combustible

Figura 2.20. Control de temperatura en un horno

La Figura 2.21 muestra el diagrama de bloques de este sistema. Ntese
que un cambio en la presin genera instantneamente un cambio en el
caudal de la vlvula. Detrs del sumatorio se tendra el caudal del
combustible. La ganancia Ku se calculara linealizando la funcin en el
punto de trabajo. Se recuerda una vez ms que las variables
representadas por una notacin operacional se refieren a las
desviaciones de su punto de trabajo, con lo que la salida del bloque
perturbacin ser nula cuando la presin en la lnea de combustible sea
la normal.

Es decir, que el valor de la variable presin a la entrada del bloque
perturbacin debe ser entendido como la diferencia entre la presin
instantnea y la normal. Esto significa que la ganancia Ku sera la
variacin de caudal del combustible por unidad de cambio de presin en
el punto de operacin normal.

Del mismo modo, la ganancia esttica Kp del horno sera la variacin de
temperatura a la salida del horno por unidad de variacin de caudal de
combustible. Algo similar podramos decir de las ganancias Kv y Km.

Nota: El bloque vlvula debe ser entendido en realidad como una
composicin de dos elementos: la vlvula en si, como un componente
mecnico, y un pequeo proceso de caudal.

La vlvula tendra como variable de entrada en la seal de control, y
como variable de salida la posicin de su vstago (su capacidad de
paso). El proceso de caudal tendra como variable de entrada la
posicin del vstago de la vlvula, y como variable de salida el caudal.






A - D Algoritmo D - A
Clock
Simulador de Proceso
de Temperatura
Ku
Perturbacin
+
+
u(t) y(t) Y


Figura 2.21. Diagrama de bloques del Controlador de Temperatura





A - D Algoritmo D - A
Clock
u(t) y(t)


Figura 2.22. Aproximacin a una funcin contnua en el tiempo

Algoritmo
Y = P*e(n)+P*I*TsSe(k)+((P*D))*(e(n)+3(e(n-1)-e(n-2))-e(n-3))
6*Ts
A - D Algoritmo D - A
Clock

Figura 2.23. Algoritmo de control usado

2.6. Sintonizacin de Procesos

2.6.1. Estabilidad del circuito de control

Un sistema es estable si su salida permanece limitada para una entrada
limitada. La mayora de los procesos industriales son estables a circuito
abierto, es decir, son estables cuando no forman parte de un circuito de
control por retroalimentacin; esto equivale a decir que la mayora de los
procesos industriales son autorregulables, o sea la salida se mueve de
un estado estable a otro, debido a los cambios en las seales de
entrada.

Aun para los procesos estables a circuito abierto, la estabilidad vuelve a
ser considerable cuando el proceso forma parte de un circuito de control
por retroalimentacin , debido a que las variaciones en las seales se
refuerzan unas a otras conforme viajan sobre el circuito, y ocasionan
que la salida y todas las otras seales en el circuito se vuelvan
ilimitadas.


2.6.2. Sintona de los Controladores por Retroalimentacin

La sintona es el procedimiento mediante el cual se adecuan los
parmetros del controlador por retroalimentacin para obtener una
respuesta especfica de circuito cerrado. La sintona de un circuito de
control por retroalimentacin es anlogo al del motor de un automvil o
de un televisor; en cada caso la dificultad del problema se incrementa
con el nmero de parmetros que se deben ajustar; por ejemplo, la
sintona de un controlador proporcional simple o de uno integral es
similar al del volumen de un televisor, ya que slo se necesita ajustar un
parmetro o perilla; el procedimiento consiste en moverlo en una
direccin u otra, hasta que se obtiene la respuesta (o volumen) que se
desea. El siguiente grado de dificultad es ajustar el controlador de dos
modos proporcional-integral (PI), que se asemeja al proceso de ajustar
el brillo y el contraste de un televisor blanco y negro, puesto que se
deben ajustar dos parmetros: la ganancia y el tiempo de reajuste; el
procedimiento de sintona es significativamente ms complicado que
cuando slo se necesita ajustar un parmetro. Finalmente, la sintona de
los controladores de tres modos proporcional-integral-derivativo (PID)
representa el siguiente grado de dificultad, debido a que se requiere
ajustar tres parmetros: la ganancia, el tiempo de reajuste y el tiempo de
derivacin, lo cual es anlogo al ajuste de los haces verde, rojo y azul en
un televisor a color.

A pesar de que se plante la analoga entre el ajuste de un televisor y un
circuito de control con retroalimentacin, no se trata de dar la impresin
de que en ambas tareas existe el mismo grado de dificultad. La
diferencia principal estriba en la velocidad de respuesta del televisor
contra la del circuito del proceso; en el televisor se tiene una
retroalimentacin casi inmediata sobre le efecto del ajuste.

Por otro lado, a pesar de que en algunos circuitos de proceso se tienen
respuestas relativamente rpidas, en la mayora de los procesos se
debe esperar varios minutos, o aun horas, para apreciar la respuesta
que resulta de la sintona, lo cual hace que la sintona de los
controladores con retroalimentacin sea una tarea tediosa que lleva
tiempo; a pesar de ello, ste es el mtodo que ms comnmente utilizan
los ingenieros de control e instrumentacin en la industria.

Para sintonizar los controladores a varios criterios de respuesta se han
introducido diversos procedimientos y frmulas de ajuste.

En el presente trabajo de tesis se explicar dos de ellos; el mtodo de
ganancia ltima (para el simulador del proceso de control de nivel) y el
mtodo de prueba escaln unitario (para el simulador del proceso de
control de temperatura), se debe tener en mente que ningn
procedimiento da mejor resultado que los dems para todas las
situaciones de control de proceso.

Los valores de los parmetros de sintona dependen de la respuesta de
circuito cerrado que se desea, as como de las caractersticas dinmicas
o personalidad de los otros elementos del circuito de control y,
particularmente, del proceso.

2.6.2.1. Mtodo de Oscilacin de Ziegler & Nichols (Z - N)

Este mtodo, uno de los primeros, que tambin se conoce como
mtodo de circuito cerrado o ajuste en lnea, lo propusieron Ziegler y
Nichols, en 1942; consta de dos pasos, al igual que todos los otros
mtodos de ajuste:

PASO 1. Determinacin de las caractersticas dinmicas o
personalidad del circuito de control.

PASO 2. Estimacin de los parmetros de ajuste del controlador con
los que se produce la respuesta deseada para las caractersticas
dinmicas que se determinaron en el primer paso en otras palabras,
hacer coincidir la personalidad del controlador con la de los dems
elementos del circuito.

En este mtodo, los parmetros mediante los cuales se representan
las caractersticas dinmicas del proceso son: la ganancia ltima de
un controlador proporcional, y el perodo ltimo de oscilacin.

La ganancia y el periodo ltimos se deben determinar
frecuentemente de manera experimental, a partir del sistema real,
mediante el siguiente procedimiento:

1. Se desconectan las acciones integral y derivativo del controlador
por retroalimentacin, de manera que se tiene un controlador
proporcional. En algunos modelos no es posible desconectar la
accin integral, pero se puede desajustar mediante la simple
igualacin del tiempo de integracin al valor mximo o de manera
equivalente, la tasa de integracin a valor mnimo.

2. Con el controlador , se incrementa la ganancia proporcional,
hasta que el circuito oscila con amplitud constante; se registra el
valor de la ganancia con que se produce la oscilacin sostenida
como K ganancia ltima. Este paso se debe efectuar con
incrementos discretos de la ganancia, alterando el sistema con la
aplicacin de pequeos cambios en el punto de control a cada
cambio en el establecimiento de la ganancia. Los incrementos de
la ganancia deben ser menores conforme sta se aproxime a la
ganancia ltima.

3. Del registro de tiempo de la variable controlada, se registra y mide
el perodo de oscilacin como Tu perodo ltimo, segn se
muestra en la Figura 2.24.

Para la respuesta que se desea del circuito cerrado, Ziegler y Nichols
especificaron una razn de asentamiento de un cuarto. La razn de
asentamiento (disminucin gradual) es la razn de amplitud entre dos
oscilaciones sucesivas; debe ser independiente de las entradas del
sistema.

Una vez que se determinan la ganancia ltima y el periodo ltimo, se
utilizan las frmulas de la Tabla 2.6 para calcular los parmetros de
ajuste del controlador.

La accin derivativa propicia un incremento, tanto en la ganancia
proporcional como en la tasa de integracin (un decremento en el
tiempo de integracin) del controlador PID, en comparacin con las
del controlador PI, debido a que la accin integral introduce un
retardo en la operacin del controlador por retroalimentacin,
mientras que con la accin derivativa se introduce un avance o
adelanto.

Ganancia Tiempo de Tiempo de
Tipo de controlador proporcional
Kc
integracin
Ti
derivacin
Td
Proporcional P Kc/2 --------- ---------
Proporcional Integral
PI
Kc/2.2 Tu/1.2 ---------
Proporcional integral
derivativo PID
Kc/1.7 Tu/2 Tu/8

Tabla 2.6.- Frmulas para sintonizacin de Ziegler & Nichols

Siendo:

Tu = Perodo de Oscilacin
Kc = Ganancia mxima


Figura 2.24.- Perodo mximo y Kp mximo

2.6.2.2. Mtodo basado en la curva de Reaccin

El procedimiento de la prueba escaln se lleva a cabo como sigue:

a. Con el controlador en la posicin manual (es decir, el circuito
abierto), se aplica al proceso un cambio escaln en la seal de
salida del controlador m(t). La magnitud del cambio debe ser lo
suficientemente grande como para que se pueda medir el cambio
consecuente en la seal de salida del transmisor, pero no tanto
como para que las no linealidades del proceso ocasionen la
distorsin de la respuesta.
b. La respuesta de la seal de salida del transmisor c(t) se registra
en un graficador de papel continuo o algn dispositivo
equivalente; se debe tener la seguridad de que la resolucin es la
adecuada, tanto en la escala de amplitud como en la de tiempo.
La graficacin de c(t) contra el tiempo debe cubrir el perodo
completo de la prueba, desde la introduccin de la prueba de
escaln hasta que el sistema alcanza un nuevo estado
estacionario. La prueba generalmente dura entre unos cuantos
minutos y varias horas, segn la velocidad de respuesta del
proceso.
c. Calcular los parmetros como sigue:

0
0
U U
Y Y
Ko


=

To = t1 to

Vo = t2 t1

El modelo obtenido puede ser usado para derivar varios mtodos de
sintona para controladores PID. Uno de estos mtodos fue tambin
propuesto por Ziegler and Nichols.

Naturalmente, es imperativo que no entren perturbaciones al sistema
mientras se realiza la prueba de escaln.

En la Figura 2.25 se muestra una grafica tpica de la prueba, la cual
se conoce tambin como Curva de Reaccin del Proceso; que
tiene la respuesta en forma de S que es caracterstica de los
procesos de segundo orden o superior, con o sin tiempo muerto.



Figura 2.25.- Ejemplo de curva de reaccin


Kp

Ti Td
P
(

+
Vo
To
KoTo
Vo
3
1

PI
(

+
Vo
To
KoTo
Vo
12
9 . 0
| |
To Vo
To Vo To
20 9
3 30
+
+


PID
(

+
Vo
To
KoTo
Vo
4 3
4

| |
To Vo
To Vo To
8 13
6 32
+
+

To Vo
ToVo
2 11
4
+


Tabla 2.7.- Sintonizacin Cohen y Coon usando la curva de
reaccin.

2.7. Sistemas de Control Basados en PC

Desde sus inicios, los sistemas digitales, influenciaron en forma extrema el
desarrollo de muchas actividades. Hacia los aos 70 prcticamente
cualquier compaa mediana o grande poda contar con un sistema digital
para su administracin, los sistemas digitales encontraron multitud de
aplicaciones en el mbito de control industrial. As, los DCS y los PLC
empezaron a ser parte comn de una planta mediana o grande. Sin
embargo, aqu tambin los costos impedan determinadas aplicaciones,
particularmente en la pequea industria.

En 1981 IBM lanza la computadora personal PC. Con ella, se tuvo a
disposicin una computadora compacta y razonablemente econmica,
orientada a empresas pequeas o al uso personal. Con el tiempo, la PC
se difundir, permitiendo que an la compaa ms modesta pueda
contarla como uno de sus recursos.

Por otra parte, algunos equipos de control automtico, como los PLCs o
los instrumentos unilazo empiezan a contar con interfaces que permiten
su conexin con PCs. Surgen entonces las primeras aplicaciones en que
combinan estos equipos.

Estas aplicaciones requirieron del desarrollo de software a medida que
deba correr en la PC, cuyas funciones fueron la comunicacin con el
equipo digital de control automtico, y la presentacin al operador de las
variables del proceso.

A efectos de facilitar el uso de estos sistemas por parte de los usuarios,
algunas compaas ofrecieron software para supervisin y control de
procesos, que brind en la PC facilidades de presentacin de informacin
de apariencia similar a los DCS.

Este nuevo tipo de software hizo ms fcil la implementacin de sistemas
que combinan equipos digitales de control automtico y PCs, al ahorrar al
usuario el desarrollo de complejos programas para la PC.

En la presente Tesis llamaremos al conjunto de equipos digitales de
control automtico, computadora personal y software de control para la
PC como Sistema de Control Basado en PC. Su aparicin tiene dos
reas principales de impacto: en el rea de los procesos continuos, brinda
una alternativa de menor costo que un DCS para pequeas aplicaciones
no crticas, que pueden ser implementadas con sistemas con un bajo nivel
de integracin entre el software de la PC y el del dispositivo de E/S, y
comunicaciones no redundantes de baja velocidad.

Las primeras aplicaciones de este tipo de sistemas fueron tipo stand
alone con una PC y uno o varios dispositivos de E/S. Posteriormente
aparecieron y se popularizaron las aplicaciones en red , con varias PCs.
Hoy, la aplicacin de sistemas de control basados en PC est alcanzando
su apogeo, con docenas de miles de PCs corriendo algn software de
supervisin comercialmente disponible.

2.7.1. Partes de un Sistema de Control Basado en PC

Un sistema de control basado en PC est formado por tres partes
bsicas: la computadora personal PC con su hardware y software de
base asociados, el software para control basado en PC, y el o los
dispositivos de entrada y salida.

Una caracterstica importante de un Sistema de Control Basado en PC
es que cada una de estas partes es un producto distinto, usualmente
diseado y comercializado por proveedores diferentes.

Cada una de estas partes tiene caractersticas propias, el software para
control Basado en PC est especficamente diseado para su uso en
computadoras personales estndar, comunicadas con multitud de
equipos industriales.

Se caracteriza por un alto grado de adaptabilidad a los
condicionamientos de las dems partes. As, respeta los requerimientos
de hardware y software de la PC, utilizando al mximo los estndares.
Del mismo modo, tratar de adaptarse a la mayor cantidad posible de
equipos digitales de control industrial.

Otras denominaciones utilizadas para referirse al software para control
basado en PC son: software de supervisin, software para adquisicin
de datos, software para control de procesos. En la presente Tesis se
desarrollara software de adquisicin de datos y software de control de
procesos.

Ni la computadora ni el software permiten la conexin de elementos de
campo en forma directa. Para ello se utilizan dispositivos de E/S,
denominacin genrica de los equipos digitales que toman la seal del
instrumento de campo, la digitalizan y multiplexan y la transmiten a la
PC., Dentro de los dispositivos de E/S podemos encontrar equipos con
distintas funciones: PLCs, controladores unilazo, registradores
multipunto, cromatgrafos tarjeta de adquisicin de datos, etc.
En esta tesis se desarrollara la tarjeta de adquisicin de datos y
controladores unilazo.

Si bien en la mayor parte de las aplicaciones se utilizan computadoras
personales tipo IBM PC, aparecen con alguna frecuencia casos en los
que estas son reemplazadas o complementadas con computadoras de
mayor capacidad.

Debe notarse que la definicin de Sistema de Control basado en PC que
se ha dado no distingue el lugar en el que reside el algoritmo de control.
Este puede ejecutarse en la PC o en el dispositivo de entrada o salida.

Otra definicin, ms restrictiva, considera que el sistema de control
basado en PC es aquel en que el algoritmo de control corre en la PC.
Sin embargo, en la mayor parte de las aplicaciones de sistemas de
control basados en la PC, la funcin de control se ejecuta en el
dispositivo de E/S. Adicionalmente, las caractersticas que describiremos
son similares en uno u otro caso, sin que tenga influencia el lugar en el
que resida el algoritmo de control.

2.7.2. Clasificacin

En funcin de la ubicacin del dispositivo de E/S, los sistemas de control
basados en PC pueden clasificarse en sistemas externos e internos.

2.7.2.1. Sistemas externos

En los sistemas externos el dispositivo de E/S es externo al
computador, y la comunicacin entre ambos se efecta por medio de
un port de comunicaciones de la PC. En la mayor parte de los casos
se utiliza interfaces RS-232 RS-485 a baja velocidad (300 a 19200
bps). Algunos dispositivos de E/S externos utilizan interfaces de
comunicaciones propietarias, que requieren la instalacin de tarjetas
especiales en la PC.

Los sistemas externos presentan las siguientes caractersticas:

El dispositivo de E/S puede ser remoto de la PC (desde unos
pocos metros a miles de kilmetros).
Al ser externo, son posibles aplicaciones de mayor envergadura
que en los sistemas internos. Los dispositivos de E/S asociados a
sistemas externos suelen ser ms flexibles, posibilitando la
expansin por adicin de tarjetas de E/S. En general es posible
armar redes con dispositivos de E/S de un mismo fabricante,
aumentando aun ms su flexibilidad.
En general, es ms sencillo el mantenimiento del dispositivo de
E/S, que se realiza sin desarmar la PC.
Tpicamente, el tiempo en el que la PC toma los datos del
dispositivo de E/S puede medirse en algunos segundos.

La mayor parte de las aplicaciones industriales de control automtico
implementadas con sistemas de control basados en PC se efectan
con sistemas externos.

2.7.2.2. Sistemas internos

Para aplicaciones requiriendo unas pocas entradas / salidas se
dispone de sistemas internos, en los que se instalan tarjetas de E/S
en una ranura de la PC. De esta forma, el dispositivo de E/S accede
directamente al bus de la PC. Se logran as altas velocidades de
muestreo, superndose las 100000 muestras por segundo. Las
caractersticas de un sistema interno son:

Bajo costo
Son posibles altas velocidades de muestreo
El mantenimiento implica la manipulacin de partes internas del
PC.
La flexibilidad para la adicin de seales es muy baja, ya que est
limitada la capacidad de expansin por adicin de tarjetas.
Las seales de los sensores deben llegar directamente a la PC

Estos sistemas se suelen utilizar en aplicaciones de laboratorio, en
las que se requiere alta velocidad de muestreo, y pocas
entradas/salidas.

2.7.3. Dispositivos de Entrada/Salida (E/S)

El dispositivo de E/S cumple con las siguientes funciones:

Punto de conexin de las seales de campo.
Acondicionamiento de la seal: amplificacin, atenuacin,
aislamiento, filtrado, etc.
Conversin A/D y D/A, multiplexado.
Comunicacin con la PC, ya sea directamente al bus de datos de
la misma, o por medio de interfaces RS-232 , RS-485, USB u
otras.
Control y clculo, dependiendo del tipo de dispositivo de E/S. En
efecto, algunos dispositivos de E/S no tendrn ningn tipo de
nivel de inteligencia para esta funcin, mientras que otros tendrn
capacidad de control secuencial, lgico, o regulatorio, clculos,
etc.

La siguiente clasificacin de los dispositivos de E/S se basa en su
capacidad de control y clculo.

Tarjetas de E/S para Adquisicin de Datos: Utilizadas en sistemas
internos, son de bajo costo. No tienen ningn tipo de inteligencia
para el control.

Sistemas de Adquisicin de Datos: DAS Al igual que en el punto
anterior, tampoco tiene capacidad de control. Su objetivo es la
adquisicin de un elevado nmero de seales, en forma
econmica. Son utilizados en sistemas externos. Tienen un alto
grado de flexibilidad para la adicin de seales.

PLC: La enorme difusin de los PLCs en muchas industrias ha
bajado en forma sensible sus precios, por lo que estos son muy
utilizados como dispositivo de entrada salida. Se los utiliza en
aplicaciones que requieren control lgico, secuencial e incluso
algo de control regulatorio. Tambin se los utiliza en donde no es
necesario control alguno, ya que han logrado desplazar en precio
a los sistemas de adquisicin de datos de pequeo y mediano
tamao.

Instrumentos Unilazo: En forma general, los instrumentos unilazo
disponen de interfaces de comunicaciones que permiten su
supervisin desde PCs. En muchas plantas, estos instrumentos
son comparados como parte de varios proyectos, a lo largo del
tiempo. Luego se instala el sistema para supervisin basado en
PC, que integra las seales de estos equipos. Algunos
instrumentos unilazo son: Controladores, registradores,
totalizadores, etc.

Dispositivos Programables: Son equipos dotados de inteligencia
para el control, pero se diferencian de los equipos anteriormente
descritos en que no poseen un nivel de software definido para
una tarea especfica. Por ejemplo un PLC est diseado el control
lgico, tpicamente programable por medio de lgicas en
escalera. Los controladores unilazo estn diseados para control
PID, por lo que son sencillos de configurar para esta aplicacin, y
poseen una interfaz al operador diseada para su funcin. En
cambio, un dispositivo programable es programado en un
lenguaje de alto nivel, con un alto grado de flexibilidad. Por
supuesto, esta mayor flexibilidad implica un mayor trabajo de
programacin para una aplicacin definida.

Otros: En definitiva, cualquier equipo basado en microprocesador
que posea una interfaz standard como RS-232 RS-485 y un
protocolo abierto puede ser supervisado desde una PC. Con
frecuencia, el dispositivo de E/S es minimizado en la descripcin
de un Sistema de Control Basado en PC. Si pedimos a un usuario
que nos describa su sistema, es probable que se explaye en el
software de supervisin, el sistema operativo de la PC y la causa
de su eleccin, la red, y la PC propiamente dicha, mientras dedica
poco tiempo al dispositivo de E/S. Sin embargo este ha costado el
40% del total del sistema. El principal factor en la seleccin del
dispositivo de E/S es la necesidad de control y clculo. Esto
orientar al uso de controladores unilazo, PLCs, etc. Otros
factores a considerar son la facilidad de expansin, resolucin de
la conversin A/D y D/A, facilidad de mantenimiento y, por
supuesto el soporte local y el costo.

2.7.4. Partes Bsicas de un paquete de software basado en PC

Un paquete de software para control basado en PC consta bsicamente
de 4 programas y una base de datos dinmica. La base de datos
contiene la estrategia de control, que indica de donde vienen los datos,
que se hace con ellos, y adonde van. Decimos que la estrategia de
control es una base de datos dinmica, porque el valor de sus variables
cambia instante a instante, en forma asociada a las variables del
proceso.

La definicin de la estrategia de control se realiza mediante un programa
diseado a tal efecto. Otro programa permite crear las pantallas que
permitirn al usuario ver datos de la base de datos.

Un tercer programa se ocupa de ejecutar la estrategia de control,
cumpliendo las funciones de control que en ella se especifican. La
principal caracterstica de este programa es que corre en background,
es decir, este programa no provee interfaz al usuario. Esta funcin es
cumplida por el cuarto programa, el de visualizacin, que toma las
pantallas anteriormente creadas y las conecta a la base de datos
dinmica. Se describir a continuacin cada uno de estos programas.

2.7.4.1. Creando la estrategia de control

Las estrategias se crean utilizando bloques de software que
representan los distintos instrumentos utilizados en instrumentacin
analgica. Por ejemplo, un lazo PID se construye utilizando un
bloque de entrada analgica, un bloque PID y un bloque de salida
analgica, como se muestra en la Figura 2.26.


Entrada Controlador Salida
Analgica PID Analgica


Figura 2.26.- Lazo de Control PID

Esta metodologa es igual a la utilizada en los Sistemas de Control
Distribuido. El conjunto de estos bloques, adecuadamente
configurado, se denomina estrategia de control, base de datos
dinmica o base de datos de control.

La forma de crear la base de datos de control es caracterstica de
cada proveedor.

Segn el diseador (fabricante), son tpicas dos formas de realizar el
trabajo:

Completamiento de planillas preconfiguradas (Fill in the blanks):
El uso de planillas Fill in the blanks fue el primer mtodo utilizado
para la creacin de estrategias de control utilizando bloques de
software. Este mtodo es utilizado en Sistemas de Control
Distribuido, Sistemas de control basados en PC y Sistemas
Industriales abiertos. Este mtodo consiste en disponer de una
planilla por cada tipo de bloque, que debe ser completada segn
la estrategia a configurar. La informacin a completar, y la forma
en que est organizada dependen del fabricante.

Generacin Grfica por iconos: Hablando de Software, un icono
es una imagen grfica, que representa algo. En el caso
particular de la generacin grfica de bases de datos de control
en un ambiente iconizado, se dispone de una pantalla en las que
las distintas funciones son representadas por iconos. De este
modo, la estrategia de control se construye dibujando bloques, y
conectndolos grficamente. Este mtodo brinda una
representacin visual de la estrategia de control, que en general
es fcil de interpretar. En la medida en que se implementan
estrategias de control ms complejas el dibujo puede llegar a
complicarse. Por otra parte, todos los parmetros, excepto
aquellos relacionados con el softwiring, deben ser completados
por medio de planillas Fill in the blanks, a las que accede
seleccionando el bloque deseado con el mouse.
Independientemente de la tcnica utilizada, obtendremos como
resultado un archivo de configuracin almacenado en el disco
duro (HD). Este archivo ser utilizado posteriormente, para correr
la estrategia de control.


2.7.4.2. Creando las pantallas

La creacin de pantallas implica en realidad crear dos cosas: una
parte esttica de la pantalla (denominada comnmente template) y
una parte dinmica, que se conecta a variables de la base de datos
de control. A travs de esta conexin, el software de visualizacin
sabe que variables debe presentar, en que parte de la pantalla debe
hacerlo, y cmo debe hacerlo. Segn el fabricante, estas dos
funciones pueden ser integradas en un nico paquete, o ser dos
funciones separadas, crendose primero el template, y conectndolo
despus. En la mayor parte de los casos, la informacin el template
y las conexiones se almacenan en archivos separados, en el disco
duro.

2.7.4.3 Ejecucin de la estrategia de control

En el punto 2.7.4.1 se detallo cmo se configura la estrategia de
control. La misma es ejecutada por un programa que recorre todos
los bloques, efectuando los clculos que en los mismos se indiquen.
Para ello, l primer paso del programa de ejecucin al ser cargado es
copiar la base de datos de control del disco duro o la memoria RAM.
El espacio que la base de datos ocupa en la RAM es reservado, para
impedir que otros programas la desplacen. De esta forma, la copia de
base de datos en la memoria RAM reflejar exactamente al archivo
de la base de datos del disco duro, creada por el configurador de
estrategias de control. Una vez que el programa de ejecucin
empiece a procesar la base de datos, empezar a haber diferencias
entre los valores contenidos en la base de datos de la RAM, y los
contenidos en la base de datos del disco duro. El operador empezar
a cambiar el estado A/M de controladores, set points, salidas a
vlvulas, etc.

Debe recordarse que esta informacin no es actualizada
automticamente en el disco duro, por lo que al reinicializarse el
procesador estos cambios se pierden. Esto significa que la estrategia
de control rearrancar desde la posicin indicada en el archivo del
disco duro, y NO desde la ltima posicin alcanzada.

Una vez que el programa de ejecucin empez a correr, procesar
todos los bloques en forma cclica. Los conceptos de tiempo bsico
de barrido, distribucin de carga en fases, overrun, etc., son
aplicables a la ejecucin de estrategias de control en una PC.

Un aspecto que diferencia a la ejecucin de estrategias de control en
una PC comparada con su ejecucin en procesadores dedicados al
control en un DCS o un OIS es que la PC debe cumplir funciones que
no son requeridas en los procesadores dedicados al control. Entre
estas funciones podemos mencionar: el programa de visualizacin de
variables, mdulos de aplicacin como el registro histrico, la
generacin de reportes, etc.

Por tal motivo, el anlisis de la carga de procesamiento de una
PC es ms complejo que un DCS o un OIS, ya que la PC debe
satisfacer los requerimientos de procesamiento de mayor variedad de
programas.

Adicionalmente, la falla de la PC implica la prdida de ms funciones
del sistema que la falla de un procesador dedicado al control en un
DCS o un OIS.




2.7.4.4. Visualizacin de la base de datos

El programa de visualizacin nos permite apreciar los resultados del
trabajo efectuado por los dems programas.

Nos permite ver las pantallas creadas, para lo cual recupera del disco
duro el template, y el archivo que contiene la informacin relativa a
las conexiones a la base de datos. Inmediatamente presenta en el
monitor el template, y busca en la base de datos la informacin
indicada en el archivo de conexiones. Con esto el operador puede
ver informacin de la base de datos. Por supuesto, los datos
requieren actualizacin, la que en general se hace sobre una base de
tiempos fijos, dentro del ciclo bsico del barrido. Por ejemplo, cada
un segundo el programa de visualizacin busca en la base de datos
indicados en el archivo de conexiones, y los presenta en la pantalla.

2.7.5. El driver de comunicaciones

El driver de comunicaciones es uno de los aspectos de un Software
para Control Basado en PC ms difundidos y discutidos. Los fabricantes
de software disponen de drivers para establecer comunicaciones con la
mayor cantidad posible de dispositivos de E/S y as ofrecer su producto
a la mayor cantidad posible de usuarios de estos dispositivos.

Pero Qu es un driver? La metodologa de creacin de las bases de
datos de control, y su procesamiento fueron detallados anteriormente.
Pero el programa de ejecucin de la estrategia de control no se
interrelacionan con el dispositivo de E/S. Esta es la funcin principal del
driver, que es un software cuya funcin es intercambiar datos entre el
dispositivo de E/S y la base de datos de control que se encuentra en la
memoria RAM de la PC.

Debe existir un driver por cada tipo de dispositivo de E/S.
Para ello, se debe utilizar el driver correspondiente al protocolo de
comunicaciones del dispositivo de E/S.

Utilizando este protocolo, el driver interroga al dispositivo de E/S,
obteniendo el valor de las variables de proceso que se requieran.

Este valor es copiado a la memoria RAM, en el bloque de la estrategia
de control que corresponda.

El driver debe ser configurado, para asociar los bloques de la base de
datos, y las variables del dispositivo de E/S. Esta configuracin es
almacenada en un archivo, que es llamado por el driver al arrancar. De
acuerdo a la informacin configurada, el driver iniciar el proceso de
comunicaciones con el dispositivo de E/S. En la mayor parte de los
casos se utiliza un esquema maestro-esclavo.

Los parmetros tpicos a configurar en un driver son: port de
comunicaciones de la PC a utilizar, velocidad, paridad, tiempo de
encuesta o polling, tiempo de time out, cantidad de reintentos (retry), e
identificacin de las variables del dispositivo de E/S a leer y escribir.

Estos ltimos se identifican en el driver segn la metodologa dada por el
proveedor del dispositivo de E/S.

Evidentemente, el procesamiento del driver de comunicaciones consume
parte de la capacidad de procesamiento del procesador. Cada vez que
es ejecutado, el driver analiza que informacin debe intercambiarse con
el dispositivo de E/S, de acuerdo al tiempo de encuesta configurado.

Este tiempo debe ser inferior al tiempo de barrido especificado para el
bloque asociado a este dato de E/S. En caso contrario, el bloque sera
procesado en varios ciclos de barrido, sin que el driver haya actualizado
su contenido en funcin del valor de la variable en el dispositivo de E/S.

Una recomendacin prctica usual es que el tiempo de encuesta debe
ser la mitad del tiempo de barrido del bloque. La Figura 2.27 muestra la
relacin entre el tiempo de barrido y el tiempo de encuesta.




PCL Driver:
818L Lectura Bloque Procesamiento
de la PCL-818l de la entrada
medicin analgica


Tiempo de
encuesta Procesamiento
de otros bloques



PC Tiempo de espera
Prximo barrido
Ciclo de barrido




Figura 2.27.- Relacin entre el tiempo de barrido y el tiempo de
encuesta.

Hay que considerar que la cantidad de datos que pueden transmitirse
por medio de una interfaz RS-232 es limitada. Mientras que la capacidad
de procesamiento de bloques de la PC puede incrementarse cambiando
de un modelo a otro (por ejemplo cambiar una PC 386 por una PC 486,
que es ms rpida), no es posible superar el lmite de procesamiento del
driver, ya que ste depende de la eficiencia del canal de
comunicaciones, que es fijada por el protocolo de comunicaciones y la
interfaz utilizada. Es posible que la PC tenga capacidad para procesar la
cantidad de bloques requeridos por una aplicacin, pero que no se
pueda intercambiar con el dispositivo de E/S los datos requeridos, dentro
de los plazos especificados. Esta situacin se conoce como desborde u
overrun del driver de comunicaciones.

Uno de los aspectos que debemos tener en cuenta en la implementacin
de una aplicacin, es que muchos de los drivers disponibles por parte
del proveedor de software no incluyen la totalidad de las funciones
previstas en el protocolo de comunicaciones. Si bien esto no genera
inconvenientes en la mayor parte de las aplicaciones, puede demandar
un trabajo adicional en aplicaciones especiales.

Se ha descrito la funcin de un driver. Sin embargo, con frecuencia es
deseable comunicarse con ms de un dispositivo de E/S por ejemplo un
PLC y varios controladores unilazo. Esto es posible ya que
generalmente se puede implementar ms de un driver, utilizando
distintos ports de comunicaciones. La implementacin especfica
depende de cada proveedor.

2.7.6. Sistema operativo y plataforma

Dado que un objetivo de los paquetes de software para control basado
en PC es utilizar el software y hardware de amplia difusin en el
mercado en todo lo que sea posible, el sistema operativo ms
ampliamente utilizado es DOS. Sin embargo, vimos que son mltiples
los paquetes de software que deben correr simultneamente: el software
de ejecucin de la base de datos, el software de visualizacin, el
software de registro histrico, utilitarios para el manejo de archivos,
software para la impresin automtica de reportes, etc. Dado que el
DOS no ofrece posibilidad de correr varios programas simultneamente,
se debe recurrir a soluciones especiales. Una de ellas es que el
fabricante incluya un shell multitarea que trabaje bajo DOS. Otra opcin
es el uso de programas especiales de otros proveedores, como
Desqview, que tiene capacidad multitarea.

Actualmente existe la tendencia al uso de otros sistemas operativos o
ambientes de trabajo como OS/2, Windows, Linux o Unix, que brindan
en forma standard capacidad multitarea.

Muchos proveedores ofrecen sus paquetes de software para varias de
estas plataformas, lo que implica el mantenimiento de diversas versiones
del paquete de software. En este caso es importante para el usuario
poder reportar sus aplicaciones de una plataforma a otra, sin necesidad
de rehacer reingeniera. Esto incluye los templates, bases de datos,
configuraciones, etc. Esta portabilidad no es caracterstica de todos los
productos.

2.8. Interfaz del Operador

En todo sistema de control existen vnculos que establecen una relacin
entre los operadores y el proceso. Estos vnculos se establecen por medio
de equipos que constituyen la Interfaz al ser humano (Human Interfase
HI). Otras denominaciones utilizadas son: Human-Machine-Interface
(HMI). Man-Machine-Interface (MMI), Operator Interface (OI), Graphical
User Interface (GUI).

Las necesidades que la HMI debe satisfacer en una planta industrial
dependen en gran medida de la funcin del usuario:

- El personal de operaciones debe operar la planta dentro de
especificaciones prefijadas.
- El personal de mantenimiento debe tomar acciones preventivas y
correctivas a fin de garantizar la continuidad de la operacin.
- El personal de procesos debe verificar que se cumplen las
especificaciones de procesos, y establecer tcnicas que maximicen el
rendimiento de cada unidad.
- El personal de produccin debe establecer planes de produccin para
los distintos productos, maximizando el aprovechamiento de la planta
en su conjunto.
- El personal de control debe definir estrategias de control concurrentes
con los objetivos especificados por procesos.
- El personal de marketing y la gerencia deben utilizar la informacin de
costos, planes de produccin y capacidad ociosa para establecer
estrategias que respondan a situaciones de mercado y de la empresa.

El operador de la planta es el usuario ms tradicional. Algunos de los
restantes usuarios no interactan con la HMI sino a travs del operador,
por medio de planillas que ste debe completar con los datos del proceso.
Otros usuarios, como el personal de marketing, no tienen tradicionalmente
contacto directo o indirecto con la HMI.

El fcil acceso a la informacin que ofrece la nueva generacin de
sistemas de control transforma a todos, desde el operador hasta el
personal de marketing, en usuarios directos, accediendo sin
intermediarios a la informacin que necesitan.

Uno de los eslabones en la cadena requerida para que cada uno de los
usuarios cumpla con sus objetivos es un buen diseo de la HMI. Para ello,
se deben considerar mltiples aspectos tecnolgicos y humanos. En los
siguientes puntos analizaremos las HMI desde los siguientes puntos de
vista:
Evolucin Histrica.
Aspectos tecnolgicos.
Aspectos humanos.

2.8.1. Aspectos Tecnolgicos

2.8.1.1. Componentes de una Estacin de Trabajo

Los principales componentes de una estacin de trabajo tpica son
similares a los de una computadora personal. El elemento
predominante es el monitor, usualmente de tipo CRT. La estacin de
operacin se completa con perifricos que permitan al operador
interactuar con el proceso, incluyendo la impresora, mouse, teclado,
etc. Estos elementos pueden ser instalados en un escritorio
convencional, o integrarse en una consola de diseo ergonmico.

2.8.1.1.1. Monitor

El monitor es un dispositivo utilizado para representar informacin
relacionada con la operacin de un sistema. La tecnologa ms usual
utilizada para monitores es el tubo de rayos catdicos. En este caso,
las caractersticas de un monitor responden al conjunto de CRT y
adaptador de video utilizados. El adaptador de video es una tarjeta
que contienen circuitos electrnicos que actan como interfase entre
el CRT y los buses internos de la computadora.

Las caractersticas de resolucin y cantidad de colores de un monitor
quedan determinadas por la norma de video utilizada. Las normas
ms populares son:

- CGA (Color Graphics Adapter) 2 colores.
- EGA (Expanded Graphics Adapter): 16 colores
- VGA (Video Graphic Array): 16 colores
- SVGA (super VGA): 256 colores
- XGA (Extended Graphic Array): 25,536 colores

Se debe tener en cuenta que el uso de un determinado hardware no
garantiza que el software aproveche estas caractersticas. As, un
software que utiliza pantallas creadas para monitores CGA,
presentar estas imgenes con resolucin de CGA con un monitor
VGA. Un monitor tpico utilizado para aplicaciones de control de
procesos responde a la norma VGA, con una frecuencia de refresco
de 50 o 60 Hz, no entrelazado, y un tamao de 19. Es frecuente que
se deba referir en forma especfica al hardware o a las imgenes que
ste muestra.

Desde el punto de vista de su instalacin, los monitores pueden estar
montados en consolas de diseo especfico, o directamente en una
mesa. Tambin existen monitores robustecidos basados en CRTs,
aptos para su instalacin en intemperie. Estos permiten satisfacer la
necesidad de distribuir estaciones de operacin en la planta, para
facilitar el acceso a la informacin al pie de equipo de procesos.

Para algunas aplicaciones especiales, los CRTs, son reemplazados
por otras tecnologas que brindan una funcionalidad similar. Tal es el
caso de los paneles planos (flat panel display), una tecnologa que
permite fabricar monitores muy delgados, utilizados en computadoras
de pequeo tamao como las laptop o notebook.

Tienen mayor inmunidad a la vibracin e interferencia que un CRT;
por los que resultan particularmente apropiados para la
implementacin de estaciones de operacin en planta, en ambientes
agresivos y a la intemperie.

Los paneles planos pueden estar basados en distintas tecnologas:



Cristal Lquido (Liquid Cristal Display), LCD):
Esta tecnologa es utilizada en relojes digitales, calculadoras y
monitores de notebooks y laptops. Consta de dos hojas de
material especial, entre las cuales hay una solucin de cristal
lquido. Cuando una corriente elctrica circula por una parte de la
solucin, los cristales se alinean evitando el paso de la luz.
Tpicamente se utiliza en monitores monocromos, con letras
azuladas sobre un fondo grisceo.

Monitor electroluminiscente (Electroluminescent display, ELD):
Esta tecnologa se basa en una pelcula de material
fosforescente, recubierta a ambos lados por sendas placas. Una
de las placas tiene alambres finos horizontalmente dispuestos,
mientras que la otra los tiene verticalmente dispuestos. Cuando
circula corriente por un conductor horizontal y otro vertical, la
parte correspondiente de la pelcula fosforescente brilla, creando
un punto de luz (o sea un pxel). Usualmente son de color blanco
o verde.

Transistores de pelcula fina (Thin film transistor, TFT):
Es un tipo particular de panel LCD, en el que cada pxel consta de
tres transistores separados, uno para el rojo, otro para el verde, y
otro para el azul. Esta tecnologa tiene una definicin mejor que la
de las dems tecnologas de panel plano, e incluso mejor que
muchos CRTs, pero es tambin la ms costosa.

2.8.1.2. Creacin de pantallas

La creacin de pantallas se realiza mediante un paquete de software
que debe crear dos cosas: una parte esttica de la pantalla
(denominada comnmente Template) y una parte dinmica, que se
conecta a variables de la base de datos de control.
El template contiene imgenes estticas que representan partes del
proceso, el frente de un instrumento, etc. La conexin con la base de
datos define que informacin debe presentarse en la pantalla, en que
parte, y en que formato (numrico, barras, colores, etc.). Segn el
diseador, estas dos funciones pueden estar integradas en un nico
paquete, o ser dos funciones separadas, crendose primero el
template, y conectndolo despus. En la mayor parte de los casos, la
informacin del template y las conexiones se almacenan en archivos
separados, en los discos duros.

2.8.1.2.1. El Template

La forma de creacin de los templates est influida por la calidad del
monitor utilizado. Los primeros paquetes de software para control
basado en PC utilizaban monitores CGA, en los que los templates se
creaban combinando caracteres en una resolucin de 80 x 25
caracteres.

Esta tcnica es utilizada todava en muchos DCS. La aparicin de
monitores de mayor resolucin como los EGA o VGA, permiti un
mayor detalle, sofisticacin y facilidad en la creacin de templates.
En general, se utilizaban generadores de grficos que permiten el
trazado de rectas, crculos, arcos, rectngulos, textos, etc, utilizando
generalmente un ambiente iconizado o por menes, y la asistencia
de un mouse.

Segn la forma en que se almacena la informacin del template,
podemos definir dos tecnologas:




o Basadas en pixels:
En la que se almacena el template guardando la informacin del
color que tiene cada pxel. La pantalla se construye luego
poniendo cada pxel del monitor en el color indicado por el
archivo.

o Por vectores y objetos:
En este caso, se almacenan vectores matemticos que describen
a un objeto dibujado. Por ejemplo, para una recta, el vector podr
contener la siguiente informacin: coordenadas de los pxel de
origen y final, color, tipo de trazo, ancho, etc.

2.8.1.3. Visualizacin de pantallas

El programa de visualizacin presenta al usuario la pantalla, formada
por el template y los datos obtenidos de la base de datos. Para eso
recupera del disco duro el template, y el archivo que contiene la
informacin relativa a las conexiones a la base de datos.
Inmediatamente presenta en el monitor el template, y busca en la
base de datos la informacin indicada en el archivo de conexiones.
Esta informacin es volcada en el template. Los datos de la base de
datos de control son dinmicos, por lo que la informacin mostrada
en pantalla debe ser actualizada. Generalmente se la actualiza sobre
una base de tiempos fijos, en un ciclo peridico. Por ejemplo, cada
un segundo el programa de visualizacin busca en la base de datos
los valores de las variables indicadas en el archivo de conexiones, y
los presenta en la pantalla. Otra tecnologa consiste en actualizar por
excepcin slo aquellas variables cuyo valor cambia. Esta tecnologa
disminuye en forma importante el trfico de informacin en la red.



2.8.1.4. Formatos para la presentacin de informacin

Dependiendo del proveedor, los sistemas digitales suelen ofrecer dos
posibilidades bsicas para el diseo de las pantallas destinadas a
servir como interfaz al proceso:
o Pantallas predefinidas o preconfiguradas, de rpida
implementacin, pero con escasa flexibilidad.
o Pantallas libres, que pueden ser diseadas virtualmente sin
limitaciones, con gran flexibilidad. Generalmente, permiten el
diseo de pantallas de operacin ms efectivas. Este diseo
requiere ms tiempo y conocimiento del proceso que las
anteriores. Se las conoce usualmente como pantallas tipo mmico.

En ambos casos se requiere un cuidadoso diseo, ya que por su
medio el operador debe dar respuestas rpidas y certeras a los
requerimientos del proceso, especialmente durante los transitorios
(arranques, paradas, cambio de modo operativo, emergencias, fallas,
etc.) Particularmente, las plantas de procesos continuos suelen tener
largos perodos en los que el estado es estacionario y prcticamente
no se requiere la accin del mantenerlo alerta en condiciones
normales de operacin. Por otra parte, durante los estados
transitorios o durante las emergencias el nivel de informacin no
debe ser superabundante, sobrecargando la atencin del operador.

2.8.1.5. Influencia del avance tecnolgico de los sistemas infomticos

Desde hace algunos aos existe un nfasis creciente en el uso de
grficos en ambientes computarizados, como medio para presentar
datos en una forma de sencilla compresin.
Se estima que el mercado de hardware y software para aplicaciones
grficas creci a pasos agigantados.

En este mercado se incluyen aplicaciones tan diversas como Diseo
Asistido por Computador CAD y el procesamiento de imgenes y
generacin electrnica de publicidad. Una consecuencia importante
de esta tendencia es la disminucin en los costos de los productos
asociados a estas aplicaciones. El hecho de que estas tecnologas
sean ampliamente utilizadas en muchsimas aplicaciones resulta en
una relacin prestacin/precio extraordinariamente alta. Las
estaciones de operacin ofrecidas por los proveedores de sistema de
control de procesos no puede igualar esta relacin, ya que estn
basadas en productos de tecnologa propietaria y bajo volumen de
produccin. Por tal motivo, podemos predecir que los proveedores de
sistemas de control incorporarn estaciones de operacin basadas
en tecnologas de alto volumen de ventas en sus arquitecturas. De
hecho, el sistema industrial abierto I/A de FOXBORO ya incluye
estaciones de operacin basadas en PCs o workstation UNS, como
parte estndar de la arquitectura del sistema.

En relacin con el software responsable de la interaccin con el
operador, existe una fuerte tendencia hacia ambientes de operacin
con ventanas o ambientes visuales. En este sentido, hay dos
tecnologas que estn compitiendo por el dominio del mercado
informtico.

La primera tecnologa comprende a Windows, Presentacin
Manager, y Macintosh. Los tres ambientes tiene como caracterstica
comunes su orientacin al trabajo con un solo computador, y la
ausencia de una norma de jure que las respalde. Microsoft Windows
es el ambiente ms popular de los tres mencionados.

Este programa ofrece una interfaz al usuario consistente y permite
correr varios programas simultneamente, intercambiando datos
entre ellos. Se espera que en pocos aos el trmino IBM PC
compatible sea superado por el trmino Windows compatible o
Linux compatible.

Actualmente muchos paquetes de software para control basados en
PC estn migrando hacia MS Windows o LINUX. Sin embargo. MS
Windows est diseado para operar con un nico procesador.
Microsoft dispone de, o tiene planificados productos derivados de
Windows (el Windows NT, Windows XP) que ofrecern beneficios
cuando sean implementados en redes con mltiples procesadores.
Sin embargo, estos productos no han alcanzado hoy la categora de
norma del mercado, ya sea de facto o de jure.

Por otra parte, la tecnologa X Windows est actualmente disponible
en ambientes de sistemas de mayor envergadura, con sistemas
operativos como LINUX o UNIX y redes como 802.3 con TCP/IP. La
implementacin de estas tecnologas es parte de una nueva
generacin de sistemas de control.

2.8.2. Aspectos humanos del diseo de pantallas

El objetivo de las pantallas de operacin es permitir al usuario un rpido
reconocimiento, interpretacin y manipulacin del proceso. Numerosos
aspectos deben ser analizados para lograr este objetivo. Antes de
comenzar con el diseo de las pantallas, es recomendable poseer los
siguientes conocimientos:

- Conocer al proceso:
Se debe saber cmo funciona la planta tanto en estado estacionario
como durante los transitorios.



- Conocer al operador:
Se debe saber qu experiencia y conocimientos posee; las pantallas
deben ser autoexplicativas para el nivel de conocimientos que posee
el usuario, haciendo evidente la prxima accin que el operador deba
tomar. Esto facilitar y har ms cmoda su tarea.

- Conocer el ambiente donde se encuentra la instalacin:
Con qu hardware cuenta el operador?. Cul es el diseo de la
sala de control?. Hay personal en forma permanente en la sala?.
Estas preguntas deben tener respuesta antes de empezar el diseo.
El uso de multipantallas direccionables (el operador puede pedir
desde un monitor que se enve a otro cualquier grfico) tambin debe
ser tenido en cuenta.

Teniendo estos conocimientos, es posible iniciar el diseo de las
pantallas. En esta seccin presentaremos reglas asociadas a cuatro
aspectos que deben ser tenidos en cuenta durante esta tarea:

- El usuario
- La disposicin de elementos en la pantalla.
- Detalles de la pantalla.
- Caractersticas del monitor y la sala.

En la aplicacin de cualquiera de las reglas, debe considerarse siempre
la siguiente regla:

Regla 0: Todas las reglas tienen excepciones. Por lo tanto, cuando UD.
Entienda que tiene buenas razones para hacer una excepcin, esta se
debe hacer.



2.8.2.1. El usuario

Regla 1: Conozca al usuario, y disee la pantalla pensando en l.
Una tendencia muy comn de programadores e ingenieros es
disear pantallas pensando en ellos mismos, en lugar de hacerlo
pensando en el usuario.

Regla 2: Siga los estereotipos y convenciones del usuario en
forma uniforme. Por ejemplo, en la sealizacin del trnsito de las
calles, todos sabemos que el rojo significa que el trnsito est
detenido, y el verde que est avanzando. En las plantas de
generacin o distribucin elctrica, en cambio, el rojo indica que la
corriente circula, mientras que el verde indica que est detenida.

Regla 3: Haga que las pantallas sean tan fciles de entender, que
no se requiera un manual. Su uso debe ser obvio. La inconsistencia,
y la falta de claridad atentan contra la obviedad de la pantalla.

Regla 4: Las pantallas deben ser fciles de usar. Esto debe ser un
objetivo del diseo de las pantallas, y no algo que ocurre por
casualidad. En particular, la pregunta Cul es el objetivo de esta
pantalla?, Debe hacerse antes de iniciar el diseo de cualquier
pantalla.

Regla 5: No antiborrar al operador con alarmas y mensajes que
puedan aparecer simultneamente. Existe la tentacin de colocar
alarmas y avisos a cada variable en forma individual, dada la
facilidad y gratuidad que el software permite; sin percibir que ante
un evento, se puede desencadenar una cascada de informacin que
puede confundir al operador.

Regla 6: En aquellos casos en que la informacin no se realimente
con mediciones de campo, el operador debe ser entrenado para
diferenciar una seal del sistema de la realidad, atendiendo a que
en circunstancias extraordinarias, ambas pueden diferir. Por ejemplo,
no se debe confundir la indicacin de la seal de salida a la vlvula
de un controlador, con la verdadera posicin de la vlvula que se
cierre, e indicar en la pantalla que la vlvula est cerrada. Pero la
vlvula puede haberse trabado accidentalmente, y permanecer
abierta.

2.8.2.2. La disposicin de los elementos en pantalla

Regla 7: Evite el detalle innecesario. Por ejemplo, es innecesario
dibujar el bypass de una vlvula de control, a menos que este est
automatizado. El bypass ocupa espacio en la pantalla, y distrae al
operador, sin agregar informacin til. El nivel de detalle de una
pantalla est tambin relacionado con su objetivo. Tambin puede
ser necesario mostrar en algunas pantallas cada bomba de un
conjunto, mientras que en otra pantalla bastar mostrar una sola
bomba en representacin del conjunto.

Regla 8: Use una grilla de referencia, comn a todas las pantallas. El
espacio disponible en la pantalla se divide en reas para el titulo de
la pantalla, mensajes, mmicos, zonas sensibles para el acceso a
otras pantallas, fecha y hora.
Esta grilla debe ser utilizada para todas las pantallas. Si esto no es
posible, debe disearse otra grilla.

Regla 9: En tablas de nmeros, alinie el punto decimal. En tablas
de palabras, alinie a la izquierda. Esta regla aumenta la legibilidad
de la informacin.

Regla 10: Agrupe los elementos asociados. Para el ser humano es
ms fcil recordar un conjunto de equipos asociados, que esos
mismos equipos individualmente. Del mismo modo, resulta ms fcil
recordar la secuencia de letras recordar, que la secuencia de letras
gkdoosme, an cuando ambas tengan la misma cantidad de letras y
vocales.

Regla 11: Ubique las cosas en forma lgica. Por ejemplo, si se
agrupan eventos por su orden de aparicin, los ms recientes deben
estar al comienzo de la lista (arriba), y los ms antiguos al final
(abajo). En forma similar, si los ordenamos por importancia, los ms
importantes deben estar arriba, y los menos importantes abajo. Por
otra parte, los eventos de igual importancia deben estar juntos.

Regla 12: Disee una pantalla balanceada. Una pantalla
balanceada tiene la mitad del peso de cada lado. El peso se refiere
al hecho de que algunos objetos parecen pesar ms que otros, en
virtud de su tamao, forma color, grosor de las lneas, etc.

Regla 13: Sea consistente. Los elementos dentro de una pantalla
deben ser consistentes. Tambin debe haber consistencia entre
elementos de distintas pantallas. Por ejemplo, utilice siempre las
mismas unidades para la misma variable.

2.8.2.3. Detalles de la pantalla

Regla 14: No usar ms de siete colores. Un estudio psicolgico
sugiere que la mxima cantidad de informacin que el ser humano
puede recibir en forma cmoda y eficiente, utilizando una codificacin
de un elemento (por ejemplo el color), es de 7 valores diferentes.
Usado con moderacin el color se puede utilizar para llamar la
atencin sobre datos especficos, reducir los errores de
interpretacin, ayudar a absorber ms informacin, y facilitar el
recuerdo de una pantalla. Utilizada en exceso o inapropiadamente, la
abundancia de colores provocar confusin, cansancio, y aumentar
la posibilidad de error.

Regla 15: No utilizar el negro como color de fondo. El uso de otro
color oscuro como el azul o el gris oscuro, requerir menor
adaptacin del ojo humano a los contrastes entre la iluminacin de la
sala y el CRT, y entre la informacin mostrada (foreground) y el
fondo (background) de la pantalla.

Regla 16: No utilizar colores que combinados luzcan mal. El color
suele ser afectado por su ambiente. Por lo tanto, los colores a utilizar
deben ser elegidos considerndolos no slo individualmente, sino
tambin en su conjunto. Por ejemplo, caracteres compuestos por
lneas finas pueden parecer de un color distinto que una superficie
grande y uniforme del mismo color. Estas combinaciones deben
chequearse en el sistema mismo, y no mediante tablas impresas de
colores.

Regla 17: Utilice el color en forma efectiva. Evite utilizar
nicamente colores bsicos; rojo, verde, azul, magenta, cian,
amarillo, blanco y negro, Pruebe por ejemplo, utilizar dos o tres tonos
de marrn (o amarillo, o azul, o verde). Reserve el rojo para alarmas
importantes. Una vez ms sea consistente.

Regla 18: Cuando codifique informacin utilizando tamaos o formas,
no utilice ms de 7 diferentes formatos. Esta regla es similar a la
regla 14.



Regla 19: Evite utilizar el parpadeo, excepto para llamar la atencin
sobre algo importante. Este recurso debe usarse con moderacin ya
que la atraccin sobre el elemento parpadeante es muy fuerte, y
neutraliza otras informaciones, no importa su color o formato. La
frecuencia de parpadeo debe ser de 1 a 4 Hz, ya que frecuencias
mayores pueden traer trastornos fsicos. Los textos parpadeantes
son muy difciles de leer.

Regla 20: Use un tipo de caracteres (font) que sea fcil de leer.
En particular observe si las siguientes combinaciones de caracteres
son fciles de distinguir Q/0, S/5, U/V, X/K, I/1, 6/G, y 0/O.

Regla 21: Separe adecuadamente las letras, las palabras y las
lneas de texto. Es recomendable una separacin de un caracter
entre palabras, y del 50% de la altura del caracter entre lneas de
texto. Las lneas de texto que se tocan son particularmente difciles
de leer.

Regla 22: Utilice letras maysculas, a menos que la resolucin del
monitor sea de 640 x 480 pixels, o superior.

Regla 23: Utilice textos breves y claros. Por ejemplo, el texto
Cuidado: las bateras en el AN/MSQ-55 pueden ser una fuente
mortal de electricidad en determinadas condiciones no tiene la
claridad suficiente. Sin duda, el texto CUIDADO!!! ESTO PUEDE
MATARLO!!! es ms claro directo y efectivo.

2.8.2.4. Caractersticas del monitor y de la sala

Regla 24: La resolucin mnima recomendable es de 640 x 480
pixels.

Regla 25: Utilice un monitor con una frecuencia de refresco de 50 o
60 Hz, no entremezclado.

Regla 26: Evite una diferencia importante entre la iluminacin de la
habitacin y el brillo del monitor. La habitacin debe estar lo
suficientemente iluminada como para que sea fcil leer un
documento, pero suficientemente oscura como para que sea
confortable mirar el monitor. Las ventanas detrs de los monitores
generan cansancio, debido al contraste entre la luminosidad del
monitor y la luz del da. Por otra parte, si la ventana est a espaldas
del operador, la luz del da se refleja en el monitor.

Regla 27: Utilizando pantallas sensibles al tacto, las reas activas
deben ser como mnimo de 2,5 cm x 2,5 cm.

El uso de estas recomendaciones contribuir a obtener pantallas que
permitan al operador concretar su objetivo: el mejor control de la
planta.

2.8.3. Resumen e integracin

En la actualidad, existe la tendencia a asignar mayor responsabilidad a
los operadores, incluyendo, por ejemplo, el monitoreo continuo de
calidad de los productos dentro de sus reas. Por otra parte, la
integracin de los sistemas de control con los administrativos permite a
ingenieros y gerentes disponer de informacin en sus escritorios, en
lugar de compartir unos pocos monitores en la sala de control.

Como consecuencia, los usuarios requieren cada vez ms informacin
de la HMI. Los operadores requieren Mediciones Dinmicas de
Rendimiento (Dynamic Performance Measurements) que les permita
cumplir con sus objetivos. Los nuevos usuarios del sistema (ingenieros
de procesos, de mantenimiento, de planificacin, gerentes) tienen
requerimientos especiales, que tambin deben ser satisfechos. Por lo
tanto, el diseo de la interfaz al ser humano est tendiendo un creciente
grado de importancia.

Las herramientas actualmente disponibles, tanto en hardware como en
software, permiten crear puestos de trabajo en los que la informacin
requerida este fcilmente disponible. Pero esto no ocurrir en forma
automtica. Un equipo multidisciplinario, que incluya a operadores,
ingenieros de mantenimiento, procesos y produccin, y al diseador del
sistema, deber ser el responsable de obtener los mximos beneficios
de la tecnologa disponible.

Los conceptos presentados son vlidos, en trminos generales, para las
tecnologas descritas en este trabajo de tesis: Sistemas de control
basados en PC, OIS. Por supuesto, no todas las tecnologas
satisfacern estas necesidades en la misma forma. Por lo tanto, la
flexibilidad y capacidad que un sistema tenga para la implementacin de
una HMI es un importante aspecto en el anlisis de un sistema.








CAPITULO III

DISEO E IMPLEMENTACIN DEL HARDWARE DE LOS SIMULADORES
DE TEMPERATURA Y NIVEL

3.1. Diseo del mdulo simulador de proceso de temperatura

3.1.1. Especificaciones de diseo

a. Disear mediante circuitera la forma de onda en forma sigmoidea,
caracterstica de un proceso de temperatura.
b. Permitir que este circuito pueda realizar caractersticas reales de un
proceso industrial, ejemplo: perturbaciones, ya sean de forma rpida
o lenta.
c. El tiempo que el proceso a una mxima entrada, tendr una mxima
salida de alrededor de los 10 minutos.
d. El rango de las variables ser de 0 a 10 V.
e. Alimentacin del circuito: + 15 V / -15 V
f. El diagrama de bloques del sistema completo se muestra en el plano
3.1.

3.1.2. Diseo de la Etapa I de los actuadores Plano 3.2

Tomando en cuenta el Divisor de Voltaje:


Figura 3.1.- Divisor de voltaje

|
|
.
|

\
|
+

=
+
+
=
+ +
|
.
|

\
|
=
+ + =
3
1
) ( * ) 3 10 (
3
1
3 !*
* 3 * 1
1
1
1
1
1
1
1
1 1
R
R
V Vi R
V
R
R
V Vi
I
I R VBE
I
R Vi
I R V I R Vi
Q
BE
O
Q
BE
C
C
Q
C
C BE B



Para a corriente de la lmpara:


Plano 301

Plano 302

Resistencia de la lmpara: 20

1 LA BE
ICR V Vo + =

A
R
V V
I
LA
BE O
C
47 . 0
20
6 . 0 10
1
1
=

=

Entonces elegimos el transistor que soporte los 0.47 A. Se elige el
ECG128 NPN que tiene las siguientes caractersticas:

= 200
I
CMAX
= 1 A

3.1.3. Diseo de las etapas del proceso

3.1.3.1. II Etapa

Se propone el circuito mostrado en el Plano 3.3, que es el tpico
circuito integrador con amplificadores operacionales.

Diseo de Ganancia ACD

Se proceder a obtener una ganancia de 0.5 ya que tenemos a la
entrada 20 V y deseamos obtener a la salida solo 10 V.

Si elegimos R3 = 100 K y A
CD
= 0.5, entonces:

=
=
=
K R
K R
R
R
A
CD
50 5
) 100 ( 5 . 0 5
3
5

Entonces se elige el valor comercial de R5 de 56 K.

Realizamos su funcin de transferencia.

Tiempo de integracin

( )
3
1
// 5
1
2
R
sC
R
Z
Z
s H = = [Ec 3.1]

Luego:
( )
3
1 5
5
3
1
5
1
* 5
R
Cs R
R
R
sC
R
sC
R
s H
+
=
+
= [Ec. 3.2]


( )
1 5
1
*
3
5
+
=
Cs R R
R
S H [Ec. 3.3]


|
.
|

\
|
+
=
s
C R
C R Vi
Vo
3
1
1
*
3
1
[Ec. 3.4]


En funcin del tiempo:

t
C R
e
C R Vi
Vo
5
1
*
3
1

= [Ec. 3.5]

Entonces el tiempo ser igual a:

)) * * 3 (ln( * 5 Vr C R C R t = [Ec. 3.6]

Siendo Vr = la relacin entre el voltaje de entrada y el voltaje de
salida.

Plano 303


Como ya sabemos los valores de R3 = 100 K y R5 = 56 K.

Tenemos que:

Condensador (C) Tiempo (segundos)
100 F 10
220 F 31
330 F 54
470 F 86

Tabla 3.1.- Valores de tiempo de acuerdo al condensador

3.1.3.2. III Etapa

Se propone el circuito mostrado en el Plano 3.4, que es el tpico
circuito integrador con amplificadores operacionales. En esta etapa
se est diseando la primera perturbacin que responde a una
perturbacin lenta y se sigue generando la curva.

Diseo de Ganancia ACD

Se proceder a obtener una ganancia de 1 ya que no se desea
que vare en magnitud la amplitud del voltaje.

Si elegimos R7 = 100 K y A
CD
= 1, entonces:
=
=
=
K R
K R
R
R
A
CD
100 9
) 100 ( 1 9
7
9

Realizamos su funcin de transferencia.

Plano 304

Tiempo de integracin

Hacemos uso de la Ecuacin 3.6.

)) * * 7 (ln( * 9 Vr C R C R t =

Siendo Vr = la relacin entre el voltaje de entrada y el voltaje de
salida.

Como ya sabemos los valores de R7 = 100 K y R9 = 100 K.

Tenemos que:

Condensador (C) Tiempo (segundos)
100 F 23
220 F 68
330 F 115
470 F 180

Tabla 3.2.- Valores de tiempo de acuerdo al condensador

3.1.3.3. IV Etapa

Se propone el circuito mostrado en el Plano 3.5, que es el tpico
circuito integrador con amplificadores operacionales. En esta etapa
se sigue generando la curva.

Diseo de Ganancia ACD

Se proceder a obtener una ganancia de 1 ya que no se desea
que vare en magnitud la amplitud del voltaje.
Plano 305

Si elegimos R11 = 100 K y A
CD
= 1, entonces:

=
=
=
K R
K R
R
R
A
CD
100 12
) 100 ( 1 12
11
12


Realizamos su funcin de transferencia.

Tiempo de integracin

Hacemos uso de la Ecuacin 3.6.

)) * * 11 (ln( * 12 Vr C R C R t =

Siendo Vr = la relacin entre el voltaje de entrada y el voltaje de
salida.

Como ya sabemos los valores de R11 = 100 K y R12 = 100 K.

Tenemos que:

Condensador (C) Tiempo (segundos)
220 F 68
330 F 115
470 F 180
1000 F 460
2200 F 1186

Tabla 3.3.- Valores de tiempo de acuerdo al condensador

3.1.3.4. V Etapa

Se propone el circuito mostrado en el Plano 3.6, que es el tpico
circuito integrador con amplificadores operacionales. En esta etapa
se est creando la segunda y ms rpida perturbacin, adems se
sigue generando la curva.

Diseo de Ganancia ACD

Se proceder a obtener una ganancia de 1 ya que no se desea
que vare en magnitud la amplitud del voltaje.

Si elegimos R14 = 100 K y A
CD
= 1, entonces:

=
=
=
K R
K R
R
R
A
CD
100 16
) 100 ( 1 16
14
16


Realizamos su funcin de transferencia.

Tiempo de integracin

Hacemos uso de la Ecuacin 3.6.

)) * * 14 (ln( * 16 Vr C R C R t =

Siendo Vr = la relacin entre el voltaje de entrada y el voltaje de
salida.

Plano 306
Como ya sabemos los valores de R14 = 100 K y R16 = 100 K.


Tenemos que:

Condensador (C) Tiempo (segundos)
100 F 23
220 F 68
330 F 115
470 F 180
1000 F 460

Tabla 3.4.- Valores de tiempo de acuerdo al condensador

3.1.3.5. Definicin de tiempos

Si deseamos que el tiempo total sea de 600 segundos y teniendo en
cuenta que en la etapa dos queremos crear la perturbacin lenta,
entonces tendremos los siguiente valores de los condensadores:

Etapa Valor del condensador
1 220 F
2 100 F
3 1000 F
4 100 F

Tabla 3.5.- Definicin de valores de condensadores

Por lo que tendremos los siguientes tiempos:





Etapa Tiempo (segundos)
1 31
2 23
3 460
4 23
Total 537

Tabla 3.6.- Definicin de tiempos

3.1.4. Diseo convertidor de voltaje (0 10 V) a Corriente (0 20 mA) Plano
3.7

De acuerdo al Plano 3.7, tenemos que:

4 7 D O X
V V V + = [Ec. 3.7]

E BE X
I R V V 18 + = [Ec. 3.8]

C CC X
I R V V 19 = [Ec. 3.9]

Entonces:

E BE D O
E BE D O
I R V V V
I R V V V
18
18
4 7
4 7
= +
+ = +


Si V
D4
= V
BE


) ......( .......... .......... .......... 18
7

E O
I R V =






plano 307


) .......( .......... 19
19
4 7
4 7

D O C CC
C CC D O
V V R I V
I R V V V
+ =
= +


V
O8
:

8 5
) 5 ( 5
) 5 ( 5
) 5 ( 8
20 ) (
18 20
18 20
) ........( .......... 18
O E D CC
E Q CE E D CC
E Q CE C D CC
E Q CE O
V R I V V I
I R V R I V V
I R V R I V V
I R I V V
=
+ =
+ + + =
+ =


De ()

) ....( .......... .......... .......... 20 *
18
8
7
5
II V R
R
V
V V
O
O
D CC
=

Q6:



Figura 3.2.- Configuracin del transistor 6 (Q6)

) .....( .......... .......... 20 *
18
5
7
5
III R
V
V V V I P V
D
D CC BE E CC
|
.
|

\
|
+ + =

C E
O
E
O E
O
E
I I
R P
R V
I
R
R
V I P
R
R
V
I RP

=
=
=
6
7
6
7 6
7
6
18 5
20
18
20
5
20 *
18
5 0


Si V
O7
= 10V entonces I
E6
debe de ser igual a: 20 mA

2
5
20
5
20
* 7
10
1 * 20
18
6
=
=

=
P
R
P
R
VO
K mA
V R I
E


Si R20 = 270

P5=270/2 = 135 a 270

Entonces elegimos el potencimetro de 330 .

3.1.5. Perturbaciones

En el caso de las perturbaciones se ha tenido en cuenta dos tipos: una
rpida y otra lenta.

En el caso de la perturbacin rpida, es una realimentacin de la salida
que se produce solo cuando se activa el segundo switch, en este caso
se realimenta una salida positiva y se suma con la entrada de la cuarta
etapa que es una rampa negativa, por lo que a la salida se produce un
rpido descenso de la curva final.

En el caso de la perturbacin lenta, es una realimentacin de la salida
que se produce solo cuando se activa el primer switch, en este caso de
produce una realimentacin positiva con la segunda etapa, que
normalmente su entrada es una rampa negativa, esta tarda mas en
producirse ya que tiene que descargar al condensador de 1000 F, por
esta razn se produce de manera ms lenta.

3.1.6. Simulaciones de las Etapas del Simulador del Proceso de Temperatura

Las simulaciones han sido realizadas con el software Circuit Maker 6.0.
PRO. Las simulaciones tienen el siguiente orden:

Figura 3.3. Simulacin de la I Etapa de Opamps
Figura 3.4. Simulacin de la II Etapa de Opamps
Figura 3.5. Simulacin de la III Etapa de Opamps
Figura 3.6. Simulacin de la IV Etapa de Opamps

3.1.7. Circuito Final

El circuito final del Simulador del proceso de temperatura se puede
observar en el Plano 3.8, adems en el Plano 3.9 podemos observar el
diseo del panel frontal del simulador y en el Plano 3.10 podemos
observar el diseo de la caja que alberga este simulador. En el Plano
3.11 podemos observar el diseo del circuito impreso y distribucin de
componentes.

Figura 3.3. Simulacin de la II Etapa del Simulador del Proceso de
Temperatura


Figura 3.4. Simulacin de la III Etapa del Simulador del Proceso de
Temperatura

Figura 3.5. Simulacin de la IV Etapa del Simulador del Proceso de
Temperatura

Figura 3.6. Simulacin de la V Etapa del Simulador delV Proceso de
Temperatura





Plano 308

Plano 309


Plano 310


Plano 311
3.2. Diseo del mdulo simulador de proceso de nivel

3.2.1. Especificaciones de Diseo

a. Disear mediante circuitera la forma de onda caracterstica de un
proceso de nivel de cualquier lquido, el que est conformado por
rampas.
b. Permitir que el circuito pueda realizar caractersticas reales de un
proceso industrial, ejemplo: perturbaciones.
c. El tiempo en el que el proceso subir hasta su mximo nivel ser
de: 15 segundos.
d. Rango de variables: 0 10 V
e. Alimentacin del circuito: +15 / -15
f. El diagrama de bloques de este equipo lo podemos observar en el
Plano 3.12.

3.2.2. Diseo del sumador de seales

Para esta etapa usaremos un simple sumador con Amplificadores
Operacionales. Este circuito lo podemos observar en el Plano 3.13.

Luego tenemos que su formula ser:

) 2 1 (
2
2
V V
R
R
Vi
Vo
+ = [Ec. 3.10]

3.2.3. Circuito Integrador

Para este caso usaremos el mismo circuito que en el caso del proceso
de temperatura, el cual est descrito en el tiempo en la Ecuacin 3.6 y el
Plano 3.3. Por lo que tenemos:



Plano 312


Plano 313


)) * * 1 (ln( * 2 Vr C R C R t = [Ec. 3.6]

En este circuito es necesario que la carga del condensador se
mantenga, ya que este est simulando un proceso de nivel en el que el
nivel puede quedar de manera estacionaria durante un tiempo muy
prolongado. Es por esta razn que usaremos un resistencia de 4.7 M.

Adems tenemos una resistencia de 510 K a al entrada no inversora
del OPAMP.

Con esto valores procederemos a seleccionar el condensador mas
adecuado.

Condensador (C) Tiempo (segundos)
3.3 F 4
4.7 F 13
10 F 64

Tabla 3.7.- Valores de tiempo de acuerdo al condensador

Elegimos el de 4.7 F, que nos proporciona un tiempo de 13 segundos.

Por lo que usando este circuito, tenemos que nuestro tiempo de subida
ser: 13 segundos, este tiempo difiere poco a lo planteado, por lo que el
diseo es ptimo.

3.2.4. Perturbaciones

La perturbacin, que viene a representar una fuga de agua est
representada en el circuito por la entrada de 10 V al sumador de
voltajes.

3.2.5. Circuito final

El circuito final del Simulador del proceso de nivel se puede observar en
el Plano 3.14, adems en el Plano 3.15 podemos observar el diseo del
panel frontal del simulador y en el Plano 3.16 podemos observar el
diseo de la caja que alberga este simulador. En el Plano 3.17 podemos
observar el diseo del circuito impreso y la distribucin de componentes.






Plano 314

Plano 315


Plano 316


Plano 317



3.3. Especificaciones de la DAQ Advantech PCL 818L

3.3.1. Conversor Anlogo Digital

Canales: 16 de forma simple y 8 de forma diferencial
Resolucin: 12 bits
Rangos de entrada (V
DC
bipolar):
- 0.625, 1.25, 2.5, 5 o
- 1.25, 2.5, 5, 10
Todos los rangos de entrada se pueden configurar por software
Sobrevoltaje: 30 V
DC
mximo
Tipo de conversin: Aproximaciones sucesivas
Razn de conversin: 40 KHz mximo
Precisin: (0.01% de la lectura), 1 bit.
Linealidad: 1 bit
Modo de disparo: disparo por software, disparo por pasos
programable por la tarjeta o disparo externo.
Disparo externo: compatible por TTL.
Transferencia de datos: Programable, mediante interrupcin o DMA

3.3.2. Conversor Digital Anlogo

Canales: 1
Resolucin: 12 bits
Rango de salida: 0 a +5 (+10) voltios
Tipo de conversin: multiplicador monoltico de 12 bits
Linealidad: 0.5 bit
Tiempo de establecimiento: 5 microsegundos




3.3.3. Entrada digital

Canales: 16
Nivel: Compatible TTL
Rango de entrada:
- Bajo: 0.8 V Mximo
- Alto: 2.0 V Mnimo

3.3.4. Salida digital

Canales: 16
Nivel: Compatible TTL
Salida de Voltaje:
- Bajo: Drenaje de 8 mA a 0.5 V Mximo
- Alto: Fuente de 0.4 mA a 2.4 V Mnimo

3.3.5. Temporizador/contador Programable

Dispositivo: Intel 8254 o equivalente
Contadores: 3 canales, 16 bits
- 2 canales son permanentemente configurados como pasos
programables
- 1 canal es libre para sus aplicaciones
Entrada: Compatible con TTL/CMOS
Base de tiempo:
- Canal 1: 10 MHz o 1 MHz, seleccionable por jumper
- Canal 2: Toma la entrada por el canal 1
- Canal 0: Reloj interno de 100 KHz o reloj externo (10 MHz
mximo).
Salida: 0.00023 Hz (71 pulsos por minuto) a 2.5 MHz


3.3.6. Canal de Interrupcin

Nivel: IRQ 2 a 7, seleccionable por software
Habilitacin: Via INTE bit del registro de control (BASE+9)

3.3.7. Canal DMA

Nivel: 1 o 3, seleccionable mediante jumper
Habilitacin: Via DMAE bit del registro de control (BASE+9)

3.3.8. General

Consumo de energa
- + 5V: 210 mA tpico, 500 mA mximo
- + 12 V: 20 mA tpico, 100 mA mximo
- - 12 V: 20 mA tpico, 40 mA mximo
Conector E/S: 20 pines Molex
Conector Entrada anloga/salida anloga/contador: 37 pines DB37
Direccin BASE E/S: Requiere 16 direcciones consecutivas. La
Direccin base se define mediante el DIP Switch SW1. (Direccin
base a usar: 200H)
Temperatura de Operacin: 0 a +50C
Temperatura de almacenamiento: -20 a +65C



CAPITULO IV

DISEO DE SOFTWARE

VISUAL BASIC Y LABVIEW


4.1. Diseo del software en Visual Basic

RESUMEN.

El siguiente captulo es el desarrollo del diseo y anlisis orientado a
objetos de un sistema informatizado utilizando el Lenguaje de
Modelamiento Unificado UML. El sistema analizado es un Controlador de
Procesos Industriales (Temperatura y Nivel).

El diseo ha sido implementado utilizando un hardware externo
(Simulador), una tarjeta de Adquisicin de datos y el lenguaje de
programacin Visual Basic 6.0.

4.1.1. Introduccin

UML (Unified Modeling Language) es un lenguaje que permite modelar,
construir y documentar los elementos que forman un sistema software
orientado a objetos. Se ha convertido en el estndar de facto de la
industria, debido a que ha sido concebido por los autores de los tres
mtodos ms usados de orientacin a objetos: Grady Booch, Ivar
Jacobson y Jim Rumbaugh.

Estos autores fueron contratados por la empresa Rational Software Co.
para crear una notacin unificada en la que basar la construccin de sus
herramientas CASE. En el proceso de creacin de UML han participado,
no obstante, otras empresas de gran peso en la industria como
Microsoft, Hewlett-Packard, Oracle o IBM, as como grupos de analistas
y desarrolladores. Esta notacin ha sido ampliamente aceptada debido
al prestigio de sus creadores y debido a que incorpora las principales
ventajas de cada uno de los mtodos particulares en los que se basa:
Booch, OMT y OOSE. UML ha puesto fin a las llamadas guerras de
mtodos que se han mantenido a lo largo de los 90, en las que los
principales mtodos sacaban nuevas versiones que incorporaban las
tcnicas de los dems. Con UML se fusiona la notacin de estas
tcnicas para formar una herramienta compartida entre todos los
ingenieros software que trabajan en el desarrollo orientado a objetos.

4.1.2. Requerimientos de anlisis

Un controlador de procesos industriales recibe las seales del simulador
(mediante una DAQ). Este valor lo resta con el valor deseado o SET
POINT, esta diferencia es llamada error; este error es ingresado a un
algoritmo de control PID.

Este algoritmo produce una seal correctora de salida que es enviada al
Simulador.

Un Simulador de Procesos (Temperatura y Nivel) es un hardware
electrnico diseado para obtener la curva caracterstica de dicho
proceso y as poder realizar la sintonizacin y el control de dicho
proceso.

Las principales caractersticas de este producto que vamos a considerar
en nuestro diseo son:

Fcil de usar.
Buena calidad de grficos
Pantallas de ayuda en cualquier ventana.
Sistema amigable al usuario
Sistema adaptable a procesos industriales reales.

4.1.3. Eventos externos

Un sistema informatizado esta interactuando constantemente con el
medio ambiente.

En esta primera parte del anlisis, podemos considerar nuestro sistema
como una caja negra que reacciona a las peticiones de control del medio
ambiente (perturbaciones).

El medio ambiente esta compuesto por distintos agentes. Cada actor
interacta con nuestro sistema con un propsito diferente.



Diagrama de Contexto

SENSORES/ACTUADORES
+ Entrada
+ Salida
+ Actuadores
+ Perturbadores
+ Indicadores
INTERFAZ
DAQ- PCL818L
SISTEMA
Controla
Visualiza


Figura 4.1.- Diagrama Plano - Contexto

La Figura 4.1. muestra al actor que interacta con nuestro sistema.

Tenemos identificados al agente usuario. Tambin se muestran las
interfaces, sensores y actuadores que ofrece nuestro sistema y las
seales que recibe el actor.

Estas seales pueden ser requeridas por el agente al sistema o
respuestas o servicios del sistema al agente. Los sensores para la
captura de datos son la entrada a actuadores y el control de actuadores.

Los actuadores para el usuario agente son los indicadores de
actuadores y la pantalla del monitor (Interface de ususario).

Eventos.

Un evento es un mensaje importante del medio ambiente. Un sistema en
tiempo real tiene que reaccionar ante los eventos externos
(perturbaciones) en un tiempo lmite.

La siguiente tabla muestra todos los eventos externos que pueden
ocurrir en nuestro sistema. La direccin de un evento puede ser IN del
medio ambiente al sistema, o OUT del sistema al medio ambiente.
Un evento puede ser Peridico o episdico.

EVENTO RESPUESTA DEL
SISTEMA
DIRECCIN MUESTRA
1 Cada segundo Actualiza el reloj
Actualiza tarea de pantalla
IN P
2 Un periodo de
muestreo
Captura datos del
simulador
Muestra por pantalla
IN P
3 Usuario presiona un
botn de comando,
Crea una
perturbacin
Muestra la tarea por
pantalla.
Comienza a ejecutar la
tarea.
IN E
4 Usuario sale del
sistema
Se detienen tareas
actuales.
Actualiza el sistema
IN E

4.1.4. Casos de uso

Un caso de uso describe la funcionabilidad del sistema desde el punto
de vista del usuario.

Cada caso de uso es un modo diferente de usar al sistema, por lo que
cada caso de uso produce un diferente resultado.

En nuestro sistema tenemos 8 casos de uso, representados en la Figura
4.2.





Iniciar Sintona:

Temperatura: El usuario selecciona esta opcin y se realiza la
obtencin de la curva de reaccin del proceso por el mtodo de
Cohen y Coon.

El Sistema comienza a muestrear la seal visualizndola en
tiempo real y despus de 10 minutos estar listo para obtener los
parmetros PID.

Nivel: El usuario selecciona esta opcin y se realiza el muestreo
de la seal del simulador.

El usuario comenzar a variar el parmetro P del controlador, el
sistema comienza a muestrear la seal, despus de 15 segundos
el usuario determinar visualmente si la seal es la adecuada.
Si la seal es la adecuada el sistema estar listo para obtener los
parmetros PID.

Obtencin de parmetros PID: Despus de realizar la sintona el
usuario tendr tres opciones: Obtener parmetros PI, Obtener
Parmetros PD y Obtener parmetros PID.

Depende de la opcin elegida el sistema efectuar unas frmulas
propuestas por el mtodo de sintona de lazo abierto (temperatura) o
lazo cerrado (nivel) y mostrar los parmetros por pantalla.

Cambiar Set-Point: Cuando el usuario cambia este valor, visualmente
y en tiempo real observar el cambio por pantalla.

Control PID: El usuario empieza a realizar la accin de control PID. El
sistema comienza a resolver el algoritmo que se encuentra en
memoria, sensando el valor actual, determinando el error, y
devolviendo por medio de la DAQ un valor entre 0 y 10 voltios.

Cambiar Parmetro P: El usuario al cambiar este valor, est
cambiando el parmetro P que se carga en el algoritmo PID que se
encuentra en la memoria del sistema, ocasionando que el error
aumente o disminuya y el control no se realice adecuadamente.

Cambiar Parmetro I: El usuario al cambiar este valor, est
cambiando el parmetro I que se carga en el algoritmo PID que se
encuentra en la memoria del sistema, ocasionando que el control no
se realice adecuadamente.

Cambiar Parmetro D: El usuario al cambiar este valor, est
cambiando el parmetro P que se carga en el algoritmo PID que se
encuentra en la memoria del sistema, ocasionando que el control no
se realice adecuadamente.

Crear una Perturbacin: El usuario simula una perturbacin cada vez
que lo desee.

Esta perturbacin ocasionar que la seal que en ese momento se
este midiendo comenzar a disminuir lenta o rpidamente (segn la
perturbacin efectuada por el usuario).

Todo esto se visualiza por pantalla.



Diagrama Casos de Uso

Control de Procesos Industriales

Iniciar Sintonia
Obtencin de Parmetros PID
Cambiar Set Point
Cambiar Parmetro P
Cambiar Parmetro I
Cambiar Parmetro D
USUARIO
Control PID
Crear una Perturbacin


Figura 4.2.- Diagrama de Casos de Uso

4.1.5. Escenarios

Los escenarios deben describir la interaccin entre los actores activos
externos con el sistema.

Siempre si el rol de cada actor es usualmente claro, esto puede dificultar
el estudio de todas las interacciones posibles entre los actores y el
sistema.

El Figura 4.3 muestra el escenario del caso de uso Iniciar
Sintona(Temperatura)



ACTOR SISTEMA DAQ SIMULADOR


1: Inicia Sintona


2: Enva orden generar
Escaln 10 volt.


3: DAC

4: Comienza a Generar
Curva


5: ADC


6: Indicador Progreso

(Curva de Reaccin)


7: Detiene Sintona

(Despus de 10)


8: Enva orden detener
Escaln 10 volt.


9: Efecta algoritmo
de Autosintona.



10: Indicador visual
Algoritmo


11: El sistema espera
la eleccin de
Parmetros.





Figura 4.3.- Escenario del caso de uso Iniciar Sintona (Temperatura)

El Figura 4.4 muestra el escenario del caso de uso Iniciar Sintona(Nivel)
ACTOR SISTEMA DAQ SIMULADOR


1: Inicia Sintona


2: Enva orden de
Control proporcional.


3: DAC

4: Responde al control
Proporcional


5: ADC


6: Indicador Progreso

(Seal del simulador)


7: Detiene Sintona

(Despus de 15)


8: Enva orden detener
Control proporcional.


9:Usuario determina si
la seal es la adecuada



10: Indicador visual
Seal


11: El usuario determina
la eleccin de T.




11: El sistema espera la
eleccin de
Parmetros PID



Figura 4.4.- Escenario del caso de uso Iniciar Sintona (Nivel)

La Figura 4.5. muestra el escenario del caso de uso Crear una
Perturbacin


ACTOR SIMULADOR DAQ SISTEMA


1: Crea Perturbacin


2: Cada de seal



3: ADC

4: DAC
5: Visualiza Cada de
Seal.

6: Ejecuta Algoritmo
de control PID


7: Enva seal
de control.



8: DAQ




8: Visualiza seales
correctoras.









Figura 4.5.- Escenario del caso de uso Crear una perturbacin.





La Figura 4.6. muestra el escenario del caso de uso Control PID.


ACTOR SISTEMA DAQ SIMULADOR


1: Inicia Control


2: Carga Parmetros
PID en algoritmo.



3: Efecta algoritmo de
control.



4: Enva seal


5: DAC


6: ADC


6: Indicador Progreso

(Control PID)

8: Continua












Figura 4.6.- Escenario del caso de uso Control PID






La Figura 4.7. muestra el escenario del caso de uso Obtencin de
Parmetros PID.



ACTOR SISTEMA


1: Inicia Obtener Parmetros PID


2: Carga Parmetros tu, tv y tn
en frmula de algoritmo de
Autosintona




3: Efecta Frmula de algoritmo de
Autosintona.




4: Carga parmetros en memoria.



5. Visualiza Parmetros
calculados.


















Figura 4.7.- Escenario del caso de uso Obtencin de Parmetros PID.




4.1.6. Anlisis: Estructura de objetos

En este punto, debemos analizar los requerimientos y presentar un
diagrama de clase como una solucin general del problema. El diagrama
de dominio muestra la principal clase del sistema y sus relaciones. El
primer paso para la construccin del diagrama de clase es la
identificacin de los objetos involucrados.

4.1.6.1. Identificacin de objetos

Objetos activos Perillas de comando

Servicios Conversor A/D
Conversor D/A
PCL-818L

Dispositivos Fsicos Simulador de proceso de
Temperatura
Simulador de proceso de
Nivel
Fuente de Alimentacin.

Conceptos Control PID
Sintonia

Elementos Visuales Barra de Mens
Tiempo transcurrido
Indicador de progreso de tarea.
Visualizadores
Iniciar sintonia, Obtener parmetros,
etc.(Botones de comando)

Los elementos visuales de la interfaz de usuario (Sintonizacin y
Control) se muestran en las siguientes Figuras. La interaccin con
el usuario se muestra con botones de comando y barras de men.


Figura 4.8.- Interfaz de Usuario control de Temperatura


Figura 4.9. Interfaz de Usuario Control de Nivel


Figura 4.10. Interfaz de Usuario Sintonizacin de Nivel



Figura 4.11. Interfaz de usuario Sintonizacin de Temperatura

4.1.6.2. Construccin del diagrama de clase

El diagrama de clase del Simulador

El usuario interacta con el sistema por medio de la pantalla y del
simulador (perturbaciones), estos son de algn modo objetos activos.




Simulador DAQ PCL818L
IN OUT IN OUT


Perturbaciones
PC
Sistema

SUBSISTEMA
SUBSISTEMA
Interfaz de usuario
SUBSISTEMA
DAQ PCL818L
Simulador


Figura 4.12.- Diagrama de clase del Simulador


Diagrama de clase del subsistema Simulador

El simulador es el que se encarga de generar la curva de reaccin del
proceso de temperatura. Tambin es la que recibe la seal de control del
sistema por medio del subsistema DAQ a su vez enva la seal al
sistema tambin por medio del subsistema DAQ.

Este simulador tambin se encarga de recibir las perturbaciones
generadas por los actores (usuarios).

Este subsistema est compuesto por dispositivos fsicos (OPAMPS,
Resistores, Condensadores, Transistores) que se encargan de realizar
las tareas anteriormente dichas.


SIMULADOR
Generar curva de reaccin( )
Recibe perturbaciones( )


Figura 4.13.- Diagrama de clase del subsistema DAQ PCL818L

El subsistema DAQ PCL818L es el que se encarga de recibir la seal
analgica (curva de reaccin) del subsistema Simulador y convertirla a
una seal digital ADC, luego esta seal ser procesada en el sistema.

Una vez procesada ser convertida nuevamente en una seal analgica
DAC y enviada al subsistema Simulador.




DAQ PCL818L
DAC( )
ADC( )
Salida al Simulador( )
Entrada a la Interfaz de usuario( )


Figura 4.14.- Diagrama de clase del Interfaz de Usuario

La clase Interfaz de usuario gobierna la interaccin con el usuario. Este
recibe la entrada del usuario a travs de los comandos que se
encuentran en la pantalla.

La idea abstracta del graficador es utilizada para visualizar las diversas
seales obtenidas. Estas seales son:

Set Point
Temperatura
Seal de control

La interfaz de usuario tambin recibe las perturbaciones generadas por
el agente en el subsistema Simulador. La interfaz de usuario reacciona a
los eventos como el cambiar los parmetros PID, cambio de SETPOINT.



Display Reloj



Comandos

Figura 4.15.- Representacin Visual de Objetos

Display
Actualizar()
Interfaz de Usuario
Reloj( )
Ajuste User Mode( )
User Mode
Activar()
Desactivar()
Cambiar()
Parametros
Set Point
Sintona
Reloj
Contexto Grafico
drawline()
drawpoint()
drawtext()
foreground()
background()
clear()


Figura 4.16.- Diagrama de clase del subsistema Interfaz de Usuario

4.1.7. Diseo de Arquitectura

En este punto se describir los recursos de hardware utilizados para el
diseo. En nuestro producto final el diseo del hardware es tan
importante como el diseo del software.

4.1.7.1. Arquitectura Fsica

La arquitectura fsica del Simulador asi como la arquitectura del DAQ
PCL818L estn descritas detalladamente en el Captulo 3.

4.1.7.2. Modelo de Arquitectura

El software de Control de Proceso no tiene requerimientos especiales
de seguridad. (passwords, control de tiempo, etc).

La arquitectura soportar hardware externo siempre y cuando este
cumpla con las seales normalizadas para el control de procesos,
mas no soportar alguna falla que dicho hardware ocasione.

Probablemente el usuario (actor) daar la unidad esto ocasionar
una falla en la arquitectura del software.

La DAQ PCL818L accesar al sistema a travs de la direccin de
memoria del computador. No se requiere un modo especial de
comunicacin.

4.1.8. Diseo General.

4.1.8.1. Modelamiento del Objeto Hardware

Un hardware empaquetado es un objeto software representado como
un dispositivo de Hardware. Este es un interface entre los objetos de
la aplicacin y los dispositivos fsicos. El mtodo de construccin de
un hardware empaquetado comienza en el dispositivo de hardware.
Una vez terminado el dispositivo de hardware (simulador), el
dispositivo estar listo para ser usado.

El diseo detallado y la implementacin del hardware se describe en
el Capitulo 3.

4.1.8.2. Algoritmo de Control PID.

Uno de los requerimientos especficos para el desarrollo de este
programa es el conocimiento del algoritmo PID, teniendo en cuenta
los tiempos de muestreo para el control de temperatura y tambin
para el control de nivel.

4.1.8.3. Asignacin de los recursos de Hardware.

Tenemos que asignar el alojamiento de los recursos de hardware y
perifricos de los objetos.
As tenemos que la tarjeta de adquisicin de datos ocupar la
direccin 200H.

4.1.9. Implementacin.

Podemos considerar que el producto final del programa Controlador de
Procesos Industriales para un sistema informatizado es un programa
que est contenido en la memoria voltil.

El programa deber incluir algunos cdigos para inicializar y chequear el
hardware y arrancar el programa ejecutable realizando este test.

Cuando el software ha sido completamente desarrollado y probado,
puede ser generado a su ejecutable respectivo.

4.1.9.1. Lenguaje de Programacin y herramientas de Software.

Nosotros hemos elegido el lenguaje de programacin Visual Basic
6.0. para implementar nuestro sistema. La decisin de la eleccin del
lenguaje de programacin para un sistema informatizado puede ser
afectado por las caractersticas del hardware utilizado.
Nosotros estamos usando las herramientas principales del Visual
Basic como el compilador, componentes, objetos insertables y
graficadores.




4.1.9.2. Construyendo el Software.

La siguiente implementacin del software tiene 1241 lneas en
general de cdigo. El software ha sido construido en un computador
PENTIUM / 200 Mhz.
El cdigo utiliza 3.1 Mb de memoria RAM.
El programa ocupa 340 Kb de espacio en disco.
El programa es una aplicacin Windows de 32 bits.

4.1.9.2.1. Requisitos de Hardware y del Sistema.

Microsoft Windows 95 o posterior
Procesador Pentium 100Mhz o modelo superior de procesador.
Monitor VGA color o de mayor resolucin.
16 Mb de memoria RAM (mnimo)

4.1.9.3. Cdigo del programa.

4.1.9.3.1. Cdigo del Control de Procesos Industriales Control de
Temperatura.

Option Explicit
Private ANCHO, ALTO, CTE As Integer
Private T_Crono As Variant
Private T_Refe As Variant

Private Sub B_apaga_Click()
Dim AoVoltage As PT_AOVoltageOut

Timer1.Enabled = False
B_apaga.Visible = False
B_prende.Visible = True

AoVoltage.chan = 0
AoVoltage.OutputValue = 0
ErrCde = DRV_AOVoltageOut(DeviceHandle, AoVoltage)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

End Sub

Private Sub B_prende_Click()
T_Crono = 0
T_Ttrans.Text = "00:00"
T_Refe = Time()

Timer1.Enabled = True
B_prende.Visible = False
B_apaga.Visible = True
End Sub

Private Sub B_Sinto_Click()
Dim AoVoltage As PT_AOVoltageOut

AoVoltage.chan = 0
AoVoltage.OutputValue = 0
ErrCde = DRV_AOVoltageOut(DeviceHandle, AoVoltage)

If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

B_apaga.Visible = False
B_prende.Visible = True

Timer1.Enabled = False
Load Form2
Form2.Show 1
End Sub

Private Sub Form_Activate()
ANCHO = Picture1.ScaleWidth - 1
ALTO = Picture1.ScaleHeight - 1

ErrCde = DRV_DeviceOpen(0, DeviceHandle)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

AIConfig.DasChan = 0
AIConfig.DasGain = 0
ErrCde = DRV_AIConfig(DeviceHandle, AIConfig)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

lpAOConfig.chan = 0
lpAOConfig.MaxValue = 10
lpAOConfig.MinValue = 0

ErrCde = DRV_AOConfig(DeviceHandle, lpAOConfig)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If
End Sub

Private Sub Muestreo_GotFocus()
Muestreo.SelStart = 0
Muestreo.SelLength = Len(Muestreo.Text)
End Sub

Private Sub Muestreo_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Picture1.SetFocus
Exit Sub
End If

If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
If KeyAscii <> 8 Then
KeyAscii = 0
End If
End If

End Sub


Private Sub Muestreo_LostFocus()
If IsNumeric(T_D.Text) Then

If Val(Muestreo.Text) > 32767 Then Muestreo.Text = "32767"
If Val(Muestreo.Text) < 0 Then Muestreo.Text = "0"
VScroll1.value = CInt(Muestreo.Text)
Timer1.Interval = CInt(Muestreo.Text)
End If
End Sub


Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
Dim PosY As Integer
Dim posX As Integer

PosY = (ALTO - Y) * 100 / (ALTO - 6)
Picture1.ToolTipText = Str(PosY) + " C"
End Sub

Private Sub Salida_Click()
Dim AoVoltage As PT_AOVoltageOut

AoVoltage.chan = 0
AoVoltage.OutputValue = 0
ErrCde = DRV_AOVoltageOut(DeviceHandle, AoVoltage)

If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If


ErrCde = DRV_DeviceClose(DeviceHandle)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
End If

Unload Form1
End Sub


Private Sub T_D_GotFocus()
T_D.SelStart = 0
T_D.SelLength = Len(T_D.Text)
End Sub

Private Sub T_D_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Picture1.SetFocus

Exit Sub
End If

If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then

If KeyAscii <> 8 And KeyAscii < 46 Then
KeyAscii = 0
End If
End If
End Sub

Private Sub T_D_LostFocus()
If IsNumeric(T_D.Text) Then

If Val(T_D.Text) > 20 Then T_D.Text = "20"
If Val(T_D.Text) < 0 Then T_D.Text = "0"

T_D.Text = Format(T_D.Text, "###0.00")
VS_D.value = CInt(Val(T_D.Text) * 10)
End If
End Sub

Private Sub T_I_GotFocus()
T_I.SelStart = 0
T_I.SelLength = Len(T_I.Text)
End Sub

Private Sub T_I_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Picture1.SetFocus

Exit Sub
End If

If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
If KeyAscii <> 8 And KeyAscii < 46 Then
KeyAscii = 0
End If
End If
End Sub

Private Sub T_I_LostFocus()
If IsNumeric(T_I.Text) Then

If Val(T_I.Text) > 100 Then T_I.Text = "100"
If Val(T_I.Text) < 0 Then T_I.Text = "0"

T_I.Text = Format(T_I.Text, "###0.00")
VS_I.value = CInt(Val(T_I.Text) * 10)
End If
End Sub

Private Sub T_P_GotFocus()
T_P.SelStart = 0
T_P.SelLength = Len(T_P.Text)
End Sub

Private Sub T_P_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Picture1.SetFocus

Exit Sub
End If

If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
If KeyAscii <> 8 And KeyAscii <> 46 Then
KeyAscii = 0
End If
End If
End Sub

Private Sub T_P_LostFocus()
If IsNumeric(T_P.Text) Then
If Val(T_P.Text) > 100 Then T_P.Text = "100"
If Val(T_P.Text) < 0 Then T_P.Text = "0"

T_P.Text = Format(T_P.Text, "###0.00")
VS_P.value = CInt(Val(T_P.Text) * 10)

End If
End Sub

Private Sub T_SP_GotFocus()
T_SP.SelStart = 0
T_SP.SelLength = Len(T_SP.Text)
End Sub

Private Sub T_SP_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then
Picture1.SetFocus
Exit Sub
End If

If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
If (KeyAscii <> 8) And KeyAscii <> 46 Then
KeyAscii = 0
End If
End If
End Sub

Private Sub T_SP_LostFocus()
If IsNumeric(T_SP.Text) Then

If Val(T_SP.Text) > 100 Then T_SP.Text = "100"
If Val(T_SP.Text) < 0 Then T_SP.Text = "0"

T_SP.Text = Format(T_SP.Text, "###0.00")
VS_SP.value = CInt(Val(T_SP.Text) * 10)
Picture1.SetFocus
End If

T_Crono = 0
T_Ttrans.Text = "00:00"
T_Refe = Time()

End Sub

Private Sub Timer1_Timer()
Dim n As Integer
Static X As Long
Static Valor(465) As Single
Static Valor_sp(465) As Single
Static valor_sc(465) As Single

Dim Nivel As Long
Static Y_blanco, Y_rojo, Y_amarillo As Integer

Static Kp, Tn, Tv, Sp As Double
Static A, B, C, D, Dy, T, Y As Double

Dim AoVoltage As PT_AOVoltageOut

Dim T_diff As Long

If Form1.ActiveControl.Name <> "T_SP" Then
Sp = Val(T_SP.Text) / 10
End If

If Form1.ActiveControl.Name <> "T_P" Then
Kp = Val(T_P.Text)
End If

If Form1.ActiveControl.Name <> "T_I" Then
Tn = Val(T_I.Text)
End If

If Form1.ActiveControl.Name <> "T_D" Then
Tv = Val(T_D.Text)
End If

T = 0.3

CTE = 19
If X = 0 Then
Picture1.Cls

Picture1.CurrentX = 0

AIVoltageIn.chan = AIConfig.DasChan
AIVoltageIn.gain = AIConfig.DasGain
AIVoltageIn.TrigMode = 0
AIVoltageIn.voltage = DRV_GetAddress(voltage)
ErrCde = DRV_AIVoltageIn(DeviceHandle, AIVoltageIn)

If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

Picture1.CurrentY = ALTO - voltage * CTE
Y_blanco = Picture1.CurrentY
Y_rojo = ALTO - Sp * CTE

End If

AIVoltageIn.chan = AIConfig.DasChan
AIVoltageIn.gain = AIConfig.DasGain
AIVoltageIn.TrigMode = 0
AIVoltageIn.voltage = DRV_GetAddress(voltage)
ErrCde = DRV_AIVoltageIn(DeviceHandle, AIVoltageIn)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

If voltage < 0 Then
voltage = 0
End If

If voltage > 10 Then
voltage = 10
End If

D = Sp - voltage

Dy = Kp * D + Kp * Tn * T * D + ((Kp * Tv) / (6 * T)) * (D + 3 * (C - B - A))

Y = Dy

If Y < 0 Then Y = 0
If Y > 10 Then Y = 10

T_SControl.Text = Format(Y, "###0.00")

AoVoltage.chan = 0
AoVoltage.OutputValue = Y
ErrCde = DRV_AOVoltageOut(DeviceHandle, AoVoltage)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

A = B
B = C
C = D

Picture1.CurrentY = Y_blanco
Picture1.Line -(X, ALTO - voltage * CTE), QBColor(15)
Y_blanco = Picture1.CurrentY
Valor(X) = voltage

Val_act.Text = Format(voltage * 10, "###0.00")

Picture1.CurrentY = Y_rojo
Picture1.CurrentX = Picture1.CurrentX - 1
Picture1.Line -(X, ALTO - Sp * CTE), QBColor(12)
Y_rojo = Picture1.CurrentY
Valor_sp(X) = Sp

If X = 0 Then
Y_amarillo = ALTO - Y * CTE
Else
Picture1.CurrentY = Y_amarillo
Picture1.CurrentX = Picture1.CurrentX - 1
Picture1.Line -(X, ALTO - Y * CTE), QBColor(14)
Y_amarillo = Picture1.CurrentY
valor_sc(X) = Y
End If

Nivel = 290 * voltage
Termo.Top = 3345 - Nivel
Termo.Height = 3360 - Termo.Top

If X < ANCHO - 19 Then
X = X + 1
Else
For n = 0 To ANCHO - 20 '1
Valor(n) = Valor(n + 1)
Valor_sp(n) = Valor_sp(n + 1)
valor_sc(n) = valor_sc(n + 1)
Next n

Picture1.Cls
Picture1.CurrentX = 0
Picture1.CurrentY = ALTO - Valor(0) * CTE
For n = 0 To ANCHO - 20
Picture1.Line -(n, ALTO - Valor(n) * CTE), QBColor(15)
Next n

Picture1.CurrentX = 0
Picture1.CurrentY = ALTO - Valor_sp(0) * CTE
For n = 0 To ANCHO - 20
Picture1.Line -(n, ALTO - Valor_sp(n) * CTE), QBColor(12)
Next n

Picture1.CurrentX = 0
Picture1.CurrentY = ALTO - valor_sc(0) * CTE
For n = 0 To ANCHO - 20
Picture1.Line -(n, ALTO - valor_sc(n) * CTE), QBColor(14)
Next n
End If

D = Val(T_SP.Text) - Val(Val_act.Text)
T_error.Text = Format(D, "###0.00")

T_diff = DateDiff("s", T_Refe, Time())
T_Crono = T_diff \ 60
T_diff = T_diff - T_Crono * 60

T_Ttrans.Text = Format(T_Crono, "00") + ":" + Format(T_diff, "00")
End Sub

Private Sub VS_D_Change()
T_D.Text = Format(20 * VS_D.value / 200, "###0.00")
End Sub

Private Sub VS_I_Change()
T_I.Text = Format(50 * (VS_I.value / 500), "###0.00")
End Sub

Private Sub VS_P_Change()
T_P.Text = Format(VS_P.value / 10, "###0.00")
End Sub

Private Sub VS_SP_Change()
T_SP.Text = Format(VS_SP.value / 10, "###0.00")
End Sub

Private Sub VScroll1_Change()
Muestreo.Text = VScroll1.value
End Sub

4.1.9.3.2. Cdigo del Control de Procesos Industriales Sintonizacin de
Proceso de Temperatura.

Private ANCHO, ALTO, CTE As Integer
Private Ko, Too, Uo As Double

Private Sub B_Acepta_Click()
Form1!T_P.Text = T_Prop.Text
Form1!T_I.Text = T_Int.Text

If T_Dev.Text <> "" Then
Form1!T_D.Text = T_Dev.Text
Else
Form1!T_D.Text = "0.00"
End If

Unload Form2

End Sub

Private Sub B_Cancela_Click()
Dim AoVoltage As PT_AOVoltageOut

Unload Form2

AoVoltage.chan = 0
AoVoltage.OutputValue = 0
ErrCde = DRV_AOVoltageOut(DeviceHandle, AoVoltage)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

End Sub

Private Sub B_Inicio_Click()
Dim AoVoltage As PT_AOVoltageOut
Picture1.Cls
Picture1.CurrentX = 0
Timer3.Enabled = True
B_Inicio.Tag = 1

B_Inicio.Enabled = False


AoVoltage.chan = 0
AoVoltage.OutputValue = 10
ErrCde = DRV_AOVoltageOut(DeviceHandle, AoVoltage)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If
End Sub

Private Sub B_PI_Click()
Dim Kp, Ti As Double

Kp = 0.9 * Uo / (Ko * Too)
Ti = 3 * Too

T_Prop.Text = Format(Kp, "###0.00")
T_Int.Text = Format(Ti, "###0.00")
T_Dev.Text = ""

B_Acepta.Enabled = True

End Sub

Private Sub B_PID_Click()
Dim Kp, Ti, Td As Double

Kp = 1.2 * Uo / (Ko * Too)
Ti = 2 * Too
Td = 0.5 * Too

T_Prop.Text = Format(Kp, "###0.00")
T_Int.Text = Format(Ti, "###0.00")
T_Dev.Text = Format(Td, "###0.00")

B_Acepta.Enabled = True
End Sub

Private Sub Form_Activate()
ANCHO = Picture1.ScaleWidth - 1
ALTO = Picture1.ScaleHeight - 1

ErrCde = DRV_DeviceOpen(0, DeviceHandle)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

AIConfig.DasChan = 0
AIConfig.DasGain = 0

ErrCde = DRV_AIConfig(DeviceHandle, AIConfig)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

lpAOConfig.chan = 0
lpAOConfig.MaxValue = 10
lpAOConfig.MinValue = 0

ErrCde = DRV_AOConfig(DeviceHandle, lpAOConfig)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

End Sub

Private Sub Form_Load()
ANCHO = Picture1.ScaleWidth - 1
ALTO = Picture1.ScaleHeight - 1
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
Text1.Text = X
Text3.Text = Y
End Sub

Private Sub Timer2_Timer()

AIVoltageIn.chan = AIConfig.DasChan
AIVoltageIn.gain = AIConfig.DasGain
AIVoltageIn.TrigMode = 0
AIVoltageIn.voltage = DRV_GetAddress(voltage)
ErrCde = DRV_AIVoltageIn(DeviceHandle, AIVoltageIn)

If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

T_Volta.Text = Format(voltage, "###0.00")
End Sub

Private Sub Timer3_Timer()
Dim Pendiente As Double
Static Y_Negro As Integer
Static Valores(70) As Integer
Static X As Integer

CTE = 19
If B_Inicio.Tag = 1 Then
X = 0
B_Inicio.Tag = 0
End If

AIVoltageIn.chan = AIConfig.DasChan
AIVoltageIn.gain = AIConfig.DasGain
AIVoltageIn.TrigMode = 0
AIVoltageIn.voltage = DRV_GetAddress(voltage)
ErrCde = DRV_AIVoltageIn(DeviceHandle, AIVoltageIn)

If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

If voltage < 0 Then
voltage = 0
End If

If voltage > 10 Then
voltage = 10
End If

If X <= 69 Then
Valores(X) = voltage
End If

If X = 0 Then
Picture1.CurrentY = ALTO - voltage * CTE
Y_Negro = Picture1.CurrentY
End If

Picture1.CurrentY = Y_Negro
Pend = Y_Negro
Picture1.Line -(X, ALTO - voltage * CTE), QBColor(0)
Y_Negro = Picture1.CurrentY

If X <= 69 Then
Valores(X) = Y_Negro
End If

X = X + 1
Text2.Text = X

If X >= 700 Then
Timer3.Enabled = False
Picture1.DrawWidth = 1
Pendiente = Abs(Valores(38) - Valores(64)) / (64 - 38)

Picture1.Line (38 - (ALTO - Valores(38)) / Pendiente, ALTO)-
((Valores(38) + Pendiente * 38) / Pendiente, 0), QBColor(12)

Ko = (10 - 0.01) / 10
Too = 38 - (ALTO - Valores(38)) / Pendiente
Uo = ((Valores(38) + Pendiente * 38) / Pendiente) - Too

B_PI.Enabled = True
B_PID.Enabled = True
End If

End Sub




4.1.9.3.3. Cdigo del Control de Procesos Industriales Sintonizacin Proceso
de Nivel.

Private Sub B_Acepta_Click()
Dim AoVoltage As PT_AOVoltageOut
Picture1.Enabled = True
B_acepta.Enabled = False
PuntoX1 = 0
PuntoX2 = 0
Pos_T1 = 0
Pos_T2 = 0

Picture1.Tag = 0

AoVoltage.chan = 0
AoVoltage.OutputValue = 0
ErrCde = DRV_AOVoltageOut(DeviceHandle, AoVoltage)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If
End Sub

Private Sub B_Cancela_Click()
Dim AoVoltage As PT_AOVoltageOut

AoVoltage.chan = 0
AoVoltage.OutputValue = 0
ErrCde = DRV_AOVoltageOut(DeviceHandle, AoVoltage)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

Pos_T1 = 0
Pos_T2 = 0
PuntoX1 = 0
PuntoX2 = 0

Unload Form4
End Sub

Private Sub B_inison_Click()
Picture1.Cls
Picture1.CurrentX = 0
Timer5.Enabled = True

B_inison.Tag = 1
B_inison.Enabled = False
End Sub

Private Sub B_PI_Click()
Dim Kp, Ti As Double
Dim Uo, Ko, Too As Single
Dim C As Single

Uo = 2
Ko = 5
Too = 12
C = Val(T_Periodo.Text)

Kp = 0.9 * Uo / (Ko * Too)
Ti = 3 * Too

T_prop.Text = Format(Kp, "###0.00")
T_int.Text = Format(Ti, "###0.00")
T_dev.Text = ""
End Sub

Private Sub B_PID_Click()
Dim Kp, Ti, Td As Double
Dim Uo, Ko, Too As Single

Uo = 2
Ko = 5
Too = 12

Kp = 1.2 * Uo / (Ko * Too)
Ti = 2 * Too
Td = 0.5 * Too

T_prop.Text = Format(Kp, "###0.00")
T_int.Text = Format(Ti, "###0.00")
T_dev.Text = Format(Td, "###0.00")
End Sub

Private Sub B_rechaza_Click()
B_inison.Enabled = True
B_acepta.Enabled = False
B_rechaza.Enabled = False
Picture1.Cls
Picture1.Enabled = False

Label8.Visible = False
Label9.Visible = False
Label10.Visible = False
T_Zoom.Visible = False

T_escX.Visible = False
T_escY.Visible = False

B_PI.Enabled = False
B_PID.Enabled = False

Picture1.Tag = 0
End Sub

Private Sub Form_Activate()
ANCHO = Picture1.ScaleWidth - 1
ALTO = Picture1.ScaleHeight - 1

ErrCde = DRV_DeviceOpen(0, DeviceHandle)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

AIConfig.DasChan = 0
AIConfig.DasGain = 0

ErrCde = DRV_AIConfig(DeviceHandle, AIConfig)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

lpAOConfig.chan = 0
lpAOConfig.MaxValue = 10
lpAOConfig.MinValue = 0

ErrCde = DRV_AOConfig(DeviceHandle, lpAOConfig)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As
Integer, X As Single, Y As Single)
Dim Temp As Integer
Dim posX As Integer
Dim Y_Negro As Integer

Dim FactX, FactY As Single

ANCHO = Picture1.ScaleWidth - 1
ALTO = Picture1.ScaleHeight - 1
CTE = 10

If Picture1.Tag = 1 Then GoTo TAG2
If Picture1.Tag = 2 Then Exit Sub

If PuntoX1 = 0 Then
PuntoX1 = X
Picture1.Circle (X, Y), 3, 1
Exit Sub
End If

If PuntoX2 = 0 Then
PuntoX2 = X
Picture1.Circle (X, Y), 3, 1
End If

If PuntoX1 > PuntoX2 Then
Temp = PuntoX1
PuntoX1 = PuntoX2
PuntoX2 = PuntoX1
End If

FactX = 2
FactY = 2

Picture1.Cls

For posX = 0 To (PuntoX2 - PuntoX1)
If posX = 0 Then
Picture1.CurrentY = ALTO - Valores(PuntoX1) * CTE * FactY
Y_Negro = Picture1.CurrentY
End If

Picture1.CurrentY = Y_Negro
Picture1.Line -(posX * FactX, ALTO - Valores(PuntoX1 + posX) *
CTE * FactY), QBColor(0)
Y_Negro = Picture1.CurrentY
Next posX

Label8.Visible = True
Label9.Visible = True
Label10.Visible = True
T_Zoom.Visible = True

T_escX.Visible = True
T_escY.Visible = True

Picture1.Tag = 1
Exit Sub

TAG2:
If IsNumeric(T_escX.Text) Then
FactX = Val(T_escX.Text)
Else
FactX = 2
End If

If IsNumeric(T_escY.Text) Then
FactY = Val(T_escY.Text)
Else
FactY = 2
End If

If Pos_T1 = 0 Then
Picture1.Line (X, 0)-(X, ALTO), QBColor(2)
Pos_T1 = X / FactX
Exit Sub
Else
Picture1.Line (X, 0)-(X, ALTO), QBColor(2)
Pos_T2 = X / FactX
End If

T_Periodo.Text = (Pos_T2 - Pos_T1) * Timer5.Interval / 1000

Picture1.Tag = 2

B_PI.Enabled = True
B_PID.Enabled = True
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
Text4.Text = X
End Sub

Private Sub T_escX_GotFocus()
T_escX.SelStart = 0
T_escX.SelLength = Len(T_KP.Text)
End Sub

Private Sub T_escX_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
T_Zoom.SetFocus
Exit Sub
End If

If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
If (KeyAscii <> 8) And KeyAscii <> 46 Then
KeyAscii = 0
End If
End If
End Sub

Private Sub T_escX_LostFocus()
If IsNumeric(T_escX.Text) Then
T_escX.Text = Format(T_escX.Text, "###0.00")
End If
End Sub

Private Sub T_escY_GotFocus()
T_escY.SelStart = 0
T_escY.SelLength = Len(T_KP.Text)
End Sub

Private Sub T_escY_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
T_Zoom.SetFocus
Exit Sub
End If

If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
If (KeyAscii <> 8) And KeyAscii <> 46 Then
KeyAscii = 0
End If
End If
End Sub

Private Sub T_escY_LostFocus()
If IsNumeric(T_escY.Text) Then
T_escY.Text = Format(T_escY.Text, "###0.00")

End If
End Sub

Private Sub T_KP_GotFocus()
T_KP.SelStart = 0
T_KP.SelLength = Len(T_KP.Text)
End Sub

Private Sub T_KP_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Exit Sub
End If

If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then

If (KeyAscii <> 8) And KeyAscii <> 46 Then
KeyAscii = 0
End If
End If
End Sub

Private Sub T_KP_LostFocus()
If IsNumeric(T_KP.Text) Then
T_KP.Text = Format(T_KP.Text, "###0.00")

End If
End Sub

Private Sub T_Zoom_Click()
Dim posX As Integer
Dim Y_Negro As Integer

Dim FactX, FactY As Single

ANCHO = Picture1.ScaleWidth - 1
ALTO = Picture1.ScaleHeight - 1
CTE = 10

If IsNumeric(T_escX.Text) Then
FactX = Val(T_escX.Text)
Else
FactX = 2
End If

If IsNumeric(T_escY.Text) Then
FactY = Val(T_escY.Text)
Else
FactY = 2
End If

Picture1.Cls

For posX = 0 To (PuntoX2 - PuntoX1)
If posX = 0 Then
Picture1.CurrentY = ALTO - Valores(PuntoX1) * CTE * FactY
Y_Negro = Picture1.CurrentY
End If

Picture1.CurrentY = Y_Negro
Picture1.Line -(posX * FactX, ALTO - Valores(PuntoX1 + posX) *
CTE * FactY), QBColor(0)
Y_Negro = Picture1.CurrentY
Next posX

Picture1.Tag = 1

Pos_T1 = 0
Pos_T2 = 0

End Sub

Private Sub Timer4_Timer()

AIVoltageIn.chan = AIConfig.DasChan
AIVoltageIn.gain = AIConfig.DasGain
AIVoltageIn.TrigMode = 0
AIVoltageIn.voltage = DRV_GetAddress(voltage)
ErrCde = DRV_AIVoltageIn(DeviceHandle, AIVoltageIn)

If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

T_volt.Text = Format(voltage, "###0.00")
End Sub

Private Sub Timer5_Timer()
Static Y_Negro As Integer
Static X As Integer
Static D, Dy, Y, Kp, Sp As Double
Dim AoVoltage As PT_AOVoltageOut

ANCHO = Picture1.ScaleWidth - 1
ALTO = Picture1.ScaleHeight - 1

CTE = 25

If B_inison.Tag = 1 Then
X = 0
B_inison.Tag = 0
End If

AIVoltageIn.chan = AIConfig.DasChan
AIVoltageIn.gain = AIConfig.DasGain
AIVoltageIn.TrigMode = 0
AIVoltageIn.voltage = DRV_GetAddress(voltage)
ErrCde = DRV_AIVoltageIn(DeviceHandle, AIVoltageIn)

If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

Valores(X) = voltage
If IsNumeric(T_KP.Text) Then
Kp = Val(T_KP.Text)
End If

Sp = 6

D = Sp - voltage
Dy = Kp * D

Y = Dy

If Y < 0 Then Y = 0
If Y > 10 Then Y = 10

AoVoltage.chan = 0
AoVoltage.OutputValue = Y
ErrCde = DRV_AOVoltageOut(DeviceHandle, AoVoltage)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

If X = 0 Then
Picture1.CurrentY = ALTO - voltage * CTE
Y_Negro = Picture1.CurrentY
End If

Picture1.CurrentY = Y_Negro
Picture1.Line -(X, ALTO - voltage * CTE), QBColor(0)
Y_Negro = Picture1.CurrentY

X = X + 1
Text4.Text = voltage

If X >= ANCHO Then
Timer5.Enabled = False
SAL_BUCLE = True
B_acepta.Enabled = True
B_rechaza.Enabled = True

AoVoltage.chan = 0
AoVoltage.OutputValue = 0
ErrCde = DRV_AOVoltageOut(DeviceHandle, AoVoltage)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If

End If
End Sub

















4.2. Diseo del software en Lab View

4.2.1. Introduccin

LabView es un Lenguaje de Programacin Grfico el cual usa iconos en
vez de lneas de texto para la creacin de aplicaciones. Al contrario de
los Lenguajes de Programacin basados en texto, donde las
instrucciones determinan la ejecucin del programa, LabView utiliza la
programacin por flujo de datos, donde se determina la ejecucin del
programa.

En LabView, se disea una interfaz de usuario mediante el uso de un set
de herramientas y objetos. La interfaz de usuario es conocida como el
Panel Frontal (Front Panel). Entonces se agrega cdigo haciendo uso de
las representaciones grficas o funciones para controlar los objetos del
Panel Frontal. El diagrama de bloques contiene este cdigo. Si es
organizado adecuadamente, el diagrama de bloques se asemeja a un
diagrama de flujo.

Cmo trabaja LabView?

Los programas de LabView son llamados Instrumentos Virtuales (Virtual
Instruments) o Vis, porque su apariencia y operacin imita a los
instrumentos fsicos, como Osciloscopios y multmetros. Cada VI usa
funciones que manipulan entradas desde la interfaz de usuario o de
otras fuentes y muestran esta informacin o la mueven hacia otros
archivos u otras computadoras.

Un VI contiene los siguientes tres componentes:

Panel Frontal.- (Front Panel) Sirve como interfaz de usuario
Diagrama de Bloques.- (Block Diagram) Contiene el cdigo fuente
grfico del VI que define su funcionalidad.
Iconos y herramientas de conexin.- Identifica al VI para que se
pueda usar en otro VI. Un VI dentro de otro VI se denomina SubVI.
Un SubVI corresponde a una subrutina en lenguaje de programacin
basado en texto.

4.2.2. Especificaciones de diseo

Disear Drivers para el control de la salida anloga y entrada
anloga de la tarjeta Advantech PCL 818L
Disear un algoritmo PID para el control de procesos industriales

4.2.3. Diseo de drivers para la tarjeta PCL 818L de la Empresa Advantech

Para realizar el trabajo con la tarjeta PCL 818L, se tuvo que realizar
los siguientes pasos de diseo:

1. Determinar la direccin principal mediante la cual se iba a poder
comunicar la tarjeta PCL 818L.

2. Determinar la secuencia para poder adquirir los datos de la tarjeta
PCL 818L, ubicada en el slot ISA de la PC.

3. Determinar el tiempo en el cual se va a refrescar el valor de la
entrada de la tarjeta PCL 818L.

4. Determinar la secuencia para poder enviar datos a la salida
anloga de la tarjeta PCL 818L.




4.2.4. Determinacin de direccin, parmetros y secuencias de funcionamiento

La tarjeta PCL 818L, estar ubicada en la direccin base 200H, a partir
de ahora llamada BASE. Desde la cual se realizarn todas las
secuencias de entrada y salida de datos.

Canal de entrada de datos anlogos: Canal 0

Canal de salida de datos anlogos: Canal 0 (Unico canal disponible)

Secuencia de pasos para obtener datos anlogos del Canal 0:

Seleccione los rangos de entrada para cada canal de A/D

Seleccione el canal de entrada mediante la especificacin del rango del
Multiplexor

Inicie la Conversin A/D mediante la escritura del registro del byte bajo
(BASE+0) con cualquier valor.

Chequee el fin de la conversin mediante la lectura del bit INT registro
de STATUS (BASE+8).

Lea la data de la conversin A/D mediante la lectura de los registros da
data de la conversin A/D (BASE+0 y BASE+1).

Conversin del dato binario de la conversin A/D en el formato deseado.




Secuencia de pasos para el envo de datos por el Canal Anlogo 0:

1. En el caso de la tarjeta CPL 818L, tenemos dos registros de 8
bits para almacenar el resultado de la conversin D/A, estos son:
BASE+4 y BASE+5, en el registro BASE+4 se almacenan los
cuatro primeros bits de la conversin (los menos significativos),
mientras que el registro BASE+5 se almacenan los 8 bits restantes
(los mas significativos).
2. Ya que la tarjeta PCL 818L provee dos voltajes mximos de
salida, los cuales son: +5 y +10. Es decir tiene como voltajes de
referencia: -5 y 10 V. En nuestro caso se desea una salida
anloga de mximo de 10 voltios, por lo que seleccionamos el
voltaje mximo de salida, esta operacin se realiza mediante el
jumper JP5.

4.2.5. Descripcin de los registros a usarse en cada una de las etapas

4.2.5.1. Registros usados en la conversin A/D

BASE+0

Este registro es el de comienzo de la conversin A/D, este disparo de
la conversin se realizar cada vez que se introduzca cualquier valor
en el registro BASE+0.

Adems existen varias fuentes que pueden ser configurables por el
usuario, pero en nuestro caso es mas eficaz el uso de este disparo.





BASE+0/1

BASE+0 (solo de lectura) byte menos significativo de la conversin A/D y nmero de canal
Bit D7 D6 D5 D4 D3 D2 D1 D0
Valor AD3 AD2 AD1 AD0 C3 C2 C1 C0

Tabla 4.1.- Registro Base+0

BASE+1 (solo de lectura) byte mas significativo de la conversin A/D
Bit D7 D6 D5 D4 D3 D2 D1 D0
Valor AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4

Tabla 4.2.- Registro BASE+1

Los registros de solo lectura BASE+0 y BASE+1 mantiene el dato de
la conversin A/D. Los 12 bits de la conversin son almacenados en
los bits 0 7 del registro BASE+1 y en los bits 4 7 del registro
BASE+0. Los bits 0 3 del registro BASE+0 almacenan el canal de
la conversin A/D.

AD11 a AD0 Dato de la conversin A/D. AD0 es el bit menos
significativo (LSB) de la conversin A/D y AD11 es
el bit mas significativo (MSB).
C3 a C0 Es el canal anlogo del que provendr la data
para la conversin A/D. C3 es el bit ms
significativo y C0 es el bit menos significativo.

BASE+1 Control de rango

Cada canal tiene su propio rango de entrada de forma individual,
controlado por un cdigo de rango almacenado en la RAM de la
tarjeta y configurado por el jumper JP7. En nuestro caso se
encuentra configurado para +10 Voltios.

BASE+1 (solo escritura) Cdigo de control del rango de entrada
Bit D7 D6 D5 D4 D3 D2 D1 D0
Valor N/A N/A N/A N/A N/A N/A G1 G0

Tabla 4.3.- Registro BASE+1

El cdigo de rango y la configuracin del jumper JP7 aparece:

Rango de entrada Cdigo de rango
JP7 = 5 V JP7 = 10 V G1 G0
5 V 10 V 0 0
2.5 V 5 V 0 1
1.25 V 2.5 V 1 0
0.625 V 1.25 V 1 1

BASE+2 Registro del Multiplexor

Este es un registro de lectura y escritura. El nible mas alto indica el
nmero de canal de parada del barrido, y el nible mas bajo indica el
nmero de canal de comienzo del barrido. El multiplexor se inicia
automticamente en el canal de inicio cuando se escribe en este
registro. Cada disparo A/D configura al multiplexor para el siguiente
canal.

BASE+2 (escritura) canales del principio y fin del barrido
Bit D7 D6 D5 D4 D3 D2 D1 D0
Valor CH3 CH2 CH1 CH0 CL3 CL2 CL1 CL0

Tabla 4.4.- Registro BASE+2



CH3 CH0 Canal de fin de barrido
CL3 CL0 Canal de comienzo de
barrido

El registro de multiplexor tambin debe de ser usado como puntero
para dar el formato de rango de control descrito en el registro
BASE+1.

Es decir, cuando se selecciona un canal de inicio, el cdigo de rango
escrito en el registro BASE+1, es para ese canal.

BASE+8 Registro de STAUTS

Este es un registro de solo lectura, provee informacin acerca de la
configuracin y operacin de la conversin A/D.

BASE+8 (solo de lectura) Estado de la conversin A/D
Bit D7 D6 D5 D4 D3 D2 D1 D0
Valor EOC N/A MUX INT CN3 CN2 CN1 CN0

Tabla 4.5.- Registro BASE+8

En nuestro caso solo es de inters el bit D4 INT:

INT Dato Vlido
0 Ninguna conversin A/D ha sido finalizada desde la ltima
vez que el bit INT fue limpiado. Los valores en los registros de
conversin A/D no son vlidos.
1 La conversin A/D ha finalizado, y la conversin de datos es
vlido.



BASE+9 Registro de Control

BASE+9 Control
Bit D7 D6 D5 D4 D3 D2 D1 D0
Valor INTE I2 I1 I0 X DMAE ST1 ST0

Tabla 4.6.- Registro BASE+9

En nuestro caso los bits que nos interesan son ST1 y ST0.

Fuente de disparo ST1 ST0
Disparo por software 0 X
Disparo externo 1 0

4.2.5.2. Registros usados en la conversin D/A

BASE+4/5

BASE+5 byte alto de la conversin D/A de salida
Bit D7 D6 D5 D4 D3 D2 D1 D0
Valor DA11 DA10 DA9 DA8 DA7 DA6 DA5 DA4

Tabla 4.7.- Registro BASE+4/5

DA11 DA0 Dato D/A. DA0 es el bit menos significativo (LSB) y
DA11 es el bit ms significativo (MSB) del dato de la
conversin D/A.




4.2.6. Diseo de cada uno de los Sub Vis

4.2.6.1. VI Input

PANTALLA DE PRESENTACION

En esta pantalla se observa un Indicador Digital que indica el valor de
la salida de la conversin A/D y un switch o pulsador digital para el
encendido del SubVI.


Figura 4.17.- Panel Frontal del VI Input

PANTALLA DE ESTRATEGIA

En este Sub VI se usa una estructura WHILE, para que su
funcionamiento sea cclico. Dentro de esta estructura se encuentra
una estructura SEQUENCE, esta para una secuencia de diferentes
pasos que a continuacin se explican.
- Secuencia 0

Esta secuencia consta de varios SubVIs dentro de su estructura,
se explicarn estos SubVIs de acuerdo sean usados por este
SubVI.



Figura 4.18.- Secuencia 0 del VI Input

En esta pantalla se puede observar el uso del SubVI llamado
OUTPORT, este SubVI tiene las siguientes caractersticas:

La direccin del registro es 514 (202H), y el valor es cero (0), no
seleccionamos si es un byte o una palabra, por defecto se
considera un byte.

Lo primero que hacemos es dar formato a la entrada anloga,
esto lo hacemos mediante el uso del registro BASE+2
(Multiplexor), en el cual seleccionamos el Canal 0 (entrada
anloga 0), esta accin la realizamos enviando ceros a este
registro, de la siguiente manera:

OUT
PORT
Direccin del registro
Escribir un byte (F) o una palabra (T)
Valor
BASE+2 (escritura) canales del principio y fin del barrido
Bit D7 D6 D5 D4 D3 D2 D1 D0
CH3 CH2 CH1 CH0 CL3 CL2 CL1 CL0
Valor 0 0 0 0 0 0 0 0

Tabla 4.8.- Seleccin del canal anlogo mediante el registro
BASE+2

As seleccionamos el canal a dar formato, esto nos permite ms
adelante poder indicarle su entrada de voltaje, este procedimiento
se explicar mas adelante.

De esta manera seleccionamos el canal 0 como canal de
comienzo de barrido, de la misma manera seleccionamos el canal
0 como fin de barrido.









- Secuencia 1



Figura 4.19.- Secuencia 1 VI Input

La direccin del registro es 513 (201H), y el valor es cero (0), no
seleccionamos si es un byte o una palabra, por defecto se
considera un byte.

En esta secuencia seguimos haciendo uso del SubVI OUTPORT,
en este caso el registro al que enviamos el dato es el registro
BASE+1, a este registro le enviamos una serie de ceros, de esta
manera estamos configurando el rango de entrada de voltaje para
el canal seleccionado en el registro BASE+2.



Por lo que tenemos:

BASE+1 (solo escritura) Cdigo de control del rango de entrada
Bit D7 D6 D5 D4 D3 D2 D1 D0
N/A N/A N/A N/A N/A N/A G1 G0
Valor 0 0 0 0 0 0 0 0

Tabla 4.9.- Seleccin del rango de entrada mediante el registro
BASE+1

Ya que tenemos el jumper JP7 colocado a 10 V, la configuracin
que tenemos es para que acepte 10 V como rango de entrada.




















- Secuencia 2


Figura 4.20.- Secuencia 2 VI Input

La direccin del registro es 514 (202H), y el valor es cero (0), no
seleccionamos si es un byte o una palabra, por defecto se
considera un byte. Seguimos haciendo uso del SubVI OUTPORT,
en este caso enviamos una serie de ceros al registro BASE+2, a
diferencia de la secuencia 0, esta ya es para seleccionar el canal
de inicio y fin de barrido.

BASE+2 (escritura) canales del principio y fin del barrido
Bit D7 D6 D5 D4 D3 D2 D1 D0
CH3 CH2 CH1 CH0 CL3 CL2 CL1 CL0
Valor 0 0 0 0 0 0 0 0

Tabla 4.10.- Seleccin de canales de principio y fin de barrido
mediante el registro BASE+2
- Secuencia 3



Figura 4.21.- Secuencia 3 VI Input

La direccin del registro es 521 (209H), y el valor es cero (0), no
seleccionamos si es un byte o una palabra, por defecto se
considera un byte.

En este continuamos con el uso del SubVI OUTPORT, en este
caso enviamos esta serie de ceros al registro BASE+9, los cuales
son para seleccionar la fuente de la interrupcin, en este caso
estamos eligiendo la fuente de interrupcin por software. Esto lo
realizamos de la siguiente manera:



BASE+9 Control
Bit D7 D6 D5 D4 D3 D2 D1 D0
INTE I2 I1 I0 X DMAE ST1 ST0
Valor 0 0 0 0 0 0 0 0

Tabla 4.11.- Seleccin de fuente de interrupcin mediante el
registro BASE+9

Con esta seleccin le indicamos a la tarjeta que una vez termine
la conversin Anloga Digital, se active este bit, esto nos permitir
tener un mayor control sobre la conversin y los datos de entrada.






















- Secuencia 4


Figura 4.22.- Secuencia 4 VI Input

La direccin del registro es 512 (200H), y el valor es treintitrs
(33), no seleccionamos si es un byte o una palabra, por defecto
se considera un byte. Continuamos con el uso del SubVI
OUTPORT, en este caso le enviamos cualquier valor al registro
BASE+0 para iniciar la conversin. Los realizamos de la siguiente
manera:

BASE+0 (solo de lectura) byte menos significativo de la conversin A/D y nmero de canal
Bit D7 D6 D5 D4 D3 D2 D1 D0
AD3 AD2 AD1 AD0 C3 C2 C1 C0
Valor 0 0 1 0 0 0 0 1

Tabla 4.12.- Inicio de conversin mediante el registro BASE+0

- Secuencia 5


Figura 4.23.- Secuencia 5 VI Input

En esta secuencia nos encontramos con el SubVI INPORT, que
est configurado de la siguiente manera:

Por defecto, si no se coloca un selector digital en la segunda
entrada, lo reconoce como un byte.

En este caso tenemos como direccin del registro 520 (208H), va
a leer un byte de este registro. Va a leer si el bit correspondiente
a la interrupcin de fin de conversin (INT) ha sido activado.

Para esto necesitamos enmascarar ese bit, por lo que realizamos
una funcin OR, entre el dato ledo y el valor de 239, esto, como
se mencion, para enmascarar el bit INT de la siguiente manera:

IN
PORT
Direccin del registro
Leer un byte (F) o una palabra (T)
BASE+8 (solo de lectura) Estado de la conversin A/D
Bit D7 D6 D5 D4 D3 D2 D1 D0
EOC N/A MUX INT CN3 CN2 CN1 CN0
Valor 1 1 1 X 1 1 1 1
Mscara 1 1 1 0 1 1 1 1

Tabla 4.13.- Enmascaramiento del bit de Interrupcin

Esto quiere decir que si la conversin ha finalizado, el bit INT se
ir a1 lgico, lo que har que este dato sea comparado con 256,
de la siguiente manera:

Bit D7 D6 D5 D4 D3 D2 D1 D0
Resultado 1 1 1 1 1 1 1 1
Comp. 1 1 1 1 1 1 1 1

Tabla 4.14.- Fin de la conversin

Si la comparacin resultara falsa, quiere decir que la conversin
an no ha terminado, pero si resultara verdadera, nos indicara
que la conversin ha terminado y podemos seguir con la siguiente
estructura. El resultado de esta comparacin activar la estructura
CASE.

En esta estructura CASE se encuentra el proceso de capturar el
dato resultante de la conversin A/D, lo podemos describir de la
siguiente manera:

- Capturamos el conjunto de bits mas bajo de la conversin
A/D

Esto lo realizamos mediante el SubVI INPORT, tomando
512 (200H) como direccin del registro BASE+0 y
configurando como Falso la entrada de Byte o palabra (para
que ingrese solo una palabra). A este dato tenemos que
enmascarar los 4 primeros bits que indican el canal de
entrada.

- Capturamos el conjunto de bits ms significativos

Lo realizamos mediante el SubVI INPORT, tomando 513
(201H) como direccin del registro BASE+1 y configurando
como Falso la entrada de Byte o palabra (para que ingrese
solo una palabra). A este dato lo multiplicamos por 256 para
desplazarlo 8 posiciones.

- Suma de ambos datos

A los datos resultantes de las operaciones anteriores los
sumamos para poder obtener el dato final, pero estos se
encuentran desplazados 4 bits como resultado del
enmascaramiento de la primera operacin.

- Retorno de 4 bits a la derecha

Esta operacin la realizamos dividiendo el resultado final
entre 16 para poder regresar el desplazamiento que se tena
de 4 bits.


- Realizacin de operacin AND

Esta operacin se realiza para poder confirmar los datos de
entrada y solamente dejar pasar 16 bits.

- Realizacin de escalamiento del dato

Este dato resultante de la anterior operacin los
multiplicamos por 10 y luego lo dividimos entre 2048 para
poder tener un dato resultante final.

- Determinacin del tiempo de actualizacin del dato.

Esta constante est determinada mediante el reloj, el cual su
entrada es de 500, esta constante se multiplica por 1 ms, es
decir la frecuencia con la que se va a realizar esta estructura
es de 500 ms, esta constante se puede ampliar o reducir
dependiendo del detalle de la forma de onda resultante.















4.2.6.2. VI Output

PANTALLA DE PRESENTACION

Tenemos un control digital mediante el cual podemos variar el valor
que va a salir en forma de una seal anloga y un switch o pulsador
digital que va a encender o apagar el SubVI.



Figura 4.24.- Panel Frontal VI Output









PANTALLA DE ESTRATEGIA


Figura 4.25.- Estrategia del VI Output

En este caso solo se tiene una sola estructura WHILE, que va a tener
un funcionamiento cclico.

En esta estructura encontramos los siguientes pasos:

- Escalamiento del dato

Este se realiza mediante la multiplicacin del dato a salir por
4096, en otras palabras se traslada 12 posiciones hacia la
izquierda el dato. Luego lo dividimos entre 10 para que su formato
se reduzca a 12 bits.

- Traslado hacia la izquierda de 4 bits

Esta operacin la realizamos multiplicando el resultado anterior
por 16, de esta manera los trasladamos 4 bits hacia la izquierda,
ya que el byte menos significativo tiene 4 bits (los primeros 4)
ocupados para otros fines. Esto lo podemos observar en los
cuadros anteriores.

- Salida hacia el registro

Por ltimo se tiene la salida del dato hacia el registro con
direccin 516 (204H) y con la entrada de Byte o palabra en TRUE
del SubVI OUTPORT descrito anteriormente, esto quiere decir
que tomar como direccin base la 204H y en esta enviar los 8
bits menos significativos y luego en la direccin siguiente, 205H,
los 8 bits ms significativos, para de esta manera realizar la
conversin D/A de 12 bits.















4.2.6.3. VI PID

PANTALLA DE PRESENTACION



Figura 4.26.- Panel Frontal VI PID

Esta pantalla de presentacin nos indica los elementos
fundamentales que se necesitan en un control PID, tales son: Set
Point, Process Value, P, I, D, lmite superior y lmite inferior.

PANTALLA DE ESTRATEGIA

Este PID es del tipo posicional, es decir, toma la suma de todos los
errores para poder realizar el clculo de su salida. En el caso de
LabView se ha realizado este algoritmo de la siguiente manera:

Icono:

Del Icono podemos describir los siguiente:

a. Variable de Proceso: Esta es la variable que ingresa al sistema,
mediante el SubVI INPUT descrito anteriormente.

b. Set Point: Variable deseada del proceso, se encuentra en formato
de dos dgitos de precisin y en punto flotante.

c. P, I, D: Variables del controlador PID, P = Proporcional (Kp), I =
Integral (Ki) y D = Derivativa (Kd.).

d. Lmite Superior: Indica el mximo valor que puede tomar la salida.

e. Lmite Inferior: Indica el mnimo valor que puede tomar la salida.

f. Valor de la salida: Valor resultante del proceso de control PID.

Todos los valores necesarios para el PID se realizan con la
Estructura Secuencia para poder realizarlo en varias partes haciendo
uso de sus diferentes propiedades y caractersticas.



- Obtencin del diferencial del tiempo.

IN
PORT
Variable de Proceso
Valor de la salida
Set Point
P
I
D
Lmite Superior
Lmite Inferior


Figura 4.27.- Obtencin del diferencial del tiempo en el VI PID

La diferencial del tiempo en nuestro caso es de 40 ms, este valor
se almacena en un registro de la secuencia para ser usado mas
adelante. Adems este valor de tiempo es almacenado en un shift
register para su uso en la siguiente vuelta.








- Clculo del error



Figura 4.28.- Calculo del error en el VI PID

Como se sabe el error es la diferencia entre el Valor Deseado
(Set Point, SP) y el Valor del Proceso (Process Value, PV). Este
valor resultante se almacena en un registro de la secuencia.

PV SP e =


Este valor se almacena tambin en un shift register para su uso
posterior como error anterior.




- Clculo de la Componente Proporcional



Figura 4.29.- Clculo de la componente proporcional en el VI PID

Este valor es resultante del producto del error actuante y el valor
de la constante Proporcional. Este responde a la frmula:

P
K e P * =

Este valor se almacena en un registro de la secuencia para su
uso posterior.





- Clculo de la Componente Derivativa



Figura 4.30.- Clculo de la componente derivativa en el VI PID

Esta componente es la resultante de la Constante Proporcional y
la diferencial del error en el tiempo, dicho de otra manera, sera:

dt
de
K D
D
* =


Este valor se almacena en un registro de la secuencia para su
uso posterior.



- Clculo de la Componente Integral y del Escalamiento de la
Salida



Figura 4.31.- Clculo de la componente Integral y escalamiento de
la salida

Se calcula la componente integral multiplicando la diferencial del
tiempo (dt) por el error actuante y por la Constante de Integracin
(Ki), luego se le adiciona la suma de los errores y las
componentes P y D realizadas anteriormente.

+ = e dt e K I
I
* *



Este valor resultante se compara con el valor mximo y el valor
mnimo, para que el valor resultante no exceda del valor mximo
y no sea menor que el valor mnimo.

4.2.6.4. VI Temp

Este SubVI es el controlador en si, la interfaz de usuario, este une los
siguientes SubVIs para poder realizar el control, de una forma
amigable y amena.

PANTALLA DE PRESENTACION



Figura 4.32.- Panel Frontal VI Temp




Adems de que tiene la capacidad de poder visualizar las diferentes
curvas y su comportamiento, en este Chart se muestran las siguiente
grficas:

Salida del algoritmo PID
El valor del Proceso (Process Value, PV)
El valor deseado (Set Point, SP)

Presenta adems un switch para poder habilitar la muestra o no de
las grficas.

PANTALLA DE ESTRATEGIA



Figura 4.33.- Pantalla de estrategia VI Temp

En esta pantalla se puede observar el dimensionamiento o
escalamiento de cada una de las variables para que su span sea de
0 a 100 y no de 0 a 10.

4.2.6.5. VI Nivel

Este SubVI es el controlador en si, la interfaz de usuario, este une los
siguientes SubVIs para poder realizar el control, de una forma
amigable y amena.

PANTALLA DE PRESENTACION



Figura 4.34.- Panel Frontal VI Nivel

Adems de que tiene la capacidad de poder visualizar las diferentes
curvas y su comportamiento, en este Chart se muestran las siguiente
grficas:

Salida del algoritmo PID
El valor del Proceso (Process Value, PV)
El valor deseado (Set Point, SP)

Presenta adems un switch para poder habilitar la muestra o no de
las grficas.

PANTALLA DE ESTRATEGIA


Figura 4.35.- Pantalla de estrategia VI Nivel

En esta pantalla se puede observar el dimensionamiento o
escalamiento de cada una de las variables para que su span sea de
0 a 100 y no de 0 a 10.

4.2.6.6. VI Portada

Este SubVI es solo para la activacin de una de las portadas, ya sea
el del control o el de la sintona del PID.

PANTALLA DE PRESENTACION


Figura 4.36.- Panel Frontal VI Portada

Aqu podemos observar una pequea explicacin de lo que hace
cada uno de los SubVIs, adems de los botones que abren y a la vez
activan los correspondientes SubVIs.


PANTALLA DE ESTRATEGIA



Figura 4.37.- Pantalla de estrategia del VI Portada

En este SubVI se han hecho uso de las diferentes propiedades
cuando se usa un SubVI dentro de otro VI, en este caso los botones
activan la estructura CASE, cuando esta se encuentra en FALSE no
se realiza ninguna actividad mas cuando es TRUE, abre y activa el
SubVI indicado por su icono. Para poder realizar esta funcin se ha
activado las propiedades: "Show Front Panel when called" y "Close
Afterwards if originally closed", del men "SubVI Node Setup" que se
activa o aparece cuando se hace clic derecho sobre el icono.

















CAPITULO V

DISEO DEL SLPI

SINGLE LOOP PROGRAMMABLE INSTRUMENT

5.1. Diseo del SLPI con microcontrolador PIC16F877 de Microchip

5.1.1. Descripcin del SLPI

El diseo de este SLPI Controlador Unilazo Programable (Single Loop
Programmable Instrument), dede de estar basado en las
especificaciones del este Instrumento mencionado en la primera parte
de esta Tesis.




Deber de cumplir con los siguientes requisitos:

- Debe de ser modular, cumpliendo las normas o 1/8 DIN.

- Debe de contar con un display frontal para la visualizacin de las
variables del proceso y de los parmetros de control.

- Debe de contar con un teclado frontal para la programacin de los
parmetros de control.

- Debe de tener la capacidad de poder tener comunicacin con la
PC.

Un diagrama de bloques general se puede observar en la Figura 5.1.

Figura 5.1.- Diagrama de bloques del SLPI

De manera mas detallada el SLPI contiene los siguientes componentes
electrnicos para que pueda funcionar de manera adecuada:



5.1.1.1. Convertidor Anlogo Digital

Encargado de convertir las seales anlogas en forma digital para
que el microcontrolador o microprocesador pueda entender este
dato.

5.1.1.2. Memoria

Teclado
Display
Mdulo principal
Contiene el algoritmo
de control
Entrada del proceso
Salida para control
del proceso
Fuente de
alimentacin
Para que pueda almacenar los datos, tanto del programa cono de los
datos que se ingresan mediante teclado.

5.1.1.3. Teclado

Para que por medio de este se puedan ingresar los datos en forma
numrica.
5.1.1.4. Display

Para que por medio de este dispositivo se pueda observar las
variables de proceso y dems valores deseados durante el control
del proceso.

5.1.1.5. Convertidor Digital Anlogo

Para que por medio de este se puedan enviar los datos al exterior,
estos datos deben de ser de forma normalizada.

5.1.2. Consideraciones a usarse en el SLPI

5.1.2.1. Formato de nmeros

El formato de nmeros a usarse ser el de punto flotante con un
dgito de precisin, es decir, con un solo decimal.

5.1.2.2. Teclado

Se trata de un teclado matricial de 16 teclas, de un solo toque.

5.1.2.3. Display

Se trata de un display LCD modelo LK162 12 de 16 caracteres por
dos filas, de la firma Matrix Orbital que contiene las siguientes
caractersticas:

Voltaje de alimentacin: 4.75 2.25 VDC
Protoclo de comunicacin RS 232C o I2C
Nmero de caracteres: 16 por dos lneas
Formato de matriz: 5 x 7 con subrayado
rea de display: 62.5 x 16.1mm (XxY)
Tamao de caracter: 2.78 x 4.89mm (XxY), sin incluir subrayado
Grosor de caractcer: 3.53 mm.
Grosor de lnea: 6.09 mm.
Tamao del punto: 0.50 x 0.55mm (XxY)
Grosor del punto: 0.57 x 0.62mm (XxY)
Vida del LED de iluminacin: 100 000 horas
Color de iluminacin: amarillo verde

5.1.2.4. Convertidor Anlogo Digital

Este convertidor se encuentra dentro del microcontrolador, se
describir mas adelante.




5.1.2.5. Tipo de algoritmo de control

Se trata de un algoritmo PID del tipo Incremental, no iterativo,
discretizado haciendo uso de la regla trapezoidal.

Por lo que tenemos:

PID = P + I + D

( ) ) ( *
) ( ) ( t t t
e e Kc t P

=

t e e
T
Kc
t I
t t t
I
=

) (
2
) (
) ( ) (


] 3 3 [
6
) (
) 3 ( ) 2 ( ) ( ) ( t t t t t t t
D
e e e e
t
KcT
t D

+ +

=


Donde:

P(t) = componente proporcional en el tiempo
I(t) = componente integral en el tiempo
D(t) = componente diferencial en el tiempo
Kc = constante proporcional
T
I
= tiempo de integracin
T
D
= tiempo diferencial

5.1.2.6. Microcontrolador

Se ha escogido el microcontrolador PIC16F877, ya que tiene las
siguientes caractersticas:

a) CPU RISC de alta performance
b) 35 Instrucciones de una sola palabra
c) Todas las instrucciones se realizan en un ciclo de instruccin, a
excepcin de las que contienen saltos u otra programacin que
las realizan en dos ciclos de instruccin.
d) Velocidad de operacin:
DC 20 MHz de entrada de reloj
DC 200 ns de ciclo de instruccin
e) Mas de 8K x 14 palabras de Memoria de Programacin FLASH
Mas de 368 x 8 bytes de Memoria de Datos (RAM)
Mas de 256 x 8 bytes de Memoria EEPROM de datos
f) Interrupciones (mas de 14 fuentes)
g) Modos de direccionamiento: Directo, indirecto y relativo.
h) Power On-Reset (POR)
i) Temporizador de encendido (PWRT) y Temporizador Oscilador
de Encendido (OST)
j) Temporizador Perro Guardin (Watch Dog Timer WDT) con su
propio oscilador RC para una operacin ms confiable.
k) Cdigo de proteccin programable
l) Modo de SLEEP, ahorrador de energa
m) Opciones de oscilador seleccionables
n) Tecnologa CMOS FLASH/EEPROM de alta velocidad y bajo
consumo.
o) Amplio rango de operacin, de 2.0 a 5.0 V
p) Bajo consumo de potencia
< 2 mA tpicamente @ 5V, 4 Mhz
20 A tpicamente @ 3V, 32 Khz
< 1 A tpicamente a corriente estndar




Caractersticas de Perifricos:

q) Timer0: Contador/temporizador de 8 bits con 6 bits de pre-
escalar
r) Timer1: Contador/temporizador de 16 bits con pre-escalar,
puede ser incrementado durante el modo de SLEEP mediante
un reloj/cristal externo.
s) Timer2: Contador/temporizador de 8 bits con un registro de 8
bits, pre-escalar y post-escalar
t) Dos mdulos PWM de captura y comparacin
u) 16 bits de captura, mxima resolucin de 12.5 ns.
16 bits de comparacin, resolucin ,mxima de 200 ns.
Mxima resolucin del PWM de 10 bits
v) Convertido Anlogo Digital multicanal de 10 bits.
w) Puerto Serial Sncrono (Serial Synchronous Port SSP) con SPI
(Modo Maestro) e I2C (Maestrp/Esclavo)
x) USART/SCI con 9 bits de deteccin de direccin
y) Puerto Paralelo Esclavo (Paralell Slave Port PSP) de 8 bits, con
pines de: RD, WR y CS externos de control.

Patitas Nombre Funcin
3 7 Puerto A Entradas/Salidas digitales o entradas del
conversor A D
33 46 Puerto B Entradas/Salidas digitales
15 18
23 26
Puerto C
Entradas/Salidas digitales, captura PWM,
funciones I2C, SPI y USART
19 22
27 30
Puerto D
Entradas/Salidas como puerto paralelo esclavo
TTL (PSP buffer)
8 10 Puerto E
Entradas/Salidas digitales o como entradas
para el conversor A D

Tabla 5.1.- Distribucin de patitas del PIC16F877
5.1.2.7. Convertidor Digital - Anlogo

Para este fin se ha escogido el convertidor DAC0808 de National
Semiconductor, el cual tiene las siguientes caractersticas:

a) Convertidor Anlogo Digital de 8 bits
b) Exactitud relativa: 0.19 % de error mximo
c) Tiempo de conversin: 150 ns
d) Entradas digitales no inversoras, son compatibles tanto con TTL
como con CMOS
e) Voltaje de alimentacin: 4.5 V a 18 V
f) Bajo consumo: 33 mW @ 5 V.

5.1.3. Distribucin de perifricos

5.1.3.1. Entradas anlogas

Se ha definido que se va a usar todo el puerto A y E para el
Convertidor Anlogo Digital, ya que no se puede configurar de otra
manera estas entradas anlogas.

5.1.3.2. Teclado

Se est usando el puerto B para poder tomar datos del teclado, se
est configurando este puerto de la siguiente manera: RB0 RB3
(pines: 33 36) como salidas y RB4 RB7 (pines: 37 40) como
entradas digitales, en estas entradas digitales se est activando la
interrupcin por cambio de estado para que pueda identificar la tecla
presionada.



5.1.3.3. Display

Se est haciendo trabajar a este display con el protocolo de
comunicacin I2C (SCL pin 18 y SDA pin 23), aprovechando las
caractersticas de comunicacin que tiene el 16F877 con este
protocolo.

5.1.3.4. Convertidor Anlogo Digital

La entrada del dato digital del Convertidor Anlogo Digital est
conectado de forma directa al puerto D (RD7 RD0), ya que este es
el puerto PSP (Puerto Paralelo Esclavo, Paralell Slave Port).

5.1.4. Cdigo fuente

LIST P=16F877
RADIX HEX

INCLUDE <P16F877.INC>
INCLUDE <MATH16.INC>

DECENA EQU 0x6A
UNIDAD EQU 0x6B
DECIMA EQU 0x6C
CENTESIMA EQU 0x6D

ORG 0x00
goto INICIO

ORG 0x04
bcf INTCON,GIE

btfsc INTCON,RBIF
goto TECLA
btfsc INTCON,T0IF
goto TIMER_0

ORG 0x20

INICIO
call INI_PORTS
call INI_I2C
call Start_cond
call SendWrtAddr


call BANCO_0
clrf SCREEN
bsf SCREEN,0
call CLS
call BANCO_0
movlw 0x4A
movwf COMANDO
call SEND_C
call BANCO_0
movlw 0x43
movwf COMANDO
call SEND_C
call BANCO_0
movlw 0x51
movwf COMANDO
call SEND_C
call BANCO_0
movlw 0x53
movwf COMANDO
call SEND_C
call BANCO_0
movlw 0x46
movwf COMANDO
call SEND_C
movlw 0xFF
call BANCO_0
movwf KEY_P
clrf FILA
bsf FILA,0
clrf POS_CUR

call DEFAULT_PA
call CALC_K1
call CALC_K2
call CONF_INT
;--------------------------
Call BANCO_0
clrf TMR1H
clrf TMR1L
bcf PIR1,0
movlw b'00110001'
movwf T1CON
movlw 0x03
movwf PAUSA

BUC_P call BANCO_0

btfss PIR1,0
goto BUC_P
bcf PIR1,0
decfsz PAUSA
goto BUC_P
movlw 0x03
movwf PAUSA
bcf INTCON,GIE
btfss SCREEN,0
goto SKIP_UNO
----------------------------------------
call TRANS_SP_A
movlw 0x83
movwf BEXP
movlw 0x20
movwf BARGB0

clrf BARGB1
call FPM24
call DISP_5
call FLOAT_ASCII
call TRANS_IN_A
movlw 0x83
movwf BEXP
movlw 0x20
movwf BARGB0
clrf BARGB1
call FPM24
call DISP_6
call FLOAT_ASCII
;--------------------------
SKIP_UNO
call ANALOG_IN
call CONV_PF
call TRANS_A_IN
call TRANS_A_B
call TRANS_SP_A
call FPS24
call TRANS_A_D
call TRANS_K1_B
call FPM24
call TRANS_A_GN
call TRANS_C_A
call TRANS_BE_B
call FPS24
bcf STATUS,Z

movlw 0xFF
andwf AEXP,0
btfsc STATUS,Z
clrf AARGB0
call TRANS_AE_B
call FPS24
bcf STATUS,Z
movlw 0xFF
andwf AEXP,0
btfsc STATUS,Z
clrf AARGB0
movlw 0x80
movwf BEXP
movlw 0x40
movwf BARGB0
clrf BARGB1
bcf STATUS,Z
movlw 0xFF
andwf AEXP,0
btfss STATUS,Z
call FPM24
call TRANS_D_B
call FPA24
call TRANS_K2_B
call FPM24
call TRANS_GN_B
call TRANS_SP_B
call FPA24


call BANCO_0
btfsc AARGB0,7
goto CARGA_0
bsf STATUS,C
bcf STATUS,Z
movlw 0x81
subwf AEXP,0
btfsc STATUS,C
goto SI_SUP
btfss STATUS,Z
goto NO_SUP
bcf STATUS,Z
movlw 0x20
subwf AARGB0,0
btfss STATUS,C
goto SI_SUP
btfss STATUS,Z
goto NO_SUP
bcf STATUS,Z
movlw 0x00
subwf AARGB1,0
btfss STATUS,C
goto SI_SUP
btfss STATUS,Z
goto NO_SUP
SI_SUP
movlw 0x81
movwf Y_EXP
movwf AEXP
movlw 0x20
movwf Y_B0
movwf AARGB0
movlw 0x00
movwf Y_B1
movwf AARGB1
goto LAB_1
CARGA_0 clrf AEXP
clrf AARGB0
clrf AARGB1
NO_SUP
call TRANS_A_Y
LAB_1
movlw 0x84
movwf BEXP
movlw 0x4C
movwf BARGB0
clrf BARGB1
call FPM24
call INT2416
movf AARGB1,0
movwf PORTD
call TRANS_BE_AE
call TRANS_CE_BE
call TRANS_DE_CE
bsf INTCON,GIE
goto BUC_P
CONF_INT
call BANCO_1
bcf OPTION_REG,T0CS
bcf OPTION_REG,PSA
bcf OPTION_REG,PS2
bsf OPTION_REG,PS1
bsf OPTION_REG,PS0
clrf INTCON
bsf INTCON,RBIE
bsf INTCON,T0IE
bsf INTCON,GIE
RETURN

INI_PORTS
call BANCO_0
clrf PORTA
clrf PORTB
clrf PORTC
clrf PORTD
bsf ADCON0,ADCS1
bcf ADCON0,ADCS0
bcf ADCON0,CHS2
bcf ADCON0,CHS1
bcf ADCON0,CHS0
call BANCO_1
movlw b'10001110'
movwf ADCON1
movwf TRISA
clrf TRISD
call BANCO_0
bsf ADCON0,ADON
call BANCO_1
bsf OPTION_REG,NOT_RBPU
movlw b'11110000'
movwf TRISB

movlw b'00011000'
movwf TRISC
clrf INTCON
RETURN

BANCO_0 bcf STATUS,RP0
bcf STATUS,RP1
return

BANCO_1 bsf STATUS,RP0
bcf STATUS,RP1
return

BANCO_2 bcf STATUS,RP0
bsf STATUS,RP1
return

BANCO_3 bsf STATUS,RP0
bsf STATUS,RP1
return

CALC_K1
call TRANS_KP_A
call TRANS_TN_B
call FPM24
call TRANS_T_B
call FPM24
call TRANS_KP_B
call FPA24
call TRANS_A_K1
RETURN

CALC_K2
call TRANS_KP_A
call TRANS_TV_B
call FPM24
call BANCO_0
movlw 0x81
movwf BEXP
movlw 0x40
clrf BARGB1
call FPD24
call TRANS_T_B
call FPD24
call TRANS_A_K2
RETURN

ANALOG_IN
call BANCO_0
bsf ADCON0,GO_DONE

BUC_AN
btfsc ADCON0,GO_DONE
goto BUC_AN
RETURN

CONV_PF
call BANCO_0
movf ADRESH,0
movwf AARGB0
call BANCO_1
movf ADRESL,0
call BANCO_0
movwf AARGB1
call FLO24
call BANCO_0
movlw 0x77
movwf BEXP
movlw 0x20
movwf BARGB0
movlw 0x28
movwf BARGB1
call FPM24
RETURN

FLOAT_ASCII
call BANCO_0
movlw 0x85
movlw 0x48
movwf BARGB0
clrf BARGB1
call FPM24
call INT24
clrf BARGB0
clrf BEXP
movlw 0x0A
movwf BARGB1
;----------------
call FXD1616U
movf REMB1,W

movwf CENTESIMA
movlw 0x30
addwf CENTESIMA,1
;----------------
call FXD1616U
movf REMB1,W
movwf DECIMA
movlw 0x30
addwf DECIMA,1
;----------------
call FXD1616U
movf REMB1,W
movwf UNIDAD
movlw 0x30
addwf UNIDAD,1
call FXD1616U
movf REMB1,W
movwf DECENA
movlw 0x30
addwf DECENA,1
movf DECENA,0
movwf LETRA
call WrtData
call BANCO_0
movf UNIDAD,0
movwf LETRA
call WrtData
call BANCO_0
movlw 0x2E
movwf LETRA
call WrtData

call BANCO_0
movf DECIMA,0
movwf LETRA
call WrtData
call BANCO_0
movf CENTESIMA,0
movwf LETRA
call WrtData
RETURN

; Librerias usadas
INCLUDE <TRANSF.ASM>
INCLUDE <FP24.A16>
INCLUDE <TECLADO.ASM>
INCLUDE <I2C.ASM>
INCLUDE <FXD66.A16>
END

5.1.5. Circuito Final

El circuito final lo podemos observar en el Plano 5.1. En el plano 5.2
podemos obervar el diseo del circuito impreso y la distribucin de
componentes.












Plano 501




















CAPITULO VI

EVALUACIN DEL SISTEMA

6.1. Presupuesto del proyecto

La inversin del proyecto son todos los desembolsos que se efectan para
desarrollar el mismo, los requerimientos necesarios para la
implementacin del proyecto estn constituidos por dos granes rubros:

a) Materiales para su elaboracin
b) Activos intangibles

6.1.1. Materiales para su elaboracin

Para desarrollar el sistema de los simuladores y el SLPI se desarrollaron
varios diseos e implementaciones antes de llegar al diseo que
presentamos en el presente trabajo, es por ello que este rubro est
conformado por todos los materiales que conforman el sistema que se
presenta as como tambin todos los dispositivos que se utilizaron en
todos los diseos que precedieron al definitivo.

La siguientes tablas nos muestran los materiales y el costo de los
mismos.

Tarjeta de adquisicin de datos DAQ Advantech PCL 818L

Item Cantidad Precio Unitario (S/.) Total
Tarjeta DAQ PCL 818L 1 1575.0 1575.0

Tabla 6.1.- Precio de la Tarjeta DAQ PCL 818L de Advantech
Este precio no incluye los impuestos que debi de pagar esta tarjeta
para ingresar al pas.

Caja de Conexiones para DAQ

Item Cantidad Precio Unitario (S/.) Total
Bananas hembra 7 0.50 3.50
Acrlico 1 8.00 8.00
Caja Acrlico 1 20.00 20.00
Cable 3.00 3.00
Conector DB 37 Male 1 2.80 2.80
Total 37.30

Tabla 6.2.- Precios de la caja de conexiones para DAQ PCL 818L









Mdulo simulador de proceso de temperatura

Item Cantidad Precio Unitario (S/.) Total
Placa Impresa 1 20.00 20.00
Potencimetros 4 1.00 4.00
Transistor ECG 128 2 3.50 7.00
Transistor ECG 123AP 3 1.00 3.00
Transistor ECG 129 1 3.50 3.50
Resistencias 20 0.10 2.00
CI UA 741 4 1.00 4.00
Condensadores 3.3 nF 2 0.15 0.30
Condensador 220 F 1 0.50 0.50
Condensador 1000 F 1 1.50 1.50
Condensador 100 F 2 0.70 1.40
Diodo 1N4148 4 0.50 2.00
Lmparas 12 V/1 A 2 1.50 3.00
Bananas hembra 9 0.50 4.50
Caja de fibra de vidrio 1 35.00 35.00
Estao 5.00 5.00
Acrlico 1 12.00 12.00
Tornillos 4 0.50
Perillas 4 0.50 2.00
Total 112.00

Tabla 6.3.- Precios del simulador de proceso de temperatura








Mdulo simulador de proceso de nivel

Item Cantidad Precio Unitario (S/.) Total
Placa Impresa 1 15.00 15.00
Potencimetro 1 1.00 1.00
CI UA 741 2 2.00 2.00
Resistencias 6 0.10 0.60
Condensador 4.7 F 1 1.00 1.00
Diodo 1N4148 1 0.50 0.50
Diodo Zener 10 V 1 1.00 1.00
CI LM3914 1 6.00 6.00
Barra de leds 1 2.00 2.00
Bananas hembra 7 0.50 3.50
Regulador LM7812 1 1.50 1.50
Caja de fibra de vidrio 1 25.00 25.00
Acrlico 1 10.00 10.00
Tornillos 4 0.50
Perillas 1 0.50 0.50
Estao 2.00
Grand Total 72.10

Tabla 6.4.- Precios del simulador de proceso de nivel







Mdulo SLPI (Single Loop Programmable Instrument)

Item Cantidad Precio Unitario (S/.) Total
Microcontrolador PIC16F877 1 70.00 70.00
Placa Impresa 1 18.00 18.00
Max 232C 1 3.00 3.00
CI LF 351 1 3.00 3.00
DAC0808 1 5.00 5.00
Zcalos 4 0.50 2.00
Resistencias 10 0.10 1.00
Switch 1 0.50 0.50
Diodo 1N4148 1 0.50 0.50
LCD Matrix Orbital 1 280.00 280.00
Teclado 1 43.00 43.00
Conector DB9 Male 1 1.00 1.00
Cable 2.00 2.00
Cristal 20 MHz 1 7.00 7.00
Total 436.00

Tabla 6.5.- Precios del SLPI

No se realiz ningn gasto en lo que a software se refiere, ya que se
hizo uso de software licenciado del Programa Profesional de
Ingeniera Electrnica de la Universidad Catlica de Santa Mara.

6.1.2. Determinacin de precio de venta

Para este propsito se debe determinar cual ser el calor aadido que
se dar a cada uno de los productos, para este intangible tomaremos
que fueron alrededor de 1152 horas (semanas de 6 das, durante 6
meses, a 8 horas diarias), en este caso fueron dos personas las que
participaron en el proyecto, por lo que se considera a cada persona el
precio de US$ 3 la hora. Lo que sera un total de S/. 6912, lo que sera
equivalente en US$ 1974.

6.1.3. Confiabilidad del sistema

Un sistema de produccin, abarca una serie de maquinaria, equipos,
piezas, que se encargan y forman parte en el ciclo de la produccin. La
operatividad del sistema en general est ligado en gran parte al ndice
de confiabilidad de cada uno de sus componentes.

Dentro del programa de una gestin de mantenimiento eficiente est el
de conocer y utilizar consecuentemente los ndices de confiabilidad en
especial por su incidencia en los costos de produccin, e aqu la
importancia del uso de la confiabilidad de los componentes de un
sistema.

La confiabilidad se define como la probabilidad de no falla de un equipo,
es decir, la probabilidad de que un equipo funcione el mximo tiempo
posible sin fallas operando bajos condiciones estndar de trabajo. La
confiabilidad es una caracterstica de diseo y puede ser pasiva o activa.
La activa es cuando existe un equipo o componente de relevo que
trabaja automticamente o en forma manual reemplazando al que ha
fallado. La pasiva se considera a la de los repuestos, que si bien su
reemplazo no es instantneo, el contar con ellos recupera en el corto
plazo la operatividad del equipo.

Se debe tener en cuenta al determinar la confiabilidad de cualquier
elemento las condiciones en las que este se evale , ya que existen
factores que influyen en su determinacin como: el medio ambiente, el
ciclo de trabajo, la edad del equipo, pruebas y mediciones,
mantenimiento realizados. La siguiente tabla detalla los coeficientes de
peligro de los dispositivos electrnicos utilizados:

Dispositivos Electrnicos Peligro de fallas *10
-6
/h
Resistencias de carbn 0,005
Condensadores electrolticos 0,003
Diodos 0,080
Transistores de Silicio 0,100
OPAMP 0,070
Potencimetros 0,100

Tabla 6.6.- Coeficientes de peligro en los componentes utilizados

A continuacin se realizar el estudio de la confiabilidad del circuito
Simulador de Proceso de Temperatura, Simulador de Proceso de Nivel y
del SLPI.

6.1.3.1. Estudio de Confiabilidad del Simulador de Proceso de Temperatura

Se utilizar los coeficientes de peligro de fallas mostradas en la Tabla
6.6 que se utilizan en este circuito. En la siguiente Figura se muestra
el diagrama de bloques del sistema Simulador de Proceso de
Temperatura.

Actuador 1 Generacin de Generacin de Generacin de Generacin de
Indicador 1 Curva Parte 1 Curva Parte 2 Curva Parte 3 Curva Parte 4

BLOQUE 1 BLOQUE 3 BLOQUE 4 BLOQUE 5 BLOQUE 6



Actuador 2
Indicador 2

BLOQUE 2

Figura 6.1.- Diagrama de bloques del simulador de Temperatura

Puede verse que el circuito ha sido dividido en seis bloques, los
cuales comprenden:

- BLOQUE 1 :

El bloque uno comprende la entrada a actuador 1 y un
indicador y est constituido por los siguientes componentes:

2 Transistores
1 Potencimetro
1 Resistencia

Dispositivo Nmero de
elementos
Peligro de fallas
*10
-6

Peligro de fallas
del grupo de
elementos *10
-6

Resistencia 1 0,005 0,005
Transistor 2 0,100 0,200
Potencimetro 1 0,100 0,100
TOTAL 0,305 x 10
-6


Tabla 6.7.- Peligro de fallas del Bloque 1

- BLOQUE 2 :

El bloque dos comprende la entrada a actuador 2 y un
indicador y est constituido por los siguientes componentes:

2 Transistores

1 Potencimetro

1 Resistencia

Dispositivo Nmero de
elementos
Peligro de fallas
*10
-6

Peligro de fallas
del grupo de
elementos *10
-6

Resistencia 1 0,005 0,005
Transistor 2 0,100 0,200
Potencimetro 1 0,100 0,100
TOTAL 0,305 x 10
-6


Tabla 6.8.- Peligro de fallas del Bloque 2

- BLOQUE 3:

El bloque tres comprende el integrador atenuador y est
constituido por los siguientes componentes:

Dispositivo Nmero de
elementos
Peligro de fallas
*10
-6

Peligro de fallas
del grupo de
elementos *10
-6

Resistencia 4 0,005 0,020
Condensador 1 0,003 0,003
OPAMP 1 0,070 0,070
TOTAL 0,093 x 10
-6


Tabla 6.9.- Peligro de fallas del Bloque 3

- BLOQUE 4:

El cuarto bloque constituido por los siguientes componentes:






Dispositivo Nmero de
elementos
Peligro de fallas
*10
-6

Peligro de fallas
del grupo de
elementos *10
-6

Resistencia 4 0,005 0,020
Diodo 1 0,080 0,080
Condensador 1 0,003 0,003
OPAMP 1 0,070 0,070
Potencimetro 1 0,100 0,100
TOTAL 0,273 x 10
-6


Tabla 6.10.- Peligro de fallas del Bloque 4

- BLOQUE 5:

El quinto bloque constituido por los siguientes componentes:

Dispositivo Nmero de
elementos
Peligro de fallas
*10
-6

Peligro de fallas
del grupo de
elementos *10
-6

Resistencia 3 0,005 0,015
Diodo 1 0,080 0,080
Condensador 1 0,003 0,003
OPAMP 1 0,070 0,070
TOTAL 0,168 x 10
-6


Tabla 6.11.- Peligro de fallas del Bloque 5






- BLOQUE 6:

El bloque seis constituido por los siguientes componentes:

Dispositivo Nmero de
elementos
Peligro de fallas
*10
-6

Peligro de fallas
del grupo de
elementos *10
-6

Resistencia 8 0,005 0,040
Diodo 3 0,080 0,240
Condensador 1 0,003 0,003
OPAMP 1 0,070 0,070
Potencimetro 2 0,100 0,200
Transistor 2 0,100 0,200
TOTAL 0,753 x 10
-6


Tabla 6.12.- Peligro de fallas del Bloque 6

Ahora calcularemos la confiabilidad total del sistema analizando
el diagrama de bloques y haciendo uso tambin de:

Probabilidad del trabajo sin fallas (P)
Intensidad (peligro) de fallos (&i)

De los cuadros anteriores tenemos que:

El BLOQUE 1 esta en paralelo con el BLOQUE 2
P12 = Rp

&1 = 0,305 x 10
-6
/h
&2 = 0,305 x 10
-6
/h

) 1 ( 1
) 1 )( 1 ( 1
) 2 1 )( 1 1 ( 1
6 10 61 , 0 6 10 305 , 0 6 10 305 , 0
6 10 * 305 , 0 6 10 * 305 , 0
t x t x t x
t t
e e e Rp
e e Rp
R R Rp


+ =
=
=


y que los bloques 3,4,5 y 6 estn en serie por lo que tenemos
que:

t x
t x t x t x
t
x
e Rs
e e e e Rs
R R R R Rs
6 10 287 , 1
6 10 753 , 0 6 10 168 , 0 6 10 273 , 0 6 10 093 , 0
* * *
6 * 5 * 4 * 3


=
=
=


De los bloques resultantes tenemos que Rp esta en serie con
Rs entonces:

Rt =Rp * Rs

t x t x
e e Rt
6 10 897 , 1 6 10 592 , 1
2

=


Reemplazando en la frmula anterior la variable tiempo por los
valores que damos a continuacin obtendremos los valores para
Rt y para la confiabilidad que tambin se muestra en la misma
tabla.

t(aos) t(horas) Rt Confiabilidad %
0,25 2190 0,9972 99,72
0,50 4380 0,9944 99,44
0,75 6570 0,9916 99,16
1,00 8760 0,9888 98,88
2,00 17520 0,9777 97,77
3,00 26280 0,9667 96,67
4,00 35040 0,9558 95,58
5,00 43800 0,9450 94,50

Tabla 6.13.- Fiabilidad del sim. de proceso de temperatura

En la tabla obtenida anteriormente observamos que la
confiabilidad del equipo hasta los primeros 5 aos es muy
buena, de lo que deducimos que existe una probabilidad muy
alta de que el equipo no falle en este lapso de tiempo y
efectivamente a medida que transcurre el tiempo esta
confiabilidad va disminuyendo como lo mencionamos
anteriormente por los diferentes factores que lo afectan como la
edad y uso del equipo.

6.1.3.2. Estudio de confiabilidad del simulador de proceso de nivel

Se utilizar los coeficientes de peligro de fallas mostradas en la Tabla
6.6 que se utilizan en este circuito. En la siguiente figura se muestra
el diagrama de bloques del sistema Simulador de Proceso de Nivel.


SUMADOR INTEGRADOR



BLOQUE 1 BLOQUE 2

Figura 6.2.- Diagrama de bloques del simulador de proceso de nivel

Puede verse que el circuito ha sido dividido en dos bloques, los
cuales comprenden:

- BLOQUE 1 :

El bloque uno comprende la etapa sumadora y est constituida
por los siguientes componentes:

3 Resistencias
1 Potencimetro
1 OPAMP

Dispositivo Nmero de
elementos
Peligro de fallas
*10
-6

Peligro de fallas
del grupo de
elementos *10
-6

Resistencia 3 0,005 0,015
OPAMP 1 0,070 0,070
Potencimetro 1 0,100 0,100
TOTAL 0,185 x 10
-6


Tabla 6.14.- Peligro de fallas del Bloque 1

- BLOQUE 2 :

El bloque dos comprende el integrador y est constituido por
los siguientes componentes:

2 Diodos
1 Condensador
2 Resistencias
1 OPAMP

Dispositivo
Nmero de
elementos
Peligro de fallas
*10
-6

Peligro de fallas
del grupo de
elementos *10
-6

Resistencia 2 0,005 0,010
Diodo 2 0,080 0,160
Condensador 1 0,003 0,003
OPAMP 1 0,070 0,070
TOTAL 0,243 x 10
-6


Tabla 6.15.- Peligro de fallas del Bloque 2


De los cuadros anteriores tenemos que:
El BLOQUE 1 esta en serie con el BLOQUE 2

Rt =R1 * R2

t x t x
e e Rt
6 10 243 , 0 6 10 185 , 0
=

Reemplazando en la frmula anterior la variable tiempo por los
valores que damos a continuacin obtendremos los valores para
Rt y para la confiabilidad que tambin se muestra en la misma
tabla.

t(aos) t(horas) Rt Confiabilidad %
0,25 2190 0,9991 99,91
0,50 4380 0,9981 99,81
0,75 6570 0,9972 99,72
1,00 8760 0,9962 99,62
2,00 17520 0,9925 99,25
3,00 26280 0,9888 98,88
4,00 35040 0,9851 98,51
5,00 43800 0,9814 98,14

Tabla 6.16.- Confiabilidad del simulador de proceso de nivel

En la tabla obtenida anteriormente observamos que la
confiabilidad del equipo hasta los primeros 5 aos es muy
buena, de lo que deducimos que existe una probabilidad muy
alta de que el equipo no falle en este lapso de tiempo y
efectivamente a medida que transcurre el tiempo esta
confiabilidad va disminuyendo como lo mencionamos
anteriormente por los diferentes factores que lo afectan como la
edad y uso del equipo.

6.1.3.3. Estudio de confiabilidad del SLPI

Un falla existe cuando un mdulo, componente o parte de un sistema
no cumple la funcin para la que fue diseado, o toma un estado no
deseado, contrario a la especificacin o requerimiento del usuario.

El tiempo medio para fallar, es el tiempo en el que se puede esperar
que un sistema, falle. En nuestro caso los fabricantes de los
semiconductores, que estamos usando en el SLPI, nos remitieron los
siguientes datos:

Tiempo medio para fallar

Componente Tiempo medio
para fallar (horas)
1. LCD Matriz Orbital LK 1612
2. Microcontrolador PIC16F877 de la firma
Microchip
3. DAC0808 de National Semiconductor
7

10
10
4. OPAMP LF351 de National Semiconductor 10
Total 37
Promedio 9.25

Tabla 6.17. Tiempo medio para fallar de los componentes del SLPI

El tiempo medio para reparacin es el tiempo en el que se puede
esperar que se repare el sistema fallado, incluyendo diagnstico,
identificacin de la accin correctiva, compra de repuestos
(incluyendo los trmites administrativos), reparacin y puesta en
marcha.

En nuestro caso tendremos:

Item Tiempo (horas)
1. Diagnstico
2. Identificacin de la accin correctiva
3. Compra de repuestos
4. Reparacin
5. Puesta en marcha
4
1
87
2
2
Total 96

Tabla 6.18. Tiempo medio para reparacin de los equipos

El tiempo medio entre fallos, ser:

MTBF = MTTF + MTTR

La disponibilidad de un sistema es que este est operable en
cualquier momento, entonces tenemos que la disponibilidad se
calcula como:

MTBF
MTTF
DISP =

Entonces segn los datos anteriores tendremos que:

Disponibilidad del SLPI = 99.88%



CONCLUSIONES Y OBSERVACIONES

1. En nuestras Universidades no se cuenta muchas veces, con la capacidad
de poder adquirir mdulos educativos reales. Por lo que este mdulo es
una opcin en estos casos.
2. Los objetivos planteados en el CAPITULO I se han cumplido a cabalidad.
3. Se pueden disear e implementar diversos tipos de Control de Procesos
Industriales.
4. El estado del Control de Procesos puede hoy analizarse como la
integracin de tres evoluciones. La evolucin de la industria de
produccin, la evolucin de la tecnologa Informtica y la Evolucin de
Control Automtico.
5. Las diferentes caractersticas de los microcontroladores (versatilidad,
potencia, eficacia, facilidad de programacin, etc), hacen que este sea un
componente ideal en el diseo e implementacin de controladores de
procesos de un solo lazo, ya que no necesita de mucho hardware externo.
6. Se us un algoritmo PID normalizado, ya que este algoritmo es el ms
usado en comparacin con otras teoras de control aplicadas a la
industria.
7. Se ha usado dos tipos de algoritmo: uno posicional y uno incremental,
para que de esta manera el alumno pueda comparar el funcionamiento de
ambos.
8. El alumno podr experimentar diferentes sub divisiones de un algoritmo
PID, como P, PI, PD o PID.
9. El alumno, entones, podr indicar la diferencia que existen entre cada uno
de ellos.
10. Actualmente hasta los instrumentos ms sencillos son digitales y ofrecen
mayor flexibilidad que sus predecesores analgicos.
11. La facilidad y reducido nmero de instrucciones permiten que la
programacin en el lenguaje MPASM, sea poco complicada.
12. El SLPI se puede adaptar a cualquier proceso, adecundolo a sus
diferentes caractersticas o normas por las que est regido.
13. Al efectuar la seleccin de un controlador unilazo, debe verificarse que su
tiempo de barrido (generalmente fijo), sea compatible con las necesidades
del proceso.
14. El alumno puede aprender a determinar los parmetros ms adecuado
para el control de un proceso.
15. La amplia difusin de las PCs y tecnologas asociadas facilita la
implementacin de los sistemas de control basados en PC.
16. El software en Visual Basic (Controlador de Procesos Industriales),
muestra como se realiza la sintona un proceso, adems de controlarlo.
17. La facilidad de programacin del software LabView permite tener una
interfaz de usuario mucho ms elaborada y amigable, gracias a su
Programacin G.
18. La programacin grfica de LabView permite su fcil aprendizaje.




















RECOMENDACIONES

1. Se recomienda que en el SLPI se modifique el tiempo de muestreo para el
proceso que se desee controlar.
2. En el caso que se quiera controlar una planta real con el SLPI, se debe de
tener en cuenta los voltajes o corrientes de entrada/salida, para que de
esta manera se modifiquen el hardware de la tarjeta, para ajustarse a
estos parmetros y cuidar la integridad del microcontrolador.
3. En el caso que se quiera controlar un proceso real con el software
Controlador de Procesos Industriales, se debe de pre programar la
tarjeta para que adquiera la seal deseada, adems de realizar la misma
operacin para la salida, si es que fuera necesario se debe de disear un
hardware externo para cuidar la integridad de la tarjeta de Adquisicin de
Datos Advantech PCL 818L. Adems se debe de modificar el software
para que est parametrizado en el rango deseado.
4.















BIBLIOGRAFA

1. Karl J. strm, Bjrn Wittenmark . Computer Controlled Systems
Theory and Design. Third Edition Prentice Hall Information and System
Sciences Series. USA 1997.

2. Carlos A. Smith, Armando B. Corripio. Control Automtico de Procesos.
Tercera Edicin. Limusa Mxico 1996.

3. Jos Mara Angulo Usategui. Microcontroladores PIC16F877. Primera
Edicin. McGraw Hill 2000.

4. C. J. Savant, Martin S. Roden, Gordon L. Carpenter. Diseo Electrnico
Circuitos y Sistemas. Addison Wesley Iberoamericana. 1992.

5. Robert F. Coughlin, Frederick F. Driscoll. Amplificadores Operacionales y
Circuitos Integrados Lineales. Prentice Hall. Mxico 1999.

6. Antonio Pertence Junior. Amplificadores Operacionales y Filtros Activos.
McGraw Hill. Espaa 1991.

7. PIC 16F877 Data Sheet, Microchip 2000.

8. National Analog and Interface Products Databook. National
Semiconductor. Winter 2000.

9. LabView Manual. National Instruments. Austin Texas, USA. Enero 1996.

10. G Progrmming Reference Manual. National Instruments. Austin Texas,
USA. Enero 1998.

11. LabView Reference Manual. National Instruments. Austin Texas, USA.
Enero 1998.

12. Javier Garca de Jaln, Jos Ignacio Rodrguez, Alfonso Brazales.
Aprenda Visual Basic 6.0. Universidad de Navarra. San Sebastin
Agosto 1999.

13. Francisco Javier Cevallos Sierra. Enciclopedia de Microsoft Visual Basic
6.0. RA-MA Editorial. 2000.

14. Advantech. PCL 818L High Performance, Low Cost Data Acquisition
Card. USA 2001.

15. Foxboro Invesys. Instrument Catalog. 2000 2001.

Direcciones URL

1. Microchip Web Site, www.microchip.com
2. National Instruments, www.ni.com
3. Computed Controlled Systems, www.control.se/~kurs/ccs.html
4. Advantech Corp., www.advantech.com
5. Matrix Orbital Corp., www.matrixorbital.com
6. Jameco Corp., www.jameco.com
7. LanBox USA, www.lanboxusa.com

You might also like