|
$ X$ l+ \$ N* c2 \7 O s7 k
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。1 M3 T! u2 t# U' I& z0 O4 R& ]
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。, b' G! r6 Y3 S/ R9 h
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
, H1 @+ B7 Z3 n接着我们就可以编程序了,源代码如下:
9 ?" r0 v* r/ x3 j* ]$ B/ ^/ Tbegin P_process_name arriving
+ x. [8 } |5 y; r% g move into Q_queue //load进入队列中3 f& [/ p3 X9 D% ]' p2 y
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘" w8 u% f6 M) x; C3 A
begin
& M! K8 c8 N, f) f7 ] order 4 loads from OL_orderlist to die //取其中的4个消失
; C0 g0 l8 n. v- f% Z) \9 | set load type to L_new//设置第5个进来的Load为L_new类型的( r* O2 `4 H# |( @ `
send to P_next//进入后续流程 3 ?! P0 s. _! O4 A. ?; J& h3 o% j
end
! c8 o( r7 K- O/ Y, _ else//如果OrderList中的托盘数少于4 则进入3 H, M: s; J" Z- {- \
wait to be ordered on OL_ orderlist
3 M# t; E: X0 {' H& u4 i+ O6 Pend. {6 K0 [& B7 }
这段代码还可以精简为:$ g+ q6 V5 l! S- ]3 D! C
begin P_process_name arriving
$ Y- V9 m: B+ z1 q' h move into Q_queue //load进入队列中
- j* e7 z8 O: W7 {) Q' w7 a' f if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘1 ]% @9 x9 E; v6 n; h
begin
3 S( s+ o9 n% u order 5 loads from OL_orderlist to die //OrderList中的5个全部消失- V/ W3 L% g% k( Y7 r
create 1 load of load type L_new to P_next //创建一个新的Load
3 w6 Y% S2 N; l ` end
: Q+ h7 z% I! D4 z$ ]0 b- ^ else//如果OrderList中的托盘数少于4 则进入3 z# h* Z+ x1 V8 t
wait to be ordered on OL_ orderlist/ ^- m; c' D' _, y. ~5 h4 ?
end6 \( o7 U3 P L) j9 y
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|