马上注册,享受更多特权
您需要 登录 才可以下载或查看,没有帐号?立即注册 ![](source/plugin/zhanmishu_wechat/template/static/img/wechat_login.png)
x
本帖最后由 紫色花开 于 2020-5-23 14:28 编辑
一、 前景回顾
上次说了凸轮耦合中的一些异常情况,但是没有说如何处理这些情况,只是介绍了凸轮在使用时出现飞车和相位偏差的原因。
凸轮耦合异常的分享
http://bbs.inovance.com/forum.php?mod=viewthread&tid=1840
(出处: 汇川技术官网-水滴社区)
上期主要图片如下:
上述图片依次列举了:飞车出现的几种情况,正常凸轮周期跑过的路径,周期内再次触发耦合产生的飞车及相位偏差。为什么出现这种情况,我们上期说了,怎么处理,上期没说,接下来,我们将接着上期未说完的故事,继续我们本期故事。 二、 主从轴偏移小技巧
是时候上张图了(PS:该图来自《AM600系列可编程逻辑控制器(运动控制篇)》):
用通俗语言翻译一下上述两张图片,就是:可以用主轴偏移值来控制从凸轮曲线X轴的哪一点开始耦合,偏移值的内存在周期结束后会被清除(ps:即偏移值是个变量,可以变化)。说完了主轴的偏移,我们在来说一下从轴的偏移,如果说主轴偏移解决了左右的问题,那么从轴偏移就解决了上下的问题,可以用从轴偏移来控制凸轮曲线向上或者向下平移多少。(PS:本质上其实是凸轮主轴,从轴与凸轮曲线的一些对应关系,为了便于记忆和理解,我们就说主从轴偏移是对凸轮曲线进行操作) 三、 飞车及相位偏差分析
3.1 主轴相对从轴相对模式
首先我们看一下主轴相对从轴相对的这种情况,这种应该是用的比较广泛的一种方式,因为这种方式不会造成飞车,大家还是比较喜欢的。这种方式在耦合时,如果从头跑到尾,然后在合适的时机再次耦合,是没有问题的。但是如果它跑的好好的,还没到周期结束,你突然再给个耦合的信号,这样就会出现相位偏差和从轴叠加,耦合的时候,会认为是从凸轮表(0,0)位置开始跑。这个在上次的异常耦合分享中说过,不在赘述了。
那么如何实现相位不偏差,从轴不叠加呢,我们可以巧用主从轴偏移量来解决这个问题。如何解决呢? 对于相位偏差,我们已知主轴的位置(主轴.factposition),利用主轴偏移,让曲线向左移动(主轴.factposition)的距离,那么凸轮就会从凸轮表(主轴.factposition,从轴.factposition)位置开始跑。从表面上看,这样就可以了,确实,如果从轴是绝对模式,这样就没有问题了,也不用从轴偏移了。然而,我们的从轴是相对的。它在耦合瞬间会认为自己所在的位置是*零*;我们需要通过从轴偏移来解决这个问题,可以理解为,通过从轴偏移告诉从轴他所在的位置不是*零*,也可以理解为是通过从轴偏移将曲线向下移动(从轴.factposition)的距离,使得凸轮表是从(主轴.factposition,0)位置开始跑。这样其实就解决了从轴叠加的问题。 3.2 主轴相对从轴绝对模式
对于这种模式,首先相位偏差是存在的。其次耦合的时候,会认为是从凸轮表(0,0)位置开始跑,但是从轴知道自己的位置(从轴.factposition),会从现有的位置(从轴.factposition)飞到0(PS:(从轴.factposition)≠0),不会存在从轴叠加。对于这种模式,只要解决相位偏差即可,方法和3.1一样,用主轴偏移即可。偏移后,凸轮会从凸轮表(主轴.factposition,从轴.factposition)位置开始跑,从轴知道自己的位置(从轴.factposition),(从轴.factposition)=(从轴.factposition),不会产生飞车。 3.3 主轴绝对从轴相对模式
对于这种模式,由于主轴的绝对的,不会出现相位偏差,但是由于从轴是相对的,会出现飞车情况。我们只需要把从轴进行偏移,就能解决飞车的情况。方法如3.2小节。 3.4程序仿真
来不及解释了,直接上图:
|