|
' a( i) w6 Z `9 |" m( ~1 c _3 s
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
6 q$ m( j" H8 k c9 h4 I0 `; W首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
7 ]7 B# O/ f& N8 A然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果' a2 k6 y+ u; ^/ g! ~
接着我们就可以编程序了,源代码如下:
4 W3 C# c$ ~3 Q, zbegin P_process_name arriving
" `& A S+ o) k# i move into Q_queue //load进入队列中3 _8 V% g, m ]
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
# s# U6 K I6 g; P2 ^. U9 _ begin
/ H& U' f) ]* p2 Q- M) O3 R3 }# | order 4 loads from OL_orderlist to die //取其中的4个消失
: ?' A( {% f- L0 k$ u set load type to L_new//设置第5个进来的Load为L_new类型的
* r( I) q4 x& ~, } send to P_next//进入后续流程 , u; _, \; Y$ w! w$ B
end1 T$ }. H, T! H
else//如果OrderList中的托盘数少于4 则进入
. {% }; I/ m: C" d, C wait to be ordered on OL_ orderlist
. l6 F# D$ w5 d/ vend
9 A; V0 H- b: }) @- Q+ f这段代码还可以精简为:0 X3 R+ a9 @: L0 C2 I& ?
begin P_process_name arriving
; I/ I1 D& n, S! j move into Q_queue //load进入队列中1 y$ s) c( T' U3 Q
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
+ h+ e" ?# H1 u begin 7 z1 Z" k; t$ |9 i, f6 V% m, G
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
, \) G7 }- `, m: [5 s1 m! X# F create 1 load of load type L_new to P_next //创建一个新的Load
2 I3 B4 \: A5 q; V) E3 c end
' x& H* f3 h5 a; n7 Z! a' u2 Q else//如果OrderList中的托盘数少于4 则进入
( G' ?' c5 ^5 x1 k1 a/ R wait to be ordered on OL_ orderlist" j$ b# T; T5 w _
end
! I$ b/ q1 X( h8 M) t这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|