全球FlexSim系统仿真中文论坛
标题:
关于代码头部预置代码的解释
[打印本页]
作者:
zorsite
时间:
2016-3-31 14:36
标题:
关于代码头部预置代码的解释
本帖最后由 zorsite 于 2016-3-31 14:57 编辑
( P0 N! ]* i# q( p: h: t5 K2 a
) k8 R0 _+ D) ^' y& H2 ^
很多人对代码开头部分的parode、parval不理解,我来尝试着给出以下答案,可能不准确,欢迎大家纠正。
1 Y F1 p- G7 |8 ?! f3 N
提醒:自Flexsim7.7版本之后,摒弃了parnode和parval等形式,统一用param。也就是说,不管传递的参数是数值型还是节点型,统一使用param()命令来获取。Parm是parameter的缩写,就是参数的意思。
) v$ F0 \. r: S& Q
以flexsim7.7.4为例,创建2个发生器,1个货架,为了便于观察,平放货架。
- Y, h4 `6 ?, \
[attach]3026[/attach]
6 ~# c% i3 w( C) c
4 h; O. l: J' H
启动事件日志,记录货架的OnEntry事件。在日志列表中有Involved,p1,p2,p3,p4这几个参数。
7 ]. v! P4 r, V! z" R9 O6 g' _
Involved是item,表示当前进入货架的临时实体;
: M w9 U$ z- J' P
p1是port,表示临时实体从哪个端口进入货架;
" D% `; ^4 ?+ ]$ ~
p2是bay,表示临时实体进入到哪一列;
2 f2 D/ T) ~; T: ~6 I& I
p3是level,表示临时实体进入到哪一层;
8 f" _) j/ T" C
p4是空值,在本例中,没有传递数据。
1 C+ g/ c* g2 V5 d$ z& U; @- y+ s) D
对应到货架进入触发代码头部,
1 i. P% |% i7 t$ F; r0 J% D
treenode item = param(1); 获取第一个参数,赋值给item;
6 H/ Q. i1 H: F8 E/ i) R
int port = param(2); 获取第二个参数,赋值给port;
# J g/ L: x# c0 e# ^0 Z/ J
以此类推,事件日志中自Involved开始,依次对应代码头部的param(1)、param(2)、param(3)……不同的实体、不同的触发,传递的参数不一样,param(1)、param(2)、param(3)所对应的含义也不一样。
2 J3 e- A' u* R& [
) x9 ^. ~4 }4 M# q* T% y
另:
! L- S7 D' y1 e, i
自flexsim7.7开始,声明变量可以直接用var代替treenode,int,double,array,string中的任意一种数据类型。
6 G- @; `! X% w3 f# C1 z/ l
FlexScript now has a var type which can be any of the current variable types (number, string, treenode, intarray, doublearray, stringarray, treenodearray).
0 H P6 Q% P/ O) A+ Z
[attach]3027[/attach]
作者:
Kimver
时间:
2016-3-31 15:16
厉害,本来以为这些参数可以在树结构中查看到,没想到在事件日志中,不过不管哪种方法,试用版都用不了,多谢您的解答
作者:
zorsite
时间:
2016-3-31 16:47
2#
Kimver
, E8 y. \4 n/ c! b) g
这种方法试用版也可以做。试用版可以使用Event Log。
作者:
657776724
时间:
2016-4-1 23:00
感谢分享,学习了!
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3