关于step & if 函数
关于这两个函数的使用,已经有过许多讨论,见http://www.simwe.com/forum/search.php?searchid=189&orderby=lastpost&ascdesc=desc&searchsubmit=yes
(1)IF( expr1 :expr2 , expr3 , expr4 )
运行时,程序计算expr1,大于0进行expr2,等于0进行expr3,大于0进行expr4
(2)STEP (x, x0, h0, x1, h1)
说明:这里的x不仅可以是time,还可以是其他状态变量如长度、力等等;只需Bulid->System element->state variable中定义,便可使用。
假定已按上述方式定义了一状态变量StateVariable_Disp,则可通过VARVAL :STEP( VARVAL(StateVariable_Disp) , -25 , 0, -20 , 1)
$$$$$$$$$$$
值得说明的是,对于不同过程工况的仿真,我们不一定非要通过step&if嵌套使用!
这里以升降装置模型为例,欲实现如下工况:
活塞piston的位移:
case1 : 前10s静止不动,
case2 : 1到2.6s下降撑地, 下降250mm
case3 :2.6到5撑起车体,活塞不动,油缸被撑起
case4 :5到10s,静止不动
case5 : 10到20s油缸收起,后面2物体都禁止不动 收起490mm
一种方法是将motion定义为if(time-1:0,100*(time-1),if(time-2.6:100*(time-1),250,if(time-10:250,250,if(time-20:250-49*(time-10),-240,-240))))
推荐使用另一种方法:script语言。 不错,感谢楼主分享。 太好了,学习了:handshake 感谢楼主!:handshake 謝謝樓主大大的講解 谢谢,学习学习学习! 谢谢:victory: 谢谢 学习了谢谢楼主 if在处理多个情况动作的时候确实让人很头疼,因为adams自带的if功能不如平时用c中的强大 謝謝大大分享 受教了 每次来看都有收获。。。 好东西,收了 这个太好了!谢谢LZ:handshake 感谢~~~~~~~~~~~~~~~~
页:
[1]