大家好,今天介绍一个信号库里非常常用的间隙函数。本以为大家都会的,结果连续两天在交流群里面有人提问,所以这里简单的介绍一下。
典型场景:
设定房间温度高于18℃打开空调,低于18℃关闭空调。这个时候如果房间温度在18℃附近时,就会反复的打开和关闭空调。
常见的处理措施,就是设定一个小范围,例如改为18±1℃。当房间温度高于19℃打开空调,当房间温度低于17℃关闭空调。如此一来就可以避免频繁打开和关闭空调的问题了。
元件介绍:
在Amesim中就有这样专门函数去处理。
这个元件一共有5个参数,对应上面温度的例子进行设置:
initial output value 选择初始状态是低位激活或者高位激活
high input threshold value 高位激活条件,应该设置19℃
low input threshold value 低位激活条件,应该设置17℃
high output value 高位激活后输出值,可以设置空调开
low output value 低位激活后输出值,可以设置空调关
典型案例:
我们再做如下一个例子:一个1m高的水箱不断的被进水管注水,当水面高度超过0.9m的时候,水桶底部阀门打开排水。当水面高度低于0.1m的时候,关闭水桶底部阀门开始蓄水。那么在仿真中,将会出现不断的注水和蓄水。
建立Amesim模型如下:
在上述模型中,压力源模拟水箱注水,下面的函数元件将压力传感器信息折算为水面高度,然后由间隙函数进行水箱出口阀门的控制。对应的间隙函数参数设置如下:
我们设置300s的仿真时长,运行仿真查看水箱中水面高度结果。可以看到水面高度在0.1m到0.9m之间不断波动,符合预期。
为了更加直观形象,我们将水面高度信号、阀门控制开关信号,和中控台里面的显示元件绑定,实时数据驱动进行演示,效果如下:
总结:
今天给大家介绍的间隙函数是十分常用、十分好用的一个元件,在建模的时候可以灵活运用。比如在液压系统里面做压力继电器,用这个间隙函数就可以非常轻松的做出来了。Amesim信号库十分强大的,但是由于比较基础,阅读帮助文件基本上就可以看懂,所以我们的系列课程并没有信号库的专题视频课程,今后我会通过这种小文章的形式给大家分享。
本文使用的Amesim模型文件下载链接: