全球FlexSim系统仿真中文论坛
标题:
暂存区或者货架的货物初始位置初始化
[打印本页]
作者:
Amy1220
时间:
2013-12-25 15:31
标题:
暂存区或者货架的货物初始位置初始化
要求在0时刻 暂存区或者货架上已经有一定数量的货物 货物原始摆放位置信息在一张excel表上 货物的堆放是20行、10列、5层 不知道用暂存区还是货架 然后求表格如何导入 如何设置 谢谢大家
作者:
慧娴亚伦
时间:
2013-12-25 15:51
表格导入为模型中的全局表,然后在系统再引用这个全局表;
' X, I# o' `1 K; V. |$ G# W
“货物的堆放是20行、10列、5层”不明白,对于flexsim内置的货架而言,层和列就指定一个货格位置。
作者:
Amy1220
时间:
2013-12-25 19:49
2#
慧娴亚伦
0 N" n# n3 O( F2 t1 F, t% ?
有点启发 但是新手表示 压力很大 我做了一部分 能帮忙提点下么 感谢您!
作者:
Amy1220
时间:
2013-12-25 20:03
2#
慧娴亚伦
: G1 u( e, D8 y! A6 x" y
我是建了10个20X5的货架 都连接到发生器 在0时刻产生200个进口货和200个出口货 货物摆放位置见EXCEL
作者:
慧娴亚伦
时间:
2013-12-25 21:39
做了一个小模型,关于如何导入全局表不懂的话你再自己学一下
4 ]4 [9 [- g% K1 _) p8 y5 r
我直接用了里面的全局表,不过表的格式跟你是一样的,只是简化成2批货,每批5个。
' r' \6 m; h: {9 @1 N0 t$ p
同itemtype要发往多个货架的话我的建议是,读表里的数据打标签,然后根据标签发。
* C5 {% s, J7 B& x) d1 W9 \
代码主要写在货架的放置到层和放置到列,本来想写点注释的,后来发现没什么好写的= =||大概就是一些数学规律而已。
9 h" \2 x6 L# G
希望对你有启发。
作者:
yushaozheng1990
时间:
2013-12-25 23:16
5#
慧娴亚伦
下载下来学习一下
作者:
Amy1220
时间:
2013-12-29 13:31
5#
慧娴亚伦
& ?% F& J' N% X! P0 y8 o
0 O1 X) T" L& |+ ^8 ^$ ?
, B$ S3 e) f: G2 T" @6 q& w
你好 前面那部分我是可以搞定了 但是同itemtype发往多个货架问题 我觉得也是应该对产生的item贴标签,然后根据标签发 具体不知道怎么操作 只是有思路 麻烦详细说明下 谢谢
作者:
慧娴亚伦
时间:
2013-12-29 13:51
7#
Amy1220
3 _( ^) B) O1 Q" t+ V
* b" K( ] r1 V g* T
0 b$ q) F+ m$ e1 C. v* D9 [
既然你知道运用getitemtype来区别itemtype发送不同端口,那么运用getlabelnum不是一个道理么?
作者:
Amy1220
时间:
2013-12-30 14:24
8#
慧娴亚伦
9 y: z+ E3 C1 y1 }4 w+ I
+ z" T- C8 k8 L# A
5 V4 |. z4 o6 g: h
请教下 我把发生器输出端口设为根据标签了 标签我用的是字符串 表格中的内容也是字符串 但是把您原来的代码:
% _* f+ @: {; E
if(gettablenum("table",i,j)==getinput(current))
! I7 |) M; e) W) c8 [
改为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#
慧娴亚伦
# }' O# h- ]/ m/ K
( C) T* q( N2 O8 W
我自己试了下 发生器1产生两种item 类型1发往货架1 类型2发往货架2 他们的标签都为Impo 对应的全局表为表1;发生器2也产生两种item 类型1发往货架1 类型2发往货架2 他们的标签都为Expo 对应的全局表为表2.
V% L" r' L: `* l
现发生器1、2都设置输出端口为根据类型 货架1、2编写指定行列代码时:标签为Impo的根据表1,Expo的根据表2 自己写的代码:
! h1 n: _, _$ @% C2 s
for(int i=1;i<=3;i++)
/ o+ ]7 D4 n E' s0 }" V
{
$ N& O4 ~' [: v# m/ {% A$ b
for(int j=1;j<=3;j++)
' l; P# ~. _# s
{
3 @( D x" |; O; p' T
if(getlabelstr(current,"label")=="Impo")
5 u( z1 Y& Z5 E# ^4 w
{
5 I6 a; \& n* }
if(gettablenum("table1",i,j)==getinput(current))
5 H5 N( z& B7 p& p5 a; R
{
% l" C! n" P6 X8 y! x* x0 Y
return j;
% H/ u# Z" B* I3 ~
}
: h R% G$ g& C) B
}
: x* u6 P: b, p& h5 n: }% U) Y
if (getlabelstr(current,"label")=="Expo")
' Q ~8 Q U) \( w; j
{
8 Y- ^' {3 ?* v+ |
if(gettablenum("table2",i,j)==getinput(current))
/ u$ q! E5 ~1 X2 `
{
/ u' e$ s9 E* a- ^" P" L j# y4 J" \2 O
return j;
+ B2 _# @6 k$ K9 L0 X/ R
}
. C- c& c, L0 ]. [) b, a
}
4 Q, t$ |1 }; e8 V4 u1 h( N7 T" b: j
}
& B4 t; y/ B, S, m
}
W( h+ j* g1 \( ^
不好使 应该是代码有问题 求指导!
作者:
慧娴亚伦
时间:
2013-12-30 16:37
9#
Amy1220
3 B: B, z8 E$ K( ~# V
/ @/ I4 y2 D2 S) p5 m' ]: [( ~8 D& D
原因很明显。。。你改成了字符串,但是getinput还是返回数值型,两者自然不会相等。
作者:
慧娴亚伦
时间:
2013-12-30 16:53
10#
Amy1220
. F j& H4 |# k; A
& r ?+ t/ e+ v/ U5 k) i g
你模型没有传上来我不能确定原因,但是我觉得基本上是你的getinput()这个函数运用有问题,两张表共有了一种顺序?
作者:
Amy1220
时间:
2013-12-31 10:34
8#
慧娴亚伦
' M% T9 t6 [! l% d2 l1 Z
/ G: O I& \7 j5 S9 C' h+ O) L
& C. C( o3 A8 s! e' |; A R
模型。。。
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3