CONCLUSIONES Mediante la realización de un estudio a la

Anuncio
CONCLUSIONES
Mediante la realización de un estudio a la formación académica
universitaria que involucra dos fases de conocimientos teórica/practica;
debidos a las mismas responden a los avances tecnológicos impuestos y a la
necesidad de formar un profesional integro en el marco de la ingeniería. Así
mismo nace la necesidad de desarrollar un simulador de proceso para la
medición y control de nivel, permitiendo así concretar los objetivos que se
definieron al inicio de la Investigación.
En relación con las fases desarrolladas en los objetivos específicos, se
llego a las siguientes determinaciones.
Ø Se realizo el análisis de proceso de control de nivel con la finalidad de
determinar el problema existente en el mismo por ello se consiguió
alcanzar el primer objetivo especifico de este estudio que es la situación
de la medición y control como paso fundamental de la Investigación.
Ø Se determinaron los parámetros electrónicos y físicos adecuados para la
medición de nivel con el fin de establecer las especificaciones de los
componentes y equipos.
En tal sentido, la información obtenida abarca las características y
distribución de los instrumentos que se seleccionaron para las distintas
señales que requiere el proceso de medición y control.
Ø Se diseño una estrategia de control para la medición de nivel en los
tanques,
163
164
Asegurando así la correcta utilización de los elementos y al mismo tiempo
conocer los niveles aceptables que estos puedan soportar referente a los
parámetros más importantes, como lo son el voltaje y la corriente.
Así mismo, se elaboraron diagrama de bloques del sistema, tablas de
comparación y una serie de pruebas variando los niveles para la
comprobación de que el mismo funciona correctamente, tambien es
importante destacar que se realizaron pruebas a los equipos y herramientas
para el montaje del simulador.
En este sentido se puede concluir que los sistemas de medición y control
son y serán efectivos en los procesos, disminuyendo fallas y ejecutando
acciones de mayor alcance en costo/tiempo.
Así mismo, la facilidad de implantación de este diseño se fundamenta en
los elementos necesarios y mínimos para su construcción, ya que se
utilizaron equipos básicos en el área de la instrumentación donde los mismos
están en capacidad de detectar el nivel en el tanque y proporcionar al
operador información continua de la cantidad de litros disponible y el proceso
de llenado y vaciado.
165
RECOMENDACIONES
En función de los resultados obtenidos en este estudio, se considera
pertinente plantear las siguientes recomendaciones.
-
proponer a las actividades de la Universidad Rafael Belloso Chacín la
implementación de este equipo a los laboratorios.
-
Incorporar al simulador, al desarrollo de un proyecto para la medición
y control de otras variables, donde este debe involucrar un estudio
integral de las acciones tendientes de los equipos a utilizar.
Utilizar una pantalla LCD 2x16 para así lograr muestrear mas palabras en la
misma.
166
REFERENCIAS BIBLIOGRAFICAS
- KUO, BENJAMIN, Sistema de control automático séptima
edición Prentice Hall 1996.
- OGATA, KATSUHIKO, Ingeniería de control moderna
tercera edición Prentice Hall 1998.
- ANGULO, IGNACIO, Diseño practico de microcontroladores
PIC tercera edición Mcgraw-Hill 1999.
- CREUS,
ANTONIO,
Instrumentación
industrial
quinta
edición Alfa Omega 1998.
- CORRIPIO, SMITH, Control Automático de proceso Limusa
1995.
- SERWAY, REYMOND, Física para ciencia e Ingeniería
Mcgraw-Hill 2002.
- SABINO, CARLOS El Proceso de Investigación Panapo
2000
REFERENCIA ELECTRÓNICA EN LÍNEA
- www.ISA.org
- www.matheworks.com
-
www.microchip.com
167
ANEXOS
168
;*******************************************************************
*********
LIST P=16F877
RADIX
HEX
;*******************************************************************
*********
;ETIQUETAS DEL PROGRAMA
;*******************************************************************
*********
INCLUDE "P16F877.INC"
; Etiquetas genericas para el PIC
16F877
;*******************************************************************
*********
L_RS EQU
0X0
;PORTE(BIT 0)
L_RW EQU
0X1
;PORTE(BIT 1)
L_E
EQU
0X2
;PORTE(BIT 2)
;-------------------------------------L_DATA
EQU
0X8
;PORTD
L_TRIS
EQU
0X88
;TRISD
L_CTRL
EQU
0X9
;PORTE
BUZZER
EQU
0X2
;--------------------------------------------------------------------------TX1
EQU
0X1
;BIT(1) PORTB
RX1
EQU
0X0
;BIT(0) PORTB
RS232B
EQU
0X6
;PORTB
;--------------------------------------------------------------------------INTF EQU
0X1
INTCON
EQU
0XB
OPCION
EQU
0X81
;--------------------------------------------------------------------------BOMBA1
EQU
0X0
BOMBA2
EQU
0X1
;*******************************************************************
*********
ORG
0X20
L_TEMP
RES
1
LTS
RES
1
LTS1 RES
1
TEMPO RES
1
RESDIV
RES
1
DELAY RES
1
X_DELAY
RES
1
DDO
RES
1
MULPLR
RES
1
MULCND
RES
1
L_BYTE
RES
1
B_BYTE
RES
1
H_BYTE
RES
1
A_BYTE
RES
1
RG1
RES
1
RG2
RES
1
169
RG3
RES
1
RG4
RES
1
CONTA RES
1
CONTA1
RES
1
CONTA2
RES
1
CONTA3
RES
1
ENTRA RES
1
ESTADO
RES
1
;.....................
AN01 RES
1
AN02 RES
1
AN03 RES
1
;.....................
RECEPC
RES
1
TRANSM
RES
1
RETARD
RES
1
PILA1 RES
1
PILA2 RES
1
BOMB1 RES
1
BOMB2 RES
1
;*************************************************
;
RUTINA PRINCIPAL
;*************************************************
ORG
0X0
GOTO PPORT
ORG
0X4
;*************************************************
;
RUTINA DE INTERRUPCION
;*************************************************
EXPUL MOVWF PILA1
;W --> PILA1
MOVF STATUS,W
;W --> SATATUS
MOVWF PILA2
;W --> PILA2
;----------------------CALL RXM
MOVLW 0XAA
SUBWF RECEPC,W
BTFSC STATUS,Z
GOTO FUERA
;----------------------RM1
MOVLW 0XA1
;ON BOMBA1
SUBWF RECEPC,W
BTFSS STATUS,Z
GOTO RM2
BSF
PORTC,BOMBA1
BSF
BOMB1,0
BSF
ESTADO,0
GOTO FUERA
;----------------------RM2
MOVLW 0XA3
;OFF BOMBA1
SUBWF RECEPC,W
BTFSS STATUS,Z
GOTO RM3
BCF
PORTC,BOMBA1
BCF
BOMB1,0
170
BCF
ESTADO,0
GOTO FUERA
;----------------------RM3
MOVLW 0XA5
;ON BOMBA2
SUBWF RECEPC,W
BTFSS STATUS,Z
GOTO RM4
BSF
PORTC,BOMBA2
BSF
BOMB2,0
BSF
ESTADO,1
GOTO FUERA
;----------------------RM4
MOVLW 0XA6
;OFF BOMBA2
SUBWF RECEPC,W
BTFSS STATUS,Z
GOTO FUERA
BCF
PORTC,BOMBA2
BCF
BOMB2,0
BCF
ESTADO,1
;----------------------FUERA MOVF LTS,W
CALL TXM
CALL TL1
MOVF ESTADO,W
CALL TXM
;----------------------BCF
INTCON,INTF
MOVF PILA2,W
MOVWF STATUS
MOVF PILA1,W
RETFIE
;*******************************************************************
*********
;
PROGRAMA PRINCIPAL
;*******************************************************************
*********
PPORT BSF
STATUS,RP0 ; Seleccion del banco 1
BCF
STATUS,RP1
MOVLW 0XE
MOVWF ADCON1
MOVLW 0X0
;XXXX X000
MOVWF TRISE
MOVLW 0X3F
;XX11 1111
MOVWF TRISA
MOVLW 0XFD
;1111 1101
MOVWF TRISB
MOVLW 0XF8
;1111 1000
MOVWF
TRISC
MOVLW 0XFF
;1111 1111
MOVWF
TRISD
MOVLW 0X0
MOVWF OPCION
BCF
STATUS,RP0
171
;*******************************************************************
*********
CALL DESINT
INIC CLRF PORTE
CLRF PORTC
BSF
RS232B,TX1 ;COLOCAR LINEA EN ALTO
CLRF PORTD
CLRF BOMB1
CLRF BOMB2
CLRF ESTADO
;*******************************************************************
*********
INI0 CALL WRITE
CALL LCDINI
;...............................
INI2 CALL PANT1
CALL READ
;...............................
INI3 CALL ACTINT
;...............................
INI4 CALL LEEAD0
CALL MOST2
CALL T1S
GOTO INI4
;*******************************************************************
*********
LCDINI
CLRF L_CTRL
MOVLW 0X1E
CALL X_DEL5
MOVLW 0X38
CALL P_CMD
MOVLW 0X0
CALL L_DMODE
CALL L_CLEAR
MOVLW 0X2
CALL L_DMODE
MOVLW 0X4
CALL L_EMODE
RETURN
;*******************************************************************
*********
L_BUSY
BSF
STATUS,RP0
MOVLW 0XFF
MOVWF L_TRIS
BCF
STATUS,RP0
BCF
L_CTRL,L_RS
BSF
L_CTRL,L_RW
BSF
L_CTRL,L_E
MOVF L_DATA,W
BCF
L_CTRL,L_E
ANDLW 0X80
BTFSS STATUS,Z
GOTO L_BUSY
LN_BUSY
BCF
L_CTRL,L_RW
172
BSF
STATUS,RP0
MOVLW 0X0
MOVWF L_TRIS
BCF
STATUS,RP0
RETURN
;*******************************************************************
*********
L_CLEAR
MOVLW 0X1
CALL P_CMD
RETURN
;*******************************************************************
*********
L_HOME
MOVLW 0X2
CALL P_CMD
RETURN
;*******************************************************************
*********
L_DMODE
ANDLW 0X3
IORLW 0X4
CALL P_CMD
RETURN
;*******************************************************************
*********
L_EMODE
ANDLW 0X7
IORLW 0X8
CALL P_CMD
RETURN
;*******************************************************************
*********
P_DATO
MOVWF L_TEMP
CALL L_BUSY
BCF
L_CTRL,L_RW
BSF
L_CTRL,L_RS
BSF
L_CTRL,L_E
MOVF L_TEMP,W
MOVWF L_DATA
BCF
L_CTRL,L_E
RETURN
;*******************************************************************
*********
P_CMD MOVWF L_TEMP
CALL L_BUSY
BCF
L_CTRL,L_RW
BCF
L_CTRL,L_RS
BSF
L_CTRL,L_E
MOVF L_TEMP,W
MOVWF L_DATA
BCF
L_CTRL,L_E
RETURN
;*******************************************************************
*********
DEL5 MOVLW
.165
MOVWF
DELAY
LOOP5 DECFSZ
DELAY,F
173
GOTO LOOP5
RETURN
;*******************************************************************
*********
X_DEL5
MOVWF X_DELAY
XLP5 CALL DEL5
DECFSZ
X_DELAY,F
GOTO XLP5
RETURN
;*******************************************************************
*********
LEEAD0
BSF
STATUS,RP0 ;Seleccion del banco 1
BCF
STATUS,RP1
BSF
PIE1,ADIE
;ACTIVA LA BANDERA DE INTERRUPCION DEL A/D
BCF
STATUS,RP0 ;MOVERSE AL BANCO 0
MOVLW 0X1
;CONFIGURA EL REGISTRO
MOVWF ADCON0
;ADCON0
BCF
PIR1,ADIF
;BORRAR EL SEÑALIZADOR ADIF
CALL T25M
;RETARDO
BSF
ADCON0,GO
;INICIA CONVERSION
NOP
;TIEMPO DE ESPERA
NOP
;PARA ADQUISICIÓN
NOP
NOP
NOP
NOP
NOP
NOP
ESPER BTFSS PIR1,ADIF
GOTO ESPER
;CONVERSION FINALICE
;..........................
MOVF ADRESH,W
MOVWF LTS
MOVWF L_BYTE
CLRF H_BYTE
;..................................
CALL HEXDEC
MOVF RG1,W
MOVWF AN01
MOVF RG2,W
MOVWF AN02
MOVF RG3,W
MOVWF AN03
RETURN
;-------------------------------------------------------------------------;*******************************************************************
*********
HEXDEC
MOVF L_BYTE,W
MOVWF B_BYTE
MOVF H_BYTE,W
MOVWF A_BYTE
CALL MOSRE
RETURN
174
;*******************************************************************
*********
MOSRE CLRF RG1
CLRF RG2
CLRF RG3
CLRF RG4
OTRA BCF
STATUS,C
MOVLW 0X3
SUBWF A_BYTE,W
BTFSC STATUS,C
GOTO SI
GOTO NO
SI
MOVLW 0XE8
SUBWF B_BYTE,W
BTFSC STATUS,C
GOTO SI1
GOTO NO1
SI1
MOVLW 0XE8
SUBWF B_BYTE,F
MOVLW 0X3
SUBWF A_BYTE,F
INCF RG4,F
GOTO OTRA
NO1
MOVLW 0X3
SUBWF A_BYTE,W
BTFSS STATUS,Z
GOTO SI2
GOTO NO
SI2
MOVLW 0XE8
SUBWF B_BYTE,F
MOVLW 0X4
SUBWF A_BYTE,F
INCF RG4,F
GOTO OTRA
NO
MOVF B_BYTE,W
MOVWF L_BYTE
MOVF A_BYTE,W
MOVWF H_BYTE
MOVLW 0X64
MOVWF DDO
CALL DIVISA
MOVF RESDIV,W
MOVWF RG3
MOVLW 0XA
MOVWF DDO
CALL DIVISA
MOVF RESDIV,W
MOVWF RG2
MOVLW 0X1
MOVWF DDO
CALL DIVISA
MOVF RESDIV,W
MOVWF RG1
RETURN
175
;*******************************************************************
*********
DIVISA
CLRF RESDIV
DIVI MOVF H_BYTE,W
IORWF L_BYTE,W
BTFSS STATUS,Z
GOTO SEGUIR
RETURN
SEGUIR
MOVF DDO,W
SUBWF L_BYTE,W
BTFSS STATUS,C
GOTO REVISA
GOTO SEPUEDE
SEPUEDE
MOVF DDO,W
SUBWF L_BYTE,F
INCF RESDIV,F
GOTO DIVI
REVISA
MOVLW 0X0
SUBWF H_BYTE,W
BTFSS STATUS,Z
GOTO SG1
RETURN
SG1
MOVF DDO,W
SUBWF L_BYTE,F
INCF RESDIV,F
DECF H_BYTE,F
GOTO DIVI
;*************************************************
MULTI MOVWF MULPLR
MOVF TEMPO,W
MOVWF MULCND
CLRF
H_BYTE
CLRF
L_BYTE
MOVLW
0X0
SUBWF MULPLR,W
BTFSC STATUS,Z
RETURN
MOVLW
0X0
SUBWF MULCND,W
BTFSC STATUS,Z
RETURN
MOVLW
8
MOVWF
CONTA
MOVF
MULCND, W
BCF
STATUS, C
LOOP
RRF
MULPLR, F
BTFSC
STATUS, C
ADDWF
H_BYTE, F
RRF
H_BYTE, F
RRF
L_BYTE, F
DECFSZ CONTA, F
GOTO
LOOP
RETURN
;*************************************************
176
PANT1 CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
L_CLEAR
0X80
P_CMD
'B'
P_DATO
'1'
P_DATO
':'
P_DATO
'0'
P_DATO
MOVLW ' '
CALL P_DATO
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
'B'
P_DATO
'2'
P_DATO
':'
P_DATO
MOVLW 0XC0
CALL P_CMD
MOVLW '0'
CALL P_DATO
MOVLW ' '
CALL P_DATO
;********************************
MOVLW 'L'
CALL P_DATO
MOVLW 'T'
CALL P_DATO
MOVLW '='
CALL P_DATO
MOVLW '0'
CALL P_DATO
MOVLW '0'
CALL P_DATO
MOVLW '0'
CALL P_DATO
RETURN
;*************************************************
MOST2 MOVLW 0X83
CALL P_CMD
MOVF BOMB1,W
ADDLW 0X30
CALL P_DATO
MOVLW
CALL
MOVF
ADDLW
CALL
0XC0
P_CMD
BOMB2,W
0X30
P_DATO
177
MOVLW 0XC5
CALL P_CMD
MOVF AN03,W
ADDLW 0X30
CALL P_DATO
MOVF AN02,W
ADDLW 0X30
CALL P_DATO
MOVF AN01,W
ADDLW 0X30
CALL P_DATO
RETURN
;*************************************************
READ BSF
STATUS,RP0
MOVLW 0XFF
MOVWF TRISD
BCF
STATUS,RP0
RETURN
;*******************************************************************
********
WRITE BSF
STATUS,RP0
MOVLW 0X0
MOVWF TRISD
BCF
STATUS,RP0
RETURN
;*******************************************************************
********
TL1
MOVLW .4
MOVWF CONTA1
PL1
MOVLW .82
MOVWF CONTA
PL2
DECFSZ
CONTA,F
GOTO PL2
DECFSZ
CONTA1,F
GOTO PL1
RETURN
;*******************************************************************
********
T25M MOVLW .35
;25.03 ms (a 4MHz)
MOVWF CONTA1
LP1A MOVLW .237
MOVWF CONTA
LP2A DECFSZ
CONTA,F
GOTO LP2A
DECFSZ
CONTA1,F
GOTO LP1A
RETURN
;*******************************************************************
********
T1S
MOVLW .40
MOVWF CONTA2
LOOP4 CALL T25M
DECFSZ
CONTA2,F
178
GOTO LOOP4
RETURN
;*******************************************************************
********
T125M MOVLW .5
MOVWF CONTA2
LOP6 CALL T25M
DECFSZ
CONTA2,F
GOTO LOP6
RETURN
;*******************************************************************
********
UNBIT MOVLW .165
;PARA UN BIT DE RETARDO
MOVWF RETARD
;RUTINA 1200 BAUDIOS
REDO NOP
NOP
DECFSZ
RETARD,F
GOTO REDO
NOP
RETURN
;*******************************************************************
********
UNMED MOVLW .248
;PARA UNO Y MEDIO BIT DE RETARDO
MOVWF RETARD
;RUTINA DE RETARDO
REDO1 NOP
NOP
DECFSZ
RETARD,F
GOTO REDO1
RETURN
;*******************************************************************
********
TXM
MOVWF TRANSM
;CARGA DATO EN REGISTRO DE TRANSMISION
XMRT MOVLW 0X8
;CARGAR EL NUMERO DE BITS
MOVWF CONTA
;CARGAR EL CONTADOR
BCF
RS232B,TX1 ;COLOCAR LINEA DE TX1 EN BAJO
CALL UNBIT
;GENERAR BIT DE ARRANQUE
XNEXT BCF
RS232B,TX1 ;COLOCAR LINEA DE TX1 EN BAJO
BCF
STATUS,C
;LIMPIAR CARRY
RRF
TRANSM,F
;ROTAR REGISTRO DE TRANSMISION
BTFSC STATUS,C
;PREGUNTAR POR EL CARRY
BSF
RS232B,TX1 ;SI ES UNO, COLOCAR LINEA EN ALTO
CALL UNBIT
;LLAMAR RETARDO DE 1 BIT
DECFSZ
CONTA,F
;DECREMENTAR CONTADOR, SALTAR SI
ES CERO
GOTO XNEXT
;REPETIR HASTA TRANSMITIR TODO EL DATO
BSF
RS232B,TX1 ;COLOCAR LINEA EN ALTO
CALL UNBIT
;RETARDO DE 1 BIT, BIT DE STOP
RETURN
;*******************************************************************
********
RXM
CLRF RECEPC
;LIMPIA REGISTRO DE RECEPCION
CALL UNMED
;LLAMAR RUTINA UNO Y MEDIO BITS
RCVR MOVLW 0X8
;CARGAR CONTADOR CON EL NUMERO
MOVWF CONTA
;DE BITS
179
RNEXT BCF
STATUS,C
;LIMPIAR CARRY
BTFSC RS232B,RX1 ;PREGUNTAR POR EL ESTADO DE LA LÍNEA
BSF
STATUS,C
;ACTIVAR CARRY SI ESTÁ EN ALTO "1"
RRF
RECEPC,F
;ROTAR REGISTRO DE RECEPCION
CALL UNBIT
;LLAMAR RUTINA DE UN BIT
DECFSZ
CONTA,F
;DECREMENTAR CONTA, SALTAR SI ES
CERO
GOTO RNEXT
;REPETIR HASTA COMPLETAR DATO
RETURN
;*******************************************************************
********
ACTINT
MOVLW b'10010000' ;GIE=1, INTE=1
MOVWF INTCON
RETURN
;*************************************************
;
RUTINA DE DESHABILITACIÓN DE INTERRUPCION
;*************************************************
DESINT
MOVLW b'00000000' ;GIE=0, INTE=0
MOVWF INTCON
RETURN
;*************************************************
END
180
VERSION 5.00
Object = "{65E121D4-0C60-11D2-A9FC-0000F8754DA1}#2.0#0";
"MSCHRT20.OCX"
Begin VB.Form SIMULADOR
BackColor
=
&H00800000&
Caption
=
"SIMULADOR"
ClientHeight
=
3195
ClientLeft
=
60
ClientTop
=
345
ClientWidth
=
4680
LinkTopic
=
"Form1"
ScaleHeight
=
3195
ScaleWidth
=
4680
StartUpPosition =
3 'Windows Default
WindowState
=
2 'Maximized
Begin VB.Timer Timer2
Interval
=
1000
Left
=
360
Top
=
360
End
Begin VB.Timer Timer1
Interval
=
1000
Left
=
960
Top
=
360
End
Begin MSChart20Lib.MSChart MSChart1
Height
=
4095
Left
=
6600
OleObjectBlob
=
"SIMULADOR.frx":0000
TabIndex
=
17
Top
=
3720
Width
=
4935
End
Begin VB.CommandButton VACIAR
Caption
=
"&VACIADO"
BeginProperty Font
Name
=
"MS Sans Serif"
Size
=
8.25
Charset
=
0
Weight
=
700
Underline
=
0
'False
Italic
=
0
'False
Strikethrough
=
0
'False
EndProperty
Height
=
495
Left
=
7320
Style
=
1 'Graphical
TabIndex
=
12
Top
=
1800
Width
=
1095
End
Begin VB.CommandButton LLENAR
Caption
=
"&LLENADO"
181
BeginProperty Font
Name
Size
Charset
Weight
Underline
Italic
Strikethrough
EndProperty
Height
=
Left
=
Style
=
TabIndex
=
Top
=
Width
=
=
=
=
=
=
=
=
"MS Sans Serif"
8.25
0
700
0
'False
0
'False
0
'False
495
5040
1 'Graphical
11
1800
1095
End
Begin VB.HScrollBar HS2
Height
=
255
Left
=
1200
Max
=
1000
TabIndex
=
4
Top
=
3480
Width
=
1695
End
Begin VB.HScrollBar HS1
Height
=
255
Left
=
1200
Max
=
100
TabIndex
=
1
Top
=
5400
Width
=
1695
End
Begin VB.CommandButton SALIR
Caption
=
"&SALIR"
BeginProperty Font
Name
=
"MS Sans Serif"
Size
=
8.25
Charset
=
0
Weight
=
700
Underline
=
0
'False
Italic
=
0
'False
Strikethrough
=
0
'False
EndProperty
Height
=
495
Left
=
9480
TabIndex
=
0
Top
=
1800
Width
=
1095
End
Begin VB.Label Label9
Alignment
=
2 'Center
BackStyle
=
0 'Transparent
BorderStyle
=
1 'Fixed Single
Caption
=
"SIMULADOR Y GRAFICA DEL SISTEMA"
182
BeginProperty Font
Name
Size
Charset
Weight
Underline
Italic
Strikethrough
EndProperty
ForeColor
=
Height
=
Left
=
TabIndex
=
Top
=
Width
=
End
Begin VB.Label Label8
Alignment
=
BackStyle
=
Caption
=
BeginProperty Font
Name
Size
Charset
Weight
Underline
Italic
Strikethrough
EndProperty
ForeColor
=
Height
=
Left
=
TabIndex
=
Top
=
Width
=
End
Begin VB.Label Label7
Alignment
=
BackColor
=
BorderStyle
=
Caption
=
BeginProperty Font
Name
Size
Charset
Weight
Underline
Italic
Strikethrough
EndProperty
Height
=
Left
=
TabIndex
=
Top
=
=
=
=
=
=
=
=
"MS Sans Serif"
9.75
0
700
0
'False
0
'False
0
'False
&H00FFFF00&
5175
4080
16
3000
7695
2 'Center
0 'Transparent
"LITROS"
=
=
=
=
=
=
=
"MS
12
0
700
0
0
0
Sans Serif"
'False
'False
'False
&H0000FFFF&
375
3720
15
6720
2775
2 'Center
&H80000009&
1 'Fixed Single
"0"
=
=
=
=
=
=
=
"MS
24
0
700
0
0
0
615
4200
14
7200
Sans Serif"
'False
'False
'False
183
Width
=
End
Begin VB.Shape Shape2
FillColor
=
FillStyle
=
Height
=
Left
=
Shape
=
Top
=
Width
=
End
Begin VB.Shape Shape1
FillColor
=
FillStyle
=
Height
=
Left
=
Shape
=
Top
=
Width
=
End
Begin VB.Label Label6
Alignment
=
BackStyle
=
BorderStyle
=
Caption
=
BeginProperty Font
Name
Size
Charset
Weight
Underline
Italic
Strikethrough
EndProperty
ForeColor
=
Height
=
Left
=
TabIndex
=
Top
=
Width
=
End
Begin VB.Label Label4
Alignment
=
BackStyle
=
BorderStyle
=
Caption
=
BeginProperty Font
Name
Size
Charset
Weight
Underline
Italic
Strikethrough
1815
&H0000FF00&
0 'Solid
255
4200
4 'Rounded Rectangle
6360
1815
&H000000FF&
0 'Solid
2895
4200
4 'Rounded Rectangle
3720
1815
2 'Center
0 'Transparent
1 'Fixed Single
"ACCION DEL SISTEMA"
=
=
=
=
=
=
=
"MS Sans Serif"
9.75
0
700
0
'False
0
'False
0
'False
&H00FFFF00&
1455
4080
13
1200
7695
2 'Center
0 'Transparent
1 'Fixed Single
"SIMULADOR DE LLENADO Y VACIADO DE TANQUE"
=
=
=
=
=
=
=
"MS
12
0
700
0
0
0
Sans Serif"
'False
'False
'False
184
EndProperty
ForeColor
Height
Left
TabIndex
Top
Width
=
=
=
=
=
=
End
Begin VB.Label Label5
Alignment
=
BackStyle
=
Caption
=
BeginProperty Font
Name
Size
Charset
Weight
Underline
Italic
Strikethrough
EndProperty
ForeColor
=
Height
=
Left
=
TabIndex
=
Top
=
Width
=
End
Begin VB.Label LITROS
Alignment
=
BackColor
=
BorderStyle
=
Caption
=
BeginProperty Font
Name
Size
Charset
Weight
Underline
Italic
Strikethrough
EndProperty
Height
=
Left
=
TabIndex
=
Top
=
Width
=
End
Begin VB.Label Label3
Alignment
=
BackStyle
=
BorderStyle
=
Caption
=
BeginProperty Font
&H0000FFFF&
615
240
10
240
11535
2 'Center
0 'Transparent
"LITROS"
=
=
=
=
=
=
=
"MS
12
0
700
0
0
0
Sans Serif"
'False
'False
'False
&H0000FFFF&
375
720
9
6120
2775
2 'Center
&H80000009&
1 'Fixed Single
"0"
=
=
=
=
=
=
=
"MS
24
0
700
0
0
0
Sans Serif"
'False
'False
'False
615
1200
8
6600
1695
2 'Center
0 'Transparent
1 'Fixed Single
"PARAMETROS DEL SISTEMA"
185
Name
Size
Charset
Weight
Underline
Italic
Strikethrough
EndProperty
ForeColor
=
Height
=
Left
=
TabIndex
=
Top
=
Width
=
End
Begin VB.Label Label2
Alignment
=
BackStyle
=
Caption
=
BeginProperty Font
Name
Size
Charset
Weight
Underline
Italic
Strikethrough
EndProperty
ForeColor
=
Height
=
Left
=
TabIndex
=
Top
=
Width
=
End
Begin VB.Label Label1
Alignment
=
BackStyle
=
Caption
=
BeginProperty Font
Name
Size
Charset
Weight
Underline
Italic
Strikethrough
EndProperty
ForeColor
=
Height
=
Left
=
TabIndex
=
Top
=
Width
=
=
=
=
=
=
=
=
"MS Sans Serif"
9.75
0
700
0
'False
0
'False
0
'False
&H00FFFF00&
6975
240
7
1200
3495
2 'Center
0 'Transparent
"SET POINT %"
=
=
=
=
=
=
=
"MS
12
0
700
0
0
0
Sans Serif"
'False
'False
'False
&H0000FFFF&
375
720
6
4200
2775
2 'Center
0 'Transparent
"CAPACIDAD LTS"
=
=
=
=
=
=
=
"MS
12
0
700
0
0
0
Sans Serif"
'False
'False
'False
&H0000FFFF&
375
600
5
2280
2775
186
End
Begin VB.Label LTS
Alignment
=
2 'Center
BackColor
=
&H80000009&
BorderStyle
=
1 'Fixed Single
Caption
=
"0"
BeginProperty Font
Name
=
"MS Sans Serif"
Size
=
24
Charset
=
0
Weight
=
700
Underline
=
0
'False
Italic
=
0
'False
Strikethrough
=
0
'False
EndProperty
Height
=
615
Left
=
1200
TabIndex
=
3
Top
=
2760
Width
=
1695
End
Begin VB.Label SP
Alignment
=
2 'Center
BackColor
=
&H80000009&
BorderStyle
=
1 'Fixed Single
Caption
=
"0%"
BeginProperty Font
Name
=
"MS Sans Serif"
Size
=
24
Charset
=
0
Weight
=
700
Underline
=
0
'False
Italic
=
0
'False
Strikethrough
=
0
'False
EndProperty
Height
=
615
Left
=
1200
TabIndex
=
2
Top
=
4680
Width
=
1695
End
End
Attribute VB_Name = "SIMULADOR"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Declare Sub vbOut Lib "C:\WIN95IO.DLL" (ByVal nPort As
Integer, ByVal nData As Integer)
Private Declare Sub vbOutw Lib "C:\WIN95IO.DLL" (ByVal nPort As
Integer, ByVal nData As Integer)
Private Declare Function vbInp Lib "C:\WIN95IO.DLL" (ByVal nPort As
Integer) As Integer
187
Private Declare Function vbInpw Lib "C:\WIN95IO.DLL" (ByVal nPort As
Integer) As Integer
Private Sub Form_Load()
Timer1.Enabled = False
Timer2.Enabled = False
End Sub
Private Sub HS1_Change()
SP.Caption = Str(HS1.Value) + "%"
SP.Refresh
LITROS.Caption = Str(Int((HS1.Value / 100) * HS2.Value))
LITROS.Refresh
End Sub
Private Sub HS1_Scroll()
SP.Caption = Str(HS1.Value) + "%"
SP.Refresh
LITROS.Caption = Str(Int((HS1.Value / 100) * HS2.Value))
LITROS.Refresh
End Sub
Private Sub HS2_Change()
LTS.Caption = HS2.Value
LTS.Refresh
LITROS.Caption = Str(Int((HS1.Value / 100) * HS2.Value))
LITROS.Refresh
End Sub
Private Sub HS2_Scroll()
LTS.Caption = HS2.Value
LTS.Refresh
LITROS.Caption = Str(Int((HS1.Value / 100) * HS2.Value))
LITROS.Refresh
End Sub
Private Sub LLENAR_Click()
If LLENAR.BackColor = &H8000000F Then
LLENAR.BackColor = &HFF00&
Timer1.Enabled = True
Else
End If
End Sub
Private Sub SALIR_Click()
End
End Sub
Private Sub Timer1_Timer()
LLENAR.BackColor = &H8000000F
Timer1.Enabled = False
End Sub
188
Private Sub Timer2_Timer()
VACIAR.BackColor = &H8000000F
Timer2.Enabled = False
End Sub
Private Sub VACIAR_Click()
If VACIAR.BackColor = &H8000000F Then
VACIAR.BackColor = &HFF00&
Timer2.Enabled = True
Else
End If
End Sub
Descargar