全球FlexSim系统仿真中文论坛

标题: Flexsim常见错误解析 [打印本页]

作者: zorsite    时间: 2017-4-10 00:56
标题: Flexsim常见错误解析
本帖最后由 zorsite 于 2017-4-10 02:02 编辑
# U# R, }) P+ \& b. ^, y$ d3 |; f4 g# o" W+ R: v) @- I
1.Undefined variable 未定义的变量
系统提示如下:
  1. Flexscript Error MODEL:/货架1>variables/sendtoport Line 5  Undefined variable GlobalTable1 being used.
复制代码
Flexisim脚本错误:货架1的sendtoport代码第5行,引用了一个未定义的GlobalTable1 。
找到第5行代码:
  1. Variant tablename = GlobalTable1;
复制代码
正确代码如下:
  1. Variant tablename = "GlobalTable1";
复制代码
注意:文本一定要用引号。

. u. w. A1 G. }5 H8 l3 b4 g1 M
2.Could not resolve correct operator 不能解析操作符
系统提示如下:
  1. Flexscript Error  MODEL:/货架1>variables/sendtoport Line 5  Could not resolve correct operator for = operation. Left side type is Variant&, right type is (invalid)) C# p2 G% N/ }8 d
  2. Flexscript Error  MODEL:/货架1>variables/sendtoport  Could not finish parsing because of previous errors.
复制代码
仍然是第5行代码。

  @# z& ]1 \1 f$ J* y& m# h- D
Variant tablename =的本意是要申明一个名为tablename的变量。但是等号右边的GlobalTable1因为没有引号,因此无法被系统解析。
0 u) e- g2 h* n' v% Z" X
=操作符左边是Variant类型的变量,但是=操作符右边是invalid。

  k) f  @8 I; C) V8 C" Q
3.invalid character无效字符
系统提示如下:
  1. Flexscript Error  MODEL:/货架2>variables/sendtoport  invalid character <? ascii = -54
复制代码
通常出现“invalid character <? ascii”这样的提示,就说明代码中有中文字符。或者删除了一半的中文字符(早期的Flexsim需要按两次“Backspace”键才能删掉一个中文字符)。
这个问题出现在货架2的发送至端口代码,查看其代码如下:
  1. return 使用全局表 (GlobalTable1 );
复制代码
估计建模者将货架1发送至端口中的“使用全局表 (GlobalTable1 )” 直接粘贴到货架2的发送至端口中。
[attach]3610[/attach]
正确做法:
[attach]3609[/attach], o' g7 C  M6 h7 C% X& Y

) M& L$ L$ @* Q. L5 \[attach]3611[/attach]

作者: zorsite    时间: 2017-4-10 01:51
本帖最后由 zorsite 于 2017-4-10 02:01 编辑
/ J6 o+ X1 r: b  n+ j7 s) N4 G: z& M1 S* k4 P6 d- g( g
4.模型运行到某一时间点停止运行/ g- ]6 n+ Q9 v! B
这种情况也很好解决。点击调试(Debug)菜单下的事件日志(Event Log)命令,调出事件日志面板后点击启动日志(Enable Logging),然后重置模型,运行模型。当模型停止运行时,查看事件日志的最后一项,通常就是出问题的地方。/ Z& b7 m7 d& T3 U% k1 b& }  G; K' Q
[attach]3613[/attach]
, b$ `5 W# Y+ L  T在此案例中,模型运行到“send to port”事件时停止运行,也就意味着“send to port”出错了,找不到发送端口。查看发生器的“send to port”,结果却发现发生器根本没有输出端口。  }, W. h, {) T3 |* Y
[attach]3612[/attach]
$ I9 y* V- \% k% E+ e[attach]3615[/attach]
作者: zorsite    时间: 2017-4-10 04:06
本帖最后由 zorsite 于 2017-4-10 04:18 编辑
# t4 G- ?5 c4 g) D9 \9 z* [4 d, Z0 o, n, K( ~
5.Destination Unreachable  目标无法到达 , z. ?+ l# E4 q* V+ q" l1 g
弹出窗口如下:, T/ y5 K% Z9 p  J1 C* u
[attach]3616[/attach]
; h6 a8 m1 ^5 ]认真、耐心地读一遍这段话,或许你就不会那么迷茫。
5 Z/ g! o+ Z8 r2 B2 Z- ?9 m
叉车无法到达行进网络上的一个目的地。
4 I6 N# O3 j+ `请你检查连接,修正后再运行模型。
  q& j9 [2 `+ X0 Q0 J- l) s  F叉车50找到不目的地“传送带暂存区”。
0 t0 E: M/ y9 z/ P
叉车找不到暂存区?看看模型吧。; w) W1 x, y$ W2 U0 L6 z& e# n
[attach]3617[/attach]- h6 u8 O% s% N8 o' j5 u
叉车同网络路径A连接,表示叉车必须在网络路径上运行。
1 i$ ?/ v6 @( y叉车同暂存区S连接,表示暂存区可以调用叉车完成运输任务。
  s, j0 ]* g( o. _; }# N那为什么叉车又找不到暂存区呢?
3 q) p7 B7 v* m. x1 ~& T( g/ G原因就在于叉车同网络路径连起来了,之后叉车就只能在网络路径上运行,并且只能同网络路径上的实体打交道。( u4 A/ t  R2 K/ V) R
为了能够让叉车把临时实体从暂存区搬运到货架,必须把暂存区和货架也连至网络路径。
& b* s7 M! m% r7 F6 W正确的做法如下:0 c3 C+ w& \- l' J4 p; _+ t  _& l5 x
[attach]3618[/attach]
! C/ E/ B# @8 e2 P) J暂存区A连接至节点1,货架A连接至节点2。7 m& B! N; {. f3 W0 q
[attach]3619[/attach]
作者: eb_sun    时间: 2017-4-10 13:23
谢谢分享




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3