台达DDRVI定位指令是PLC(可编程逻辑控制器)中用于实现相对定位控制的核心指令,适用于需要基于当前位置进行增量移动的场景(如物料分拣、传送带定位等)。以下是其用法详解:
一、指令功能
DDRVI(Double Speed Relative Positioning Instruction)通过设定正负脉冲数实现从当前位置开始的增量移动:
正数(S1>0):向正方向移动指定脉冲数。
负数(S1<0):向反方向移动指定脉冲数。
移动距离由脉冲数与电机每转脉冲数决定(如电机每转10000脉冲,S1=5000即移动半圈)。
二、指令格式与参数
指令格式:DDRVI S1, S2, D1, D2
参数 | 含义 | 设定范围 | 示例 |
S1 | 相对移动脉冲数 | 16位:-32768~+32767(0除外) | K5000(正方向5000脉冲) |
S2 | 脉冲频率(决定速度) | 16位:10Hz~32767Hz | K2000(2000Hz) |
D1 | 脉冲输出端口 | 通常为Y0、Y2、Y4等(依PLC型号而定) | Y0(脉冲输出到Y0端口) |
D2 | 方向信号端口 | 通常为Y1、Y3、Y5等(与D1配对) | Y1(方向信号输出到Y1端口) |
三、使用步骤与示例
1. 硬件接线
脉冲输出:D1端口(如Y0)连接伺服驱动器的脉冲输入端(如PLS+)。
方向信号:D2端口(如Y1)连接伺服驱动器的方向输入端(如DIR+)。
共阴极接法:将Y0与Y1的负极(如COM0)短接,确保信号稳定。
2. 编程示例
plaintext
// 示例:从当前位置正方向移动5000脉冲,频率2000Hz | |
DDRVI K5000, K2000, Y0, Y1 |
3. 连续移动控制
若需多次增量移动,需确保每次指令的脉冲数累加正确:
plaintext
// 第一次移动:正方向5000脉冲 | |
DDRVI K5000, K2000, Y0, Y1 | |
// 第二次移动:在第一次基础上再正方向3000脉冲 | |
DDRVI K3000, K2000, Y0, Y1 |
四、注意事项
1.方向控制:
S1的正负自动决定方向,无需额外逻辑判断。
若电机仅需单方向旋转,可用内部继电器(如M920)替代方向端口,节省Y点资源:
plaintext
DDRVI K20000, K2000, Y0, M920 // M920代替方向端口 |
2.急停与中断:
急停后,若未使用编码器反馈,重新启动时可能因寄存器位置与实际位置不符导致误差。
建议结合编码器反馈使用绝对定位指令(DDRVA)以提高精度。
3.参数范围:
确保S1和S2在设定范围内,超出可能导致错误。
32位运算需在指令前添加D(如DDRVI D5000, D2000, Y0, Y1)。
4.脉冲与频率匹配:
脉冲频率(S2)需与电机响应速度匹配,避免丢脉冲。
五、应用场景
物料分拣:根据传感器信号,控制传送带移动固定距离。
自动化装配:调整机械臂位置,实现精确抓取。
包装机械:控制切刀或封口装置的位置。
通过合理配置DDRVI指令参数,可实现高效、精确的相对定位控制。如需更高精度或复杂路径控制,建议结合台达PLC的高级功能(如电子齿轮、插补运动等)。