本帖最后由 liuweidong 于 2023-6-30 14:31 编辑
一.问题描述 在将主轴和从轴使能后,再使能电子凸轮指令,此时并未通过运动指令驱动主轴运动,但从轴却会以极高的速度转一个周期。 二.问题分析 1.电子凸轮功能工作时序(以一个主轴,一个从轴为例) 1)通过使能MC_Power指令,分别将主轴和从轴使能 2)通过使能MC_CamTableSelect指令,选择为主从轴选择凸轮表 3)通过使能MC_CamIn指令,将主从轴按选择的凸轮表,建立起跟随关系 4)对主轴,通过MC_MoveVelocity指令(或者Absolute,Relative),驱动主轴运动。 此时,从轴会跟随运动。 2. 问题出现原因 根据多次实验分析,发现有因为主轴使能后,此时主轴的电机会有微小的抖动,而导致主轴的实际位置可能出现负向的微小偏差。此时,若使能电子凸轮指令,由于用到的电子凸轮是周期性的模式(通常默认设置为360),PLC会认为主轴的负向微小位置是上一个周期的接近结束位置,如-0.1对应359.9。因此,PLC会立即控制从轴高速跟随到主轴359.9对应的从轴位置,即接近一个周期的距离。 其实,上电使能后,主从轴都有可能会出现一个微小的抖动。但通常情况下,凸轮表中,从轴位置是从0开始,因此从轴的微小抖动,虽然在启动凸轮后,也会有一个瞬间的调整过程,但由于抖动极小,因此过程不明显。 MC_CamTableSelect指令有两个关键参数MasterAbsolute和SlaveAbsolute; MC_CamIn指令也有一个同样的关键参数StartMode(取值可以是绝对模式或相对模式)。 只有当主轴位置选择绝对模式,即MC_CamTableSelect指令关键参数MasterAbsolute为true时,PLC会按照先前的分析进行计算,导致从轴会多跑一个周期。而如果主轴位置选择的是相对模式,则不会出现该问题。 三.问题解决方法 鉴于前面的分析,该问题核心是要满足上面这三种情况下的正常使用。于是,结合现场应用需求,对凸轮指令的参数进一步分析和实验,得出如下结论: 主轴输入转换的位置是根据以下公式进行的,并且使用转化后的X作为作为凸轮的输出: X = MasterScaling*MasterPosition + MasterOffset 。因此,可以通过MasterOffset参数调整主轴的位置输入量。 SlaveOffset, SlaveScaling: 从轴输出变换的位置是根据以下公式进行的,并且使用转化后的Y作为凸轮中从轴的实际输出:Y = SlaveScaling*CAM( X ) + SlaveOffset 。因此,可以通过参数SlaveOffset调整从轴的位置输出量。 由此可见,不管是由于主轴还是从轴的初始位置偏移量(抖动或正常的运动导致)带来的从轴瞬间高速调整过程问题,解决思路都是通过一定途径,抵消掉主轴或从轴的初始偏移量导致的问题。 主轴偏移量导致的问题: 1)方法1: 将主轴位置模式配置为相对模式 该方法只适用于主轴可以支持相对位置模式的情况。 具体方法是:将MC_CamTableSelect的参数MasterAbsolute的值置为False,即 不使用绝对位置模式。其它参数不变。 注:若主轴只能使用绝对位置模式,则该方法不适用。 2)方法2: 将主轴位置进行反向偏移 该方法只能用于主轴仅支持绝对位置模式的情况。 具体步骤是: 将MC_CamTableSelect的参数MasterAbsolute的值置为True,即主轴使用绝对位置模式。 定义一个LREAL型的变量主轴偏移,该变量的初始值为 主轴偏移 := 0 – 主轴当前位置; 然后,将主轴偏移量值赋给指令MC_CamIn的输入参数MasterOffset。如下图所示:
从轴偏移量导致的问题: 当问题是由于从轴的初始偏移量导致时,解决方法有三种: 1)方法1:将从轴位置模式配置为相对模式 该方法只适用于从轴支持相对位置模式的情况。 具体方法是:将MC_CamTableSelect的参数SlaveAbsolute的值置为False,即 不使用绝对位置模式,其它参数不变。 注:若从轴只能使用绝对位置模式,则该方法不适用。 2)方法2:将凸轮启动模式设置为相对模式 具体方法:将MC_CamIn指令的StartMode参数设置为1(相对模式),其他参数不变。 3)方法3 :将从轴位置进行反向偏移 该方法只能用于从轴仅支持绝对位置模式的情况。将从轴当前位置值赋给指令MC_CamIn的输入参数SlaveOffset。
|