|
|
( ]( v, N0 ~8 b/ q( S
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
; U3 F3 F5 N. Z( N( N首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
1 j. N& I X7 ~, ]5 Y) l! a然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
0 i \& R+ ]4 @9 L" V6 ?9 M. Z接着我们就可以编程序了,源代码如下:" W7 q4 Q: ~ p' c
begin P_process_name arriving! v: `: B) v K' X0 D5 u
move into Q_queue //load进入队列中$ U# l0 t, } N# x
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘- ~2 O( D+ c5 ` H) u
begin
: k9 Q0 z9 v' _2 _ order 4 loads from OL_orderlist to die //取其中的4个消失
5 T# l/ }4 y7 U* e1 P$ V; E' h set load type to L_new//设置第5个进来的Load为L_new类型的
+ @/ {* B& {7 o% r, g7 Z' S9 X; M send to P_next//进入后续流程 / ]2 k% x: a! e/ M1 C! |1 V
end: i5 T- w& T- ]" }) A$ l7 b- {
else//如果OrderList中的托盘数少于4 则进入
$ Z% }& }# D( Z* G wait to be ordered on OL_ orderlist, y- c+ F- A+ T' x
end
+ a: ]; G' a5 b这段代码还可以精简为:4 t/ d4 _- T; F5 d
begin P_process_name arriving
1 _/ S! a/ T/ E, Z& Y move into Q_queue //load进入队列中* q' P3 I* Z+ [" G
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘8 A: N2 Z& ~. g% D' h
begin
2 o- v* s2 B0 U- `' F; K; k order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
& A# l2 k9 P' n4 c: W create 1 load of load type L_new to P_next //创建一个新的Load; X' [* y8 b# o3 \) E9 l/ F
end
: a; P( {! U ?; M. L1 F else//如果OrderList中的托盘数少于4 则进入5 x0 Y. l$ Z" f! N* Q& |: C& K
wait to be ordered on OL_ orderlist
* |6 Q V5 {# \; b7 tend* w. @4 X8 I* R2 n5 Z
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|