全球FlexSim系统仿真中文论坛

搜索
查看: 1965|回复: 4
打印 上一主题 下一主题

PF里判断命令代码无法识别标签的问题

[复制链接]
跳转到指定楼层
1#
廉梦华 发表于 2023-12-13 08:46:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我想达成的结果是——通过发生器创建四种不同的临时实体,分别是绕x轴旋转180度、绕z轴旋转180度、绕x轴和z轴旋转180度、不旋转这四种临时实体,同时给这四种临时实体赋标签分别为xRotation、zRotation、xzRotation、noRotation。然后从PF里的判断命令中引出4条支线1、2、3、4分别对应上面四种实体,判断里的代码总是识别不了我给临时实体设置的标签,有没有哪位老师可以帮我看一下,是哪里的问题,该怎么办才能解决,十分感谢!1 u( ?2 \5 j0 g2 n3 }- Z
发生器的代码如下:
8 K/ K1 x9 D- m- ^: u" q/**Custom Code*/
8 z1 ^+ X* p3 N8 \  y& F( @! P2 x5 \1 F# K$ F; ~0 c6 y
Object current = ownerobject(c);
! K7 L. I1 Y. A/ m3 ]* w6 bObject item = param(1);% ]* j0 K+ P+ O0 T4 o
int port = param(2);; w4 \& D0 `9 W3 f) e6 P
4 R- V- n2 K$ J
Object involved = item;9 G+ }; S% a8 x( K
double x1 =180;8 }9 X: B" O: S; X% K1 M
double y1 = 0;
, ^% B' v+ n- S: n# x; t) ^" O3 ~double z1 = 0;3 m8 |. b0 g& K; y4 S7 b3 s

, H" {7 r+ X8 V6 x5 wdouble x2 = 0;
- U- J4 K& \0 g; ?; D+ o, Pdouble y2 = 0;
0 b5 l6 k' J. F  E2 V7 Z/ Edouble z2 = 180;7 l; J. u+ `( F. ^

4 y4 y8 m$ m: c) `/ sdouble x3 = 180;( ?0 |  P4 k0 R+ q% P5 n+ p
double y3 = 0;
6 f# X) I# G  n3 N1 ]8 Odouble z3 = 180;# e% c9 k9 A7 V3 k% c/ i
" n# [6 D$ H; k( D% N( K% q  m/ a7 c
double x4 = 0;; d7 S- u6 o% @4 o1 h# b' |7 v
double y4 = 0;
, T( |9 {* Y& ]$ ^! X+ m7 b7 O! `double z4 = 0;
: @  v5 g5 T6 h/ H6 m$ l8 v% z6 o
+ H7 ]; C/ `; r3 R6 {: s5 `, a3 X) Vdouble randomVal = duniform(0, 4);) F1 d. G0 l+ T2 n5 Z
if(randomVal < 1)
5 S# J+ Q, a' J* d# `. F{0 ^3 m' p& f1 f2 M0 A- `: p% c
   setrot(involved, x1, y1, z1);% w! u7 B: c& @  |1 L7 a4 i% V/ w
  setlabel(involved,"Rotation","xRotation");. I% V1 z" _7 h. T' J$ m! p
}# f9 U2 v& r% p7 b/ U+ [/ j
else if( randomVal < 2)- Y9 v, z( h. j2 {. ^  t' Z+ F
{  6 g1 X' U9 e/ h4 D
    setrot(involved, x2, y2, z2);
0 X. g8 }* F) V; X7 u5 I   setlabel(involved,"Rotation","zRotation");0 D+ f. g; ?6 c
}7 H3 y- Q$ _$ f2 y# Z1 v0 C
else if(randomVal < 3 )  @7 B3 R* c# h9 G+ H8 A1 T
{
+ h. j2 h7 J/ I3 x    setrot(involved, x3, y3, z3);
( N/ E7 _& F# b2 e   setlabel(involved,"Rotation","xzRotation");1 Q4 h/ _3 M& u8 D. c: r
}
! ?1 U8 w" G+ Z+ s3 A5 kelse# w- Z, B, b/ U5 T# O# h
{8 r: K: x9 _$ B% B3 I
    setrot(involved, x4, y4, z4);
( n& F9 M. e" @6 h% L+ K' ]2 v' l  setlabel(involved,"Rotation","noRotation");2 X" W5 q& G+ u
}( d4 W3 g) P3 f- d; H8 l( e6 B+ Q
判断的代码如下:
- l' ^' `+ x8 K4 r/**Custom Code*/
1 _- I, L" Z6 R( }, s# KObject current =ownerobject(c);
  s7 f, C( M" y9 A# FObject item = param(1);7 M6 l2 p; Z. U# X2 t4 B* w! f
int port = param(2);
( R2 c1 \) H2 W: Y# |
2 P; p& P' N7 @Object involved = item;
8 `6 n# T! z, c" y
4 Z, ]" ?4 F! v- ^, k" f5 k' pstring labelVal = getlabelstr(involved, "Rotation");
& Q( ]: t7 u2 _- v- r' b; a5 P+ f+ q' ?. ?& E% \
if(labelVal == "xRotation")
9 T' ~3 U. k& ^  x{
9 S$ p( W# }' E5 X' y    return 1; // Divert the item to port 14 w( j- `* I- }" U
}0 i+ p2 Z" o* r  \( {+ s* c/ p3 p
else if(labelVal == "zRotation")# [' H# B0 ]* g) L  L
{% T& T+ o% s5 G! A
    return 2; // Divert the item to port 2
+ m  z/ }$ C4 w* v" E) A% q) t5 J}0 ?$ N- Y. ~+ \% D' ~. \
else if(labelVal == "xzRotation")
! [/ m% J5 B6 z1 X  z& W{2 f9 A9 c! L  D9 Y
    return 3; // Divert the item to port 3
* l/ \2 u, F1 ]# Y. N2 E  @" _}
( J8 D8 \9 S" l+ A: d* L0 X. R* k( C6 Delse if(labelVal == "noRotation")
1 h1 u9 `' E# t6 g+ F- K2 k{* F9 n& c- X6 g9 o+ W( H2 a
    return 4; // Divert the item to port 4
9 g5 a  F. E1 ~: c* X5 }- }}
" W- _- j2 u: t# x4 k% b' g: F
模型附上:
+ D3 P3 {) t3 `6 C

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
5#
 楼主| 廉梦华 发表于 2023-12-13 13:40:55 | 只看该作者
csn-support 发表于 2023-12-13 12:07, C4 [% M  S# G1 M8 j+ U
直接读取标签也可以,不过要记得加上token.

, G% J, |0 }8 n, ]$ x感谢老师的指导
4#
csn-support 发表于 2023-12-13 12:07:11 | 只看该作者
廉梦华 发表于 2023-12-13 11:53
9 A$ H1 \0 Y& j' P谢谢!谢谢!十分感谢老师的指导,

0 @" A' {# o, G+ \9 _7 }: S: G. M, I直接读取标签也可以,不过要记得加上token.$ ~/ Y! T- k+ R1 V) [" }) n

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
3#
 楼主| 廉梦华 发表于 2023-12-13 11:53:51 | 只看该作者
csn-support 发表于 2023-12-13 09:58/ q# D5 j/ r( R1 U$ a, K$ ?
在pf中没有对四种类型的标签赋值,需要赋值以后再进行判断。

  l; B* ^& o" @& a/ B% f: I谢谢!谢谢!十分感谢老师的指导,
2#
csn-support 发表于 2023-12-13 09:58:25 | 只看该作者
在pf中没有对四种类型的标签赋值,需要赋值以后再进行判断。
2 D) g: O1 ?8 U1 T. e: z) d4 `

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-8-31 02:20 , Processed in 0.068638 second(s), 15 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表