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

台湾固纬电子    

台湾固纬示波器、音频信号产生器、电源供应器

联系方式
  • 联系人:姚经理
  • 电话:18520143666
新闻分类
站内搜索
 
友情链接
  • 暂无链接
首页 > 新闻中心 > 固纬FX PLC 关于变址Z和循环移位SFTLP 指令的理解!
新闻中心
固纬FX PLC 关于变址Z和循环移位SFTLP 指令的理解!
发布时间:2025-08-20        浏览次数:8        返回列表

三菱一、变址寄存器Z的核心功能

  1. 地址动态修改

    • 变址寄存器(V/Z)通过数值偏移动态修改软元件地址,简化批量操作编程。

    • 16位模式:V/Z独立使用(如D10Z表示D(10+Z的值))。

    • 32位模式:合并V(高位)和Z(低位)使用(如[D10Z]表示32位地址,需用DMOV等指令同时修改V/Z)。

  2. 软元件类型支持

    • 位元件:X/Y/M/S(八进制加法,如Z=8X0Z变为X10)。

    • 字元件:D/T/C(十进制加法,如Z=5D0Z变为D5)。

    • 常数修饰:直接修改常数(如K30Z,Z=8时实际为K38)。

  3. 典型应用场景

    • 批量数据处理:通过循环修改Z值,遍历数组(如D0ZD9Z)。

    • 多工位控制:动态切换I/O地址(如Y0Z控制不同工位的电磁阀)。

    • 复杂逻辑简化:替代多个跳转指令,减少程序步数。

二、循环移位SFTLP指令详解

  1. 指令特性

    • Mn:源数据输入(如X0)。

    • Yn:目标寄存器(如M0)。

    • Kn1:目标总位数(如K8表示8位)。

    • Kn2:每次左移位数(如K1表示每次移1位)。

    • 脉冲执行:上升沿触发,仅执行一次左移(与连续执行的SFTL区分)。

    • 格式SFTLP [Mn] [Yn] [Kn1] [Kn2]

  2. 关键规则

    • Kn2=0:不执行移位。

    • Kn2>1:每次左移Kn2位,并从Mn读取Kn2位数据填入低位。

    • 必须满足Kn2 ≤ Kn1(如K8总位数下,Kn2最大为8)。

    • Kn2限制

    • 数据丢失:高位移出后直接丢失,无需额外处理。

    • 触发信号:必须为上升沿,避免持续ON导致重复触发。

  3. 应用案例

    • 效果:每触发一次,两台电机同时启动/停止,形成顺序控制。

    • 效果:每次触发时,LED灯顺序左移一位。

    • 流水灯控制

      ladderSFTLP X0 M0 K8 K1  // X0触发时,M0~M7左移1位,X0状态填入M0
    • 电机顺序启动

      ladderSFTLP M10 Y0 K4 K2  // M10触发时,Y0~Y3左移2位,M10状态填入Y0

三、变址Z与SFTLP的协同应用

  1. 动态移位控制

    • 通过修改Z值,动态调整移位目标地址。例如:

      ladderMOV K5 Z0         // 设置Z0=5SFTLP X0 D10Z0 K8 K1  // 实际移位目标为D15(D10+5)
    • 应用场景:多组相同结构的移位操作(如多条流水线状态监控)。

  2. 跨系列兼容性注意

    • Q系列PLC:需使用ROLP指令替代SFTLP,行为可能不同。

    • 32位地址:若目标为32位寄存器(如D),需合并V/Z并使用32位指令(如DMOV)。

四、常见问题与解决

  1. 移位数据异常

    • 原因:Kn2设置错误或触发信号非上升沿。

    • 解决:检查Kn2≤Kn1,并确保触发信号为脉冲信号(如使用PLS指令生成上升沿)。

  2. 变址地址越界

    • 原因:Z值过大导致地址超出寄存器范围(如D1000+Z=D2000,但D2000未定义)。

    • 解决:在程序中限制Z的最大值(如通过CMP指令比较)。

  3. 32位指令错误

    • 原因:仅修改Z未修改V,导致高位残留旧值。

    • 解决:使用32位指令(如DMOV)同时修改V/Z。

收缩
  • QQ咨询

  • 电话咨询

  • 18520143666
  • 添加微信客服