事情的起因是上个学期机械原理的课程设计作业需要对设计的生产线上的步进式工件输送机进行仿真分析,我们需要对滑架施加一个推程过程有固定阻力,回程没有阻力的力,通过查阅资料,发现可以通过step函数和if函数进行编写该力的函数

第一种方案:step函数
step函数有五个变量STEP(x,x0,h,x1,h1)参数说明: 一自变量,可以是时间或时间的任一函数;x0一自变量的STEP函数开始值,可以是常数、函数表达式或设计变量; x1一自变量的STEP函数结束值,可以是常数、函数表达式或设计变量 h0-STEP函数的初始值,可以是常数、设计变量或其它函数表达式 h1-STEP函数的最终值,可以是常数、设计变量或其它函数表达式,该函数会自动在两点之间拟合曲线,若没有其他编写计算的话,step函数两端会是其因变量的值,即当x<x0,y=h0;当x>x0,y=h1那么我们就可以通过这一特性来编写我们所需要的阶梯型力函数。首先我们要确认推程需要的时间,和返程需要的时间,这一部分我没想到什么好方法,我是通过仿真设置中切换到动画控制来看确认时间,它的总帧除以我们的持续时间就能确定一秒有多少帧,或者反过来确认一帧为多少秒,这样我们就得到了编写step函数所需的参数。


编写完成的step函数效果如下,我们可以看到,step函数实现了我们需要的阶梯型的力,我们在0.1的范围内实现了从0到2500的拟合,该过程可近似看作是一个竖直的线。

由此,我们可以在后处理中得到驱动力矩的图像

可以看到这种方法存在缺点:1.我们时间节点本质上是一个近似的确定,并不准确。2.在0.1这个小的区间长度内确实仍存在误差,所以我们的图像可以看到一个小的突起。这个时候就需要用到我们的第二种方法。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删