Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Este es un ejemplo de la simulación de procesos usando CimBasic dentro de Cimplicity. CimBasic es una
variante de Microsoft Visual Basic adaptado a la operación con Cimplicity, por tanto quien tenga conocimiento
de Visual Basic rápidamente podrá aprender la programación en CimBasic.
Antes de la programación se requiere desarrollar el análisis dinámico y el cálculo del controlador PID requerido
usando el método Ziegler-Nichols.
El proceso tomado como ejemplo corresponde un tanque al cual ingresa una corriente de líquido y sale otra por
rebose, el contenido del tanque es calentado por medio de un serpentín de vapor para conseguir una temperatura
determinada en la corriente de salida. El análisis dinámico es como sigue:
dM
Balance de Materia: Win Wout 0 Win Wout W
dt
d
Balance de Energía: W Cp Ti L V W Cp T M Cp T
dt
Resolviendo:
d
W0 Cp Ti W Cp Ti 0 L V W0 Cp T W Cp T0 M Cp T
dt
d
W0 Cp Ti Ti 0 T0 Cp W L V W0 Cp T M Cp T
dt
W0 Cp Ti s Ti 0 T0 Cp W s L V s W0 Cp T s M Cp s T s
M Cp
W0 Cp Ti s Ti 0 T0 Cp W s L V s W0 Cp T s s 1
W0 Cp
1 Ti 0 T0 L M
T s Ti s W s V s donde
s 1 W0 W0 Cp W0
Ti 0 T0
W(s) W0
Ti(s)
+ +
Kv L 1
TSet(s)
-
Gc vs 1 W0 Cp +
s 1 T(s)
K m e d s
Consideremos el uso de transmisores y controlador con salidas de 4-20 mA, medición de 0-200ºC, válvula
operando de 0-50 kg/min para 0-100% de abertura. Los datos del procesos son: W0=500 kg/min, M=1,000 kg,
L=540 kcal/kg, Cp=1 kcal/kg.ºC; entonces:
Aplicando el método Ziegler-Nichols, el enunciado del trabajo requiere que V=2 sec =2/60min; m=1 sec:
1
0.08e
3.125
1.08
0.01666 s
FTLA
0.03333s 1 2s 1
180
arctan 0.03333 arctan 2 0.01666 180º
3.125 1
AR 1.08 0.08
1 0.03333 2 2
1 22 2
Se obtiene = 39.6436 rad/min y AR = 0.00268, entonces Pu = 0.1585 min y Ku = 373.12, por tanto Kc =
223.87 I=0.079 min y D=0.0198 min.
Para la simulación en CimBasic sólo se necesita el modelo en el dominio del tiempo, así sólo arreglamos la
ecuación diferencial y la expresamos en diferencias finitas:
W Ti T L V / M
dT
dT
dt
dT
T t Tprevio
dt
Sub Main()
' Control de Temperatura.
Loop
End Sub