V90回零,实际位置距离原点限位开关位置较远,挡板碰到原点开关后平台开始反向运行,脱离原点后还会继续运行一段距离后停车(约10mm),因为采用EPOS控制方式,所以用V-ASSISTANT将原点偏移设置为0,仍存在该问题!
因此我查询了一下V90的回原点轨迹,对于EPOS控制下的回原点方法,并没有找到明确的说法(希望懂的大师能够指点一二),但是对于工艺对象控制方式,我倒是在博图中看到了回零轨迹如下图:
根据个人理解,蓝色线段表示按照设定方向运行搜索原点限位。红色线段表示碰到原点限位后,减速至0后反向运行至脱离原点限位,最后绿色线段表示做绝对位移为0的往复运动(P.S 为什么做该动作,一直没搞清)
根据该曲线,我首先想到的是,是否是编写存在BUG,导致在轴未完成最后一段往复运动就被切换至其他模式?
程序如下:

#回零启动最后会导通Execute Mode(激活新mode),那么就是会在axis. Reference触发后复位Execute Mode,因此是否是axis. Reference 信号触发过早,导致轴未完成往复运动就被断开了Execute Mode?
为了验证我得想法,我首先在axis. Reference后添加了一个常开点,这样SR就不会被复位,Execute Mode也会一直导通。测试的时候为了安全起见,我将回零速度调到最慢,同时守住急停按钮和断路器(哈哈哈,设备很贵,我超怂的)。结果并没有任何改变,后来查询手册发现Execute Mode只是激活新mode(上升沿有效),并不会影响之后轴的运行状态。
为此,我用trace监控了回零过程中的几个我认为关键的几个变量:actual position、actual mode、axis reference、伺服原点(外部原点开关信号)、Execute Mode、AxisPosOK。各信号状态和时间的关系如下图!

MODE=7时是点动模式,为了防止多轴干涉,我将所有轴正向点动至正极限后开始回零。咱们从mode由7变4处开始分析,当mode变为4后,position变为0,axisreference变为0,轴开始反向搜索零点,当轴碰到原点限位后(即伺服原点变为1),轴开始减速至0并反向运动(啊啊啊,保存到时候没注意,position曲线少了一点,这里看不到了,实在抱歉,而且应该加一个velocity曲线的,这样能看到方向!),此时,当伺服反向运行至脱离原点限位位置后,axisreference信号为1,position数值瞬间为0,此时回零完成。
到此,可以发现轴并没有做所谓的绝对距离为0的往复运动,那我就不明白喽,为什么我的实际位置和零点限位会产生10mm左右的偏差呢?
是因为通讯延迟导致轴停止过晚?是减速时间过长?
等我有新的进展再和大家分享,同时也希望各位高手能为小弟指点迷津!