联合仿真的初版

上传人:豆浆 文档编号:92362050 上传时间:2019-07-09 格式:DOC 页数:14 大小:1.05MB
返回 下载 相关 举报
联合仿真的初版_第1页
第1页 / 共14页
联合仿真的初版_第2页
第2页 / 共14页
联合仿真的初版_第3页
第3页 / 共14页
联合仿真的初版_第4页
第4页 / 共14页
联合仿真的初版_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《联合仿真的初版》由会员分享,可在线阅读,更多相关《联合仿真的初版(14页珍藏版)》请在金锄头文库上搜索。

1、Matlab与Adams联合仿真的实现(3-2)(2011-06-10 10:30:28) 转载标签: 4a输入输出变量雷达天线控制程序分类: 工程软件 下面来创建ADAMS控制系统模型。如下图,ADAMS和Matlab联合仿真,它们之间要有信息的交换,ADAMS要把模型的当前位置、速度等信息告诉Matlab,而Matlab要根据控制算法,告诉ADAMS电机要转动多少角度来尽快达到稳定。对于ADAMS模型来说,就要有相应的输入和输出。这里把雷达摆动的驱动力矩azimuth_actuaror作为输入,把雷达天线仰角的方位角azinuth_position和马达的转速rotor_velocity作

2、为输出,而ADAMS程序与控制程序之间是通过相互传递状态变量进行信息交换,所以要将模型的输入输出变量及其输入输出函数用一组状态变量来表示。在这个ADAMS的例子中,它们已经被定义好了,现只来查看一下。查看输入变量:选择Build|System Elements|State Variable|Modify双击main_olt,选择control_torque,OK,查看此状态变量可以看到它的控制力矩为0.0,因为控制力矩取自控制程序的输入,而不是此处定义的值,所以在系统仿真过程中,程序会自动根据控制程序的输出实时刷新控制力矩的值。查看输入函数:在这里输入函数就是驱动力矩azimuth_actua

3、ror与上面定义的输入变量之间的关系,ADAMS与Matlab通过输入变量和函数联系在了一起。右击驱动力矩azimuth_actuaror,选择Torque:azinuth_actuator|Modify可以看到Function的表达式为VARVAL(control_torque),而VARVAL()是一个ADAMS函数,它返回状态变量control_torque的值,也就是说,给雷达天线输入的控制力矩azinuth_actuator是从状态变量control_torque处获得的力矩值。查看输出变量:同理,可以查看方位角azinuth_position和马达的转速rotor_velocity

4、的状态变量,如下,其中AZ(MAR70,MAR26)表示函数返回轴承上标记点MAR70绕大地上标记点MAR26的z轴旋转的转角角度值,从而将雷达天线俯角的方位定义为输出变量,传递给控制程序;WZ(MAR21,MAR22,MAR22)表示函数返回马达上标记点MAR21绕大地上标记点MAR22的z轴旋转的角速度值,从而将马达转速定义为输出变量。上面定义了用于机电联合仿真的输入输出变量,但是在ADAMS/Control模块的输入输出设置中还不能直接使用这些变量,需要将这些状态变量定义为输入输出宏。输入宏的定义方法为选择Build|Controls Toolkit|Plant Input如下图,定义输

5、入宏输出宏同理可定义,但实际上,雷达天线的输入输出宏在导入时已经定义好了,无需再定义,可以在Edit|Modify中可以查看而那个PINPUT_2是我们刚才定义的。然后就是设置ADAMS/Controls模块,导出相应文件:选择Controls|Plant Export,选择相应的输入输出宏File Prefix可以修改为你想要的名字,Control Package改为MATLAB,如下OK,完成设置,在ADAMS的当前目录下就产生了3个用于联合仿真的文件:一个是保存ADAMS/Controls输入输出信息的MATLAB程序文件GJTest.m,一个是ADAMS/View命令文件GJTest.cmd,一个是ADAMS/Solver命令文件GJTest.adm。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号