|
|
# i9 W* G% P, P. p2 {: c, U我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。& A4 M0 j, o* t
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
- ^4 r9 l1 G3 ~然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
9 i# u' w: p. Z5 ?0 w接着我们就可以编程序了,源代码如下:
% x( H- E6 ]; s; I5 G2 D/ xbegin P_process_name arriving% v+ a) }& g: U( O
move into Q_queue //load进入队列中6 A) A1 S5 w2 W* v8 n8 u
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
`& k9 ]/ M O* F8 E begin # W$ ^2 z( ~, z) _8 x( K- _
order 4 loads from OL_orderlist to die //取其中的4个消失
0 \$ ]8 r& V0 m/ J* c$ J: C set load type to L_new//设置第5个进来的Load为L_new类型的2 r% d7 x3 f& h- g6 S# Y
send to P_next//进入后续流程 / H6 u& Y" h h
end3 J/ Y3 x& c8 J4 C8 f5 |
else//如果OrderList中的托盘数少于4 则进入
( M: e4 u, w& C+ E; H% D. D wait to be ordered on OL_ orderlist1 n! C2 [+ u) L* T& a# n3 F) S
end/ h1 _/ n* X- u% _
这段代码还可以精简为:$ I& e3 r3 k) b8 E& v- b8 c: x
begin P_process_name arriving
' i8 Q2 {% A+ T: @; R) ? move into Q_queue //load进入队列中
0 Z8 }! L" P5 G if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
/ ]1 T$ T; Q$ V2 o d9 e3 F begin
4 q' I( N+ I) x- B3 A( R& o, ^ order 5 loads from OL_orderlist to die //OrderList中的5个全部消失+ D8 A" h4 q7 x, ]9 G+ R. Q$ J
create 1 load of load type L_new to P_next //创建一个新的Load
! A1 W8 g. a2 l9 t) b9 s9 m4 {7 T end _3 q/ r R5 C4 X! A
else//如果OrderList中的托盘数少于4 则进入4 V9 C$ A& G! [" j
wait to be ordered on OL_ orderlist
/ {5 P6 t# X- ^- u8 Hend, i9 x; P. c/ z9 x0 J) {
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|