|
|
# ~% ^8 H, d5 S, H# M5 e
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。7 u: Q# i8 |! K3 L) E) ]
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。; w5 ~. J6 D$ j
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果! l" D }" o- Y4 r
接着我们就可以编程序了,源代码如下:/ G! _: S( ~0 B$ ^+ ]; Z& n
begin P_process_name arriving
0 X7 G9 M z2 h' b8 f/ x move into Q_queue //load进入队列中! |& z, [% o2 X" Q/ H( Q3 _0 Y
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘. e8 H0 K) d2 p
begin 1 B( I3 `) I0 [
order 4 loads from OL_orderlist to die //取其中的4个消失& Y w9 [3 f; ?) |6 c# U: Y# {" X
set load type to L_new//设置第5个进来的Load为L_new类型的
- h) y& I8 D+ r# _" \; J' K send to P_next//进入后续流程
4 j+ w) O5 L2 r- Y end
: E1 b1 V! h, U7 a% L5 a else//如果OrderList中的托盘数少于4 则进入
, g. W' z- e! }! }4 y9 a4 _ wait to be ordered on OL_ orderlist
. j9 Y# N# G# f% N" y" ]# Y- Pend F1 S$ E2 d" x: L. ]& @
这段代码还可以精简为:% O! }# }" \. Y" M* z
begin P_process_name arriving& k' C$ F Q; g
move into Q_queue //load进入队列中
4 y$ U0 e+ Q7 C# V0 _. k; Z if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
+ _# J) c8 _2 V# f* |7 A begin
) ]% v4 O# f- O1 _ order 5 loads from OL_orderlist to die //OrderList中的5个全部消失3 |* ]4 T5 {& Z. i0 s
create 1 load of load type L_new to P_next //创建一个新的Load+ W. s( y! ]$ O* f( v- E
end
) k$ K9 f9 o0 B6 ~1 s0 D else//如果OrderList中的托盘数少于4 则进入3 `/ f4 l5 K* q
wait to be ordered on OL_ orderlist" T3 G9 e# ?7 g) n/ L' T; ^
end
) }. C! C) o4 k- {: T这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|