找回密码
 注册
Simdroid-非首页
查看: 431|回复: 27

[联合仿真] ADAMS和Isight联合仿真中变量设计问题

[复制链接]
发表于 2013-8-20 10:58:21 | 显示全部楼层 |阅读模式 来自 北京
在Isight中设计变量,如何设计输出变量,使输出变量值自动查询A列中的最大值,如下图所示

本帖子中包含更多资源

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

×
发表于 2013-8-20 11:18:42 | 显示全部楼层 来自 江苏徐州
Simdroid开发平台
你按时间顺序的话,可以读出列数据然后比较大小。

更可行的方法是:在adams输出时按降序排列即可,直接选择第一行的数据即可。
  1. numeric_results write  &
  2.    result_set_component_name = .adams.Last_Run.FUNCTION_MEA_FY.Q  &
  3.    sort_by = by_value  &
  4.    order = descending  &
  5.    write_to_terminal = off  &
  6.    file_name = "C:/DATA/QFY.txt"
复制代码
回复 不支持

使用道具 举报

发表于 2013-8-20 11:20:42 | 显示全部楼层 来自 江苏徐州
dosbatch需要更好的控制它。

如果是插件,可以通过measure直接读取最大值。
回复 不支持

使用道具 举报

 楼主| 发表于 2013-8-20 15:03:07 | 显示全部楼层 来自 北京
inndoor 发表于 2013-8-20 11:20
dosbatch需要更好的控制它。

如果是插件,可以通过measure直接读取最大值。

不是插件,是与单独的Isight联合仿真,这个dosbatch是什么意思?我是ADAMS和Isight的初学者

点评

吓了我一跳,我特意去度娘那里搜索了dosbatch什么意思。 要不你也搜索下?  发表于 2013-8-20 17:02
回复 不支持

使用道具 举报

 楼主| 发表于 2013-8-20 15:21:20 | 显示全部楼层 来自 北京
inndoor 发表于 2013-8-20 11:18
你按时间顺序的话,可以读出列数据然后比较大小。

更可行的方法是:在adams输出时按降序排列即可,直接选 ...

那还用不用管与Isight集成时所需要的txt文件里面的大小的顺序?是不是要更改后处理Export中的order的选项?您好我是初学者,有没有办法可以找到A列中绝对值最大的值?
回复 不支持

使用道具 举报

发表于 2013-8-20 17:01:15 | 显示全部楼层 来自 江苏徐州
1990chs 发表于 2013-8-20 15:21
那还用不用管与Isight集成时所需要的txt文件里面的大小的顺序?是不是要更改后处理Export中的order的选项 ...

如果你要的结果就是数据起始的第一行,isight会方便识别。

如果你的第一列数据全是正的或负的,直接通过升降序就可以实现。

如果有正有负,找绝对值最大可以通过isight来完成也可以通过adams的abs函数来完成。

回复 不支持

使用道具 举报

 楼主| 发表于 2013-8-20 21:08:15 | 显示全部楼层 来自 北京
inndoor 发表于 2013-8-20 17:01
如果你要的结果就是数据起始的第一行,isight会方便识别。

如果你的第一列数据全是正的或负的,直接通过 ...

实在不好意思,还得麻烦您!找绝对值最大怎样通过isight来完成?用adams的abs函数怎样来完成?老板要求找绝对值最大!
回复 不支持

使用道具 举报

 楼主| 发表于 2013-8-20 21:11:48 | 显示全部楼层 来自 北京
inndoor 发表于 2013-8-20 17:01
如果你要的结果就是数据起始的第一行,isight会方便识别。

如果你的第一列数据全是正的或负的,直接通过 ...

有时候我选择Isight最后一列,用蒙特卡洛仿真会出现以下的错误,是怎么回事?网上关于Isight这方面的资料比较小!
unning Isight build 5.6.1  date 2011-09-28 00:09:22 [win64]
WindosVersionXXX
<Error><Wed Aug 07 11:06:33 PDT 2013><Local>Component "Monte Carlo1.Simcode" failed execution.
Output Data Exchanger: EOPException: Ran off end of data while searching.
in statement
   shuchu.word(500, 1).read(out1);
com.engineous.sdk.runtime.RtException: Output Data Exchanger: EOPException: Ran off end of data while searching.
in statement
   shuchu.word(500, 1).read(out1);
        at com.engineous.component.datex.RtDatexSupport.interpret(RtDatexSupport.java:351)
        at com.engineous.component.datex.RtDatexSupport.execute(RtDatexSupport.java:239)
        at com.engineous.component.datex.RtDatexSupport.execute(RtDatexSupport.java:138)
        at com.engineous.component.simcode.SimcodeWrapper.execute(SimcodeWrapper.java:107)
        at com.engineous.system.station.CompRunner.executeComponent(CompRunner.java:2630)
        at com.engineous.system.station.CompRunner.run(CompRunner.java:1290)

=== Exception Traceback ===
com.engineous.component.datex.sdk.EOPException
        at com.engineous.plugin.datex.fileExchanger.FileExchanger.getMoreData(FileExchanger.java:683)
        at com.engineous.plugin.datex.fileExchanger.FileExchanger.findOffset(FileExchanger.java:726)
        at com.engineous.plugin.datex.fileExchanger.FileExchanger.get(FileExchanger.java:816)
        at com.engineous.plugin.datex.partitioner.Partitioner$Line.<init>(Partitioner.java:874)
        at com.engineous.plugin.datex.partitioner.Partitioner$Word.<init>(Partitioner.java:1709)
        at com.engineous.plugin.datex.partitioner.Partitioner.word(Partitioner.java:658)
        at com.engineous.plugin.datex.partitioner.Partitioner.word(Partitioner.java:680)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at koala.dynamicjava.interpreter.EvaluationVisitor.visit(EvaluationVisitor.java:577)
        at koala.dynamicjava.tree.ObjectMethodCall.acceptVisitor(ObjectMethodCall.java:85)
        at koala.dynamicjava.interpreter.EvaluationVisitor.visit(EvaluationVisitor.java:549)
        at koala.dynamicjava.tree.ObjectMethodCall.acceptVisitor(ObjectMethodCall.java:85)
        at koala.dynamicjava.interpreter.TreeInterpreter.interpret(TreeInterpreter.java:165)
        at com.engineous.component.datex.RtDatexSupport.interpret(RtDatexSupport.java:286)
        at com.engineous.component.datex.RtDatexSupport.execute(RtDatexSupport.java:239)
        at com.engineous.component.datex.RtDatexSupport.execute(RtDatexSupport.java:138)
        at com.engineous.component.simcode.SimcodeWrapper.execute(SimcodeWrapper.java:107)
        at com.engineous.system.station.CompRunner.executeComponent(CompRunner.java:2630)
        at com.engineous.system.station.CompRunner.run(CompRunner.java:1290)
回复 不支持

使用道具 举报

发表于 2013-8-21 13:38:41 | 显示全部楼层 来自 江苏徐州
1990chs 发表于 2013-8-20 21:08
实在不好意思,还得麻烦您!找绝对值最大怎样通过isight来完成?用adams的abs函数怎样来完成?老板要求找 ...



这里是adams板块,就告诉你adams的方法吧。

在adams中建立测量measure函数,给要输出的量加绝对值abs函数;输出数据选择by value,降序排列就好了。

回复 不支持

使用道具 举报

 楼主| 发表于 2013-8-21 14:31:55 | 显示全部楼层 来自 北京
inndoor 发表于 2013-8-21 13:38
这里是adams板块,就告诉你adams的方法吧。

在adams中建立测量measure函数,给要输出的量加绝对值abs ...

谢谢!请问如果要在单独的Isight软件中设置要怎么弄呢?
回复 不支持

使用道具 举报

发表于 2013-8-21 22:54:19 | 显示全部楼层 来自 江苏徐州
1990chs 发表于 2013-8-21 14:31
谢谢!请问如果要在单独的Isight软件中设置要怎么弄呢?

导入时选择table,读取数组,然后用绝对值最大函数absmax看图即可。



本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

 楼主| 发表于 2013-8-22 17:06:18 | 显示全部楼层 来自 北京
inndoor 发表于 2013-8-21 22:54
导入时选择table,读取数组,然后用绝对值最大函数absmax看图即可。

您好!是不是在Simcode组件后面添加一个Calculator组件,然后在蒙特卡洛仿真中选择在Calculator组件中建立的输出参数?您好,能不能把您的QQ号给我呢,因为网上Isight方面的资料不是很多,我希望在Isight有些不懂的地方请教您!
回复 不支持

使用道具 举报

发表于 2013-8-22 18:53:27 | 显示全部楼层 来自 江苏徐州
1990chs 发表于 2013-8-22 17:06
您好!是不是在Simcode组件后面添加一个Calculator组件,然后在蒙特卡洛仿真中选择在Calculator组件中建 ...

是的,要在流程中添加一个计算器。

思易特公司和树优公司在百度文库有全套isight资料~~~

我上q较少,上班不能上它,晚上下班都比较晚了。
你在这里讨论就好,也可以添加一些兴趣群,或许有收获。
回复 不支持

使用道具 举报

 楼主| 发表于 2013-8-30 20:53:54 | 显示全部楼层 来自 美国
谢谢!
回复 不支持

使用道具 举报

 楼主| 发表于 2013-9-2 21:52:21 | 显示全部楼层 来自 美国
您好!我用Isight的蒙特卡洛仿真,出现下面的概率分布结果,最左边出现那一排数据的原因是什么?

还有,在Adams中,WZ(danti.cm,0,danti.cm)是表示danti的角速度吗?

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

 楼主| 发表于 2013-9-3 11:37:36 | 显示全部楼层 来自 北京
inndoor 发表于 2013-8-22 18:53
是的,要在流程中添加一个计算器。

思易特公司和树优公司在百度文库有全套isight资料~~~

您好!我用Isight的蒙特卡洛仿真,出现下面的概率分布结果,最左边出现那一排数据的原因是什么?

还有,在Adams中,WZ(danti.cm,0,danti.cm)是表示danti的角速度吗?

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

 楼主| 发表于 2013-9-3 11:38:37 | 显示全部楼层 来自 美国
inndoor 发表于 2013-8-22 18:53
是的,要在流程中添加一个计算器。

思易特公司和树优公司在百度文库有全套isight资料~~~

您好!我用Isight的蒙特卡洛仿真,出现下面的概率分布结果,最左边出现那一排数据的原因是什么?

还有,在Adams中,WZ(danti.cm,0,danti.cm)是表示danti的角速度吗?

回复 不支持

使用道具 举报

发表于 2013-9-3 12:40:59 | 显示全部楼层 来自 江苏徐州
1990chs 发表于 2013-9-3 11:38

最左边的,需要根据你的模型来了,就是你的运动可能不唯一。
比如你模拟往坑里扔石头,掉坑里的就是你最左边的,弹出来蹦的老远就是右边类似正态分布的东西。

如果方便的话,把你模型阐述一下你就明白了。
不方便的话,把左边的设计点拉出来单独仿真下看看和右边的有啥区别。

回复 不支持

使用道具 举报

 楼主| 发表于 2013-9-3 17:19:06 | 显示全部楼层 来自 北京
本帖最后由 1990chs 于 2013-9-3 17:21 编辑
inndoor 发表于 2013-9-3 12:40
最左边的,需要根据你的模型来了,就是你的运动可能不唯一。
比如你模拟往坑里扔石头,掉坑里的就是你最 ...

这是adams和Isight联合仿真,一个四连杆机构的仿真,所有的文件在下面的附件中!文件2M,我存到网盘了,这两个输出是我随意定的!
模型附件
对了,在adams中, 我要用到一个旋转体的自传角速度,运行函数   WZ(danti.cm,0,danti.cm)  是表示旋转体的自传角速度吗?

点评

角速度直接在part上右键选择measure,找到角速度就行了,z向。  发表于 2013-9-4 09:20
回复 不支持

使用道具 举报

发表于 2013-9-4 07:20:10 | 显示全部楼层 来自 江苏徐州
1990chs 发表于 2013-9-3 17:19
这是adams和Isight联合仿真,一个四连杆机构的仿真,所有的文件在下面的附件中!文件2M,我存到网盘了,这 ...

你adams2013,我2010苦逼打不开。

四连杆本来是没有啥问题的,但看你isight变量有弹簧元素,另外你蒙特卡洛的方差选的太大,可能会导致机构不再是你想象的那样。
把左边的设计点拉出来单独仿真下看看和右边的有啥区别。

你说的wz问题,这个自己设置不清楚???
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-11-2 15:30 , Processed in 0.040431 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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