|
|
4 H/ D K; e* }5 D/ u
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。2 p6 N+ M. ]! n' G9 T3 M$ `9 i1 d
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。, C6 u8 f. L3 S8 }! F7 m3 D4 M% F. u
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
3 A3 Z( Y4 x0 r接着我们就可以编程序了,源代码如下:
, O# L2 D0 _& R1 Z8 \begin P_process_name arriving! p3 K" w6 g2 B; W
move into Q_queue //load进入队列中
" p `. J( n7 |7 X* m0 X if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘2 w5 m3 i- q$ N+ V8 s
begin
0 L6 i1 ~+ c- K" l: o* \ ? order 4 loads from OL_orderlist to die //取其中的4个消失
8 z. X9 k2 g% c2 x: o! h set load type to L_new//设置第5个进来的Load为L_new类型的
0 \3 ^& y3 p+ w; ~( d- w0 S9 Q send to P_next//进入后续流程
2 U5 T. D0 e6 q8 i2 U+ t end# z0 I2 ^, q) ]- y0 _
else//如果OrderList中的托盘数少于4 则进入' c f3 o8 c# v( @
wait to be ordered on OL_ orderlist
4 g- R8 c# F; \* [+ [- Cend
8 i$ w( [7 x+ S6 _这段代码还可以精简为:
, e4 d: I; A5 |* A. Vbegin P_process_name arriving
# @, _8 x( h8 D$ d move into Q_queue //load进入队列中' M0 r% r) e g/ f8 F
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
8 q7 p* W" k( U! i$ p/ m begin 4 ?+ ~! g8 R x3 e- B- k
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失# P( d) p6 G' f! \3 |
create 1 load of load type L_new to P_next //创建一个新的Load0 }2 I, d# p/ t M4 K2 d; `' X
end, J1 V# B @) b' I, b
else//如果OrderList中的托盘数少于4 则进入2 V7 R, v$ f% l. O" c8 w" L
wait to be ordered on OL_ orderlist
7 U! U( X1 x+ d" c+ b1 dend) l3 x+ l* B( t( \8 f k
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|