|
|
; @7 l, |2 _4 ^我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。/ ^, x2 @/ N0 R# _9 e) {# Z0 ^
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
$ R8 j7 H$ V& G, P0 C然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
* P+ {( R4 a- @( b接着我们就可以编程序了,源代码如下:( q3 s, I- K" {. U Q
begin P_process_name arriving; V/ P+ B5 N) V5 a* E) F( r
move into Q_queue //load进入队列中 c4 h7 E; ?5 l* y
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
. a' p4 L ~* ]3 {( W begin
- t3 {3 D" J6 x( a, ?2 _ order 4 loads from OL_orderlist to die //取其中的4个消失& h7 X* T7 r9 i M) R( ?8 G
set load type to L_new//设置第5个进来的Load为L_new类型的
( m0 \: {( V# X$ ~9 s send to P_next//进入后续流程
: ?; [! f' L. V" Z/ k end
5 F6 p; B) D* q; P) i3 k# b! D0 Q else//如果OrderList中的托盘数少于4 则进入
% b6 B1 w( Z& q wait to be ordered on OL_ orderlist" Q4 h( h9 R) G% u+ u5 Q
end- x' U2 B3 K6 w- w! ~, r
这段代码还可以精简为:' C, L5 V7 ~7 x5 H- _% h- w8 H% C
begin P_process_name arriving
+ {+ G8 ]7 x, D0 h( [6 Y& J move into Q_queue //load进入队列中
0 l% b: y4 G, x$ _8 ^ if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘1 z/ l7 m* ^! r
begin 9 o- D1 E3 P# w) n
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失! G f1 {1 W+ x0 D" q6 W1 Q
create 1 load of load type L_new to P_next //创建一个新的Load
) o' V6 m8 S( I end
2 S$ `+ j1 H) O* ] else//如果OrderList中的托盘数少于4 则进入0 i) i2 A! C* O! l: v3 m8 T& S* M
wait to be ordered on OL_ orderlist
( f* a: T- P' [3 I5 {& u& Kend1 C: [7 j' ?, v9 G; ]8 S! b" x
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|