课程设计遇到问题,希望大家能解答,谢谢 ' Y7 E R* a/ ]% N6 h+ t$ O6 X7 h* V. B) N c$ ]
题目是:假设有两个不同的东西small和large经过同一个singleProc,如何设置他们的pricess time不同?& S* T( }6 R$ G' S! X7 o
我的method是这样写的,但老是出错!* O7 |* | D' A8 H
is) g2 O! K. L4 e. l4 p$ f
do ! `3 I- d! X( p/ `+ H# |# c: N5 b if @.name = "small" then . e) c0 d" w0 X! ?5 r singleProc.proctime :=1*60; ( I- |8 {! T0 O
@.move(drain); K3 s- s A `2 Y p/ u; h0 u
else. u) T0 V+ @$ h. j
singleProc.proctime :=10*60; . O) g( l7 A' `0 }' q, E @.move(drain);8 S, q8 Y* [9 Z g8 t
end;. T0 D: s3 w7 F: E8 ?- ?" P
end;
你的问题在于没有真正了解proctime修改的是什么。
你的问题应该是当物件过来的时候根据entity类别修改proctime,而按照你的程序,你是在singleproc的exit的位置修改的proctime,这是不合理的,这个method至少应该放在singleproc的entry前。
提示(自己试一下比较好):
如果你的method是在singleproc的entry触发会有问题,因为触发method的entity的proctime是不会被修改的,warning:Warning in method '.Models.Frame4.Method' in ...
你的问题在于没有真正了解proctime修改的是什么。 / P3 B( \+ J+ ^/ P6 _2 U$ T你的问题应该是当物件过来的时候根据entity类别修改proctime,而按照你的程序,你是在singleproc的exit的位置修改的proctime,这是不合理的,这个method至少应该放在singleproc的entry前。 ( \. w7 [; q; a& C提示(自己试一下比较好):6 Q9 K: R+ \& g6 P. x3 T" P% n
如果你的method是在singleproc的entry触发会有问题,因为触发method的entity的proctime是不会被修改的,warning:Warning in method '.Models.Frame4.Method' in line 5: .Models.Frame4.SingleProc.ProcTime changed by the entry control! This has no effect on the processing time of the active element! & e5 `9 o6 t% { I$ Z% t, ?# k这个method如果在singleproc的前面的工站的exit触发,这样可以满足你的要求 ! o' g/ e% h9 _: \& d3 ]6 Z另外,可以考虑用formula去控制singleproc的proctime。