发表于:2010/8/21 0:32:51
#0楼
http://www.gk528.com/gplc/2008/10/20081014234424.rar
上面的下载地址是我做的DRVA用法示例文件(EXE文件,别怕哦,我不害人
),初学者观看本软件会有很大的帮助(当然要看下FX的编程手册,对DRVA指令有初步的了解)
绝对位置控制指令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闭合。
其用法实例如图一:
![图]()
当DRVA指令发送完寄存器D0规定的脉冲数后,M8147断开,M1吸合。
图二所示的原点概念:
原点是针对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
根据本节讲解,您可以下载站长试做的DRVA示例软件,改变D8140的值,然后观察运行结果。
![图]()
来源:http://www.gk528.com
上面的下载地址是我做的DRVA用法示例文件(EXE文件,别怕哦,我不害人

绝对位置控制指令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闭合。
其用法实例如图一:
当DRVA指令发送完寄存器D0规定的脉冲数后,M8147断开,M1吸合。
图二所示的原点概念:
原点是针对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
根据本节讲解,您可以下载站长试做的DRVA示例软件,改变D8140的值,然后观察运行结果。
来源:http://www.gk528.com
528工控科技 串口 以太网 通讯 MODBUS