|
实体参量
+ \$ B* J( t' ]( H5 ]5 x下列的命令和存取变量在Flexsim中被用作实体引用。
4 X) {3 Q' e' j# h1 o9 `变量current和item3 V+ p4 d9 {4 ?8 H+ X
• current - 变量current是当前资源实体的引用。通常可以是下拉菜单中的一个存取变量。
5 l8 X; e z! ^( r+ C9 k• Item - 变量item是某触发器或函数所涉及的临时实体引用。通常可以是下拉菜单中的一个存取变量。 : g: U2 _: @/ t8 H3 u3 V7 v0 G, I& ^
引用命令
/ z$ s! f3 u ^3 N% |' [命令(参数列表) 说明 示例
4 e* D* B% p+ x5 e1 r" f: J+ ufirst(node) 返回的是所传递的实体中排序第一的对象的引用 first(current)
* n a4 }8 J/ @% n, \( H* ilast(node) 返回的是所传递的实体中排序倒数第一的对象的引用 last(current): t) ?2 e7 D* f; i F
rank(node,ranknum) 返回的是所传递的实体中某给定排序的对象的引用 rank(current,3)( G5 |" `* F' R0 l( O
inobject(object,portnum) 返回的是与所传递的实体的输入端口号相连的对象的引用 inobject(current,1)
/ e# _# v/ P3 N% c3 W. aoutobject(object,portnum) 返回的是与所传递的实体的输出端口号相连的对象的引用 outobject(current,1)/ k8 g( h' Q" y4 N6 `8 h
centerobject(object,portnum) 返回的是与所传递的实体的中间端口号相连的对象的引用 centerobject(current,1), n' I9 \/ s, a; \( h1 U' O
next(node) 返回的是所传递的实体中排序下一个对象的引用 next(item)" v+ k( Q; X8 i9 t; r1 X
5 Z- e% f; [0 P6 `5 f% J" M4 Y5 H$ W
% |6 C J A, `+ b/ @$ z/ \; Q0 L6 `/ @& v; O1 k6 e; u
# F D9 h N0 @$ W& q" r: M
! u3 ~) A8 m9 B/ C
) h! M6 J3 S$ v9 }: P( D E, H! s" J6 t+ l! o+ [1 ^
9 K( m! @. j0 S
2 Z, Z: l9 C3 J# D& N
5 t, E& O# o" r8 }+ ~7 I. d# A) s0 x# j3 Y5 ~7 Z
( p& o) U" ? s8 X6 F
0 c; E/ g& ^9 j- `
$ ^# j5 A' R; a$ H( t( O7 R/ [) R0 ~. D' U5 n3 M
& k# \3 q2 D8 S% d
实体属性
i0 E/ C" Y$ b0 k* E命令(参数列表) 说明+ T0 V, ]% V& A b" i/ L: D6 a
getname( object ) 返回实体的名称
) H& G8 @* N5 \$ |) u0 [8 f7 jsetname( object, name ) 设定实体的名称* r2 {1 E' C1 ~; Q: f$ R$ D6 q/ j1 r. I
getitemtype( object ) 返回实体中临时实体类型的值
' C8 D, B# S# d9 w6 ]* Fsetitemtype( object, num) 设定实体中临时实体类型的值# u. p, i0 }. }4 ~
setcolor( object, red, green, blue ) 设定实体的颜色
, } t( K( f- q8 `' h) Acolorred( object ) blue,green,white... 设定实体的颜色为红、蓝、绿、白等3 g6 t3 A+ \8 r4 g6 n1 {! L ]
setobjectshapeindex ( object , indexnum ) 设定实体的3D形状: s8 w; w" i6 m( B
setobjecttextureindex ( object , indexnum ) 设定实体的3D纹理
, L( R0 W( N/ ?7 `* l0 Nsetobjectimageindex ( object , indexnum ) 设定实体的2D 纹理,通常只在平面视图中使用
5 n' o( z% l( \ L6 T- _3 G实体空间属性" d1 k, {- i- U2 @+ e, _
命令(参数列表) 说明, Z& a9 x0 x% |+ L* k
7 r+ w) v5 a* B* @
xloc( object ) yloc( object ) zloc( object ) 这些命令返回实体x、y、z轴向的位置
- Z3 c, h v, V- usetloc( object, xnum, ynum, znum ) 此命令设定实体x、y、z轴向的位置1 D- ^# U% J8 \% j+ t
+ {1 ^3 Z7 G5 W
xsize( object ) ysize( object ) zsize( object ) 这些命令返回实体x、y、z轴向的尺寸大小/ }0 p/ M% `+ M3 z
setsize( object, xnum, ynum, znum ) 此命令设定实体x、y、z轴向的尺寸大小
7 j4 P5 |& g) B, {3 }3 c/ L
) l/ Q) Y# F0 r1 k% i- u, ]% fxrot( object ) yrot( object ) zrot( object ) 这些命令返回实体围绕x、y、z轴向的旋转角度0 l. a2 R* i6 o8 E" |* v" t1 H
setrot( object, xdeg, ydeg, zdeg ) 此命令设定实体围绕x、y、z轴向的旋转角度6 p' q0 X) V. Z: l* T0 z2 z
4 a6 t# a0 z7 D, {
$ K; X/ |3 ^* t! u' o& G/ S1 v" E5 T% v$ W
( e2 O: d( c& f$ q& c
! L* b2 g% ]- M, G6 O7 O- p: ?+ Q6 `' x3 g. _0 S
! B1 Z$ [/ C# z' H5 W
: [0 W# G5 \2 l) v/ o+ @
: d! \. U, H! o7 |6 G, `6 d9 L7 A6 x' o+ y3 s
1 y8 D7 R$ ?. ~3 P) o8 C9 [
% W8 I% g$ X6 v( e4 B5 h* N$ Q( k% ?! X# @ ~& g
* z+ [0 U# N$ V* W5 y
9 u+ \* S! Y3 ~. X, b; U实体统计值
% B# I2 I+ [% E. F$ w, E, N命令(参数列表) 说明
1 c: j# W0 @5 \% L, wcontent( object ) 返回实体当前数量. Q p$ k7 x; U, C* P t
getinput( object ) 返回实体的输入统计
/ a0 {( t. U5 D" W4 }7 Vgetoutput( object ) 返回实体的输出统计
9 q7 R# ?2 Y0 O7 c7 p# v: ~setstate( object, statenum ) 设定实体的当前状态 t5 F1 {" N9 g4 u0 s
getstatenum( object ) 返回实体的当前状态
: m2 \1 c7 X4 @9 Cgetstatestr( object ) 以字符串返回实体当前状态8 b/ i0 A$ M* g0 Z: w1 f8 I/ y
getrank( object ) 返回实体的排序. q! ?. d; o, q, _4 B: m
setrank( object,ranknum ) 设定实体的排序
+ U" w; v. \6 d' Wgetentrytime( object ) 返回实体进入到当前所在实体中的时刻
' ?' b" C3 y. _. p' ygetcreationtime( object ) 返回实体的创建时刻
5 \. q8 H+ G5 g, `实体标签; L0 \& i2 \5 r K9 [) U* ~$ }8 N# W
命令(参数列表) 说明
- |0 u! P' Q, V; ?getlabelnum( object, labelname ) getlabelnum( object, labelrank) 返回实体的标签值+ n1 v9 J# ~/ S
setlabelnum( object, labelname , value ) setlabelnum( object, labelrank , value ) 设定实体的标签值; e( e' n. _6 l1 r5 U/ j6 O
getlabelstr( object, labelname ) 获得实体标签的字符串值
. x9 H+ Y! [, [; W' Gsetlabelstr( object, labelname , value ) setlabelstr( object, labelrank , value ) 设定实体标签的字符串值
* ]; c! x; S7 w M' Wlabel( object, labelname ) label(object, labelrank) 返回一个作为节点的标签的引用,此命令常用在把标签当作一个表来使用的情况下。
$ e+ d+ [) W+ f" |. l5 B( g- V表
, B9 K2 ?! y$ x/ f C4 `% V命令(参数列表) 说明6 D2 U. T6 s7 h/ e' R. M% I
gettablenum( tablename / tablenode / tablerank, rownum, colnum ) 返回表中特定行列的值
8 u1 p) l% q& m% Fsettablenum( tablename / tablenode / tablerank, rownum, colnum, value) 设定表中特定行列的值
) g0 V- L/ X6 Y3 B$ G* Q" Kgettablestr( tablename / tablenode / tablerank, rownum, colnum ) 返回表中特定行列的字符串值! W: S* _4 j! D7 E( ]+ P
settablestr( tablename / tablenode / tablerank, rownum, colnum, value) 设定表中特定行列的字符串值3 i- U- G) M3 |# T) a8 F! }
settablesize( tablename / tablenode / tablerank, rows, columns ) 设定表的行列数大小# @- D4 I9 q }
gettablerows( tablename / tablenode / tablerank) 返回表的行数" z3 \% c) E; g) ?& M9 J
gettablecols( tablename / tablenode / tablerank) 返回表的列数
/ s; N- j* w U' a; Kclearglobaltable( tablename / tablenode / tablerank) 将表中所有数字值设为0
, w6 S/ a# O( D. X2 P$ Y% q4 a实体控制: ?; a0 Z( O1 U( ]8 T4 C2 [4 \
命令(参数列表)) 说明( Q6 l1 ^6 M2 _/ n* J1 b
closeinput( object ) 关闭实体的输入端口
; i- a' E. X5 m/ q# J, Hopeninput( object ) 重新打开实体的输入端口
) ~5 w+ A. ?: W! Mcloseoutput( object ) 关闭实体的输出端口
1 ~4 e: F9 J5 ~7 H) r" e6 Zopenoutput( object ) 重新打开实体的输出端口
4 J6 N( ~$ i2 X* e' R7 g* ?3 y: D2 Isendmessage( toobject, fromobject, parameter1, parameter2, parameter3 ) 触发实体的消息触发器. u7 ?7 c$ @7 R# L$ v" V
senddelayedmessage( toobject, delaytime, fromobject, parameter1, parameter2, parameter3 ) 在一段特定时间延迟后触发实体的消息触发器
" K7 D0 e% I$ s4 S# T0 Kstopobject( object, downstate ) 无论实体在进行什么操作,都令其停止,并进入指定的状态
y" G+ |9 e+ ~4 Dresumeobject( object ) 使实体恢复其原来的无论什么操作
9 X0 j; e7 q* ?, f( ^stopoutput( object ) 关闭实体的输出端口,并累计停止输出的请求+ O; I+ Q v1 y' Y# u- D7 k
resumeoutput( object ) 在所有停止输出请求都恢复以后,打开实体的输出端口! z$ w7 f# F/ v- b& u1 T [
stopinput( object ) 关闭实体的输入端口,并累计停止输入的请求
4 b; b" d/ d3 ?: C: G' i6 D6 ^) Lresumeinput( object ) 在所有停止输入请求都恢复以后,打开实体的输入端口- Z, E, `) j# l- @ f
insertcopy( originalobject, containerobject ) 往容器里插入新的实体复制品
# m+ z# F0 u3 J2 ?1 m% y3 p) t( Lmoveobject( object, containerobject ) 将实体从当前容器移到它的新容器中/ c: ~* f5 x! y) N8 m
高级函数1 F2 q# U! |: R7 u# }1 _
实体变量
7 d8 l/ f1 l k, C命令(参数列表) 说明
6 q4 W* n! S8 ~5 Hgetvarnum( object, “variablename” ) 返回给定名称的变量的数值
E: p, N1 `* ysetvarnum( object, “variablename” , value ) 设定给定名称的变量数值
/ N6 f# ^& j8 bgetvarstr( object, “variablename” ) 返回给定名称的变量的字符串值* [3 T7 F) @' i! `+ X" }
setvarstr( object, “variablename” , string ) 设定给定名称的变量的字符串值; r K' s: K# F0 m. E9 o$ y
getvarnode( object, “variablename” ) 返回一个节点,作为指向给定名称的变量的引用2 a# L1 C. |% L! D- a+ |
任务执行器控制
$ J5 k! z5 T2 M4 ^$ b4 g- d参见任务序列,可以获得更多有关控制任务执行器的信息。$ }1 ]9 C$ j: D% W7 p6 N
提示和界面输出
) Y' x$ c( x% G+ c7 H+ H1 c命令(参数列表) 说明. _* T: g h: a5 F2 z; I
pt( text string ) 向输出控制台打印文本' b" c T( y+ ~& U9 P( _
pf( float value ) 向输出控制台打印浮点数值
# e4 t+ I# s6 `pd( discrete value ) 向输出控制台打印整数数值5 ~( p3 t% w/ ?& Z
pr( ) 在输出控制台中建新的一行1 _5 d: D4 j( V" ?/ V: s D# b1 X
msg( “title”, “caption” ) 打开一个简单的“ 是、否、取消”消息框
1 g7 b) [: y; s1 B* s: e& R& G0 Uuserinput( targetnode, “prompt” ) 打开一个可以设定模型节点值的对话框
, }- v' e' o' B0 Q2 |9 y9 |concat( string1, string2, etc. ) 合并两个或多个字符串
5 @* [$ V R. v& A1 `1 W更多高级函数
7 p6 m2 q' N: n, F9 b( E7 V8 A下面是可能使用到的更多高级函数。这里没有提供参数列表,参见命令集可获得更多信息。6 V# G9 l2 b- A2 X, \
节点命令 - node(), nodeadddata(), getdatatype(), nodetopath(), nodeinsertinto(), nodeinsertafter(), getnodename(), setnodename(), getnodenum(), getnodestr(), setnodenum(), setnodestr(), inc();" N- y# a' h- D: C# a. K. {) x5 z
数据交换命令 - stringtonum(), numtostring(), tonum(), tonode(), apchar();* J9 Q5 a: E- u/ r
节点表命令 - setsize(), cellrc(), nrows(), ncols();
+ l) z6 m7 W. r模型运行命令 - cmdcompile(), resetmodel(), go(), stop();
4 o: t7 n) f4 O- [5 P( }! v7 q3D个性化绘制代码命令 - drawtomodelscale(), drawtoobjectscale(), drawsphere(), drawcube(), drawcylinder(), drawcolumn(), drawdisk(), drawobject(), drawtext(), drawrectangle(), drawline(), spacerotate(), spacetranslate(), spacescale();" T- ?6 [ R3 }. p
Excel命令 - excellaunch(), excelopen(), excelsetsheet(), excelreadnum(), excelreadstr(), excelwritenum(), excelwritestr(), excelimportnode(), excelimporttable(), excelclose(), excelquit();
L# }4 O2 [& \' ^/ ]ODBC命令 - dbopen(), dbclose(), dbsqlquery(), dbchangetable(), dbgetmetrics(), dbgetfieldname(), dbgetnumrows(), dbgetnumcols(), dbgettablecell(), dbsettablecell();7 b$ |; g2 A2 v
运动学命令 - initkinematics(), addkinematic(), getkinematics(), updatekinematics(), printkinematics() |
|