|
|
( c- X/ F& t I
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
! P2 p5 K3 w1 }/ `首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。) Y9 x( ?. U ~1 U$ `- W
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
! c5 g5 j5 u5 a8 F& r接着我们就可以编程序了,源代码如下:
6 o# y4 p0 W5 ^/ x7 zbegin P_process_name arriving
- U5 l; h9 F' {. u move into Q_queue //load进入队列中
! P- S9 H% T1 Y if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘+ I$ U! A2 q' X7 @8 y8 I4 {
begin
, v( {1 y- I* A, V0 g order 4 loads from OL_orderlist to die //取其中的4个消失
" C7 a* O' P1 S9 ` P& k5 c. j set load type to L_new//设置第5个进来的Load为L_new类型的
/ A) \8 w4 O, F$ f send to P_next//进入后续流程
! l" q3 n. S- t/ p& n9 a end$ l. @% X& T2 g, A
else//如果OrderList中的托盘数少于4 则进入% w+ K! q6 y. y
wait to be ordered on OL_ orderlist
! \- O. T/ ]) X; a& b$ _0 Q, H/ Cend& j( ?6 \5 y& J; z r
这段代码还可以精简为:
; X) U, q) {. _2 o3 Q$ ebegin P_process_name arriving
: C: e: c D) L move into Q_queue //load进入队列中
2 u7 G* X p' } if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
5 O4 x- ]7 m) @& g' _ begin . q3 O, @/ D- V$ q$ i; ]$ n# j
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
( z1 n4 Y5 \0 o/ g. N create 1 load of load type L_new to P_next //创建一个新的Load8 e" i! ?* b0 B4 @
end3 W' U) z6 h, h
else//如果OrderList中的托盘数少于4 则进入
( s) E+ y: K0 b; f, m ` wait to be ordered on OL_ orderlist
; P- p8 d% y% ^3 vend
! E3 @ x2 w3 ?* P' P x- e这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|