登录发现更多内容
首页
资讯
分类
目录
索引
酷站
发帖
用户名
Email
自动登录
找回密码
密码
登录
立即注册
立即登录
立即注册
其他登录
QQ
微信
门户
Portal
论坛
BBS
问AI
提问
搜索
搜索
热搜:
活动
交友
discuz
本版
文章
帖子
用户
帖子
设置
我的收藏
退出
4
0
0
首页
技术交流2
›
在flexsim中使用bundle处理大数据
返回列表
在flexsim中使用bundle处理大数据
[ 复制链接 ]
zorsite
技术交流2
4
4
2015-11-3 11:22:29
[i=s] 本帖最后由 zorsite 于 2015-11-5 22:51 编辑 [/i]
[font=宋体][size=12pt]当你有大量数据的时候,你就可以考虑使用[/size][/font][size=12pt]bundles[/size][font=宋体][size=12pt](数据流,数据包)了。使用数据包的方式来处理模型数据会比使用表格速度更快,占用内存更少。数据包的工作机理和[/size][/font][size=12pt]SQL[/size][font=宋体][size=12pt]表很类似。[/size][/font]
[font=宋体][size=12.0pt]在[/size][/font][size=12.0pt]flexsim7.5[/size][font=宋体][size=12.0pt]中,如果使用数据包来处理数据的话,你需要编写大量代码。在[/size][/font][size=12.0pt]7.7[/size][font=宋体][size=12.0pt]版本中,数据包被整合到了全局表中,使用起来会更加方便一些。你可以在命令列表中搜索[/size][/font][size=12.0pt]bundle[/size][font=宋体][size=12.0pt]来查找相关命令。[/size][/font]
[font=宋体][size=12.0pt]在树视图中,打开[/size][/font][size=12.0pt]Tools[/size][font=宋体][size=12.0pt]中的[/size][/font][size=12.0pt]GlobalTables[/size][font=宋体][size=12.0pt]文件夹,选中最后一个节点,按下空格键新增一个节点,重命名新增节点后右键点击,在弹出的快捷菜单中点击[/size][/font][size=12.0pt]Node->AddBundle Data[/size][font=宋体][size=12.0pt]。你可以使用[/size][/font][size=12.0pt]node("/Tools/GlobalTables/nodeName",model())[/size][font=宋体][size=12.0pt]命令链接到创建的数据包节点。[/size][/font]
[font=宋体][size=12.0pt]在添加数据之前,你应该使用[/size][/font][size=12.0pt]addbundlefield[/size][font=宋体][size=12.0pt]命令设置字段。学过数据库的都知道,[/size][/font][size=12.0pt]Field[/size][font=宋体][size=12.0pt]是字段,可以理解为每一列的列标题,[/size][/font][size=12.0pt]entry[/size][font=宋体][size=12.0pt]是记录,可以理解为每一行记录。在数据库中,数据类型有严格的限制,每一列数据的类型应该是相同的,都是数值型或都是文本型。[/size][/font][size=12.0pt]Addbundlefield[/size][font=宋体][size=12.0pt]命令每次只能添加一个字段名,而且你应该在输入数据之前定义好所有字段。一旦使用[/size][/font][size=12.0pt]addbundleentry[/size][font=宋体][size=12.0pt]添加数据之后,就不能在增加新的字段了。当然你可以使用[/size][/font][size=12.0pt]clearbundle[/size][font=宋体][size=12.0pt]命令清空所有数据之后再来添加新的字段。通常在[/size][/font][size=12.0pt]script console[/size][font=宋体][size=12.0pt]窗口或者模型重置触发中编写关于[/size][/font][size=12.0pt]bundle[/size][font=宋体][size=12.0pt]的代码会比较合适。[/size][/font][size=12.0pt][/size]
[font=宋体][size=12.0pt]创建节点之后就可以使用[/size][/font][size=12.0pt]setbundlevalue[/size][font=宋体][size=12.0pt]和[/size][/font][size=12.0pt]getbundlevalue[/size][font=宋体][size=12.0pt]命令来设置和读取数据了。在[/size][/font][size=12.0pt]flexsim7.5[/size][font=宋体][size=12.0pt]中不能使用[/size][/font][size=12.0pt]Table[/size][font=宋体][size=12.0pt]命令来设置和读取[/size][/font][size=12.0pt]bundle[/size][font=宋体][size=12.0pt]数据,但是在[/size][/font][size=12.0pt]7.7[/size][font=宋体][size=12.0pt]版本中可以。[/size][/font][size=12.0pt][/size]
[font=宋体][size=12.0pt]如果你不熟悉[/size][/font][size=12.0pt]FlexScript[/size][font=宋体][size=12.0pt],使用[/size][/font][size=12.0pt]bundles[/size][font=宋体][size=12.0pt]数据包会有些困难。但是如果你的数据量非常大的话,使用[/size][/font][size=12.0pt]bundle[/size][font=宋体][size=12.0pt]数据包模型速度会有显著提升。[/size][/font]
[font=宋体][size=12.0pt]将数据导出的最简单的办法是使用[/size][/font][size=12.0pt]ExcelImport/Export Interface[/size][font=宋体][size=12.0pt]。在导出界面中将表格类型设置为[/size][/font][size=12.0pt]other[/size][font=宋体][size=12.0pt],选择[/size][/font][size=12.0pt]bundle[/size][font=宋体][size=12.0pt]数据节点即可导出。如果你想把数据导出成其他格式,可以使用[/size][/font][size=12.0pt]getbundlevalue[/size][font=宋体][size=12.0pt]命令将数据读出,然后按照你的需求输出。[/size][/font][size=12.0pt][/size]
[font=宋体][size=12.0pt]原文地址:[/size][/font]
[url=https://www.flexsim.com/community/forum/showpost.php?p=14383&postcount=2]https://www.flexsim.com/community/forum/showpost.php?p=14383&postcount=2[/url]
如有错误敬请指出。
点赞
0
收藏
0
────
0
人觉得很赞
────
回复
举报
4 回复
慧娴亚伦
回复
举报
2015-11-3 13:30:39
感谢分享!
回复
评论
举报
1010265352
回复
举报
2015-11-3 14:14:04
谢谢分享
回复
评论
举报
657776724
回复
举报
2015-11-3 17:20:00
感谢分享
回复
评论
举报
domcylai
回复
举报
2015-11-5 17:33:31
很好!
回复
评论
举报
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
立即登录
点评
高级模式
本版积分规则
回帖后跳转到最后一页
返回
技术交流2
提问题
写回答
写文章
草稿箱
登录开启您的创作之旅
快速登录,立即开启您的创作之旅~
登录
热门问答
查看更多
1
Flexsim初级建模工程师水平标准
Flexsim初级建模工程师水平标准
62
234
2
无意中找到的资料,非常适合于初学者
无意中找到的资料,非常适合于初学者
47
229
3
厂区生产线布局优化案例!新做的!
厂区生产线布局优化案例!新做的!
43
224
4
流水作业线的仿真
流水作业线的仿真
36
83
5
flexsim中文教程,pdf文档已整理-重新整理
flexsim中文教程,pdf文档已整理-重新整理
36
114
博主榜
admin
+ 5
首页
分类
目录
索引
我的