|
|
6 ~9 z( I3 L1 a6 z' }
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。' R7 i2 W$ V! C# o6 V
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。2 ?: T, ^! S7 @8 H$ o
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
# c8 M3 k. N' l" {8 d; P接着我们就可以编程序了,源代码如下:& x( U$ y# M6 d! s3 T9 w( {4 d
begin P_process_name arriving
0 b. ?9 Z! J: H) K5 }, v" @* ~* K move into Q_queue //load进入队列中2 N' K2 F& R" |) N& g4 s! a
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘1 Z' w7 o# H* F# ^
begin - E" @0 B! N5 ?1 S2 f
order 4 loads from OL_orderlist to die //取其中的4个消失9 x; ~: y0 H" u8 p
set load type to L_new//设置第5个进来的Load为L_new类型的
+ t) m# H. O. ]6 U send to P_next//进入后续流程
# V4 h- R U p# x( Y( j end# D& W: O% y1 v! e, e+ d( A: ?* H
else//如果OrderList中的托盘数少于4 则进入& y. ~* k E! v h* Y5 I
wait to be ordered on OL_ orderlist6 t" |% L* h9 [* S( |3 O
end
4 x. ]' E* I+ V' G这段代码还可以精简为:
n& P& r M0 hbegin P_process_name arriving* f$ [8 [# l# F4 f
move into Q_queue //load进入队列中
7 B9 y4 }" @4 Y+ ?* w7 f2 u4 g, H if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘- M* L3 n8 w) E# a; B0 x
begin " ]) T5 ^8 n# W4 U& b( h
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失- M8 F2 C4 ~! @# F. f3 M
create 1 load of load type L_new to P_next //创建一个新的Load
- Q" d% Z! q- P5 z' o; T# | end+ l5 U, U) r6 ]: f+ C
else//如果OrderList中的托盘数少于4 则进入3 ~) p3 }1 b j6 [
wait to be ordered on OL_ orderlist
% d7 {: f2 ~: [( c9 h. uend
0 w) t& D8 l$ l( G0 E u, V# h9 T7 {1 ]这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|