chzy_114
级别: 论坛先锋

精华主题: 4 篇
发帖数量: 542 个
工控威望: 1220 点
下载积分: 3875 分
在线时间: 328(小时)
注册时间: 2007-04-22
最后登录: 2022-03-17
查看chzy_114的 主题 / 回贴
楼主  发表于: 2009-01-21 13:39
三菱FX系列PLC绝对位置控制指令DRVA应用
  绝对位置控制指令DRVA是很实用的一个脉冲指令,应用时关键是理解D8140或是D8142寄存器的用法。
  绝对位置控制指令DRVA的格式:
    DRVA D0 D2 Y0 Y2
    *D0:目标位置,可以是数值或是寄存器,也就是PLC要输出的脉冲数。
    *D2:输出脉冲频率,可以是数值或是寄存器。也就是PLC输出的脉冲频率。
    *Y0:脉冲输出地址,只能是Y0或Y1。
    *Y2:方向控制输出,正向是ON或是OFF,反向是OFF或是ON(根据所控制执行元件设置来确定)
    相关寄存器和位元件:
    32位寄存器D8140:脉冲由Y0输出时,记录当前的位置。
    32位寄存器D8142:脉冲由Y1输出时,记录当前的位置。
    32位寄存器D8146:设定最高脉冲频率,因为此指令的加减速时间是计算由基底频率升到最高频率的时间,所以改变D8146的值可以更准确的设定执行元件的加减速时间。
    D8145:基底频率。FX的脉冲输出频率并不能从0开始,由一个计算公式可参考。当您把D2的值设定小于计算的基底频率时,最小输出频率也是按照基底频率输出。
    D8148:加减速时间设定。
    M8147 : Y000正在输出脉冲时,M8147闭合
    M8148 : Y001正在输出脉冲时,M8148闭合
    原点是针对D8140(D8142)所说,DRVA在开始执行前D8140(D8142)的值就是当前的原点。
    如DRVA执行前D8140(D8142)的值为0,那么图二的右行输出脉冲数则为3000,
    如DRVA执行前D8140(D8142)的值为1000,那么上图的右行输出脉冲数则为2000,
    如DRVA执行前D8140(D8142)的值为3000,那么上图的右行输出脉冲数则为0。
    也就是说绝对位置控制指令DRVA的输出脉冲数是根据D8140(D8142)的值来决定。最好的方法就是先找到机械原点,然后把D8140(D8142)的值用MOV指令清零,让程序原点与机械原点一致,如此便于计算所发脉冲数。
  (假设D8140(D8142)的值在原点时为0)
    右行到目标位置:DRVA K3000 D2 Y0 Y2
    左行回到原点:DRVA K0 D2 Y0 Y2



本帖最近评分记录:
  • 下载积分:+1(张钰琪) 真诚感谢!
  • 下载积分:+1(王年生)
    zengqiangli
    级别: 探索解密
    精华主题: 0
    发帖数量: 37 个
    工控威望: 185 点
    下载积分: 565 分
    在线时间: 410(小时)
    注册时间: 2008-06-14
    最后登录: 2022-10-30
    查看zengqiangli的 主题 / 回贴
    1楼  发表于: 2009-01-29 21:23
    简直太感谢了