标签:
4a模块win32雷达天线工作空间 |
分类: 工程软件 |
最后使用MATLAB的Simulink建立控制系统:
打开Matlab,进入刚才的工程的目录,输入刚才的产生的m文件的文件名运行,它会做一些初始化工作。
打开此m文件可以看到,它会向Matlab工作目录添加ADAMS的路径,如X:\MSC.Software\MSC.ADAMS\2005\win32下的adams_plant.dll库函数,是adams_sub的核心,ADAMS提供了一个S函数,用于ADAMS和Simulink联合仿真的调度和通信,如果Simulink找不到它,则仿真就不能运行,而运行那个m文件将自动向Matlab工作目录添加以上路径。另外它还会向当前工作空间添加一些变量,联合仿真时,Simulink会用到,所以每次要做联合仿真时都要先运行此m文件,在Matlab中输入who命令可以看到这些变量。
注意:运行以上m文件时可能会出警告,不用管它。
Warning: Function d:\MSC~1.SOF\MSC~1.ADA\2005\win32\amd.dll has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.
然后是导入ADAMS模块并使用,输入adams_sys,将弹出adams_sys_.mdl的模块窗口并保存到当前路径,如下
上面这些就是联合仿真时要用到的ADAMS模块,其中S-Function是实现非线性MSC.ADAMS模型的,State-Space是线性化的MSC.ADAMS模型,adams_sub包括S-Function和其它变量。要构建自己的控制系统时,直接将要用到的拖到自己的Simulink模型中,然后做如下设置即可
双击adams_sub模块,出现此子系统的框图如下
双击MSCSoftware,出现设置对话框
这里面就是ADAMS模块可以设置的属性,可以看到,这里面已经填好了Matlab工作空间中的变量,这些变量就是刚才那个m文件产生的,可以修改相应变量的值来达到对ADAMS模块的设置。
另外对于Output files prefix可以直接修改为字符串,来指定输出文件名,如改为'MyTest'(注意要以单引号括起来),Simulink运行结果将输出仿真结果MyTest.res、要求MyTest.req和图形MyTest.gra3种类型的仿真分析结果文件,这些文件可以用ADAMS导入,用ADAMS的后处理模块显示、分析。
一般还要做的修改为将Simulation mode设为discrete(也是默认选项,它定义了ADAMS程序求解机械系统方程的方式,以及控制程序求解控制系统方程的方式),将Animation mode改为interactive(它决定了在ADAMS/View中动态显示跟踪仿真结果的方式)。完成设置。
根据自己的控制算法构建自己的系统,这里就直接使用ADAMS安装目录D:\MSC.Software\MSC.ADAMS\2005\controls\examples\antenna下的antenna.mdl模型了
里面的adams_sub和跟在后面的两个显示模块就是adams_sys_.mdl里面的,这里也要按上面说的设置方法设置ADAMS模块。
然后作如下设置,开始仿真,选择Simulation|Configuration Parameters,打开如下对话框,修改Start time和Stop time设置仿真时间,修改Solver为ode15s(stiff/NDF),Type要为Variable-step
选择Simulation|Start开始仿真,Matlab程序将调用一个新的带有雷达天线模型的ADAMS窗口,随着输入到雷达天线模型的力矩不断变化,模型在ADAMS窗口中不断摆动,同时Simulink中天线仰角方位角和马达转速的图线也随着不断变化,天线仰角方位角最终稳定到指定值,达到了控制的目的。
注意:如果因为一些原因导致仿真失败,则须重启Matlab,否则会因为一些运行库的错误信息仍保留在系统中,即便已经改正了错误,仿真也会失败,因此,只有重新启动Matlab并初始化这些库,才能保证仿真的顺利进行。
另外还可以使用ADAMS的后处理模块查看仿真的结果。