设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8761|回复: 14

[求助] 求助分流的问题

  [复制链接]
发表于 2011-9-7 14:44:40 | 显示全部楼层 |阅读模式
请教一下,我创建了6个钢板用entity表示,钢板的厚度有三种分别用1,2,3表示。在entity的自定义属性里面创建了thickness的属性定义为integer型分别给每个钢板厚度赋值。在分流运输时,创建了一个flow对象,后接三个buffer,编辑了一个method对象添加给flow的exit从而根据厚度对钢板进行分流,我写的method如下:
5 k' D& l) s4 t+ z% X:integer
9 Y; O8 d9 S& A5 q8 e0 bis
" v2 c4 v+ E9 u  L8 hm :integer;Thickness :integer;
; M. n2 d2 R7 Z6 y" f5 H- ^7 h, qdo) `0 q2 w; Y8 n, h; V
m=@.Thickness;1 J: F- o3 Z3 i& N
if m=1then% O3 ?9 P; @/ Q# M( G# @7 e
return 1;
) d6 Z0 p9 }$ ]8 oelseif m=2then$ M" K) q+ x4 y/ X" T
return 2;4 Z3 @  J( j2 Y/ H% ]
else& f) k. ~+ \0 F+ s- M
return 3 ;. b0 F# n! p1 P
end;' a& G" q& g1 d0 i' U
end;只有读了entity1可以被运输到相应的Buffer上,再读entity2就说不识别Thickness了,我想不明白了,请大家有时间帮忙解惑一下,不甚感激

本帖子中包含更多资源

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

x
发表于 2011-9-8 08:35:19 | 显示全部楼层
本帖最后由 linlin3353 于 2011-9-8 08:35 编辑
% O4 W- [* o! W6 [/ o2 {4 b9 p6 N( S6 [
& |. k6 [$ l4 o4 D$ I似乎不用这句“Thickness :integer;”,我做了一个模型,能够实现你的要求,你参考一下吧。

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-9-13 20:39:36 | 显示全部楼层
linlin3353 发表于 2011-9-8 08:35 7 r, J  I7 i; c
似乎不用这句“Thickness :integer;”,我做了一个模型,能够实现你的要求,你参考一下吧。 ...

& C: F; [6 n. P; Z 先谢谢了 我先试试看的 回头再次感谢 哈哈
 楼主| 发表于 2011-9-14 14:07:42 | 显示全部楼层
linlin3353 发表于 2011-9-8 08:35
& c# u, n2 N/ s+ m似乎不用这句“Thickness :integer;”,我做了一个模型,能够实现你的要求,你参考一下吧。 ...

0 d# u! M- n8 U您好!目前,我创建了一个tablefileTable1里面设置了四列,第一列是从列表拖进来的.Models.Entity第二列是Number第三列是Name第四列设置Attributes第四列是table格式,创建的子表a,包括Tickness总共创建了六个Part,Thickness同样设置为三种:1,2,3我想通过读表里面的属性来判断厚度从而分流,我写的simtalk语句总是读不到这个属性:
+ n, Z0 }3 n' Mt:integer;t:=root.table1["Attributes",Thickness],然后判断。主要从外部大批量的读入数据,一个个设置属性比较复杂,只有通过判断列表属性
发表于 2011-9-14 14:54:55 | 显示全部楼层
八怪 发表于 2011-9-14 14:07 7 \& r+ s! V: c; n! Q/ y
您好!目前,我创建了一个tablefileTable1里面设置了四列,第一列是从列表拖进来的.Models.Entity第二列 ...
; V# h5 w, |& Q5 R# R
你说的这个表我知道,我很少直接这样用第四列“Attributes”entity赋值,我一般是在将属性值记录在另一个表中,生成entity时通过method读这个属性表,把属性值赋给对应的entity。
+ {# A" N! c, B$ _( H- q$ j/ a/ F  H. L) N1 M: H/ u
我之前就你提到的这个生成entity时直接通过Attributes给entity赋值的问题,问过我们一个软件供应商的技术人员,他也没能给我很好的答案。
 楼主| 发表于 2011-9-14 16:45:45 | 显示全部楼层
linlin3353 发表于 2011-9-14 14:54
* E0 i1 z5 P. q3 x/ H: ?/ ^你说的这个表我知道,我很少直接这样用第四列“Attributes”entity赋值,我一般是在将属性值记录在另一个 ...
5 M; y' e& w, h! ]3 f5 |
好的,非常感谢您的帮助,我现在在一步步自己学习,您能教教我怎么样从另一个表里面赋值给entity属性吗?现在我将第四列设为属性表然后在子表里面添加厚度属性已经可以直接独到它的属性,我本来直接将第四列设为integer型的Tickness用@.Tickness表示属性就读不到,将第四列设置为Table型的Attributes再在子表里面添加属性Tickness就可以用@.Tickness读到厚度属性
发表于 2011-9-14 17:13:11 | 显示全部楼层
本帖最后由 linlin3353 于 2011-9-14 17:13 编辑
( \1 S- F" u' R! R
八怪 发表于 2011-9-14 16:45
0 S+ H' s# J0 }+ ~6 S- w好的,非常感谢您的帮助,我现在在一步步自己学习,您能教教我怎么样从另一个表里面赋值给entity属性吗 ...

- f, ^9 k8 |$ D6 ~$ }& F( \. \. G) c5 e9 L  F' a+ A1 |5 g
对,按照你说的可以为生成的entity自动设置属性,但是需要一个单元格一个单元格的做,不能够批量完成,所以不是很实用。0 F0 W. {  l6 V  k6 a
9 z, s, C; X/ w! F; @7 D
至于从表格里给entity赋值,你可以参考附件中的小例子,以后应用中可以灵活变通,希望能够帮到你。

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-9-14 21:13:59 | 显示全部楼层
linlin3353 发表于 2011-9-14 17:13
& J3 p& L. A6 N! J3 _对,按照你说的可以为生成的entity自动设置属性,但是需要一个单元格一个单元格的做,不能够批量完成,所 ...
* `& O! \+ i/ p/ N
好的谢谢您! 希望能留个qq多向您请教
发表于 2011-9-15 21:52:20 | 显示全部楼层
m=@.Thickness; 这里错了,应该用“:=”。
发表于 2011-9-15 21:55:02 | 显示全部楼层
这是附件,你可以看下。

本帖子中包含更多资源

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

x
发表于 2011-9-15 22:08:23 | 显示全部楼层
八怪 发表于 2011-9-14 14:07
1 c3 L& z$ u  s4 m您好!目前,我创建了一个tablefileTable1里面设置了四列,第一列是从列表拖进来的.Models.Entity第二列 ...
/ |3 H( I0 I9 \2 L6 v
tablefile[4,1][1,1],使用这个应该可以的。
 楼主| 发表于 2011-9-16 09:20:56 | 显示全部楼层
dongshui8558 发表于 2011-9-15 22:08
  M( R8 i1 W. G- o$ ptablefile[4,1][1,1],使用这个应该可以的。
$ D" ]/ D* H' o4 C# }
好的,非常感谢!以后多多探讨学习
" X2 Q9 `' F; G1 S
发表于 2011-9-16 10:28:41 | 显示全部楼层
dongshui8558 发表于 2011-9-15 21:55
3 {3 z- j& @& E, s/ U这是附件,你可以看下。
" V( G  L( T9 U  M* `0 ^
请问,你用的是哪个版本的em-plant啊,我是9.0,为什么打不开模型呢
发表于 2011-9-16 10:39:15 | 显示全部楼层
我的可能高点,9.0.7的,不过你把你的改下就好了,simtalk的赋值是 :=.
发表于 2014-6-23 18:21:46 | 显示全部楼层
谢谢LS各位!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-10-31 11:31 , Processed in 0.018172 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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