全球FlexSim系统仿真中文论坛
标题:
暂存区或者货架的货物初始位置初始化
[打印本页]
作者:
Amy1220
时间:
2013-12-25 15:31
标题:
暂存区或者货架的货物初始位置初始化
要求在0时刻 暂存区或者货架上已经有一定数量的货物 货物原始摆放位置信息在一张excel表上 货物的堆放是20行、10列、5层 不知道用暂存区还是货架 然后求表格如何导入 如何设置 谢谢大家
作者:
慧娴亚伦
时间:
2013-12-25 15:51
表格导入为模型中的全局表,然后在系统再引用这个全局表;
5 z5 r9 |4 C8 m5 B7 d, B! ?4 p/ Z4 \
“货物的堆放是20行、10列、5层”不明白,对于flexsim内置的货架而言,层和列就指定一个货格位置。
作者:
Amy1220
时间:
2013-12-25 19:49
2#
慧娴亚伦
, g0 w0 a! G' `) c2 Q3 a
有点启发 但是新手表示 压力很大 我做了一部分 能帮忙提点下么 感谢您!
作者:
Amy1220
时间:
2013-12-25 20:03
2#
慧娴亚伦
6 q; o; Q- o7 y W3 l
我是建了10个20X5的货架 都连接到发生器 在0时刻产生200个进口货和200个出口货 货物摆放位置见EXCEL
作者:
慧娴亚伦
时间:
2013-12-25 21:39
做了一个小模型,关于如何导入全局表不懂的话你再自己学一下
, ^, B$ M5 k9 k" F+ O
我直接用了里面的全局表,不过表的格式跟你是一样的,只是简化成2批货,每批5个。
' Y/ R) L! V$ K
同itemtype要发往多个货架的话我的建议是,读表里的数据打标签,然后根据标签发。
! o$ ~; V1 ?) d0 h) p
代码主要写在货架的放置到层和放置到列,本来想写点注释的,后来发现没什么好写的= =||大概就是一些数学规律而已。
# {$ V1 F* h5 x. N n
希望对你有启发。
作者:
yushaozheng1990
时间:
2013-12-25 23:16
5#
慧娴亚伦
下载下来学习一下
作者:
Amy1220
时间:
2013-12-29 13:31
5#
慧娴亚伦
, [- d% n7 R7 O
7 ?9 S# j2 A. n2 o0 K5 |5 Z
5 }+ E3 d T- M4 E9 v+ H8 l. r2 i+ O
你好 前面那部分我是可以搞定了 但是同itemtype发往多个货架问题 我觉得也是应该对产生的item贴标签,然后根据标签发 具体不知道怎么操作 只是有思路 麻烦详细说明下 谢谢
作者:
慧娴亚伦
时间:
2013-12-29 13:51
7#
Amy1220
7 w" N, @ ?5 L, K# @
u/ @/ i0 j+ f' D
( S/ \ r$ d! k `) A8 x/ Z
既然你知道运用getitemtype来区别itemtype发送不同端口,那么运用getlabelnum不是一个道理么?
作者:
Amy1220
时间:
2013-12-30 14:24
8#
慧娴亚伦
( T' O% c- q" @/ F
* ~+ s4 f) X ]( n2 N. _. Q: g+ H
/ s0 o* ?3 E# _& [9 N
请教下 我把发生器输出端口设为根据标签了 标签我用的是字符串 表格中的内容也是字符串 但是把您原来的代码:
3 y5 Y/ M$ x) H, D+ ~! G" \3 D
if(gettablenum("table",i,j)==getinput(current))
8 a: O, a& L! K# B/ A+ @( y
改为if(gettablestr("table",i,j)==getinput(current))之后就报错了 错误提示Invalid type for parameter 2 in call to comparetext().Expecting type str.Type is num 不知道具体什么原因
作者:
Amy1220
时间:
2013-12-30 15:36
8#
慧娴亚伦
' |+ v' i) J5 N$ t! {
6 S* Y) n' ?$ R5 Z8 k& F
我自己试了下 发生器1产生两种item 类型1发往货架1 类型2发往货架2 他们的标签都为Impo 对应的全局表为表1;发生器2也产生两种item 类型1发往货架1 类型2发往货架2 他们的标签都为Expo 对应的全局表为表2.
1 O/ B+ Z9 q/ @* @9 A( R
现发生器1、2都设置输出端口为根据类型 货架1、2编写指定行列代码时:标签为Impo的根据表1,Expo的根据表2 自己写的代码:
$ T3 ^+ B) s8 e+ ^6 [5 D4 ^. K
for(int i=1;i<=3;i++)
4 B6 H% M/ G# s) ~, W
{
( V! G( Q8 t0 U' j
for(int j=1;j<=3;j++)
5 l' m% [3 T9 g' r
{
2 B+ [, h+ @3 p$ r! \
if(getlabelstr(current,"label")=="Impo")
: ], E% l3 g! E& C4 m$ J
{
0 m9 f; Y& ]/ b6 @8 Y6 Y" X
if(gettablenum("table1",i,j)==getinput(current))
# w( H% A2 q6 }. s9 b
{
5 N0 s- A( Q6 q
return j;
2 k8 V6 F8 R ^1 d8 H( H9 ^2 K, _
}
& q- ?% _9 D1 A9 @0 ]8 w
}
# _1 k+ W' `$ G& x
if (getlabelstr(current,"label")=="Expo")
% O k$ C# T1 J8 s9 P! \4 P3 m
{
9 c; [$ }: z" @4 z2 Y, \
if(gettablenum("table2",i,j)==getinput(current))
' V. Y9 N z3 ^6 l
{
0 x: \3 T2 m2 ?5 H
return j;
1 `% _0 o( u9 S( _6 b+ ?
}
+ a; g8 v, s* Z$ N2 W
}
1 E% U4 o; f3 ~, }( U
}
7 S- B R' H4 e
}
) N2 w2 A. t; a/ v5 ~& s0 N
不好使 应该是代码有问题 求指导!
作者:
慧娴亚伦
时间:
2013-12-30 16:37
9#
Amy1220
! d: N5 {: Y7 J8 p! e/ F
# z* d, y5 Z+ L, O. L* b( P
原因很明显。。。你改成了字符串,但是getinput还是返回数值型,两者自然不会相等。
作者:
慧娴亚伦
时间:
2013-12-30 16:53
10#
Amy1220
w4 P$ p9 f( u$ j/ g( i! ?
* v/ Z8 v+ x% {0 M7 t7 j: N! [2 \' N4 B
你模型没有传上来我不能确定原因,但是我觉得基本上是你的getinput()这个函数运用有问题,两张表共有了一种顺序?
作者:
Amy1220
时间:
2013-12-31 10:34
8#
慧娴亚伦
) p+ D1 D5 f) K5 H( `
1 ] E* v" V7 Z; \9 Y& D; R
& n6 H% A/ x5 N" Q }
模型。。。
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3