|
7 z. `$ l I. H$ V
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
* V" ^& S% K F首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。3 M% k* O/ X5 L% L
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果7 c+ O8 c6 ~' q" L% M3 r
接着我们就可以编程序了,源代码如下:
- E' T, n1 r! V) h; e' A1 E* vbegin P_process_name arriving
6 L6 L5 B# W, t2 s# G move into Q_queue //load进入队列中
* Q$ N, J4 v! G; @ if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
# R+ ?7 S7 u4 h$ u/ B begin + A9 w, H; t. ]7 D+ F: m5 @9 |
order 4 loads from OL_orderlist to die //取其中的4个消失$ m3 I/ Q) n- V2 F8 C2 _ }% v
set load type to L_new//设置第5个进来的Load为L_new类型的
+ |6 P4 U% h& N& ~ send to P_next//进入后续流程 - F( U1 i9 }' n3 P
end
( }7 f7 i$ \; E+ v3 c. @ else//如果OrderList中的托盘数少于4 则进入# N+ ]" D9 O. k# L( x# M' w1 z# d0 p
wait to be ordered on OL_ orderlist
) V2 H6 G0 \ ]3 \# pend4 C' N! ~2 q, }8 u" k, ^
这段代码还可以精简为:
8 O- A8 z$ _4 F1 a' G' \begin P_process_name arriving3 u5 B8 g9 I* |! o% B$ t; h. n
move into Q_queue //load进入队列中
. \4 ]. w: L9 E if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘1 `* b6 [$ \8 V$ \- x2 w" T
begin
4 Q5 }) p* b/ g0 u: M! Y order 5 loads from OL_orderlist to die //OrderList中的5个全部消失- ]- h* F9 \- h% Q( i
create 1 load of load type L_new to P_next //创建一个新的Load. ~- e- s& ~1 z
end
! U% T! ~4 c4 G3 ` h) a% A- N else//如果OrderList中的托盘数少于4 则进入
* r) ]' ?# z* z/ F7 O# ~6 Z wait to be ordered on OL_ orderlist
2 |& T( I: j% T1 gend1 O; s- I- R8 D2 A- c; l
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|