|
- C- A! U3 G" m+ G1 w* l V8 u8 r2 w我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
+ z# y& q8 O- e) \# |0 r首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。# N! @1 _1 y$ e3 v+ b* v* \
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果; B! i7 s1 { R( M; K1 k
接着我们就可以编程序了,源代码如下:
4 D# S& w( g$ m) z. fbegin P_process_name arriving8 _# P( `4 [. Z" Q$ I- s c8 K, w# |
move into Q_queue //load进入队列中* z4 ~! ]4 ^" {
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
+ B0 J2 h' P2 W begin $ Z1 W, `$ i* _; |' T* Z
order 4 loads from OL_orderlist to die //取其中的4个消失
. ]* j3 S. x/ z! U0 n* G$ N# i set load type to L_new//设置第5个进来的Load为L_new类型的! N* M L n" _
send to P_next//进入后续流程 4 i9 z; w: g2 i' t: k9 A! p
end
$ H) u( O9 w" ?, A$ \9 e; T else//如果OrderList中的托盘数少于4 则进入8 o) ]6 X& D8 t! T! C
wait to be ordered on OL_ orderlist
# e; r! E; D& ]! \! h- T4 yend' U9 i1 }* L2 B1 B3 _
这段代码还可以精简为:0 i2 v7 h6 ?( l3 P" b
begin P_process_name arriving
4 o# u" [) H ]; G7 G move into Q_queue //load进入队列中
0 n: y F" p7 E if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
* }9 s! y/ E9 G0 y3 X' O3 F: @2 k begin ( m7 W. r; J1 ?
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
$ {8 [1 U8 i: ] create 1 load of load type L_new to P_next //创建一个新的Load8 K; |8 l0 k; V* ?
end( c4 O- Z' D# r% I8 L
else//如果OrderList中的托盘数少于4 则进入' T$ W' C6 p9 ~+ N u* n* o, N
wait to be ordered on OL_ orderlist- J& a- L% s! ?8 m
end1 ~. d7 M: v( M) N# E) _: }- ]: n. }6 G
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|