|
|
6 o- c1 c; D7 _5 k* O我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。; z' }6 b Y2 K3 x
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。! I' k3 w, ~! \1 K4 \( S
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
: O; L3 p3 {. P' c& q* Q9 n8 ?" {接着我们就可以编程序了,源代码如下:
1 Q$ e; w* k% F: x3 v! zbegin P_process_name arriving1 U9 X) c7 _/ \9 S- k1 {/ i, e+ |
move into Q_queue //load进入队列中9 W% y& ?& I2 ?- G* J; d d
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
7 Z0 _9 s6 J v: F% ? begin 5 T: N2 [$ E6 F
order 4 loads from OL_orderlist to die //取其中的4个消失
, ^0 v: X( p4 z9 ]$ I! y5 @6 y set load type to L_new//设置第5个进来的Load为L_new类型的
' V+ p5 v) _# n n$ H( |- Y send to P_next//进入后续流程 $ ~& h: X* [ j: | o/ p. F
end! S* L# C# c8 ~+ C0 o2 A. G" a$ l
else//如果OrderList中的托盘数少于4 则进入6 T0 A5 N2 y8 v. T
wait to be ordered on OL_ orderlist
, Z# `: Q- E, j# W$ ?: {9 c/ dend
U& t& N4 p: N& f$ A4 ?这段代码还可以精简为:, T$ r& f/ W6 V. a9 M
begin P_process_name arriving
! g4 g$ }/ z( e move into Q_queue //load进入队列中1 W( {9 G& T) s" }1 m
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
' L5 f& m8 H8 \% b9 i5 e/ W0 o begin
3 q- E0 S( A2 P) n" L order 5 loads from OL_orderlist to die //OrderList中的5个全部消失, m1 c! b. m/ ~+ u% X
create 1 load of load type L_new to P_next //创建一个新的Load- e- _1 u/ ^4 D* E2 y
end
9 _9 q5 C. d, a! ] else//如果OrderList中的托盘数少于4 则进入
2 ^1 `9 K& {2 n/ G) | wait to be ordered on OL_ orderlist
! f1 a v$ Y" H7 Z% K& E0 fend
$ K k( ]& U& S/ r' m: K这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|