多谢,我程序
/ S* e! a! q' D8 Y) vMethode1 Trigger调用 Trigger定义1小时出发一次$ ~: K) w5 {. F" L( v/ B5 h
(old, new : boolean )# }' ^3 V/ c4 \, }$ o
is" ~) Q/ C& D' ?( K
do$ z% o. A* ]+ j
if new = true then
J O9 Q* X5 B$ Q ]. G Tabelle1[1,1]:= time_to_num(y)/3600;( ^2 F8 d( @+ R" N. J7 G. H
m:= 0;
0 b1 @+ s5 T7 X: w& M n:=0;( t/ e! U9 ~9 c& p E
y:=0;
4 z* f% R l0 t* Z/ w end;
1 [9 X- {( @7 ^6 q& Z end; 4 y, L1 a& h+ k
methode2 Singleproc 输入控制调用* @6 R$ F3 M% u) U
is
% ~/ K6 h9 C5 w2 y; Odo9 P5 N6 B2 M. n# l/ _7 x' M
n:=Ereignisverwalter.zeit;
0 E+ B) e& @ ^- bend;, ~; j$ H9 b7 y
methode3 singleproc输出控制调用
7 I3 ]3 a- a5 E# C+ dis1 N" [' J1 w# L# h6 z' X
do2 w' P) a( n! P# k8 R1 `( e. n; v
m:= Ereignisverwalter.zeit;8 z8 ^5 l: ?$ Q" T" ]; {% N
if m/=0 then
. ]2 x6 R, ^" q y:=y+(m-n);- h M% A# G( w0 g5 d
end;
* K/ S' f8 f! y2 W; s) Q $ m2 N2 T2 e9 N
end;
2 L' c# H; E# U$ c! Gm为物件从singleproc输出时的时钟试点,n为物件输入到singleproc是的时钟试点。m-n为singleproc的工作时间,
. a. Z$ j4 L" ]* Fm-n的值赋给y一直累加知道trigger调用将y除以3600秒得出效率,之后y赋0值,这是我的思路。7 H9 C" R2 H" D- ]- c% N; W! Z a( `
可是有时m-n超出3600秒,我查了一下,程序好像先记录m后记录n,当机器休息完m记录的是机器休息后的时点,而n还停留在休息前,这样计算y:=y+(m-n)之后结果就比正常的大,会超出3600,出现效率108%。
! b0 h1 G4 U5 _' K5 G# c请问如何解决这个问题 |