快使用Ctrl+D收藏本站!本站早已不再维护,择期将关闭本站!!本站资源已全部失效,请勿打赏!!PLC培训创业官网 苏州实操派科技-点击访问-

AM600与多圈绝对值编码器配合使用说明

AM600 π³朱子文 9546℃ 0评论

AM600与多圈绝对值编码器配合使用说明

  1. AM600绝对位置计算方法
    1. 线性模式(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的值相同)

  1. 旋转模式(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的值相同)。、

  1. 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与多圈绝对值编码器配合使用说明

赞赏作者

微信赞赏支付宝赞赏

喜欢 (2)or分享 (0)

如果您喜欢本站文章,感觉本站的资源对您有帮助,请狠狠点击下面

每累计赞助40元,即可让本站按最低配置运行一个月,感谢您的支持!

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址