设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8441|回复: 16

发点小模型

  [复制链接]
发表于 2009-8-30 15:06:42 | 显示全部楼层 |阅读模式
自己做的小模型,供初学者看看.呵,呵

本帖子中包含更多资源

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

x

评分

参与人数 1仿真币 +26 收起 理由
focuscon + 26

查看全部评分

发表于 2009-8-30 15:21:40 | 显示全部楼层
最好加上模型的描述,这样便于交流。
发表于 2009-8-30 16:02:50 | 显示全部楼层
请教个问题,在Rank(给托盘里的盒子随机着色)模型里面,第一个Conveyor Trigger里面的代码如下:
treenode  item = parnode(1);
treenode  current = ownerobject(c);

/**Set Color for items*/

int port = parval(2);   //这句如果删除是不会影响着色功能的,把里面的参数改成其他数字也不会有影响,请问这个语句是什么功能?
for (int index=1; index<=content(item); index++)
{
        colorrandom(rank(item,index));
}
另外,如果再给第一个Conveyor增加一个进料源,这里来的盒子不会被这段代码染色,这又是为什么呢?
多谢指教!
 楼主| 发表于 2009-8-31 09:19:55 | 显示全部楼层
3# focuscon

int port = parval(2);   函数是系统底层函数。返回一个端口号。本例中没有用到这个功能,
所以删除当然没有影响。上色的核心语句是for语句。
(2)再给conveyor增加进料源,对染色没影响的。不知道你的怎么会影响?
发个多的进料源的例子给你看看。

本帖子中包含更多资源

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

x

评分

参与人数 1仿真币 +10 收起 理由
focuscon + 10

查看全部评分

发表于 2009-8-31 20:00:18 | 显示全部楼层
lifeng,
非常感谢你解答我的疑问!
我没有表述清楚导致你理解有误,我的意思是给第一个Conveyor增加进料源,不是Combiner 。如附件模型:

本帖子中包含更多资源

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

x
 楼主| 发表于 2009-8-31 20:28:43 | 显示全部楼层
5# focuscon

明白你的意思了.看下面的for语句.
for (int index=1; index<=content(item); index++)

  (1)其中content(item)得到的是容器(拖盘)中的实体数量.得到的数量是8,
染色时,循环8次,当然只对容器中的实体染色.
(2)rank(item,index));这个语句,用法也有特点,它是得到容器(如拖盘,队列)中临时实体的索引.所以它只能用在容器中,另一发生源产生的单个临时实体不是容器,所以也不能用这个语句染色,只能单个染,分开染色,如对那单个实体在产生时加标签,然后根据标签单独染色.

评分

参与人数 1仿真币 +5 收起 理由
focuscon + 5

查看全部评分

发表于 2009-8-31 21:29:47 | 显示全部楼层
6# lifeng_23
太感谢谢老兄了,看来真是要多交流啊。
还有个问题,在无线发送的模型里面,我看到你用多种方法实现这个功能,为什么我按照你的方法建一个模型,在编辑代码是总是报语法错误呢?例如:
/**Custom Code*/
treenode item = parnode(1);
treenode current = ownerobject(c);
int port = parval(2);
moveobject(item,Q6);\\他说这个Q6没有定义,我感觉他报的对,但是你的为啥不报呢?难道还有其他设置?
感觉Flexsim门道挺多,要很严谨。 再次感谢! 能否加你的QQ?
发表于 2009-9-1 09:35:52 | 显示全部楼层
我也遇到了focuscon 所说的那个问题:
“moveobject(item,Q6);”\\Q6没有定义,但是找来找去也没能找到lifeng_23 的Q6到底在哪定义的,
还望lifeng_23 多多指教
 楼主| 发表于 2009-9-1 10:18:18 | 显示全部楼层
呵,呵,千万别说指教,只是交流交流,共同学习.
Q6是个全局变量,指代其中一个队列,在tree中也可查.demo版是看不到的,只有正式版可以看到.
实际运用时我倒建议用moveobject(item,node(("/Queue1"),mode()));来传送.程序可读性好.

评分

参与人数 1仿真币 +5 收起 理由
focuscon + 5

查看全部评分

发表于 2009-9-1 11:00:38 | 显示全部楼层
原来如此,多谢lifeng!
发表于 2009-9-1 20:34:32 | 显示全部楼层
本帖最后由 focuscon 于 2009-9-1 21:35 编辑

谢谢秦老师!谢谢lifeng!
1. 如果向多个下游发送实体时还能用无线发送吗?是否需要比较复杂的编程?
另外,lifeng的模型里面喜欢自己编写代码,但是很多功能(比如设置label,染色,命名等)有内置的选项,为什么要自己编呢,是个人习惯还是有其他什么好处?

2. 秦老师果然说的没错,我试了一下从Queue往Processor无线发送,结果出现了一个Processor里面同时处理多个实体的怪现象,而设置是只允许一个,似乎实体不会在Queue中停留,被强制扔到了Processor里面,模型见附件。这是一个BUG吗?请求解答,谢谢!

本帖子中包含更多资源

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

x
 楼主| 发表于 2009-9-2 12:07:25 | 显示全部楼层
12# focuscon

(1)个人认为,简单的模型用内置功能即可,但复杂的模型,一定要会编制程序,柔性好.
    周总的水平为什么那么高? 他可是编程高手.
(2)处理器处理多个实体的原因,主要是处理器的maximum  content功能没有被触发, 由此可见moveobject一般情况下,的确要少用,因为这样的传送方式,可能会造成接受对象的一些功能没有被激发.当然处理方式比较简单,在处理器中,进入触发中,设置来一个,把端口关闭即可.如果要说bug,也可算.
  最后,我基本不上qq,呵,呵,qq号都快忘了,这里交流也不错.

评分

参与人数 1仿真币 +5 收起 理由
focuscon + 5 谢谢你!

查看全部评分

发表于 2009-9-2 21:52:28 | 显示全部楼层
本帖最后由 focuscon 于 2009-9-2 21:53 编辑

Lifeng你好,对不起我比较啰嗦~
1.  priority0712模型里面Processor的Trigger里面设置了好多Custom code,我实在不理解那是干吗用的?
/**Custom Code*/
treenode  item = parnode(1);
treenode  current = ownerobject(c);
pt(" Processor7 OnProcessFinish  :");
pd(time());   \\在这个模型里面的功能是什么
pr();

2.  作业员的送货优先顺序是由Processor里面的Pick operator下方的 priority决定的吗?为什么我改动后没有反应呢?
谢谢解答~!  
 楼主| 发表于 2009-9-3 16:13:42 | 显示全部楼层
15# focuscon
呵,呵,不

呵呵,不啰嗦。
(1)pt(" Processor7 OnProcessFinish  :"); //用于文本打印
      pd(time());   //显示时间
程序运行时在view菜单中output console窗口中,可以看到这些显示结果。
主要是调试程序用的,本身对执行没意义。因为flexsim仿真运行是事件触发的。当实体很多时,不同时间,甚至同一时间内,谁先执行谁后执行,有时候不一定很清楚,这时可以调试窗口看运行状态,和先后顺序。
(2)送货优先顺序,确实由priority决定的,数字越大,级别越高。先执行数字大的。
该了当然有反应。
  只不过第一次执行时,即程序运行时,零件默认要往端口1送(如果有很多端口),而端口1连着processor7,而不会往优先级最高的processor5送。(再以后才按优先级别送货)queue2优先级最高是独占preempt.一旦有货物到,只要有机器空闲,人就执行送货任务,其他工作都停下来。

评分

参与人数 1仿真币 +10 收起 理由
focuscon + 10

查看全部评分

发表于 2009-9-3 23:43:53 | 显示全部楼层
16# lifeng_23
谢谢你不厌其烦的讲解,越来越发现Lifeng是位深藏不露的高手啊!
这个Priority和其他地方有些不一样,我的印象中Priority一般是数字越小级别越高的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-22 03:18 , Processed in 0.018616 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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