Matlab与adams联合仿真+仿真结果动画的保存与后处理

发布时间 : 星期一 文章Matlab与adams联合仿真+仿真结果动画的保存与后处理更新完毕开始阅读

图14 指定输出变量为Angel、Velocity

4) 导出控制参数

点击Plugins>Controls>Plant_Export。

图15 导出控制参数

点击From Pinput,选择PINPUT_1。

图16 设置输入输出参数

同样的方法,点击From Poutput选择POUTPUT_1。将Target Software设置为MATLAB。File Prefix设置为controls_PID,其他按照默认设置不做改动。

图17 导出控制参数对话框

3. 建立MATLAB控制模型

1) 导出ADAMS模型在MATLAB中的模块

启动MATLAB,先将MATLAB的工作目录指向ADAMS的工作目录,方法是修改当前的工作目录为之前在ADAMS中新建模型时的工作目录,这里是C:\\adams。点击浏览文件夹选择文件夹C:\\adams。在命令窗口提示符》下输入Controls_PID,也就是Controls_PID.m的文件名,再在命令提示符》下输入adams_sys,弹出一个新窗口,这个窗口是MATLAB/Simulink的选择窗口其中S-Function方框表示ADAMS模型的非线性模型,即进行动力学计算的模型,State-Space表示ADAMS模型的线性化模型,在ADSMA_sub中包含有非线性方程,也包含许多有用的变量。

图18 导出ADAMS在MATLAB中的模块

图19 ADAMS在MATLAB中的模块

2) 建立控制方案

在MATLAB/Simulink选择窗口中,单击菜单file>new>model或直接单击新建模型按钮 , 弹出新的Simulink窗口,单击工具栏中的保存按钮,将新窗口存盘为control_model.mdl(不能与.m文件同名)。将ADAMS_sub 方框拖拽到control_model窗口中,并搭建如图所示控制系统,此控制系统采用角度PID控制对偏心杆的角度进行控制。也可以采用其他的控制方案。

图20 Simulink中PID控制图

3) 设置MATLAB与ADAMS之间的数据交换参数

在control_model窗口中双击ADAMS_sub方框,在弹出的新的窗口中双击MSC Software,弹出数据交换参数设置对话框,将Adams Solver type设置为Fortran(如果设置为C++,ADAMS的构件不会运动,看不到动画效果。),将Interprocess设置为PIDE(DDE),如果不是在一台计算机上,选择TCP/IP,Animation mode设置成interactive,表示交互式计

算,在计算过程中会自动启动ADAMS/View,以便观察仿真动画,如果设置成batch,则用批处理的形式,看不到仿真动画,将Simulation Mode设置为continuous,将Communication Interval输入框中输入0.005,表示每隔0.005s在MATLAB和ADAMS之间进行一次数据交换,若仿真过慢,可以适当改大该参数,其他使用默认设置即可。

图21 数据交换参数设置对话框

4) 仿真设置和仿真计算

单击窗口中菜单Simulation>Model Configuration Parameters,将Stop Time设置为20。Type设置为Variable-step,其他使用默认选项,单击0K按钮。单击开始按钮,开始仿真。(若出现错误,重启MATLAB即可。每次启动MATLAB都需要选择路径包含Controls_PID.m、Controls_PID.cmd、Controls_PID.adm的文件夹,并输入Controls_PID(.m文件名)和adams_sys(ADAMS与MATLAB的接口命令))。仿真过程中将自动加载Adams/View窗口,并生成一个aviewAS.cmd的文件,如果你的Adams/View所设置的工作目录中含有此文件,那么启动软件时将不会出现欢迎界面,如果需要在启动时出现欢迎界面必须把此文件删除。 4. 结果后处理

在MATLAB示波器中,可以得到角度、角速度和力矩的曲线,Angel、Velocity、Torque的曲线如图所示。此模型初始受重力作用,产生转动,通过控制力矩地大小,最终角度、角速度、力矩都能达到稳定,角度达到预设值。控制框图的预设值为幅值为10的阶跃信号,即控制偏心杆的角度为100。观察角度的变化曲线发现大约在14s时,Angel的值达到预设值10,满足控制要求。

联系合同范文客服:xxxxx#qq.com(#替换为@)