|
|
, G, r! k8 W5 G: D
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
. ]6 i1 j, @! X* }( g* L# ]/ M. u首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。/ N) |8 u$ d% B4 Q/ ]
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
, x+ V0 e& c# b$ t接着我们就可以编程序了,源代码如下:' _& I" O/ L. |' f$ V
begin P_process_name arriving8 q+ U" c0 @" a6 V6 L) W, R. y* \
move into Q_queue //load进入队列中
) V* n2 K9 S8 H% K if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
( N x8 W( C3 a" a, H3 K+ | begin
; s: t* E8 x& A! v3 n& Y order 4 loads from OL_orderlist to die //取其中的4个消失
8 i8 s4 A: E% ?4 m# {2 q4 o' `1 b/ k set load type to L_new//设置第5个进来的Load为L_new类型的
) G- Z) `7 C9 y. K# ? send to P_next//进入后续流程 ( ~# t/ P3 T- ^: S4 s, ?8 F: E
end
0 I* k. Q$ T# r0 d/ s9 E; I else//如果OrderList中的托盘数少于4 则进入
4 O. ~5 P. H3 \/ E wait to be ordered on OL_ orderlist
/ i( u; z1 J! Y* X0 Cend8 ~+ q! g& k$ O8 P+ s
这段代码还可以精简为:: u/ u, o0 X, F8 j x
begin P_process_name arriving" `* i; h, ?2 W3 x( ~4 f
move into Q_queue //load进入队列中3 W, n8 `) d' f
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
' c1 a1 p) `$ R8 p7 j0 [ begin 4 H; ~# z$ _; Q% W
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失- f) K X8 |. H$ V0 e
create 1 load of load type L_new to P_next //创建一个新的Load
. k- J. O) {6 [7 C end
$ C& o2 v6 x0 E# U: i2 ~ else//如果OrderList中的托盘数少于4 则进入0 b$ z8 |( |. B! j
wait to be ordered on OL_ orderlist( r8 A7 k4 T2 o0 v
end
. g) P8 z4 x ]这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|