在FX5U本体脉冲轴中实现暂停功能,可通过绝对定位指令(DDRVA)结合条件控制实现,其核心逻辑是利用绝对定位的“走多少算多少”特性,通过断开和重新接通驱动条件来控制脉冲输出的启停。以下是具体实现方式及关键点分析:
一、实现原理
绝对定位指令特性
DDRVA指令以原点为基准进行定位,定位过程中若断开驱动条件(如使能信号或指令触发条件),脉冲输出会立即停止;重新接通驱动条件后,驱动器会从暂停位置继续执行剩余脉冲,而非重新开始。暂停与恢复逻辑
暂停:通过外部信号(如按钮、传感器)断开驱动条件(如M8000常闭触点断开),脉冲输出停止。
恢复:重新接通驱动条件(如M8000常闭触点闭合),驱动器从暂停位置继续执行剩余脉冲。
二、程序示例(梯形图逻辑)
plaintext|----[M8000]----[DDRVA S1 D1 S2 D2 K1]----||-||----[停止按钮]----[RST M8000] ||----[启动按钮]----[SET M8000] |
说明:
M8000
为运行条件触点(常闭),默认闭合时驱动DDRVA指令。按下“停止按钮”时,
RST M8000
断开驱动条件,脉冲输出停止。按下“启动按钮”时,
SET M8000
重新接通驱动条件,脉冲输出从暂停位置继续。
三、关键参数与设置
定位指令选择
绝对定位(DDRVA):适用于需要暂停后从暂停位置继续的场景。
相对定位(DDRVI):若需暂停后重新计算剩余脉冲,需通过程序记录已发脉冲数并重新计算目标位置,逻辑更复杂。
驱动器参数匹配
确保驱动器(如台达ASD-B2-0721)的电子齿轮比、每转脉冲数等参数与FX5U设置一致,避免定位偏差。
例如:若电机编码器为17 bit(160,000 ppr),驱动器每转脉冲数需设置为160,000,FX5U的“每转脉冲数”参数需与之匹配。
速度与加速度限制
在DDRVA指令中设置合理的
S2
(指令速度)和驱动器参数(如P4-05速度环增益),避免暂停后恢复时因速度突变导致振动或超程。
四、注意事项
驱动器支持性
确保驱动器支持“暂停后继续”功能。部分驱动器在断电或急停后可能清零当前位置,需通过绝对编码器或电池备份保持位置信息。脉冲计数准确性
若需精确记录剩余脉冲数,可通过FX5U的“当前位置寄存器”(如D8140)读取已发脉冲数,并在恢复时重新计算目标位置。
示例逻辑:
plaintext|----[M8000]----[MOV D8140 D10]----| // 暂停时记录当前位置|----[启动按钮]----[SUB D20 D10 D22]----[DDRVA D22 D1 S2 D2 K1]----| // 恢复时计算剩余脉冲(D20为目标位置)
急停与安全处理
添加急停按钮(如X0),通过
ZRST
指令复位所有轴使能信号,确保安全停止。示例逻辑:
plaintext|----[X0]----[ZRST M8000 M8001 M8002]----| // 复位所有轴使能
五、替代方案(中断指令)
若需更复杂的暂停逻辑(如通过中断触发),可使用FX5U的INT
指令结合高速计数器中断实现:
配置高速计数器中断(如C251),在中断服务程序中停止脉冲输出。
通过外部信号触发中断(如上升沿检测),实现精确暂停。
恢复时重新触发DDRVA指令,从暂停位置继续。
示例中断程序逻辑:
plaintext|----[INT C251]----[RST M8000]----| // 中断服务程序中停止脉冲输出|----[X1]----[EI C251]----| // 外部信号触发中断