|
|
: u! T' v' ?+ p0 a: |6 Q$ f9 Y) E我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。7 a/ T4 t2 U( D% X( H, \
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。' y1 O/ r& t1 y# R H+ A
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果9 w- ?" B2 J ?1 g
接着我们就可以编程序了,源代码如下:. A9 E$ r( C! H
begin P_process_name arriving
! L& F6 i& @ q+ m& W move into Q_queue //load进入队列中
2 N& d! ]% a8 L8 v if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
9 V$ t7 y% c$ S+ V! N begin , e( N& Y# w8 `/ j/ A
order 4 loads from OL_orderlist to die //取其中的4个消失* F: W5 `; a. a Z, M* ^. P
set load type to L_new//设置第5个进来的Load为L_new类型的
* e- F0 D2 m4 N/ D7 Y send to P_next//进入后续流程 4 n# X: a+ W/ @+ T7 y
end4 k j4 D/ ^' V
else//如果OrderList中的托盘数少于4 则进入
: b7 Q2 ^9 w) D" y; v3 `# X wait to be ordered on OL_ orderlist; _! D( F$ ~3 F& ?& c
end
$ g* O8 S4 x& ?; f0 \这段代码还可以精简为:
/ N. m: t% |1 ?9 T& K/ Y( ?begin P_process_name arriving$ A3 Q6 z8 T; q3 P8 O' X
move into Q_queue //load进入队列中9 R B6 J) }' }& {0 h
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘, v1 N% C# I' o8 n
begin - h. T" e, C& P. j: \2 [: u3 }5 \
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失" N8 v0 G/ I8 Y0 @3 q, p$ V
create 1 load of load type L_new to P_next //创建一个新的Load" y& G7 k$ I1 @) q5 [3 M* d) W
end
4 r- c/ d* Y w+ _, c: Y else//如果OrderList中的托盘数少于4 则进入
& F: F0 s8 u$ L5 z Q wait to be ordered on OL_ orderlist
. S7 s& Y- U' u( t3 k7 j) K1 A8 Nend2 K# J4 b4 j% q! ~
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|