多谢,我程序
. q( z0 c+ W9 S- ], m0 \' WMethode1 Trigger调用 Trigger定义1小时出发一次1 d) K* v: X9 I9 Q0 h, c
(old, new : boolean )
* q* ^) j* X: s/ x4 Q1 wis* C: } B, _% T, z* }! T
do
0 H7 Z* O% }) z# ` if new = true then
% V& m. {% T9 V! f0 F# n Tabelle1[1,1]:= time_to_num(y)/3600;4 L9 S* @4 S$ j: Y
m:= 0;2 _% A" f+ c4 o# \
n:=0;
: H2 @/ Z& l5 l y:=0;- r" ]( X' Q5 T$ L: |6 e; V9 s! {
end;; x; _/ C2 ]& o1 e+ S7 t" I7 |
end;
2 o& {+ Y' d: ^' }7 ~7 w, pmethode2 Singleproc 输入控制调用3 ` o' O. T9 t6 Q5 Q# {
is
4 s1 k3 U% H X+ M' d8 N" ^do
3 L. C; n/ U8 q# M w; |1 N n:=Ereignisverwalter.zeit;
5 b5 R8 J& x% G$ s) P/ \; i g3 Oend;
, D1 q& m. z9 `% z) v5 Wmethode3 singleproc输出控制调用( _9 \7 l, B, F8 C3 K* z
is
8 {. o" F! A, {1 _6 [$ ado
7 V; h0 g8 O+ m m:= Ereignisverwalter.zeit;
' T8 j) {$ W3 l if m/=0 then
! a# I* h0 l: q! {/ p y:=y+(m-n);' N7 K( y" L0 ^: m% C3 x+ W
end;+ @; W$ |9 I0 t2 k
& t7 W: T9 N) Y8 K5 ~% R6 hend;
; F% G3 y+ d g+ S4 cm为物件从singleproc输出时的时钟试点,n为物件输入到singleproc是的时钟试点。m-n为singleproc的工作时间,5 P$ [1 g' n' x- i& S. A$ w. L! c4 n3 H5 u
m-n的值赋给y一直累加知道trigger调用将y除以3600秒得出效率,之后y赋0值,这是我的思路。: F0 [# N3 P" u: w) f( f$ ?
可是有时m-n超出3600秒,我查了一下,程序好像先记录m后记录n,当机器休息完m记录的是机器休息后的时点,而n还停留在休息前,这样计算y:=y+(m-n)之后结果就比正常的大,会超出3600,出现效率108%。
. h" j4 W3 `' N1 D请问如何解决这个问题 |