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