返回主站|会员中心|保存桌面

三菱电机服务商    

PLC、变频器、伺服驱动、触摸屏,机器人

联系方式
  • 联系人:吴经理
  • 电话:18576370666
  • 邮件:18576370666@163.com
新闻分类
  • 暂无分类
站内搜索
 
首页 > 新闻中心 > 3U ES/A定位来回往返运动可调加减速距离指令程序!
新闻中心
3U ES/A定位来回往返运动可调加减速距离指令程序!
发布时间:2025-12-27        浏览次数:1        返回列表

三菱 FX3U ES/A PLC 实现定位轴来回往返运动,且加减速距离可参数化调整的完整指令程序,这个程序要能灵活设置往返的目标位置、加减速距离,适配实际运动控制的需求。

一、程序设计思路

  1. 核心指令:使用 FX3U 的DRVI(相对定位指令)实现往返运动,搭配DDRVI(中断型相对定位)保证响应性,加减速距离通过ACC指令或直接在定位指令中参数化设置。

  2. 参数化设计:将目标位置、加减速距离、运行速度等关键参数存入 D 寄存器,支持现场修改,无需改动程序。

  3. 逻辑控制:通过限位开关 / 位置判断实现往返切换,加入启动 / 停止、急停等安全逻辑,保证运动稳定性。

  4. 状态指示:通过输出点指示当前运动方向、运行状态,方便调试和监控。

二、完整程序(GX Works2/GX Works3 梯形图转指令表)

stl

// ===================== 变量定义(D寄存器分配)=====================
// D0: 运行速度 (Hz,对应脉冲频率,如1000=1kHz)
// D2: 加速距离 (脉冲数,可调)
// D4: 减速距离 (脉冲数,可调)
// D6: 正向目标位置 (相对脉冲数,如5000=正向走5000脉冲)
// D8: 反向目标位置 (相对脉冲数,如-5000=反向走5000脉冲)
// D10: 当前运动方向 0-正向 1-反向
// M0: 启动按钮触发 (常开,I0.0)
// M1: 停止按钮触发 (常闭,I0.1)
// M2: 急停按钮 (常闭,I0.2)
// M3: 正向运行标志
// M4: 反向运行标志
// M5: 正向限位 (I0.3,常闭)
// M6: 反向限位 (I0.4,常闭)
// Y0: 脉冲输出 (定位轴脉冲)
// Y1: 方向输出 (定位轴方向)
// Y10: 正向运行指示
// Y11: 反向运行指示
// Y12: 系统运行指示

// ===================== 初始化程序 =====================
NETWORK 1 // 首次扫描初始化
LD     M8002
MOV K1000 D0    // 初始速度1000Hz
MOV K500 D2     // 初始加速距离500脉冲
MOV K500 D4     // 初始减速距离500脉冲
MOV K5000 D6    // 正向目标位置5000脉冲
MOV K-5000 D8   // 反向目标位置-5000脉冲
MOV K0 D10      // 初始方向正向
RST M3          // 复位正向标志
RST M4          // 复位反向标志
RST Y10         // 复位正向指示
RST Y11         // 复位反向指示
RST Y12         // 复位运行指示

// ===================== 启动/停止控制 =====================
NETWORK 2 // 启动自锁
LD     X000     // 启动按钮 (I0.0)
OR     M10      // 运行自锁
AN     X001     // 停止按钮 (I0.1,常闭)
AN     X002     // 急停按钮 (I0.2,常闭)
AN     M5       // 正向限位触发时禁止启动
AN     M6       // 反向限位触发时禁止启动
=      M10      // 运行自锁标志
OUT    Y12      // 系统运行指示

NETWORK 3 // 停止复位
LD     X001     // 停止按钮按下
OR     X002     // 急停按下
OR     M5       // 正向限位触发
OR     M6       // 反向限位触发
RST    M10      // 解除自锁
RST    M3       // 复位正向标志
RST    M4       // 复位反向标志
RST    Y10      // 关闭正向指示
RST    Y11      // 关闭反向指示
RST    Y12      // 关闭运行指示
ZRST   Y0 Y1    // 停止脉冲和方向输出

// ===================== 加减速参数设置 =====================
NETWORK 4 // 绑定加减速距离到定位指令参数
LD     M8000
MOV D2 D8340    // 加速距离写入定位指令加速寄存器(FX3U轴1加速脉冲数)
MOV D4 D8341    // 减速距离写入定位指令减速寄存器(FX3U轴1减速脉冲数)

// ===================== 正向运动控制 =====================
NETWORK 5 // 触发正向定位
LD     M10      // 系统运行中
AN     M4       // 非反向运行
LD=    D10 K0   // 当前方向为正向
OR     M6       // 反向限位触发(切换正向)
AN     M5       // 未到正向限位
=      M3       // 正向运行标志
OUT    Y10      // 正向指示
RST    Y11      // 关闭反向指示
// DRVI S D Y0 Y1: 相对定位,S=目标脉冲,D=速度,Y0=脉冲,Y1=方向
DRVI D6 D0 Y0 Y1// 正向相对定位,目标位置D6,速度D0,加减速距离D2/D4

NETWORK 6 // 正向到位判断(切换反向)
LD     M3       // 正向运行中
LD     M8029    // 定位完成标志
ANI    M5       // 未触发正向硬限位
=      M20      // 正向到位标志
MOV K1 D10      // 切换方向为反向
RST    M3       // 复位正向标志
RST    M8029    // 清除定位完成标志

// ===================== 反向运动控制 =====================
NETWORK 7 // 触发反向定位
LD     M10      // 系统运行中
AN     M3       // 非正向运行
LD=    D10 K1   // 当前方向为反向
OR     M5       // 正向限位触发(切换反向)
AN     M6       // 未到反向限位
=      M4       // 反向运行标志
OUT    Y11      // 反向指示
RST    Y10      // 关闭正向指示
DRVI D8 D0 Y0 Y1// 反向相对定位,目标位置D8,速度D0,加减速距离D2/D4

NETWORK 8 // 反向到位判断(切换正向)
LD     M4       // 反向运行中
LD     M8029    // 定位完成标志
ANI    M6       // 未触发反向硬限位
=      M21      // 反向到位标志
MOV K0 D10      // 切换方向为正向
RST    M4       // 复位反向标志
RST    M8029    // 清除定位完成标志

// ===================== 限位保护 =====================
NETWORK 9 // 正向限位触发
LD     X003     // 正向限位开关 (I0.3)
OUT    M5       // 正向限位标志
RST    M3       // 停止正向运行
OUT    Y000     // 停止脉冲输出

NETWORK 10 // 反向限位触发
LD     X004     // 反向限位开关 (I0.4)
OUT    M6       // 反向限位标志
RST    M4       // 停止反向运行
OUT    Y000     // 停止脉冲输出

// ===================== 手动调整参数(可选,通过触摸屏/输入)=====================
NETWORK 11 // 加速距离增加(X005按下,每次+100脉冲)
LD     X005
ANDP   M8000
ADD D2 K100 D2

NETWORK 12 // 加速距离减少(X006按下,每次-100脉冲,最小0)
LD     X006
ANDP   M8000
SUB D2 K100 D2
LD     D2
LBL=   K0
MOV K0 D2

NETWORK 13 // 减速距离增加(X007按下,每次+100脉冲)
LD     X007
ANDP   M8000
ADD D4 K100 D4

NETWORK 14 // 减速距离减少(X010按下,每次-100脉冲,最小0)
LD     X010
ANDP   M8000
SUB D4 K100 D4
LD     D4
LBL=   K0
MOV K0 D4

三、程序关键说明

1. 硬件适配

  • 脉冲输出:Y0 为脉冲输出端(FX3U 最多支持 3 轴独立定位,Y0/Y1/Y2 为脉冲轴),Y1 为方向输出端,需接步进 / 伺服驱动器的脉冲 + 方向接口。

  • 输入点

    • X000:启动 | X001:停止 | X002:急停

    • X003:正向限位 | X004:反向限位

    • X005-X010:手动调整加减速距离(可选,也可通过触摸屏修改 D 寄存器)

  • 输出点:Y10-Y12 为状态指示,可接指示灯。

2. 核心指令解析

  • DRVI:相对定位指令,格式为DRVI S D Y0 Y1,其中:

    • S:相对移动脉冲数(D6 = 正向 5000,D8 = 反向 - 5000,负数表示反向)

    • D:运行速度(D0=1000Hz,即每秒 1000 个脉冲,需根据电机 / 丝杠换算实际位移)

    • Y0:脉冲输出端 | Y1:方向输出端

  • M8029:定位完成标志,每次DRVI执行完成后自动置 1,需手动复位。

  • D8340/D8341:FX3U 轴 1 的加减速脉冲数寄存器,直接写入 D2/D4 实现加减速距离可调。

3. 参数调整说明

  • 加减速距离:D2(加速)、D4(减速)可通过 X005-X010 手动调整(每次 ±100 脉冲),或通过触摸屏直接修改 D 寄存器数值,范围建议 0~2000 脉冲(根据实际运动距离调整)。

  • 运行速度:D0 默认 1000Hz,可根据电机额定转速修改(如 2000Hz=2kHz)。

  • 目标位置:D6(正向)、D8(反向)可修改为实际需要的位移脉冲数(如丝杠导程 5mm,1000 脉冲 = 1mm,则 5000 脉冲 = 5mm)。

4. 调试要点

  1. 先空载测试:断开电机负载,监控 Y0 脉冲输出和 Y1 方向输出是否符合逻辑。

  2. 调整加减速距离:若运动启停冲击大,增大 D2/D4;若响应慢,减小 D2/D4。

  3. 限位保护:确保 X003/X004 限位开关可靠,触发后能立即停止运动。

四、扩展建议

  1. 若需要更平滑的加减速,可改用DDRVI(中断型定位指令),支持运行中修改速度 / 加减速参数。

  2. 增加原点回归逻辑:开机执行ZRN指令回零,保证定位精度。

  3. 触摸屏联动:将 D0/D2/D4/D6/D8 绑定到触摸屏输入框,实现可视化参数调整。

总结

  1. 核心逻辑:通过DRVI相对定位指令实现往返运动,加减速距离通过D8340/D8341寄存器参数化,支持现场灵活调整。

  2. 安全保障:包含启动 / 停止 / 急停、硬限位保护,避免设备碰撞或过载。

  3. 易用性:关键参数(速度、加减速距离、目标位置)存入 D 寄存器,支持手动 / 触摸屏修改,无需改动程序。

收缩
  • QQ咨询

  • 电话咨询

  • 18576370666
  • 添加微信客服