目录
一、问题描述
三、结语
一、问题描述:基于simulink的机电液三者(Adams、AMEsim、matlab/simulink)联合仿真,在simulink里面仿真时总是仿真到19%就停止仿真,报错。
报错信息如下:
我的初步解决思路是:
1、三者联合仿真可能会出现代数环问题,于是在输出端加入了memory模块;
如图:
2、AMEsim子模型可能有问题,我重新建立了液压模型,用的都是它里面默认的子模型;
3、是不是仿真的求解器用的不对,步长要用变步长而不是fixed step(这个我不是特别清楚,就设置的simulink里面默认的)
如图:
但还是出现问题描述里面的报错,求各位大佬解惑!
二、2023.7.18第二次更新(解决办法)
1.首先是液压子模型要在AMEsim里面仔细修改,我的问题是液压缸的缸径和杆径设置得比较大,导致就算有很大的液压压力也推不动活塞杆动,仿真后活塞杆的位移很小;大家可能会碰到的问题有可能是液压阀的阀口压力超过了它这个模型最大承受的压力,整个液压系统崩溃了什么的,一定到弄清楚自己的液压系统各个元件的参数!!!
2.第二个我出错的地方就是Adams模型和AMEsim液压模型设置的仿真步长、仿真交换时间(interval step)不一样,要设置得一样;
设置步骤如下:
1)在AMEsim里面修改仿真时间要和simulink仿真时间一样,我这个设置的都是10s,交换时间间隔0.01s:
2) simulink里面adams模型设置仿真交互时间间隔为0.01s:
点开它里面的子模型
然后点开它红色的块块,设置就行了;
3)simulink里面调用AMEsim液压模型的S-function 仿真步长、交互时间间隔都设成0.01s:
3.最后运行仿真就不会出现我之前出现的错误了!Yeah!
三、结语
1.有很多不专业的地方还请大家见谅,这篇博客就是按照我的理解来写的,哈哈。
2.希望我踩过的坑对大家有帮助,有什么不明白的还可以在评论区讨论!