|
|
! e- P6 j9 H# q' k# `# M/ `我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。: k( I S+ c% ]: V. T; ^
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
% @/ ^ r" ]1 ]( i, m& q0 ^0 t然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果+ ?* t/ i$ Q. J Q
接着我们就可以编程序了,源代码如下:6 L1 c! G1 ~) j* r) L+ H; o
begin P_process_name arriving
' F" z" [& K; e5 W3 a! B! J, H+ w move into Q_queue //load进入队列中
- S# _* y y2 L$ l3 B( T4 \$ ? if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
( F e0 R7 w. b6 v begin
Y2 c1 S1 k1 y3 R. h8 g order 4 loads from OL_orderlist to die //取其中的4个消失3 A& q" L; v8 h
set load type to L_new//设置第5个进来的Load为L_new类型的
: }0 i1 L6 l. e, l& m s8 _8 L3 G send to P_next//进入后续流程 2 { V1 Y5 _7 j0 @( ^/ H
end" S s* l- r& L- U
else//如果OrderList中的托盘数少于4 则进入# A s+ _: N+ V
wait to be ordered on OL_ orderlist" |) v# j7 {! h( p4 \& a
end0 ]: f. X8 \+ }8 j. g8 e# U
这段代码还可以精简为:1 N2 h2 T, T4 J
begin P_process_name arriving5 e# V2 s8 f' p$ o* Z4 P! S
move into Q_queue //load进入队列中3 ~" H1 S( m p
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘% C5 ?% x' z2 c
begin
+ t9 v+ b% _& Y9 i* S2 o order 5 loads from OL_orderlist to die //OrderList中的5个全部消失5 T6 S: [1 i8 g5 |6 ^, p, r
create 1 load of load type L_new to P_next //创建一个新的Load
2 @/ m# y; b# g8 C- \1 O7 R end
* p; m9 f6 m: ^ B; W else//如果OrderList中的托盘数少于4 则进入
1 P* {- G+ ]1 `, m1 J! @6 e wait to be ordered on OL_ orderlist
3 h% s& F1 k( f$ Mend$ J. a5 @$ a& K: n
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|