Sie sind auf Seite 1von 9

REDES Y COMUNICACIONES VISUAL BASIC 6.

DISEÑAR PROGRAMAS EN LENGUAJE ESTRUCTURADO

REALIZAR PROGRAMAS EN VISUAL BASIC QUE GENEREN REPORTES

La generación de reportes en un proceso automatizado, nos permiten llevar un


control y seguimiento de variables y valores de producción. Todos los lenguajes de
programación nos permiten crear dichos reportes, ya sea usando archivos planos
o bases de datos para guardar la información requerida. Los archivos planos
pueden ser generados usando las plantillas CSV o simplemente haciendo
separación de valores, en las bases de datos se utilizan varias plataformas como
Access, SQL, Oracle, informix, etc.

Con Visual Basic se pueden crear reportes en archivos planos y bases de datos,
nos vamos referir en este caso a los archivos planos. Un archivo plano es aquel
donde sus datos son representados por ASCII directos y la información en el
contenido puede ser ordenada o no.

REALIZAR UN PROGRAMA EN VISUAL BASIC 6, DONDE A PARTIR DE UN PROCESO


AUTOMATICO SE ESTEN GENERANDO REPORTES PLANOS DE LA ACTIVIDAD DEL
PROCESO...

PROGRAMA EN VISUAL BASIC

El proceso al que se le generarán los reportes es un dosificador el cual realiza una


mezcla automática de varios elementos como arena, grava, agua y cemento en un
tanque de almacenamiento para después entregarlos para su respectivo uso.

FORMULARIO

JOHN FREDY MARTINEZ CARDONA MANTENIMIENTO ELECTRÓNICO


REDES Y COMUNICACIONES VISUAL BASIC 6.0

CODIGO FUENTE

Option Explicit
Dim TARA As Single
Dim PASO As Byte
Dim TMETA As Single
Dim TPESADO As Single
Dim ACUMULADO As Single

Sub PAUSA(TM As Single)


Dim RT As Single
RT = Timer
Do
Loop Until ((Timer - RT) >= TM)
End Sub

Private Sub Command1_Click()


End
End Sub

Private Sub INICIO_Click()


If Val(PBRUTO) > 0 Then Exit Sub
If (Val(ARENA) + Val(GRAVA) + Val(CEMENTO) + Val(AGUA) > 1000) Then Exit Sub
If (Val(ARENA) + Val(GRAVA) + Val(CEMENTO) + Val(AGUA) < 10) Then Exit Sub
If PASO > 0 Then Exit Sub
CICLO.FillColor = vbGreen
ACUMULADO = PTOTAL
GRABAR1
PASO = 1
TMETA = 0
TPESADO = 0
End Sub

Private Sub PBRUTO_Change()


If Val(PBRUTO) < 0 Then PBRUTO = 0
If Val(PBRUTO) > 1000 Then PBRUTO = 1000
VPBRUTO = Val(PBRUTO)
End Sub

Private Sub PTOTAL_Change()


PTOTAL = Val(PTOTAL)
End Sub

Private Sub Timer1_Timer()


Select Case PASO
Case 1:
V1OFF.Visible = 0
TARA = Val(PBRUTO)
V1ON.Visible = 1
L1_1.BorderColor = vbBlue
L1_2.BorderColor = vbBlue
L1_3.BorderColor = vbBlue
PASO = 2
Case 2:

JOHN FREDY MARTINEZ CARDONA MANTENIMIENTO ELECTRÓNICO


REDES Y COMUNICACIONES VISUAL BASIC 6.0

If Val(PBRUTO) >= Val(ARENA) Then


V1ON.Visible = 0
V1OFF.Visible = 1
L1_1.BorderColor = vbBlack
L1_2.BorderColor = vbBlack
L1_3.BorderColor = vbBlack
DoEvents
PAUSA 2
GRABAR2 "ARENA", Val(ARENA)
V2OFF.Visible = 0
TARA = Val(PBRUTO)
V2ON.Visible = 1
L2_1.BorderColor = vbBlue
L2_2.BorderColor = vbBlue
L2_3.BorderColor = vbBlue
PASO = 3
End If
Case 3:
If Val(PBRUTO) >= Val(ARENA) + Val(CEMENTO) Then
V2OFF.Visible = 1
V2ON.Visible = 0
L2_1.BorderColor = vbBlack
L2_2.BorderColor = vbBlack
L2_3.BorderColor = vbBlack
DoEvents
PAUSA 2
GRABAR2 "CEMENTO", Val(CEMENTO)
V3OFF.Visible = 0
TARA = Val(PBRUTO)
V3ON.Visible = 1
L3_1.BorderColor = vbBlue
L3_2.BorderColor = vbBlue
L3_3.BorderColor = vbBlue
PASO = 4
End If
Case 4:
If Val(PBRUTO) >= Val(ARENA) + Val(CEMENTO) + Val(GRAVA) Then
V3OFF.Visible = 1
V3ON.Visible = 0
L3_1.BorderColor = vbBlack
L3_2.BorderColor = vbBlack
L3_3.BorderColor = vbBlack
DoEvents
PAUSA 2
GRABAR2 "GRAVA", Val(GRAVA)
V4OFF.Visible = 0
TARA = Val(PBRUTO)
V4ON.Visible = 1
L4_1.BorderColor = vbBlue
L4_2.BorderColor = vbBlue
L4_3.BorderColor = vbBlue
PASO = 5
End If
Case 5:
If Val(PBRUTO) >= Val(ARENA) + Val(CEMENTO) + Val(GRAVA) + Val(AGUA) Then
V4OFF.Visible = 1

JOHN FREDY MARTINEZ CARDONA MANTENIMIENTO ELECTRÓNICO


REDES Y COMUNICACIONES VISUAL BASIC 6.0

V4ON.Visible = 0
L4_1.BorderColor = vbBlack
L4_2.BorderColor = vbBlack
L4_3.BorderColor = vbBlack
DoEvents
PAUSA 2
GRABAR2 "AGUA", Val(AGUA)
V5OFF.Visible = 0
PTOTAL = ACUMULADO + Val(PBRUTO)
V5ON.Visible = 1
L5.BorderColor = vbBlue
L6.BorderColor = vbBlue
L7.BorderColor = vbBlue
PASO = 6
End If
Case 6:
If Val(PBRUTO) = 0 Then
V5OFF.Visible = 1
V5ON.Visible = 0
L5.BorderColor = vbBlack
L6.BorderColor = vbBlack
L7.BorderColor = vbBlack
CICLO.FillColor = vbBlack
GRABAR3
GRABAR4
PASO = 0
End If
End Select
PNETO = Val(PBRUTO) - TARA
If (V1ON.Visible Or V2ON.Visible Or V3ON.Visible Or V4ON.Visible) And Val(PBRUTO) < 1000
Then
PBRUTO = PBRUTO + 1
If Val(PTOTAL) >= Val(PBRUTO) Then
PTOTAL = PTOTAL + 1
Else
PTOTAL = PTOTAL + 1
End If
End If
If V5ON.Visible And Val(PBRUTO) > 0 Then
PBRUTO = PBRUTO - 1
End If
End Sub

Private Sub GRABAR1()


Dim ARCH As String
ARCH = "C:\" & Format(Now, "YYYYMMDD") & ".TXT"
Close
Open ARCH For Append As #1
Print #1, " "
Print #1, "INICIO DE PRODUCCION"
Print #1, "**********************************************************************************"
Print #1, "HORA"; Tab(10); "MATERIAL"; Tab(20); "META"; Tab(28); "PESADO"; Tab(36);
"ERROR"
Print #1, " "
Close
End Sub

JOHN FREDY MARTINEZ CARDONA MANTENIMIENTO ELECTRÓNICO


REDES Y COMUNICACIONES VISUAL BASIC 6.0

Private Sub GRABAR2(V1 As String, V2 As Single)


Dim ARCH As String
ARCH = "C:\" & Format(Now, "YYYYMMDD") & ".TXT"
Close
Open ARCH For Append As #1
Print #1, Format(Now, "HH:MM:SS"); Tab(10); V1; Tab(20); V2; Tab(28); Val(PNETO); Tab(36);
Format(((Val(PNETO) - V2) * 100 / V2), "0.00")
Print #1, " "
TMETA = TMETA + (V2)
TPESADO = TPESADO + Val(PNETO)
Close
End Sub

Private Sub GRABAR3()


Dim ARCH As String
ARCH = "C:\" & Format(Now, "YYYYMMDD") & ".TXT"
Close
Open ARCH For Append As #1
Print #1, " "
Print #1, "TOTAL"; Tab(20); "TMETA"; Tab(27); "TPESADO"; Tab(36); "Error"
Print #1, " "
Print #1, Tab(20); Format(TMETA, "0.00"); Tab(28); Format(TPESADO, "0.00"); Tab(36);
Format(((TPESADO - TMETA) * 100 / TMETA), "0.00")
Print #1, " "
Print #1, "FIN BACHE"
Print #1,
"**********************************************************************************************************"
Close
End Sub

Private Sub GRABAR4()


Dim ARCH As String
ARCH = "C:\" & Format(Now, "YYYYMMDD") & ".TXT"
Close
Open ARCH For Append As #1
Print #1, " "
Print #1, "ACUMULADO"; Tab(20); Format(Val(PTOTAL), "0.000")
Close
End Sub

PARA GENERAR REPORTES ESTAMOS UTILIZANDO EL PROCEDIMIENTO


GRABAR1, GRABAR2, GRABAR3, GRABAR4.

JOHN FREDY MARTINEZ CARDONA MANTENIMIENTO ELECTRÓNICO


REDES Y COMUNICACIONES VISUAL BASIC 6.0

FUNCIONAMIENTO DEL PROGRAMA

1. Se introducen los valores de elementos a mezclar y se oprime inicio.

2. En ese instante se activan las válvulas de los tanques superiores para


entregar la cantidad indicada.

3. El tanque inferior acumula las cantidades de material para luego


entregarlas por medio de otra válvula a otro tanque.

JOHN FREDY MARTINEZ CARDONA MANTENIMIENTO ELECTRÓNICO


REDES Y COMUNICACIONES VISUAL BASIC 6.0

4. Termina el ciclo

JOHN FREDY MARTINEZ CARDONA MANTENIMIENTO ELECTRÓNICO


REDES Y COMUNICACIONES VISUAL BASIC 6.0

5. Ubicación del reporte generado.

JOHN FREDY MARTINEZ CARDONA MANTENIMIENTO ELECTRÓNICO


REDES Y COMUNICACIONES VISUAL BASIC 6.0

En este archivo quedan grabados todos los ciclos de funcionamiento del


programa.

BIBLIOGRAFIA

GUÍA DE APRENDIZAJE F08-6060-002 INSTRUCTOR- TUTOR: JAIME ALBERTO OCAMPO


PEREZ

JOHN FREDY MARTINEZ CARDONA MANTENIMIENTO ELECTRÓNICO

Das könnte Ihnen auch gefallen