Power Builder - Sugerencias para realizar este proceso

   
Vista:
Imágen de perfil de Antonio

Sugerencias para realizar este proceso

Publicado por Antonio (1114 intervenciones) el 11/11/2007 03:12:58
Hola a todos:

Necesito de sus sugerencias y ayuda para realizar este proceso:

Resulta que tengo un aplicativo donde se monitorean procesos de producción de piezas en unas máquinas, cada maquina se le alimenta cuantas piezas por hora produce y cuantas piezas en total puede producir la maquina.

Por ejemplo:

Maquina uno-> Produce 350pzas por hora y haran un total de 4,600 piezas

1) Necesito calcular el numero de horas con minutos y si es posible segundos que la maquina necesitará para terminar las 4,600 pza.

2) Al final del cálculo debe indicar al usuario cuantas horas y minutos se llevará la maquina, así mismo, determinar si rebasa las 12:00 dela noche indicar la fecha y hora en que estará programado el término de la produción

¿alguna sugerencia para poder calcular estos tiempos ?

Gracias por su ayuda
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:Sugerencias para realizar este proceso

Publicado por Marce (119 intervenciones) el 12/11/2007 23:41:54
A ver

350 piezas --->1 hora
4600 piezas --->4600/350=13.14
necesita 13 horas y 8 minutos y medio aprox
necesita (13*60)+ 8 minutos=788,5 minutos aprox

en minutos
350 piezas ---> 60 minutos
4600 piezas ----> (4600*60)/350=788,57 minutos
necesita (788,57*60)=47312,12 segundos

en segundos
350 piezas ---> 3600 segundos
4600 piezas ---> (3600*4600)/350= 47314,3 segundos
(redundandate no?)

1) campos calculados que podrias usar
piezas_terminadas=4600
piezasxhora=350

segundos_necesarios=(3600*piezas_terminadas)/piezasxhora
minutos_necesarios=segundos_necesarios/60
horas_necesarias=minutos_necesarios/60

lo que siga despues de la parte entera del resultado es la proporcion de la hora
Por ejemplo 13,14 horas son 13 horas + (60*14)/100= 8.4 minutos y medio (o sea 30 segundos si fuera 8.5 por ejemplo)

2)
¿Cuando terminara de producir 4600 piezas? suponemos desde ahora
¿lo terminamos hoy? ¿y que hora es?
--
long segundos_hasta_medianoche, seg_necesarios_exced_hoy, dias_necesarios
long segundos_necesarios_dia_final
int dias_despues
date hora_termino,

segundos_hasta_medianoche=secondsafter(now(), 23:59:59)

if segundos_necesarios <= segundos_hasta_medianoche then
//CASO 1, mas facil
hora_termino=relativetime(now(), segundos_necesarios)
Messagebox("Las terminamos hoy","A las "+string(hora_termino)+"")

else
//CASO 2, se complica, el relativetime creo que no me x cambio de dia
//si no lo termino hoy, en cuantos dias mas a parte de hoy necesito?

seg_necesarios_exced_hoy=segundos_necesarios - segundos_hasta_medianoche

dias_necesarios= (seg_necesarios_exced_hoy/86400)
//0< dias_necesarios<1, si termina mañana;
//1<= dias_necesarios<2, si termina pasado mañana

dias_despues=truncate(dias_necesarios + 1, 0)
//lo necesito entero para determinar fecha
fecha_termino=relativedate(today(), dias_despues ) //fecha en que se termina

//para la hora de término, quiero solo los segundos del dia en que se termina
seg_necesarios_dia_final=segundos_necesarios - (dias_despues*86400)
hora_termino=relativetime(00:00:00, segundos_necesarios_dia_final)
Messagebox("Hoy no las terminamos", "Recien el "+string(fecha_termino)+ " a las"+string(hora_termino)+".")
end if

-----
Seguramente habrán mejores maneras,y posiblemente aqui hay errores , pero mas o menos tendrias que ver las funciones secondsafter,relativedate, relativetime.
Tiro esta idea porque es una situacion parecida a la que se me presento alguna vez.

Ojala sirva.
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
Imágen de perfil de Antonio

RE:Sugerencias para realizar este proceso

Publicado por Antonio (1114 intervenciones) el 14/11/2007 04:33:37
Hola Marce:

Mil gracias por tu ayuda, pondre en práctica y te avisare de los resultados.

saludos desde México
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
Imágen de perfil de Antonio

RE:Sugerencias para realizar este proceso

Publicado por Antonio (1114 intervenciones) el 14/11/2007 04:44:27
Hola Marce:

Mil gracias por tu ayuda, pondre en práctica y te avisare de los resultados.

saludos desde México
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

RE:Sugerencias para realizar este proceso

Publicado por Marce (119 intervenciones) el 16/11/2007 18:11:05
Por las dudas...
hay un error
Estaba mal calculada la hora_termino. En realidad segundos_necesarios_dia_final
A ver asi:
---
dias_excedentes=truncate(dias_necesarios, 0)
//=0 si termina mañana
//=1 si termina pasado etc.
segundos_necesarios_dia_final=segundos_necesarios - segundos_hasta_medianoche - (dias_excedentes*86400)
hora_termino=relativetime(00:00:00, segundos_necesarios_dia_final)
---
Habria que probarlo.
Saludos
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

RE:Sugerencias para realizar este proceso

Publicado por Marce (119 intervenciones) el 16/11/2007 19:38:54
ah..
y alguna variable mal declarada

Saludos
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