Saludos. Necesito construir un simulador de un proceso industrial en tiempo real con vba excel

Necesito simular un algoritmo incremental básico (valor actual = valor anterior +1) que debe variar cada vez que transcurra un tiempo igual a 2 segundos. Se que existe la función Ontime y Now, pero no veo como hacer que cada vez que pase 2 segundo me ejecute el algoritmo en la siguiente fila. Es decir, cada dos segundo debo registrar la salida del algoritomo en una tabla. Para t = 0 S=1, Para t = 2 S = 2, para t=4 S=3 y asi sucesivamente. A inicio debo poder indicar cada cuanto tiempo quiero que realice la lectura y durante cuanto tiempo lo va a hacer. Es decir, por ejemplo 10 lecturas en 20 segundos. Como resultado debo tener una tabla con 10 lecturas y 10 valores de salida del algoritmo.

Por favor si alguno me pueda dar su sugerencia sabría agradecerla, tengo dos semanas con este problema y aún no encuentro como hacerlo.

1 Respuesta

Respuesta

Este es el resultado de la macro en la celda c1 pones la cantidad de lecturas y en la c2 pones cada cuantos segundos quieras que pase entre eventos

esta es la macro

Sub contar()
INICIO = Time
lecturas = Range("c1")
segundos = Range("c2")
If lecturas = Empty Or segundos = Empty Then End
Set DATOS = Range("C4").Resize(lecturas, 2)
With DATOS
.Cells(1, 1) = 0: .Cells(1, 2) = 1
    For I = 2 To 10
    .Cells(I, 1) = (I - 1) * 2
        Do While DIF <> segundos
            fin = Time
            DIF = Second(fin - INICIO)
        Loop
        .Cells(I, 2) = .Cells(I - 1, 2) + 1
        DIF = 0:        INICIO = Time
    Next I
    Set DATOS = Nothing
End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas