设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7115|回复: 9

[求助] 如何同时移动store中多种品种entity的不同数量

  [复制链接]
发表于 2011-11-22 13:35:12 | 显示全部楼层 |阅读模式
如题,即如果store中存放有4种entity分别为part1,part2,part3,part4,每次需移动数量分别为4,3,1,1。按下面语句是否可行,不知道怎修改,或者类似语句该如何编写,向大家求救。
5 T5 h+ v- `4 s: {is
6 P; w% l  f4 t' G3 ]        a,b:integer;
+ k' ]+ w; h* b0 P- @7 ido+ O, T- a! g- |
        if store.cont.name="part1" then
- b5 G4 {) h5 T3 ~, }: ?                for a:=1 to 4 loop
. x/ f! D) ?2 W6 G9 \4 G0 D( ^- j3 P                        store.cont.move;, J+ V5 C$ a1 o' m$ \
                next;
2 G, g2 Z+ @# n$ z4 ]* p0 G; G        elseif store.cont.name="part2" then, T, ]  m; c" @" G5 M8 s* H
                for b:=1to 3 loop
: B/ Z' `2 z# Z6 ^( I  ^! m                        store.cont.move;
: p) r) N& _0 I8 A                next;
3 X- g8 k% y* ]% v                elseif store.cont.name="part3" then8 y" H5 A2 d# t% ]/ @0 @
                              store.cont.move;( [- z% H; x$ @
                       elseif store.cont.name="part4" then; S) U+ p4 l5 M1 K6 j8 ~
                                    store.cont.move;' N6 W% f) p) D) x- o9 G% P. G/ Q
                        end;0 x% O% N& z5 Y3 [% P* H  f* y
           end;
发表于 2011-11-22 15:33:01 | 显示全部楼层
估计不行,可以将store看成为二维数组,然后对数组元素操作,而不能对数组名进行操作
发表于 2011-11-22 19:19:20 | 显示全部楼层
store.cont.这样只能访问Store的第一个位置,其他问题是不能访问的,如2楼所说,需要进行寻找,类似下面:
$ S& L: }8 r5 Pis
! \) ~2 |! A' Y& F1 M+ q        i,j:integer;5 y# v$ r) C. n0 a" V  Q  u/ t
do
+ q; c- M  j' W! I3 w        print store.cont.name;
4 V: ^& b0 X2 c/ A        for i:=1 to store.ydim loop
3 G  u. i7 d3 I5 s2 [& m! U                for j:=1 to store.xdim loop' ?1 Y9 F" q3 v( m) |
                        if store[i,j].cont/=void and store[i,j].cont.name= "" then" H3 I! B* F8 ]9 ]9 d
                          -------------------
, j  }8 _8 N" g# B                        end
1 C# b$ l% s1 x4 g/ [4 ^( T                next;/ D7 E9 n1 \3 f: o6 \
        next;1 |* l$ b" Y1 }" M; X* j
end;
 楼主| 发表于 2011-11-23 13:43:26 | 显示全部楼层
dongshui8558 发表于 2011-11-22 19:19
- z$ d: L1 ^. k6 c; n+ zstore.cont.这样只能访问Store的第一个位置,其他问题是不能访问的,如2楼所说,需要进行寻找,类似下面:4 d/ Y; x# I& Q" V0 ?2 d
...

( K% u) ?; g4 `- s# X7 I恩,谢谢您的解答,对我很有帮助。6 Q8 v# _$ v6 y! s9 p
想再请问下,如果每次移动四种物料作为一个操作过程,以后没间隔一个小时操作一次这样的循环(即每隔一个小时移动四种物料一次,所移动的物料数量最终是成比例的),要怎么弄呢?
发表于 2011-11-23 14:04:11 | 显示全部楼层
dongshui8558 发表于 2011-11-22 19:19
1 p; d0 a/ ?- s7 vstore.cont.这样只能访问Store的第一个位置,其他问题是不能访问的,如2楼所说,需要进行寻找,类似下面:3 ?# x( h& g2 Y. f2 S* n% \3 u
...

# t/ s' G) {6 r1 W; E你就是我心中的神,论坛就应该多点您这样的人。
发表于 2011-11-23 14:07:43 | 显示全部楼层
用编程最简单,用methcall方法,自己看帮助吧,能看懂的。。
 楼主| 发表于 2011-11-23 15:00:27 | 显示全部楼层
dongshui8558 发表于 2011-11-23 14:07
/ b4 \; Q/ V" _8 g' L+ U* f用编程最简单,用methcall方法,自己看帮助吧,能看懂的。。

$ z/ @, O4 `* e是这样吗?
& {+ z# b  b9 ~3 ]. w. }7 q, }! dref(moveout).methcall(str_to_time("1:00:00"));
& q, B9 z* V5 f/ I" f9 N运行不出来啊
发表于 2011-11-23 18:15:29 | 显示全部楼层
ref(moveout)改为self
发表于 2011-12-1 10:35:29 | 显示全部楼层
dongshui8558真是高手啊,留个QQ吧?
发表于 2011-12-20 14:50:42 | 显示全部楼层
我想问个问题,store只有入口控制,没有出口控制,那你的这段程序是放在入口控制的method里吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2026-3-15 15:42 , Processed in 0.014594 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表