Matlab7.1ADAMS2005仿真步骤与调试经验_第1页
Matlab7.1ADAMS2005仿真步骤与调试经验_第2页
Matlab7.1ADAMS2005仿真步骤与调试经验_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matlab7.1+ADAMS2005仿真步骤与调试经验参照SimWe中wxd等大牛关于联合仿真帖子,最近也做了一些联合仿真,遇到了不少困难,最后得到的结果还令人满意,深切体会到联合仿真在机电系统控制分析中的作用,下面将自己的一些笔记整理后与大家共享,作为对SimWe的回报,其中有不少错误和问题应该是新手都比较容易遇到的,希望可以对大家有所帮助。1建立Adams仿真模型,设文件名为Adams.bin和Adams.biq并进行初步仿真,验证其合理性。2在Matlab中建立控制模型,进行单独仿真,确保控制模型的正确性。3新建立一个仿真文件夹,比如Adams_Matlab, 将Adams.bin和Adams.biq文件copy到该文件夹下;将MSC.ADAMS2005Win32文件夹中的adams_plant.dll文件和MSC.ADAMS2005Controls-Win32下的plant.lib文件也Copy到该文件夹下(仿真中经常因为路径问题出错,有不少关于路径设定的帖子,本帖子中的方法已经过验证,优点是文件集中,便于统一管理)。4打开Adams.bin文件,注意,打开文件时,选择“Open an existing database”后,一定要将下边的“Start in”设置到Adams_Matlab文件夹,确保生成的*.m(假设文件名为simwe.m)等4个文件在该文件夹中,避免不必要的麻烦。5Adams-Controls-Plant Export,设定输入变量和输出变量以及文件名等。详见郑建荣的“ADAMS虚拟样机技术入门与提高”等书;也可以查看Adams的Help-Other Product Help-ADAMS/Controls中的Examples等帮助,看帮助文件的好处是消除了版本不同所带来的局限,例如在Adams2003以上的版本中对输入变量和输出变量的设置需要借助PINPUT_1和PINPUT_1等中间变量,与基于ADAMS12及以下版本的书中描述的不同。 完成后可以看到生成相关的文件。6在Matlab中,将其工作目录设定到Adams_Matlab文件夹,输入simwe.m文件的文件名simwe(不包括扩展名.m),将相关变量调入当前Workspace,同时可以查看输入输出变量,否则可能出现Parameter ADAMS_sysdir cannot be evaluated.MATLAB error message: Undefined function or variable ADAMS_sysdir等错误。7新建Ada_Mat.mdl文件,将原Matlab仿真文件Copy过来并进行相应修改,用Adams模型代替其相关部分。其中的Adams_Sub可以直接从Examples里边的antenna.mdl文件copy后进行修改,主要修改输入输出变量名和变量个数即可,注意同时要将Mux和Demux的Number of Inputs和Number of Inputs进行修改,将数目改为与自己的输入输出变量对应的个数,同时将输入输出变量改为自己命名的变量名。8对于仿真时的一些错误,处理方法有:检查是否将simwe.m文件的变量调入工作区;检查Matlab路径设定是否正确;将Matlab关掉重新启动(没太搞明白原因,但是对于一些错误有效,比如有一次 “error in startup Could not connect to ADAMS server”就是用此方法解决的;此错误在之前遇到过一次,是因为我Copy了用03版本做的.mdl文件;另外误用03版本的plant.lib和adams_plant.dll文件,仿真会提示错误,大致意思是:S函数需要0个参数但是有18参数)。9有时由于参数不正确等原因,仿真会失败,比如提示如下错误:Error reported by S-function adams_plant in GCdd/adams_sub/ADAMS Plant/S-Function: ADAMS output evaluation failure at time 0.695000。此时需要仔细检查,设定合理的参数,这种错误比较难查,需要对模型准确的把握和对提示信息的理解;有时DOS界面一闪就消失了,如果想要查看界面提示信息,只需再进行一次错误的仿真即可调出DOS界面。10仿真出错后,即使将参数改正确了发觉仍旧提示以前错误,这时重新启动Matlab,设定路径,调入simwe.m文件,按新参数仿真,便可以成功执行。11完毕后可以设定与联合仿真时对应的参数在ADAMS中进行单独仿真,比较反馈结果,还可以将这两组结果在Matlab中同时绘制出来进行比较。error in startup Could not connect to ADAMS server楼上的,问题解决了吗?在1楼的帖子中有关于这个错误的介绍,我也不清楚问题具体是处在哪里,只能罗列一些我知道的情况。有一次是Matlab出了问题,一直无法连接上,重装后就好了。还有一种可能,是从网上看到的(我没有遇到过这种问题): 如果你有上网的客户端认证软件运行的话,我建议你在仿真之前就赶紧把它关掉吧,我仿真是出的问题就有这一点,经常出现ADAMS的server不能开启的情况,关掉认证软件后,就能执行了。一般一些校园网上网时比较容易用这些客户端认证软件,比如华为的。(/user1/6/archives/2006/200672684618.html) 如果你解决了,希望能与大家分享解决方案。但是有时候做第一次会成功,原封不动再运行一遍就会出现Error reported by S-function adams_plant in GCdd/adams_sub/ADAMS Plant/S-Function: ADAMS output evaluation failure at time 0.695000,之类的错误对于楼上的问题,我的感觉是运算过程超出了误差限所致。可是如果是那样的话,为什么第一次运行可以,而第二次运行不可以呢?难道是因为第一次运行时改变了一些中间变量所致?可以尝试用clear all命令将Matlab工作空间中的信息全部清除后再进行仿真(不要忘了将变量重新调入)。希望高手们可以讨论一下 yangfanhn所提错误的原因以及解决方案。对于楼上的问题,我的感觉应该是运算过程超出了误差限所致。但是如果是那样的话,为什么第一次仿真可以,而第二次仿真就不行了呢?难道是由于第一次仿真时改变了中间变量所致?可以尝试一下用clear all命令清除Matlab当前Workspace中的内容,然后调入*.m文件进行仿真看看。希望高手们可以讨论一下 yangfanhn 所提问题的原因和解决方案对于楼上的问题,我的感觉应该是运算过程超出了误差限所致。但是如果是那样的话,为什么第一次仿真可以,而第二次仿真就不行了呢?难道是由于第一次仿真时改变了中间变量所致?可以尝试一下用clear all命令清除Matlab当前Workspace中的内容,然后调入*.m文件进行仿真看看。希望高手们可以讨论一下 yangfanhn 所提问题的原因和解决方案。我仿真的时候是出现下面的 提示:Error in my/adams_sub/ADAMS Plant: Parameter mytes

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论