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

AB罗克韦尔服务商    

PLC、变频器、人机界面、传感器

联系方式
  • 联系人:方经理
  • 电话:13073017555
  • 邮件:gzws26@126.com
新闻分类
  • 暂无分类
首页 > 新闻中心 > 罗克韦尔如何使用定时器脉冲驱动 ROTL 指令!
新闻中心
罗克韦尔如何使用定时器脉冲驱动 ROTL 指令!
发布时间:2026-10-01        浏览次数:0        返回列表
  1. Logix 的 ROTL/ROTR 属于过渡型指令(Transitional):只在梯级条件 OFF→ON 上升沿执行 1 次移位;梯级持续接通不会反复移位!

  2. 不能直接拿 TON.DN 驱动 ROTL;DN 是持续 ON;必须用【ONS 单脉冲指令】把定时器完成信号转为一个扫描周期的脉冲,再给到 ROTL。

  3. 应用场景:普洛菲斯管道水流动画;DINT 标签Flow_Data作为移位寄存器,HMI 读取它的各个 bit。

标签定义

表格

标签名类型含义
Pump_RunBOOL水泵运行;TRUE 启动水流动画
Timer_FlowTON定时定时器;预设 120ms(120);调节水流速度;范围 80‑200ms
Pulse_OneShotONS单次触发指令的存储标签(ONS 需要一个 BOOL 存储位)
Flow_DataDINT32 位移位寄存器;HMI 读取 Flow_Data.0 ~ Flow_Data.7 八个 bit 做流动圆点
Init_FlagBOOL上电初始化标志

Timer_Flow.PRE = 120;时基固定 1ms;120 就是 120ms 移位一次。

梯级逻辑(一共 3 段梯形图逻辑)

RUNG1:上电初始化,给移位寄存器赋初始值 1

[S:FS]  系统第一扫描位(首次扫描)
──| |──MOV Source:=1 Dest:=Flow_Data

上电 Flow_Data = 1;二进制0000‑0001;bit0=ON;保证第一个流动点是亮的;不初始化全部 0 移位就看不到点。

如果水泵停止,希望所有水流点全部消失:再加一条:──|/|──Pump_Run──MOV Source:=0 Dest:=Flow_DataPump_Run 为 FALSE,直接清零 Flow_Data,所有 bit 全部关闭。

RUNG2:定时器产生定时周期(Pump_Run=ON 才计时)

──| |──Pump_Run──(TON Timer_Flow, PRE:=120)

当 Pump_Run 接通,TON 开始计时;每 120ms Timer_Flow.DN 变成 TRUE; DN 会一直保持 ON,不会自动生成窄脉冲,必须 ONS 来截取上升沿。

RUNG3:ONS 截取 DN 上升沿 →驱动 ROTL 循环左移

──| |──Timer_Flow.DN  ──ONS Pulse_OneShot
──(ROTL Source:=Flow_Data, N:=1, Dest:=Flow_Data)

解释:

  1. Timer_Flow.DN 从 False→True 的时候,ONS 输出仅一个扫描周期 TRUE;

  2. 这一个扫描周期的上升沿触发 ROTL;执行一次循环左移 1 位;最高位移出来的 bit 自动补回最低位;

  3. 下一个扫描周期 ONS 就关闭;ROTL 不再动作;定时器自己会重新开始下一轮计时。

如果需要反向水流,把 ROTL(循环左移)换成 ROTR(循环右移,N:=1)即可。

结构化文本 ST 写法

//上电初始化
IF S:FS THEN
   Flow_data:= 1;
END_IF;

//定时器
TON(Timer_Flow, Pump_Run, 120);

//检测定时器DN上升沿
IF Timer_Flow.DN AND NOT Pulse_oneShot THEN
   Flow_data:= ROTL(Flow_Data,1);
   Pulse_oneShot := TRUE;
ELSIF NOT Timer_Flow.DN THEN
   Pulse_oneShot := FALSE;
END_IF;

IF NOT Pump_Run THEN
   Flow_data:= 0;
END_IF;

HMI 普洛菲斯侧设置

  1. HMI 通讯读取标签Flow_Data;

  2. 在管道内部放置 8 个蓝色小圆;

  3. 每个小圆设置【显示 / 隐藏动画】

  • 圆点 1:Flow_Data.0 ON 显示

  • 圆点 2:Flow_Data.1 ON 显示 ……

  • 圆点 8:Flow_Data.7 ON 显示

常见踩坑点

  1. 直接 Timer_Flow.DN 长通驱动 ROTL:只会移位 1 次,之后不动!ROTL 只识别梯级从 OFF→ON 的跳变;DN 一直为 TRUE 就不会再触发第二次移位。必须加 ONS 单脉冲!

  2. 忘记上电 MOV 赋值 Flow_data:=1;寄存器全部是 0,移位之后永远没有点亮的点,HMI 看不到流动。

  3. 定时器 PRE 不要设置过小,小于 50ms,HMI 画面刷新跟不上,圆点闪烁严重;建议 80‑200ms 区间。

  4. 停止逻辑:水泵 Pump_Run 断开,直接 MOV 清零 Flow_Data,所有流动圆点立刻消失;也可以不清零,水流直接停留在当前位置。

补充对比其它 PLC:

  • 安川 MP:ROTL 本身边沿触发;用定时器脉冲;

  • 三菱 FX:ROR/ROR 是线圈长通,需要脉冲驱动;

  • AB Logix:ROTL 过渡指令,一定要 ONS 截取上升沿,是 AB 这边独有的重点。

收缩
  • 电话咨询

  • 13073017555
  • 添加微信客服