本帖最后由 lamwenwei 于 2020-7-20 23:06 编辑
以CTH300-C CODESYS V3.5 SP4 Patch 4 以例
对于非绝对坐标系下:
1.可能会有上电要进行回原点操作。需要确定物理原点,作为整个系统的绝对位置。
如果使用绝对值编码器:
掉电后位置是保持的,所以可以不进行回原操作,坐标系原点可以设置成默认。
MC_Home:伺服端原点复归功能
1.原点及正负限位接到伺服上
2.触发伺服的DI端子进行回原
3.伺服本身控制精度更高
SMC_Homing:上位机端原点复归
1.原点接到PLC上
2.PLC控制伺服运动
3.PLC受扫描周期影响,精度不高 1、MC_HOME
MC_HOME需先配置伺服的回零方式、回零速度等。 程序触发MC_HOME PLC只是将伺服运行模块改为回零模式,启动回零,等待伺服自己回零,反馈完成信号,然后将模式切换为回零前的控制模式。
以A4N为例 根据实际设备选择合适的原点回零方式; 将左右极限位、原点开关接到伺服。 伺服DI信号说明
在CODESYS软件中通过如下方式设置伺服的回零方式和回零速度
调用MC_Power使能伺服。 伺服使能后调用MC_HOME指令,输出Done为ON表示回零完成 注意: 1.如果伺服原点开关有效后没有反向减速停止请检查DI接线和DI分配是否正确; 2.如果长时间检测不到极限信号或原点信号,MC_Home指令扫描65535次后会报错; 3.伺服使能前,不能执行MC_Home指令;
2、SMC_HOMING 以上是将极限、原点信号线接在伺服上的使用方法,如果信号线已经接在PLC上时该如何使用呢。只需要将上面改为如下。 将左右极限位、原点开关改为接到PLC; SMC_HOMING通过 bExecute的上升沿启动之后,轴将会按照速度 fVelocityFast 并以nDirection定义的方向开始运动,直到bReferenceSwitch = FALSE。 然后轴将会缓慢停止并按照相反的方向以速度fVelocitySlow离开参考开关。 bReferenceSwitch = TRUE后回零完成,设置参考位置。 注意:SMC_HOMING是控制器控制回零,回零完成后的当前位置是控制器设置的位置,不等于伺服编码器值。 重新上电或初始化轴后位置可能发生变化。 SMC_HOMING使用方法: 在I/O映射配置机械原点 - 使能回零指令后bReferenceSwitch的状态为ON->OFF->ON,在OFF->ON的上升沿回零完成,设置参考位置。
- 参考位置=fHomePostion+((fSignalDelay_1000+1个DC时钟周期)/1000)_fVelocitySlow实际就是补偿了设置的bReferenceSwitch采样延迟和一个通讯周期位移延迟。
- 如果bReturnToZero=TRUE,bReferenceSwitch的状态在OFF->ON的上升沿将参考位置设置为fHomePostion+((fSignalDelay_1000+1个DC时钟周期)/1000)_fVelocitySlow,然后按照速度fVelocityFast运行到0位置。
|