|
|
) D$ N7 H, `, }0 L
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
6 O, f5 p; c" p( N" L首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
+ \) E6 R8 x+ n, U6 }$ X) v然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
4 ~; {) j; [% {6 i) P接着我们就可以编程序了,源代码如下:
4 A" T) Q4 v; P- f. U* lbegin P_process_name arriving
6 A6 ^8 E9 S) y3 c1 W3 u: A move into Q_queue //load进入队列中
+ O8 j4 ~; X5 l' F6 {. \ if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘0 k4 \/ ]% X: _, i% [3 ^
begin
" N2 v5 _1 P! | order 4 loads from OL_orderlist to die //取其中的4个消失" S1 R& z& D& m: _8 `
set load type to L_new//设置第5个进来的Load为L_new类型的
+ ~$ p6 x( V1 P. U send to P_next//进入后续流程
8 C0 f$ J( A+ B x2 H- R m' | end, O% R/ I6 q2 Y7 P5 _
else//如果OrderList中的托盘数少于4 则进入' g. c$ ^) g! J$ Z; O0 i1 {4 @7 O
wait to be ordered on OL_ orderlist' N0 G4 C; D$ ?* w( L
end
# E* Q4 W, P) C) ~7 a' K这段代码还可以精简为:8 ] q5 }" y2 e; [3 G7 X
begin P_process_name arriving. B' k1 S6 o" z+ p7 V9 N/ M
move into Q_queue //load进入队列中
1 ^8 Y( U( w8 M7 ~, w# b7 `1 u: p if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘- I$ E: A/ x) V: J% |
begin
l1 ~; O% `0 u/ i! N order 5 loads from OL_orderlist to die //OrderList中的5个全部消失/ S' F+ p4 R5 j3 ^! ^9 _
create 1 load of load type L_new to P_next //创建一个新的Load
' f4 t% R/ S5 ~ end4 U' p% Z, R0 |3 K
else//如果OrderList中的托盘数少于4 则进入
% i0 x; V8 J1 C$ L. `2 u% N' R wait to be ordered on OL_ orderlist
6 G/ \5 g$ n/ a4 oend
! c! g% y- g0 F& q* Y这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|