Matlab7.1+ADAMS2005仿真步骤与调试经验

来源:互联网 发布:淘宝卖家花呗 编辑:程序博客网 时间:2024/05/18 03:31

 

引用

BakerMatlab7.1+ADAMS2005仿真步骤与调试经验

Matlab7.1+ADAMS2005仿真步骤与调试经验
参照SimWe中wxd等大牛关于联合仿真帖子,最近也做了一些联合仿真,遇到了不少困难,最后得到的结果还令人满意,深切体会到联合仿真在机电系统控制分析中的作用,下面将自己的一些笔记整理后与大家共享,作为对SimWe的回报,其中有不少错误和问题应该是新手都比较容易遇到的,希望可以对大家有所帮助。

1.建立Adams仿真模型,设文件名为Adams.bin和Adams.biq并进行初步仿真,验证其合理性。

2.在Matlab中建立控制模型,进行单独仿真,确保控制模型的正确性。

3.新建立一个仿真文件夹,比如Adams_Matlab, 将Adams.bin和Adams.biq文件copy到该文件夹下;将…\MSC.ADAMS\2005\Win32\文件夹中的adams_plant.dll文件和…\MSC.ADAMS\2005\Controls->Win32\下的plant.lib文件也Copy到该文件夹下(仿真中经常因为路径问题出错,有不少关于路径设定的帖子,本帖子中的方法已经过验证,优点是文件集中,便于统一管理)。

4.打开Adams.bin文件,注意,打开文件时,选择“Open an existing database”后,一定要将下边的“Start in”设置到…\Adams_Matlab\文件夹,确保生成的*.m(假设文件名为simwe.m)等4个文件在该文件夹中,避免不必要的麻烦。

5.Adams->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中同时绘制出来进行比较。

1 0
原创粉丝点击