|
8 i5 Y+ w, ]8 D" Y* Q& p我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。. l% C( L8 M. G- w0 C- W& n
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
4 {4 R" T4 v: P2 @. k, A# ^+ o然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
, T4 g9 Y& V4 f) E接着我们就可以编程序了,源代码如下:
( G+ K) {4 l5 J- _% Nbegin P_process_name arriving9 V$ d2 |) T0 T) V! u1 D
move into Q_queue //load进入队列中" @4 s5 P% _2 J
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
- n" Q- @& d# l+ Y6 C begin
2 K/ c6 q) e7 g0 m order 4 loads from OL_orderlist to die //取其中的4个消失; w$ N0 }7 q; y) [4 O4 t; Q
set load type to L_new//设置第5个进来的Load为L_new类型的
' G) s) l' ~- {) X& S7 _ send to P_next//进入后续流程 , r* O0 j; D: c& ?& \. F6 f( V1 S
end
# S. O% M# w, ]7 @( e4 F; O: f* `7 I else//如果OrderList中的托盘数少于4 则进入
5 p* R! h8 U2 K3 |1 S wait to be ordered on OL_ orderlist! d% O6 ~5 x9 q% d6 \/ `0 S
end
5 {& y; X% a3 s1 g2 w* m+ v这段代码还可以精简为:
: @" J- k! Q, j! ? [) S( vbegin P_process_name arriving- L4 o( l( o8 m$ V6 d v! K& k
move into Q_queue //load进入队列中
* l. v" v. s v* u7 ? if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘- z2 p& ^5 }. M' }1 m1 I" g2 |2 ?$ l& X
begin 5 T: l* A' a! ]$ X' C
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失* A0 w( R4 o6 B2 i1 S( o2 |6 M( U. ^
create 1 load of load type L_new to P_next //创建一个新的Load9 s$ A3 C) g7 b& |/ M$ ]0 m
end7 A1 a/ J, l* H; Y% X
else//如果OrderList中的托盘数少于4 则进入- o K3 q ?1 b! h8 @+ M+ J
wait to be ordered on OL_ orderlist9 W/ \. M4 p! |2 i! o5 E# m
end4 F) U8 |4 z9 s# A. D$ ^7 ]$ }
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|