设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4758|回复: 12

[交流] transporter

  [复制链接]
发表于 2014-4-13 22:31:37 | 显示全部楼层 |阅读模式
我自己在做一个小项目,transporter在singleProc之间运送在制品。
$ b! U# D& g, C+ w( Y自己写了几个方法,从左至右运货可以,但是从右道左运送就会卡住,小车就不动了。5 P1 \! B% ^" ]3 C$ i7 B) d: R, T
if order="m13" then! V& n) ^" x- q8 o) d) b9 R- ~4 Q
                * A0 n4 T7 F: j( d+ i4 h% p; u) @
                tran1.backwards:=true;) X$ ~3 G0 G! b. E- m/ t# |% K" Q
                tran1.stopped:=false;+ \4 t9 F% y' J8 ~$ N" G
                tran1.destination:=track1;
: l  B/ Q. \+ l7 n8 q1 s6 i                tran1.destctrl:="unload";
7 `$ U9 _0 {2 S5 ]4 b5 w" ?end;9 Y5 I. q! W+ M6 x( T
这是我自己写的方法,前面都没有错误,到了这一步就不能运动到track1.不知道有没有人遇到过相似的问题。& O# {4 {4 G6 `; H+ q) t) ~8 Z
求指教啊!
发表于 2014-4-14 11:34:44 | 显示全部楼层

回帖奖励 +5 金仿真币

需要调试,观察tran1是否已经被赋予地址
 楼主| 发表于 2014-4-14 16:29:04 | 显示全部楼层
gxzhouyong 发表于 2014-4-14 11:34
7 V0 }1 |* J5 P4 ~6 Z需要调试,观察tran1是否已经被赋予地址
* Y/ \/ i; m3 `) p* Q; ~3 i. n( ^
亲,能发邮件给我么?ss1299@163.com) W. ~6 p5 A" Q1 K
我检查了,destination已经被赋值,stopped也是false。还需要检查什么呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2014-4-14 16:30:16 | 显示全部楼层
下鸭乔伊 发表于 2014-4-14 16:29 7 ]5 K; b: Q, a  i$ p
亲,能发邮件给我么?
" F% C" f( a8 m6 V  w# B我检查了,destination已经被赋值,stopped也是false。还需要检查什么呢? ...
5 J+ A5 S) b; k& @& P( J1 M8 j" w- ?
waiting状态是true,为什么呀!
发表于 2014-4-14 17:47:06 | 显示全部楼层
首先让车停止……
 楼主| 发表于 2014-4-14 18:24:33 | 显示全部楼层
dongshui8558 发表于 2014-4-14 17:47 : R* r7 O7 _# z  r
首先让车停止……
2 F3 R# g9 n& N, T2 I' U9 i1 `- V
为什么要让车停止,我现在是想让它走到track1,然后执行unload方法。
发表于 2014-4-15 16:31:52 | 显示全部楼层
建议发模型上来,方便检查
发表于 2014-4-15 16:32:01 | 显示全部楼层
建议发模型上来,方便检查
发表于 2014-4-15 19:49:42 | 显示全部楼层
下鸭乔伊 发表于 2014-4-14 18:24 - V0 V4 @( _3 n0 F9 A" t
为什么要让车停止,我现在是想让它走到track1,然后执行unload方法。

$ _. \! e2 F4 x6 u! L应该是你的小车在出口处有等待,这时候不停止小车的话,小车就会变成waiting状态,因为小车会跑到Track后续的对象上面。
发表于 2014-10-26 20:04:34 | 显示全部楼层
我觉得是你差一句@.move;  好像是给它定义目的地后你要让它走才行,我自己碰到过这种情况。不知道和你的情况一不一样。
发表于 2015-1-13 22:21:48 | 显示全部楼层
11111 发表于 2014-10-26 20:04
2 U6 D( q0 J! H. G我觉得是你差一句@.move;  好像是给它定义目的地后你要让它走才行,我自己碰到过这种情况。不知道和你的情 ...

0 v$ j" r2 E& M! B. i@.move,强烈建议慎重的用,小车在track上是连续运行的,很有可能前半段在B,后半段在A,假设正向行驶,那么用@。move,此时B的后半段就不走了,直接move到B.succ(B的下个后续轨道上去),那么相当于车瞬移了!   所以最好用stopped:=true  和stopped:=false  搭配。
发表于 2015-1-14 10:54:26 | 显示全部楼层
gxzhouyong 发表于 2015-1-13 22:21 4 z  I' |* K8 z' C- A
@.move,强烈建议慎重的用,小车在track上是连续运行的,很有可能前半段在B,后半段在A,假设正向行驶, ...
# `9 n3 o7 B+ |; q5 O1 _& P7 I
多谢
发表于 2015-1-18 12:31:31 | 显示全部楼层
此外,stopped:=true  和stopped:=false 用于不需要精确控制速度的场合,如果需要精确控制速度,则不用stopped,用speed=0 或者distanceCtrl
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2025-5-11 01:04 , Processed in 0.019668 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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