设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7649|回复: 9

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

  [复制链接]
发表于 2011-11-22 13:35:12 | 显示全部楼层 |阅读模式
如题,即如果store中存放有4种entity分别为part1,part2,part3,part4,每次需移动数量分别为4,3,1,1。按下面语句是否可行,不知道怎修改,或者类似语句该如何编写,向大家求救。
# c0 ?0 m) i4 v% Z& Ris 2 ?& x& J! l- Q$ {# B" c# d' B
        a,b:integer;% L2 C8 l0 }- W3 t/ G" Z  f
do
& R4 l) Z: z* }1 @) ~        if store.cont.name="part1" then
& @4 q1 U5 q* r' z; j8 [                for a:=1 to 4 loop
; D% L, f2 i6 @; W0 ^                        store.cont.move;2 y. h' t3 C# }1 a( F
                next;
! W! V" z5 m( l- C- w% P' C        elseif store.cont.name="part2" then0 A* p) f) ?$ p5 T6 C9 u5 k) L
                for b:=1to 3 loop. Y9 @- C& i" w; d1 q4 m# x( v& C% q
                        store.cont.move;9 a. S5 b7 t# T' h* A2 V
                next;
" @3 g: F* l- _) T4 ?8 _# H                elseif store.cont.name="part3" then% ^# o' Q8 H' R/ r. j
                              store.cont.move;! I# B; z* \) R. B# K1 d
                       elseif store.cont.name="part4" then
3 K6 @1 }2 w* A5 g, U$ V# x& @% p* N                                    store.cont.move;
3 O: h  Y- M7 z8 S. T                        end;+ X9 W- D3 O( g" r/ f( w" B
           end;
发表于 2011-11-22 15:33:01 | 显示全部楼层
估计不行,可以将store看成为二维数组,然后对数组元素操作,而不能对数组名进行操作
发表于 2011-11-22 19:19:20 | 显示全部楼层
store.cont.这样只能访问Store的第一个位置,其他问题是不能访问的,如2楼所说,需要进行寻找,类似下面:
+ b2 p" i& Z2 Q1 q1 \3 k, \is7 L6 @4 d4 Z$ F$ j# r
        i,j:integer;! S( f) C) A4 _" @, Y6 w7 [" y
do
% h- Q0 N5 r+ `; V* d. c% Q9 z- M        print store.cont.name;, R" Q  V! B; B* o
        for i:=1 to store.ydim loop1 w* w% m- T- h: A
                for j:=1 to store.xdim loop- _. p+ e# s( `, i5 }
                        if store[i,j].cont/=void and store[i,j].cont.name= "" then
( \  S) y  _8 P, B, b/ ?                          -------------------* m/ c% u2 V- n4 i; `
                        end
7 \) M1 @6 ~( N3 }4 x0 A                next;% ?6 F0 s) T$ z7 t$ p5 A, d
        next;
2 ^5 O- u, [, p- G, O7 A% ?2 x: rend;
 楼主| 发表于 2011-11-23 13:43:26 | 显示全部楼层
dongshui8558 发表于 2011-11-22 19:19
) [! f" s" _/ y; ^store.cont.这样只能访问Store的第一个位置,其他问题是不能访问的,如2楼所说,需要进行寻找,类似下面:1 g  z5 E) Z% j6 Q. W5 Q% \6 s% W4 |0 {
...

; Z" E" x; o# n" R3 \! w+ ]恩,谢谢您的解答,对我很有帮助。& N! p& [6 Y1 Y" Y$ S+ @8 s
想再请问下,如果每次移动四种物料作为一个操作过程,以后没间隔一个小时操作一次这样的循环(即每隔一个小时移动四种物料一次,所移动的物料数量最终是成比例的),要怎么弄呢?
发表于 2011-11-23 14:04:11 | 显示全部楼层
dongshui8558 发表于 2011-11-22 19:19
0 i$ |6 j4 G+ Q* H( ~store.cont.这样只能访问Store的第一个位置,其他问题是不能访问的,如2楼所说,需要进行寻找,类似下面:
$ _% N0 I( {$ |8 B4 U* k) h ...
/ F; I" w5 x) D1 i& D8 F) a( P
你就是我心中的神,论坛就应该多点您这样的人。
发表于 2011-11-23 14:07:43 | 显示全部楼层
用编程最简单,用methcall方法,自己看帮助吧,能看懂的。。
 楼主| 发表于 2011-11-23 15:00:27 | 显示全部楼层
dongshui8558 发表于 2011-11-23 14:07 , C2 ?2 c3 K- E) C0 ~, J4 N8 w" ?
用编程最简单,用methcall方法,自己看帮助吧,能看懂的。。
& c& ^. z! r3 c. L% V, z1 W* U  w
是这样吗?
9 F& f( o% }) j2 j0 b0 tref(moveout).methcall(str_to_time("1:00:00"));
$ e+ X+ E4 s4 l, j运行不出来啊
发表于 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-7-15 15:10 , Processed in 0.018390 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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