说明
首先检查校正值是否真的丢失,检查这个问题很简单。
如果 CPU 启动后,出现意外情况,在触发新的编码器调整之前,检查***列表中以下系统变量值的状态:
- "absoluteEncoder.absoluteEncoder<x>.activationState" 和
- "absoluteEncoder.absoluteEncoder<x>.totalOffsetValue"
***个值表示偏移量是否已包含在计算中,第二个值是偏移量。
如果校正值确实丢失了,这不一定是一个错误。通常在以下情况下需要更新***值编码器的校准值:
将新项目装载到控制器后。
项目没有存储在 ROM中,进行了断电/上电后。
完全复位后。
如果在计算中已经正确的包含了偏移量, 检查编码器参数设置的是否正确。
背景:工艺对象启动后,读取一次完整的***值 (通过 Gx_Ist2),然后只使用 Gx_Ist1 的增量值。如果参数 Gx_Ist2 分配的不正确,工艺对象就不能正确地识别出***值,从而导致位置错误。
检查***值编码器是否被参数化为“***值编码器,循环”。
如果编码器不能覆盖到轴的整个位置范围,必须使用“***值编码器,循环”,以便考虑到编码器的溢出(不要误认为是多圈)。
如果排除了以上几点,那么只剩下以下原因。
用户程序错误执行了寻参。当出现这种情况时,一个可能的现象是轴的位置值在控制器启动后总是保持相同的值。
编码器实际上可能会传送一个不正确的***值,比如,编码器本身有缺陷。