AM600与多圈绝对值编码器配合使用说明
-
AM600绝对位置计算方法
-
线性模式(Finite)
AM600的实际位置Axis.fActPosition是通过计算得出的,参与计算的变量有:
A:对象字典0x6064(用户实际反馈指令单位)。
B:Axis.iTurn(溢出次数,PLC记录的伺服相对运动距离大于2^32指令单位时加一,注意:不是读取伺服的多圈值)。
C:Axis.dwRatioTechUnitsDenom(比例单位分母)。D:Axis.iRatioTechUnitsNum(比例单位分子)。
E:Axis.fOffsetPosition(位置偏移)。
-
计算公式:
fActPosition = ((iTurn *2^32 + 0x6064)* iRatioTechUnitsNum)/ dwRatioTechUnitsDenom – fOffsetPosition
例如:后台软件配置如下图所示(注意电子齿轮比为1:1)
通过后台软件监控当前Axis.fActPosition、A、B、C、D的值分别为:
((iTurn 2^32 + 0x6064) iRatioTechUnitsNum)/ dwRatioTechUnitsDenom
= ((1 * 2^32 +(-100663300)) * 1)/8388608
= (2^32/8388608) – 100663300/8388608
= 512 –12.000000476837158203125
= 499.999999523162841796875(与监控的Axis.fActPositon的值相同)
-
旋转模式(Modulo)
该模式下,AM600的实际位置Axis.fActPosition的计算方法是另一种,参与计算的变量有:
A: 对象字典0x6064(用户实际反馈脉冲单位)。
B:
Axis.dwPosOffsetForResiduals (剩余位置偏移)。
C:Axis.dwRatioTechUnitsDenom(比例单位分母)。D:Axis.iRatioTechUnitsNum(比例单位分子)。
E:Axis.fOffsetPosition(位置偏移)。
计算公式:
fActPosition = ((((DWORD)0x6064)- dwPosOffsetForResiduals) * iRatioTechUnitsNum / dwRatioTechUnitsDenom)) – fOffsetPosition
例如:后台配置:
通过后台软件监控当前Axis.fActPosition、A、B、C、D的值分别为:
(1176735336–1174405120)* 45 / 1048576
= (2330216 * 45)/ 1048576
= 100.00202178955078125(与监控的Axis.fActPositon的值相同)。、
-
AM600如何保存绝对位置信息
2.1、保存功能块
通过上面的计算方法,如果需要掉电保持数据,必须保存B、C、D、E栏的值。其中0x6064是从编码器读取的,不需要保存。而C、D栏的数据在下载程序的时候已存储到PLC。所以程序只要保存B栏数据:iTurn(溢出次数)、dwPosOffsetForResiduals (剩余位置偏移)。多圈绝对值编码器位置保存功能块提供了保存、加载B栏数据的功能,功能块如下图所示:
功能块的参数的解释如下:
2.2、保存功能块的使用
2.2.1、新建一个SMC3_PersistPosition类型的实例,命名SMC3_PersistPosition_0。
2.2.2、新建一个SMC3_PersistPosition_Data类型实例persistentData。变量类型为RETAIN PERSISTENT,如下图:
SMC3_PersistPosition_Data结构体变量如下
2.2.3、SMC3_PersistPosition_0实例的bEnable变量初始化为 TRUE,或者直接给输入端口赋值TRUE、Axis输入端为需要保存位置的轴。
2.2.4、新建保持变量文件,添加完成后,重新编译程序。
2.2.5、编译无误后,打开”PersistentVars”文件,在文件空白处右击选择”Add all instance paths(添加所有实例路径)”后,编译下载程序,绝对值编码器的数据保存功能已生效,如图:
注意:为了保证上电后SMC3_PersistPosition_0加载数据的正确性,需判断输出变量bPositionRestored的状态,如果数据读取正确,bPositionRestored的状态为TRUE。
关注本站微信公众号,可以更方便的获得更多资源资料
燕骏工控博客[环宇工控博客]–www.yanjuntech.cn 专注于工业自动化领域,分享工控相关经验与教程,分享收集的百度云盘工控资料资源,记录个人生活读书感悟。期待与您相遇~~
转载请注明:燕骏博客 » AM600与多圈绝对值编码器配合使用说明
赞赏作者微信赞赏支付宝赞赏