|
* W. V, e2 b# t6 x+ p. P我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
) V( D( `6 o; p n4 A首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。) }7 n8 y: @' z9 X5 C* h( U8 I
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
0 B2 Q7 S$ w* r# W% ?接着我们就可以编程序了,源代码如下:+ Y3 G5 x% ~9 y( o
begin P_process_name arriving
( r& @( ]7 [8 Z9 p move into Q_queue //load进入队列中, @, m* ~; r5 \
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘! U/ {2 g6 q9 \* i: o$ g
begin
; x4 ?6 S% W$ C# {1 \ order 4 loads from OL_orderlist to die //取其中的4个消失) z) I9 F% C# u) G% V
set load type to L_new//设置第5个进来的Load为L_new类型的
( D* E1 @3 L% X: F1 b$ m send to P_next//进入后续流程
R$ F. e( y- Z# Y2 ?: G end
/ i5 J0 K) x- d4 w/ }: H9 Q& b else//如果OrderList中的托盘数少于4 则进入
5 g9 M/ N2 H( o5 \2 {6 J wait to be ordered on OL_ orderlist5 {+ L5 |& t, Y- r; u7 x/ V" C9 Q4 t
end2 L# P# }9 X( ]( q/ ?, o3 S
这段代码还可以精简为:
4 x! S% m3 o" q7 p2 Q7 M) X bbegin P_process_name arriving. y8 |: u2 F- e+ R- v2 ?
move into Q_queue //load进入队列中
: N- M" H4 {9 a' P# a F1 { if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘6 G5 |4 [) m m' }
begin * y8 i" c, J, i; w7 {4 q* J
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
( m4 d5 }1 O; t5 u# s& ^ create 1 load of load type L_new to P_next //创建一个新的Load# l" D9 c7 y% Y/ { m
end1 v) v$ M. U4 {1 q7 @4 ?
else//如果OrderList中的托盘数少于4 则进入
, ~; n1 N; y( K3 @/ V! M! I: x wait to be ordered on OL_ orderlist
9 X2 r6 P3 w% \! G5 u5 `end
$ H8 e3 ~. Y- @; S; D这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|