|
; e. J; C4 r: O" [我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
' \; a! r5 p% \首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。+ R, y" y, e. ?0 O% ?% A+ O
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果3 Z* g/ P& o; Y, B$ t6 N
接着我们就可以编程序了,源代码如下:3 n7 t: w0 m% a0 f& D, \& H
begin P_process_name arriving- h* w6 y% ]! O% W2 e: F
move into Q_queue //load进入队列中6 j7 p/ F `2 ?% c' [* e; Y# z4 X. Z$ d
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘% I8 j6 T& {9 x
begin
; Y8 R/ [/ R8 Z8 [3 E order 4 loads from OL_orderlist to die //取其中的4个消失
, o5 d) @) {* o# Z set load type to L_new//设置第5个进来的Load为L_new类型的
: a8 h7 H8 o3 C) W1 v2 B$ ^$ m( Z send to P_next//进入后续流程 2 @! U( T1 B7 E3 q
end0 D/ x" P0 u8 e* d6 w+ L. U% K
else//如果OrderList中的托盘数少于4 则进入
5 R' u0 k: @6 j: @2 W wait to be ordered on OL_ orderlist: Q5 v% p# Q; w* {
end
6 c4 c$ U( G( [; {# G d* T3 }5 X这段代码还可以精简为:
$ n' R S) f! n/ b& C' Rbegin P_process_name arriving+ |& g+ @! X. n, S
move into Q_queue //load进入队列中! A4 C- Q/ k$ F
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
1 G3 d4 [& a0 K H& t. l begin ; l6 i- J/ Y3 \* E' E$ e1 u W
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失' |) Y N m3 A, |$ _: O# C
create 1 load of load type L_new to P_next //创建一个新的Load- D/ |5 s7 j9 ?9 \' p3 P* B2 m
end
( Z4 s4 T+ f* T; \, x/ E" o else//如果OrderList中的托盘数少于4 则进入
$ Z$ L* n ~) S# b* b1 F0 J. l wait to be ordered on OL_ orderlist. x* _: s2 L. h! Y6 m
end8 x* e8 A2 A+ Q# T
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|