多谢,我程序
/ O4 Z) k+ J4 ^3 [) SMethode1 Trigger调用 Trigger定义1小时出发一次4 ^3 W: z* Y; j v7 C) g1 O
(old, new : boolean )
/ X$ X9 B! l% `- A8 R) J4 Yis
. G- k- {0 h# V; a# t& b do
# |# J0 O+ |5 W1 h1 X' G if new = true then
# F V* b& y# n6 u) ] Tabelle1[1,1]:= time_to_num(y)/3600;( Z- G! B9 c3 M8 ~5 ~: I
m:= 0;
5 K( W7 a) y( {( G' z n:=0;
0 X- Q7 x, q8 T( [, Y4 n, V. O y:=0;1 ~) W h2 P4 i% W
end;
+ J) ]0 M/ p3 E( s end; ) L) ~- k6 B) ~3 O
methode2 Singleproc 输入控制调用4 P& h+ T @" g5 ?' C7 W
is
- ?! I; b: d3 `! v- ~do3 E7 o; |$ V& I& H
n:=Ereignisverwalter.zeit;
" j' w# n6 f+ Y! W$ ?( y; |end;7 z9 V) Z# ^% m6 b4 C! C2 ?
methode3 singleproc输出控制调用
, j! ~- v# Q8 O* T) |7 Sis l) o1 Q0 L* g3 u+ F
do/ L7 Y9 R% `# q$ w
m:= Ereignisverwalter.zeit;
& `" h% R+ m0 V. [# c1 X if m/=0 then * i; ~* V; X. u) Y8 T7 p
y:=y+(m-n);
8 x" R, P: X1 D0 q end;
% \/ S3 T! Y& q7 z - [' M4 ~% |: W0 x+ S
end;
2 F$ C) Y; h6 X& q9 t1 }* hm为物件从singleproc输出时的时钟试点,n为物件输入到singleproc是的时钟试点。m-n为singleproc的工作时间,
& M5 t7 d) _: p7 Km-n的值赋给y一直累加知道trigger调用将y除以3600秒得出效率,之后y赋0值,这是我的思路。
, W- k) J0 r- r; ?1 S' Z可是有时m-n超出3600秒,我查了一下,程序好像先记录m后记录n,当机器休息完m记录的是机器休息后的时点,而n还停留在休息前,这样计算y:=y+(m-n)之后结果就比正常的大,会超出3600,出现效率108%。# A( q- v9 R- t1 Z
请问如何解决这个问题 |