Beruflich Dokumente
Kultur Dokumente
=
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