|
|
7 b3 a* U3 x2 n l- n
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。, O2 r% @3 z+ a" D( p
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
, \( Q9 _0 f2 {, h& Z然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果$ ?; S) n' a, x
接着我们就可以编程序了,源代码如下:$ Q' l1 A5 B* W( m% S& z
begin P_process_name arriving: U# f. K$ o; K- L& R% b; H
move into Q_queue //load进入队列中
! Z x6 R% m: q/ y4 h if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘# l5 _! ^( b/ r- t; {' @
begin
' p4 ^( h# ]8 u# B$ I order 4 loads from OL_orderlist to die //取其中的4个消失/ O$ t. G$ R/ l9 R+ B; B# L' I2 _
set load type to L_new//设置第5个进来的Load为L_new类型的
. F5 ~0 }4 r& g send to P_next//进入后续流程
# f& C0 d0 @$ Z! a/ n2 I end$ g7 Z' j5 m+ l9 S
else//如果OrderList中的托盘数少于4 则进入6 f( A/ ]3 F% s4 z# ]6 y3 ]* e
wait to be ordered on OL_ orderlist& d' T) p5 U+ ^3 O. r
end P- [7 X, a, @& a6 s3 x% O) v
这段代码还可以精简为:
) J) y) @6 Z# `# `# m, Qbegin P_process_name arriving
' ^" N. M9 M R, j: h- _3 ? move into Q_queue //load进入队列中
/ y6 w* T0 E7 x$ o% a0 k if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
: t. j6 p* Y. H; ^/ \9 j( V* B/ w begin & I4 F$ F0 d! Z0 x5 r1 \
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
2 r# g, d1 _4 v3 p9 |4 ]2 E create 1 load of load type L_new to P_next //创建一个新的Load
& o: W1 M: V- S- N2 @* p) t end% \. u7 G! y4 z
else//如果OrderList中的托盘数少于4 则进入
( D, x3 j$ V8 z `! t b wait to be ordered on OL_ orderlist
- d( J3 D, H3 V! r9 T- v9 H* Eend
1 y( {( V' g; d. O/ k4 w这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|