Visual Basic para Aplicaciones - Ayuda con un programa para calcular tª

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda con un programa para calcular tª

Publicado por Cris (1 intervención) el 11/05/2007 07:55:34
Hola

Tengo un problema con un programa que me han pasado y ahora tengo que trabajar yo con el, pero me resulta imposible entender algunas cosas:

Lo principal del programa es conocer la temperatura de hace 48 horas, la de hace 24 y la actual, para luego restarlas y hacer una comparación entre la de 48-24 y la de 24-actual.
Para ello cuento con unas gráficas y unos tag que me marcan la tª. Seguido os muestro el programa y si alguien me dice como consigue coger esas 3 tª de las gráficas se lo agradecería muchisismo.

Gracias Cris


Public Function Comprueba_Temperatura(TrendTempCojPin24 As Trend, _
TrendTempCojPin48 As Trend) As Boolean

Dim trendTreducTrazado24 As Trend ' Para movernos por los trazados del gráfico de 24 horas.
Dim trendTreducTrazado48 As Trend ' Para movernos por los trazados del gráfico de 48 horas.

' Valores de índices del gráfico de 24 horas.
Dim nTrendNumPunto241 As Integer ' Temperatura ambiente.
Dim nTrendNumPunto242 As Integer ' Temperatura cojinete 1 VTI.
Dim nTrendNumPunto243 As Integer ' Temperatura cojinete 2 VTI.
Dim nTrendNumPunto244 As Integer ' Temperatura cojinete 3 VTI.

' Valores de índices del gráfico de 48 horas.
Dim nTrendNumPunto481 As Integer ' Temperatura ambiente.
Dim nTrendNumPunto482 As Integer ' Temperatura cojinete 1 VTI.
Dim nTrendNumPunto483 As Integer ' Temperatura cojinete 2 VTI.
Dim nTrendNumPunto484 As Integer ' Temperatura cojinete 3 VTI.

' Valores de trazado del gráfico de 24 horas.
Dim vValor241 As Variant
Dim vValor242 As Variant
Dim vValor243 As Variant
Dim vValor244 As Variant

' Valores de estado del gráfico de 24 horas.
Dim vEstado241 As Variant
Dim vEstado242 As Variant
Dim vEstado243 As Variant
Dim vEstado244 As Variant

' Valores de fecha del gráfico de 24 horas.
Dim vFecha241 As Variant
Dim vFecha242 As Variant
Dim vFecha243 As Variant
Dim vFecha244 As Variant

' Valores de trazado del gráfico de 48 horas.
Dim vValor481 As Variant
Dim vValor482 As Variant
Dim vValor483 As Variant
Dim vValor484 As Variant

' Valores de estado del gráfico de 48 horas.
Dim vEstado481 As Variant
Dim vEstado482 As Variant
Dim vEstado483 As Variant
Dim vEstado484 As Variant

' Valores de fecha del gráfico de 48 horas.
Dim vFecha481 As Variant
Dim vFecha482 As Variant
Dim vFecha483 As Variant
Dim vFecha484 As Variant

' Valores "reales" de temperatura (tª cojinete-tªambiente).
Dim dTemp24f1 As Double
Dim dTemp48i1 As Double
Dim dTemp48f1 As Double

Dim dTemp24f2 As Double
Dim dTemp48i2 As Double
Dim dTemp48f2 As Double

Dim dTemp24f3 As Double
Dim dTemp48i3 As Double
Dim dTemp48f3 As Double

' Inicializamos los gráficos.
Set trendTreducTrazado24 = TrendTempCojPin24
Set trendTreducTrazado48 = TrendTempCojPin48

' Vamos a calcular los valores de temperatura hace 48 horas.
' Para ello, seleccionamos el primer trazado del gráfico de 48 horas.
trendTreducTrazado48.CurrentTrace = 1

' Comprobamos que contiene el primer valor del trazado seleccionado.
' "vEstado481" devolverá un valor entero si el primer trazado del gráfico no es un valor
' real, ya que la alarma está diseñada sólo para valores reales.
vValor481 = trendTreducTrazado48.GetTraceValue(1, vFecha481, vEstado481)

' Seleccionamos el segundo trazado del gráfico de 48 horas, para continuar.
trendTreducTrazado48.CurrentTrace = 2

' Comprobamos que contiene el primer valor del trazado seleccionado.
' "vEstado482" devolverá un valor entero si el segundo trazado del gráfico no es un valor
' real, ya que la alarma está diseñada sólo para valores reales.
vValor482 = trendTreducTrazado48.GetTraceValue(2, vFecha482, vEstado482)

If ((vEstado481 = 0) And (vEstado482 = 0)) Then
dTemp48i1 = vValor482 - vValor481
Else
dTemp48i1 = 0
End If

' Seleccionamos el tercer trazado del gráfico de 48 horas.
trendTreducTrazado48.CurrentTrace = 3

' Comprobamos que contiene el primer valor del trazado seleccionado.
' "vEstado483" devolverá un valor entero si el tercer trazado del gráfico no es un valor
' real, ya que la alarma está diseñada sólo para valores reales.
vValor483 = trendTreducTrazado48.GetTraceValue(3, vFecha483, vEstado483)

If ((vEstado481 = 0) And (vEstado483 = 0)) Then
dTemp48i2 = vValor483 - vValor481
Else
dTemp48i2 = 0
End If



' Calcularemos ahora los valores de temperatura hace 24 horas.
' Para ello, seleccionamos el primer trazado del gráfico de 48 horas (o del de 24).
' También guardamos el número de puntos de este trazado.
trendTreducTrazado48.CurrentTrace = 1
nTrendNumPunto481 = trendTreducTrazado48.TraceValuesCount

' Comprobamos que contiene el último valor del trazado seleccionado.
' "vEstado481" devolverá un valor entero si el primer trazado del gráfico no es un valor
' real, ya que la alarma está diseñada sólo para valores reales.
vValor481 = trendTreducTrazado48.GetTraceValue(nTrendNumPunto481, vFecha481, vEstado481)

' Seleccionamos el segundo trazado del gráfico de 48 horas (o del de 24), para continuar.
' También guardamos el número de puntos de este trazado.
trendTreducTrazado48.CurrentTrace = 2
nTrendNumPunto482 = trendTreducTrazado48.TraceValuesCount

' Comprobamos que contiene el último valor del trazado seleccionado.
' "vEstado482" devolverá un valor entero si el segundo trazado del gráfico no es un valor
' real, ya que la alarma está diseñada sólo para valores reales.
vValor482 = trendTreducTrazado48.GetTraceValue(nTrendNumPunto482, vFecha482, vEstado482)

If ((vEstado481 = 0) And (vEstado482 = 0)) Then
dTemp48f1 = vValor482 - vValor481
Else
dTemp48f1 = 0
End If

' Seleccionamos el tercer trazado del gráfico de 48 horas (o del de 24).
' También guardamos el número de puntos de este trazado.
trendTreducTrazado48.CurrentTrace = 3
nTrendNumPunto483 = trendTreducTrazado48.TraceValuesCount

' Comprobamos que contiene el último valor del trazado seleccionado.
' "vEstado483" devolverá un valor entero si el tercer trazado del gráfico no es un valor
' real, ya que la alarma está diseñada sólo para valores reales.
vValor483 = trendTreducTrazado48.GetTraceValue(nTrendNumPunto483, vFecha483, vEstado483)

If ((vEstado481 = 0) And (vEstado483 = 0)) Then
dTemp48f2 = vValor483 - vValor481
Else
dTemp48f2 = 0
End If


' Calcularemos ahora los valores de temperatura actual.
' Para ello, seleccionamos el primer trazado del gráfico de 24 horas.
' También guardamos el número de puntos de este trazado.
trendTreducTrazado24.CurrentTrace = 1
nTrendNumPunto241 = trendTreducTrazado24.TraceValuesCount

' Comprobamos que contiene el último valor del trazado seleccionado.
' "vEstado241" devolverá un valor entero si el primer trazado del gráfico no es un valor
' real, ya que la alarma está diseñada sólo para valores reales.
vValor241 = trendTreducTrazado24.GetTraceValue(nTrendNumPunto241, vFecha241, vEstado241)

' Seleccionamos el segundo trazado del gráfico de 24 horas, para continuar.
' También guardamos el número de puntos de este trazado.
trendTreducTrazado24.CurrentTrace = 2
nTrendNumPunto242 = trendTreducTrazado24.TraceValuesCount

' Comprobamos que contiene el último valor del trazado seleccionado.
' "vEstado242" devolverá un valor entero si el segundo trazado del gráfico no es un valor
' real, ya que la alarma está diseñada sólo para valores reales.
vValor242 = trendTreducTrazado24.GetTraceValue(nTrendNumPunto242, vFecha242, vEstado242)

If ((vEstado241 = 0) And (vEstado242 = 0)) Then
dTemp24f1 = vValor242 - vValor241
Else
dTemp24f1 = 0
End If

' Seleccionamos el tercer trazado del gráfico de 24 horas.
' También guardamos el número de puntos de este trazado.
trendTreducTrazado24.CurrentTrace = 3
nTrendNumPunto243 = trendTreducTrazado24.TraceValuesCount

' Comprobamos que contiene el último valor del trazado seleccionado.
' "vEstado243" devolverá un valor entero si el tercer trazado del gráfico no es un valor
' real, ya que la alarma está diseñada sólo para valores reales.
vValor243 = trendTreducTrazado24.GetTraceValue(nTrendNumPunto243, vFecha243, vEstado243)

If ((vEstado241 = 0) And (vEstado243 = 0)) Then
dTemp24f2 = vValor243 - vValor241
Else
dTemp24f2 = 0
End If




' Finalmente comprobamos la condición de alarma, en cada temperatura:
' ABS(((Tª hace 48 horas) - (Tª hace 24 horas)) + ((Tª hace 24 horas) - (Tª actual)))
' Si el valor resultante es mayor que 5ºC, saltará la alarma.

If ((dTemp48i1 - dTemp48f1) And (dTemp48f1 - dTemp24f1)) >= 6 Then
Comprueba_Temperatura = True
Else
If ((dTemp48i2 - dTemp48f2) And (dTemp48f2 - dTemp24f2)) >= 6 Then
Comprueba_Temperatura = True
Else
Comprueba_Temperatura = False

End If
End If

End Function
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con un programa para calcular tª

Publicado por DANNY (1 intervención) el 20/10/2007 21:46:18
COMO CALCULO LA TEMPERATURA EN VISUAL BASIC
SI ME PUEDEN AYUDAR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar