全球FlexSim系统仿真中文论坛

标题: 函数库 [打印本页]

作者: wj109260758    时间: 2010-7-15 00:13
标题: 函数库
实体参量' ]) |7 D8 M: h* l# M1 Z  e3 D
下列的命令和存取变量在Flexsim中被用作实体引用。# }4 X+ v& g0 [' _8 ^
变量current和item
& ], j3 W& I- Y( S: q•        current - 变量current是当前资源实体的引用。通常可以是下拉菜单中的一个存取变量。
4 w) R" H5 }. a•        Item - 变量item是某触发器或函数所涉及的临时实体引用。通常可以是下拉菜单中的一个存取变量。 " l. w; H$ ^2 H, L8 {
引用命令  D, ]! N' X. D9 I' c
命令(参数列表)        说明        示例3 G( g% F$ b4 ~. U  |. l+ k
first(node)        返回的是所传递的实体中排序第一的对象的引用        first(current)
& B  g# ]7 E/ X+ Klast(node)        返回的是所传递的实体中排序倒数第一的对象的引用        last(current)& X/ l' G6 [; t2 l8 g% x" }
rank(node,ranknum)        返回的是所传递的实体中某给定排序的对象的引用        rank(current,3)
0 Y- s: `5 @8 G1 m$ j& u6 D. N& ^inobject(object,portnum)        返回的是与所传递的实体的输入端口号相连的对象的引用        inobject(current,1)
6 I2 }! C; e- H' ~1 [+ r/ _outobject(object,portnum)        返回的是与所传递的实体的输出端口号相连的对象的引用        outobject(current,1)
2 R7 s. \: ]* }0 Ucenterobject(object,portnum)        返回的是与所传递的实体的中间端口号相连的对象的引用        centerobject(current,1)% X( W/ R) `3 G
next(node)        返回的是所传递的实体中排序下一个对象的引用        next(item)$ P0 u5 t: f6 q4 Z5 X* a5 A6 p

8 Y7 @5 _1 m- K1 z* k: O3 G  Q5 s- _8 x

. D. c. F: x" y
; l2 \* i; P* x, k+ I9 D
/ o4 w) c1 d! ~5 r& r3 S+ @$ G3 s6 E7 d: g1 i+ s; _

5 m2 ]/ S! B5 V5 x2 J: i/ W  t& r; H/ q  d/ H% Y, {: ]
) M  }( Z1 X' W4 s  d9 }

) Z) |, E: E& ^$ {4 }2 e
- h8 g: i9 |4 d) }% e  h
) O# k( j  C! c$ ^/ d9 O  ^
6 l+ w" r% t$ N9 [( O( c1 b5 h4 J, t

" W9 t6 |5 K& j$ b) l4 P: Z  E+ _! G/ K: E2 E9 i/ r
实体属性
. o$ _; x  K2 w/ v9 b' A/ E# W+ f命令(参数列表)        说明
, |. b( c" C0 h2 f/ U( r9 j. ugetname( object )        返回实体的名称5 k3 R5 w# ?* u! p* J
setname( object, name )        设定实体的名称7 J0 S9 o4 }, K
getitemtype( object )        返回实体中临时实体类型的值
- d! J5 P. w9 \; G9 s; msetitemtype( object, num)        设定实体中临时实体类型的值
& o! i: z# t* Q4 ^setcolor( object, red, green, blue )        设定实体的颜色
& Y8 v3 ^4 x4 G2 c/ g# i) [colorred( object ) blue,green,white...        设定实体的颜色为红、蓝、绿、白等
9 I. Q. j+ e: v$ e( o/ g! v1 hsetobjectshapeindex ( object , indexnum )        设定实体的3D形状4 e% d, n7 G4 y. w- N4 P& v
setobjecttextureindex ( object , indexnum )        设定实体的3D纹理, `& h3 a! o5 c7 o; ?
setobjectimageindex ( object , indexnum )        设定实体的2D 纹理,通常只在平面视图中使用
* p6 B; `% c' V$ g9 W, X实体空间属性% _: o$ u8 W7 Q: W
命令(参数列表)        说明2 [8 x) G( O' b. D$ }4 S
         
7 U  Z1 v% n' t  [/ Sxloc( object ) yloc( object ) zloc( object )        这些命令返回实体x、y、z轴向的位置2 D: z" K# `& c
setloc( object, xnum, ynum, znum )        此命令设定实体x、y、z轴向的位置
! j. t! j3 ~  n" j          
4 P) f  R) ?& `- ~2 ~8 N* w8 ixsize( object ) ysize( object ) zsize( object )        这些命令返回实体x、y、z轴向的尺寸大小' l. l- A- Q. d  u% u1 h: t) j: w: N
setsize( object, xnum, ynum, znum )        此命令设定实体x、y、z轴向的尺寸大小' Q. g  w! @* W" Z7 v
         
  @, S  k+ E, X$ c$ c$ yxrot( object ) yrot( object ) zrot( object )        这些命令返回实体围绕x、y、z轴向的旋转角度
6 J9 L. @% @* k$ u, b8 u6 D4 T3 Lsetrot( object, xdeg, ydeg, zdeg )        此命令设定实体围绕x、y、z轴向的旋转角度  n- c) z/ d0 K' m- H* P) L% U

. n0 {) ~4 b8 y2 V+ M5 J! i, p- \9 q

+ Y9 D3 G2 E) _. v: u4 \$ L9 E! x; b: ?$ I( e, \6 P
8 J2 J, P; d! F6 H" g6 q3 r

- O- ^8 }9 F% h- O6 O0 ~  w
) h0 M' u2 ?3 b" x/ s5 w3 `' Q& ]" D1 o* x+ N3 u0 h
" z! j1 t8 c$ T/ `2 u& J

( @. Y# S, a! K1 ~! O
2 X1 i5 S& j* W0 X7 Q
; P2 D9 W& V/ ~0 Q& `3 T6 O
/ `* \3 g( k6 q2 u6 B9 b
9 x% g3 y+ `% |! o) Y1 p* p
. x0 D" i/ B- k' Q) D- s5 [. h实体统计值
# j3 D4 m% h7 @8 m$ z命令(参数列表)        说明- a7 u: n6 G+ a) i' R
content( object )        返回实体当前数量- R8 P9 \2 R9 n+ m
getinput( object )        返回实体的输入统计
6 G* o' E: i  H+ O1 i  s0 [getoutput( object )        返回实体的输出统计( \0 d+ W. A6 }& W4 y
setstate( object, statenum )        设定实体的当前状态( h: x9 @8 F: o- g* _& \
getstatenum( object )        返回实体的当前状态& ^* `, M" r& D( f; r- n+ B8 ^7 m
getstatestr( object )        以字符串返回实体当前状态6 u: F: h2 ^7 d$ ?$ w3 t/ [7 z
getrank( object )        返回实体的排序
+ `9 p& p8 E  w  N. Rsetrank( object,ranknum )        设定实体的排序
) ?8 r: \6 `/ W' i% bgetentrytime( object )        返回实体进入到当前所在实体中的时刻7 ?: B6 k" ~( s2 @0 R; W% W: ?
getcreationtime( object )        返回实体的创建时刻2 n! `3 Y; {  L. a9 N/ ?% G" Z
实体标签
0 Q/ d7 a3 k6 a8 W) c. ^) v命令(参数列表)        说明% M1 I# J: u) C
getlabelnum( object, labelname ) getlabelnum( object, labelrank)        返回实体的标签值
" T3 G- l% g8 lsetlabelnum( object, labelname , value ) setlabelnum( object, labelrank , value )        设定实体的标签值0 ?( Z; D. B. m
getlabelstr( object, labelname )        获得实体标签的字符串值9 u! j: M( ~9 T& P
setlabelstr( object, labelname , value ) setlabelstr( object, labelrank , value )        设定实体标签的字符串值  b0 C4 t7 J8 N1 I1 w/ p, U
label( object, labelname ) label(object, labelrank)        返回一个作为节点的标签的引用,此命令常用在把标签当作一个表来使用的情况下。
; V; ]+ E$ K- y$ P7 N% ]6 ]# q' u; d1 A) ]. O. O" z
命令(参数列表)        说明2 E4 @* @7 F4 H7 y. N
gettablenum( tablename / tablenode / tablerank, rownum, colnum )        返回表中特定行列的值7 A! q1 u, R$ X" P& |* ]9 x1 |
settablenum( tablename / tablenode / tablerank, rownum, colnum, value)         设定表中特定行列的值
+ `. @3 b4 B" |! t- m% b% |  Ggettablestr( tablename / tablenode / tablerank, rownum, colnum )        返回表中特定行列的字符串值+ q$ V  C! t0 ^3 g( H- d
settablestr( tablename / tablenode / tablerank, rownum, colnum, value)         设定表中特定行列的字符串值
' C2 B( E7 {6 Y, o9 [( K' x; Hsettablesize( tablename / tablenode / tablerank, rows, columns )        设定表的行列数大小* v' V) }. b+ w3 M$ S- E9 w
gettablerows( tablename / tablenode / tablerank)        返回表的行数
2 \3 b/ P! }' M% Egettablecols( tablename / tablenode / tablerank)        返回表的列数8 E; G. l. K6 ?  L9 F
clearglobaltable( tablename / tablenode / tablerank)        将表中所有数字值设为0$ e2 i) \8 |4 n
实体控制. |* \# l  M: W" z6 X* J
命令(参数列表))        说明
9 _9 M$ P- k& d3 zcloseinput( object )        关闭实体的输入端口9 u' e/ f! u' m7 s: q/ q
openinput( object )        重新打开实体的输入端口
: ]; b  A" s) f& A  vcloseoutput( object )        关闭实体的输出端口
. ^! Z! Y/ Q( F  ]* O0 |( w3 S& T" [3 aopenoutput( object )        重新打开实体的输出端口0 D4 Z, e$ @- N3 J, c: O) M& m3 D
sendmessage( toobject, fromobject, parameter1, parameter2, parameter3 )        触发实体的消息触发器- p  Z: h2 S, v6 F. I: c
senddelayedmessage( toobject, delaytime, fromobject, parameter1, parameter2, parameter3 )        在一段特定时间延迟后触发实体的消息触发器. n+ B! Z, C0 g
stopobject( object, downstate )        无论实体在进行什么操作,都令其停止,并进入指定的状态
7 Q1 m5 ^7 U( B5 T- G. Eresumeobject( object )        使实体恢复其原来的无论什么操作$ T! `$ y( c4 X7 _- C
stopoutput( object )        关闭实体的输出端口,并累计停止输出的请求0 Z# s) e7 J. ~( E* b$ S6 j
resumeoutput( object )        在所有停止输出请求都恢复以后,打开实体的输出端口* H8 T+ }% W0 q. L1 r2 c5 W  W
stopinput( object )        关闭实体的输入端口,并累计停止输入的请求
& Y: e/ {7 f  B: Hresumeinput( object )        在所有停止输入请求都恢复以后,打开实体的输入端口4 F1 m' u& _! E
insertcopy( originalobject, containerobject )        往容器里插入新的实体复制品
5 ]5 |  Y. j. omoveobject( object, containerobject )        将实体从当前容器移到它的新容器中' h5 |/ K$ c5 `" H) x1 E1 C0 `
高级函数% q0 q. h; Q% W! G
实体变量
2 C1 f# W: M# Z7 e+ N5 K7 Y命令(参数列表)        说明, A1 R. c% v7 I% ?
getvarnum( object, “variablename” )        返回给定名称的变量的数值
& v4 T4 J' q. i. ~setvarnum( object, “variablename” , value )        设定给定名称的变量数值
- O8 l% a$ u* t8 H" T6 ^& Y9 xgetvarstr( object, “variablename” )        返回给定名称的变量的字符串值
# g. q8 \0 ?, e6 nsetvarstr( object, “variablename” , string )         设定给定名称的变量的字符串值
' b. T; K" q& Vgetvarnode( object, “variablename” )        返回一个节点,作为指向给定名称的变量的引用
! Z. ^' @3 v9 {4 @0 |. d任务执行器控制
2 p5 C$ L* k6 `* G; K# {参见任务序列,可以获得更多有关控制任务执行器的信息。% ~) s0 ]" M2 G% I$ n4 _+ B1 H# A
提示和界面输出
' W% R# e2 A1 x命令(参数列表)        说明
1 @6 R! |0 q7 P  ]' cpt( text string )        向输出控制台打印文本
) w% ]9 \8 _' j$ Z+ H( q: j  }pf( float value )        向输出控制台打印浮点数值% W  r0 G* y, [9 b* s
pd( discrete value )        向输出控制台打印整数数值0 I: R# [3 Q* k7 |/ g5 |  t
pr( )         在输出控制台中建新的一行
1 ]4 C7 s3 `& O9 u- P! {msg( “title”, “caption” )        打开一个简单的“ 是、否、取消”消息框+ K7 E+ q$ J2 L) h. `3 M
userinput( targetnode, “prompt” )        打开一个可以设定模型节点值的对话框( a1 y7 `. s( ~0 @' ]! s
concat( string1, string2, etc. )        合并两个或多个字符串
6 J5 c* L1 f5 v- C更多高级函数$ t/ n* ^" C- |
下面是可能使用到的更多高级函数。这里没有提供参数列表,参见命令集可获得更多信息。
( q4 r3 f  K/ y( V3 |" `4 w' Q节点命令 - node(), nodeadddata(), getdatatype(), nodetopath(), nodeinsertinto(), nodeinsertafter(), getnodename(), setnodename(), getnodenum(), getnodestr(), setnodenum(), setnodestr(), inc();+ a  @/ ?( D9 w3 ~
数据交换命令 - stringtonum(), numtostring(), tonum(), tonode(), apchar();
9 X. K6 h. P7 w8 P  Y节点表命令 - setsize(), cellrc(), nrows(), ncols();
4 i+ }5 j1 P5 |8 u& K模型运行命令 - cmdcompile(), resetmodel(), go(), stop();
$ f) u. q; |9 i% j; K3D个性化绘制代码命令 - drawtomodelscale(), drawtoobjectscale(), drawsphere(), drawcube(), drawcylinder(), drawcolumn(), drawdisk(), drawobject(), drawtext(), drawrectangle(), drawline(), spacerotate(), spacetranslate(), spacescale();: U5 W* M7 |; r9 @" `
Excel命令 - excellaunch(), excelopen(), excelsetsheet(), excelreadnum(), excelreadstr(), excelwritenum(), excelwritestr(), excelimportnode(), excelimporttable(), excelclose(), excelquit();
0 A" N) }  {# C; W* v' d) `5 fODBC命令 - dbopen(), dbclose(), dbsqlquery(), dbchangetable(), dbgetmetrics(), dbgetfieldname(), dbgetnumrows(), dbgetnumcols(), dbgettablecell(), dbsettablecell();
4 C7 s- O( _3 U. @运动学命令 - initkinematics(), addkinematic(), getkinematics(), updatekinematics(), printkinematics()
作者: ants_song    时间: 2010-7-15 08:26
哈哈,怎么把3.0中文版操作说明书中的内容粘上来啦
作者: 往事如风210    时间: 2010-7-15 09:58
哈~~不要说这也是你的家底哦!
作者: wj109260758    时间: 2010-7-15 11:44
我觉得这玩意很好啊,当时看到这个就开窍了
作者: 02琊琊    时间: 2012-6-19 21:48
哈哈 受用 谢啦
作者: DONGDAxxy    时间: 2012-9-17 17:11

作者: 嗜血黑猫    时间: 2013-4-23 10:16
很有用,谢谢分享
作者: yushaozheng1990    时间: 2013-12-9 21:03
有些粗糙啊
作者: a445608540    时间: 2013-12-12 08:40
谢谢分享
作者: yuzhu    时间: 2015-12-24 10:47





欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3