|
|
9 R8 ] ~$ M; }1 ]5 c我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
: y0 E: p. _ m# o首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
! X; [1 Z7 B3 j' {然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
( Q$ d4 |6 \( ?4 Q5 V( j* |. z4 |接着我们就可以编程序了,源代码如下:
8 E T& E; X! K' ~6 j3 x% tbegin P_process_name arriving, L9 ~' X4 P- N& v2 F8 [. e _
move into Q_queue //load进入队列中/ x9 y4 c( Z: [* ^3 a, Z! n
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘8 G1 K* \' Z4 P+ L/ t8 b
begin
* K$ E0 z# D; ], i6 Y) r order 4 loads from OL_orderlist to die //取其中的4个消失
9 n1 ^0 x& e# i" T' k# w+ _ set load type to L_new//设置第5个进来的Load为L_new类型的9 S L$ w$ Y" M5 W8 B+ v
send to P_next//进入后续流程 + g: l9 H! {7 N+ |: U) k, @- C
end
$ T1 D6 j P" |* ]' H9 C else//如果OrderList中的托盘数少于4 则进入
3 o2 i+ L% Y+ G0 v# h: R$ a wait to be ordered on OL_ orderlist3 G% q! l* g, U1 N9 z" x" A# Z7 y
end$ e0 i& f' U7 T6 i8 B# B3 B& E, f6 J
这段代码还可以精简为:4 F' m# M8 H' D( n% o' O
begin P_process_name arriving7 w, s3 j& v6 o( E( k# y6 L1 U" q
move into Q_queue //load进入队列中
- `# c. X& G1 A if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘* ?. \8 x; C% o
begin
! K1 o4 `" h" b( q' u order 5 loads from OL_orderlist to die //OrderList中的5个全部消失' b S1 x0 j3 u0 p) S
create 1 load of load type L_new to P_next //创建一个新的Load, e+ T* {1 }9 e) k
end& g) N. C( l( p6 ], m" O
else//如果OrderList中的托盘数少于4 则进入
1 o; H7 `6 J# s; O" P. a2 N3 F wait to be ordered on OL_ orderlist! |" O7 w H7 N
end
2 M; D2 D7 d- g2 p6 V这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|