全球FlexSim系统仿真中文论坛
标题:
暂存区或者货架的货物初始位置初始化
[打印本页]
作者:
Amy1220
时间:
2013-12-25 15:31
标题:
暂存区或者货架的货物初始位置初始化
要求在0时刻 暂存区或者货架上已经有一定数量的货物 货物原始摆放位置信息在一张excel表上 货物的堆放是20行、10列、5层 不知道用暂存区还是货架 然后求表格如何导入 如何设置 谢谢大家
作者:
慧娴亚伦
时间:
2013-12-25 15:51
表格导入为模型中的全局表,然后在系统再引用这个全局表;
5 K4 B% j# E/ B7 h& @# ~- q! Q
“货物的堆放是20行、10列、5层”不明白,对于flexsim内置的货架而言,层和列就指定一个货格位置。
作者:
Amy1220
时间:
2013-12-25 19:49
2#
慧娴亚伦
8 @& z0 A2 h5 f& E
有点启发 但是新手表示 压力很大 我做了一部分 能帮忙提点下么 感谢您!
作者:
Amy1220
时间:
2013-12-25 20:03
2#
慧娴亚伦
) e' e1 I0 n; {0 r( U% C/ V& C
我是建了10个20X5的货架 都连接到发生器 在0时刻产生200个进口货和200个出口货 货物摆放位置见EXCEL
作者:
慧娴亚伦
时间:
2013-12-25 21:39
做了一个小模型,关于如何导入全局表不懂的话你再自己学一下
* c+ J. } z3 b' y2 x
我直接用了里面的全局表,不过表的格式跟你是一样的,只是简化成2批货,每批5个。
! Y9 s" G5 R/ ^" {
同itemtype要发往多个货架的话我的建议是,读表里的数据打标签,然后根据标签发。
) b3 a8 u" d- h% e
代码主要写在货架的放置到层和放置到列,本来想写点注释的,后来发现没什么好写的= =||大概就是一些数学规律而已。
" ?+ U: y1 b- v% b2 G5 A
希望对你有启发。
作者:
yushaozheng1990
时间:
2013-12-25 23:16
5#
慧娴亚伦
下载下来学习一下
作者:
Amy1220
时间:
2013-12-29 13:31
5#
慧娴亚伦
% \/ N( X1 t/ Z
- P- x+ R/ j9 U G
% h, D- S5 V" y8 ^5 M$ n) ?% F
你好 前面那部分我是可以搞定了 但是同itemtype发往多个货架问题 我觉得也是应该对产生的item贴标签,然后根据标签发 具体不知道怎么操作 只是有思路 麻烦详细说明下 谢谢
作者:
慧娴亚伦
时间:
2013-12-29 13:51
7#
Amy1220
+ g$ V) A7 I6 ]/ R
* j! R; C! a7 [1 J% x# z
( U/ @5 E& Y- D# W- T8 E, p$ W. J8 Y
既然你知道运用getitemtype来区别itemtype发送不同端口,那么运用getlabelnum不是一个道理么?
作者:
Amy1220
时间:
2013-12-30 14:24
8#
慧娴亚伦
; b4 Y% R1 O( a! K9 f) T4 O# g
, w, A% U K$ k0 ?& Z
1 \' T z, r, V7 i
请教下 我把发生器输出端口设为根据标签了 标签我用的是字符串 表格中的内容也是字符串 但是把您原来的代码:
! O4 t- Q# v2 K5 ]! k
if(gettablenum("table",i,j)==getinput(current))
) r/ x3 i$ G7 q- ]4 J% ~& S
改为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#
慧娴亚伦
! a" B# B: H y; X
/ E9 [. }5 i/ n% z* U: t/ W% h- q1 @
我自己试了下 发生器1产生两种item 类型1发往货架1 类型2发往货架2 他们的标签都为Impo 对应的全局表为表1;发生器2也产生两种item 类型1发往货架1 类型2发往货架2 他们的标签都为Expo 对应的全局表为表2.
% G* C: m) T$ ^
现发生器1、2都设置输出端口为根据类型 货架1、2编写指定行列代码时:标签为Impo的根据表1,Expo的根据表2 自己写的代码:
7 w) Z3 A( X4 R. z6 s# h; {
for(int i=1;i<=3;i++)
0 D2 c# x7 z0 \. y1 C* Z& X; K
{
, w N7 k8 V) N: D
for(int j=1;j<=3;j++)
; ?2 I1 ^% ^; i# ?! s# _1 C
{
2 o* C6 [2 A* \/ V S$ V4 ]5 Q
if(getlabelstr(current,"label")=="Impo")
- |( a$ Y, `! o& M- {' R9 q
{
9 F, w. ^' K# j3 z' I, D" I$ \
if(gettablenum("table1",i,j)==getinput(current))
5 w& ?* W1 J! P
{
" V( i; R/ U% d$ b! v& {1 h
return j;
+ C; W+ M4 D! H' _' ~
}
6 n! U( q. h3 C/ z' t9 j
}
( q; y& d$ m: f
if (getlabelstr(current,"label")=="Expo")
) q4 ?$ ~5 f' G9 o
{
( s5 a8 h4 B: b5 d
if(gettablenum("table2",i,j)==getinput(current))
. v; v+ \8 W( N$ g$ R/ _
{
/ N3 |/ ]9 ^7 C: H; W
return j;
% f+ j' e5 E/ T9 B9 R
}
- _9 ~8 z# p, T; l# |) G. H. [
}
5 d4 z, [ R0 b/ R; P# |* i6 R
}
# m" e- P! t1 b8 V# p
}
1 {% L p" d+ @% M0 g* W4 N8 a
不好使 应该是代码有问题 求指导!
作者:
慧娴亚伦
时间:
2013-12-30 16:37
9#
Amy1220
3 R' `; C; F" y% n
7 X5 b; i) p9 O2 Z) d& l$ v
原因很明显。。。你改成了字符串,但是getinput还是返回数值型,两者自然不会相等。
作者:
慧娴亚伦
时间:
2013-12-30 16:53
10#
Amy1220
. z" B1 b8 ]7 I/ J' t
, h6 Y3 w9 D6 G# a/ i2 q0 I) v) ~
你模型没有传上来我不能确定原因,但是我觉得基本上是你的getinput()这个函数运用有问题,两张表共有了一种顺序?
作者:
Amy1220
时间:
2013-12-31 10:34
8#
慧娴亚伦
1 {3 M a6 z1 s1 ]
- _& r( P% j$ g0 R" m! f0 [
! _: A+ d8 r( W+ i
模型。。。
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3