
【2017年整理】绝对位置控制指令DRVA.doc
3页绝对位置控制指令 DRVA---三菱 FX 系列 PLC 应用指令绝对位置控制指令 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 闭合 其用法实例如图一: 当 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 的值,然后观察运行结果。
示例软件图如下: 1; ( DZRN K20000 K3000 X012 Y000 )原点复归 速度 K20000 近点后速度 K3000 近点信号 X012 脉波输出 Y02; ( DPLSV K-20000 Y000 Y004 )可调变速脉波输出 K-20000(逆转 20000) 脉波输出 Y0 方向信号 Y043; ( DDRVI D256 K20000 Y000 Y004 )相对位置定位以现在位置开始 距离 D256 速度 K20000 脉波输出 Y0 方向信号 Y04三菱 FX系列 PLC绝对位置控制指令 DRVA应用三菱 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 。












