第25课 · 让计数器到点就跳(高速计数中断)

信捷指令讲堂 · 6 段 · 共 3:38 · 正文 1111 字 · 完全免费

飞剪、追剪、切管都靠"数到就跳"。这节课讲高速计数中断怎么在数到点的那一刻立刻响应,而不是等扫描周期转回来。

完整课程 · 智慧屏 + 数字人讲师加载较慢?先看下面的图文
正在加载数字人讲师 …
首次打开约需 30~60 秒(3D 模型较大,只在电脑上加载)
加载期间可以先往下看图文讲解
这台设备暂时跑不了完整课程需要支持 WebGL 的浏览器(多数电脑浏览器都支持)
下面是同一节课的图文讲解 + 音频,内容完全一样

📱 手机上看不到完整课程(数字人讲师需要电脑浏览器的 3D 支持)。下面是这节课的图文讲解 + 音频,内容完全一样,手机上也能完整学完。想体验完整课程,用电脑打开这一页即可。
仍然在手机上试试完整课程

1/6

多出来的第三个数

0:39

多出来的第三个数:它是段表首地址

  • 同样是 CNT,多写一个数第三个操作数 = 一百段设定值表的首地址
  • 段表里存着 5HD100 里是 5,数到第五个脉冲就跳中断
  • 第五下就跳中断累计值到五,I2000 跑一次,D10 变 1
  • 第二个数还在管线圈线圈 HSC0 归 K6 管,跟段表没关系
让计数器到点就跳(高速计数中断) · 多出来的第三个数 梯形图 第三个数是段表首地址,第五下就跳中断

第三个数是段表首地址,第五下就跳中断

同样是 CNT HSC0,这次多写了第三个数。前两个我们已经认识:HSC0 是要数的计数器,K6 是比较值。真正的新东西是第三个,HD100,它是那张一百段设定值表的首地址。图上 HD100 里存着 5。给 X0 打脉冲:第一下、第二下、第三下、第四下,还没到那道线;第五下,累计值到五,中断程序 I2000 立刻跑一次,D10 从零变成一。这时线圈一点没动,它归第二个数管,第六下才置位。

2/6

段表怎么排、中断号怎么对

0:39

段表排布与中断号 I2000 / I2001

  • 两条中断程序 = 两段写了 I2000 和 I2001 两个标号,就是两段
  • 段表每段占双字第一段 HD100、第二段 HD102,中间跳过 HD101
  • 中断号跟着段号走第一段 I2000,第二段 I2001
  • 第二下、第五下各跳一次段一在第二下触发,段二在第五下触发
让计数器到点就跳(高速计数中断) · 段表怎么排、中断号怎么对 梯形图 两段排在 HD100 和 HD102,中断号跟着走

两段排在 HD100 和 HD102,中断号跟着走

两条中断程序,就是两段。段表排在 HD100 上:第一段占 HD100,第二段占 HD102。每段都是双字、低字在前,中间跳过一个 HD101。段里写着:第一段 2、第二段 3。中断号跟着段号走:第一段叫 I2000,第二段叫 I2001。给 X0 打脉冲:第一下,累计值到一,还没到段一;第二下,跨过段一,D10 变成一;第三下、第四下、第五下,累计值到五,段二也跨过了,D11 跟着变成一。

3/6

相对模式:设定值是增量

0:34

相对模式:第二段的 1 是再加一格

  • 设定值是增量相对模式下,段设定值说的是「再走多少格」
  • 第一段写 4导通瞬间是零,所以第一段在第四下触发
  • 第二段的 1 = 再加一格四加一等于五,第五下才轮到第二段
  • 两段一共五个脉冲触发点 = 上一段触发点 + 本段设定值
让计数器到点就跳(高速计数中断) · 相对模式:设定值是增量 梯形图 相对模式:第二段的 1 是在上一段基础上再加一格

相对模式:第二段的 1 是在上一段基础上再加一格

段设定值怎么算触发点?记住它是相对的。图上第一段写 4,第二段写 1。给 X0 打脉冲:第一下、第二下、第三下、第四下,累计值到四,第一段被跨过,D10 变成一,中断 I2000 跑了一次。接着打第五下,第二段触发,D11 变成一。注意第二段那个 1,指的不是数到第一下,而是在上一段的触发点上再加一格:四加一等于五。所以这两段走完,一共是五个脉冲。

4/6

绝对模式:设定值就是触发点

0:36

绝对模式:数到第几个就是第几个

  • 设定值就是触发点写 3 就在第三下,写 5 就在第五下
  • SFD330 里的 1 = 绝对模式最上面那句 MOV K1 SFD330 就是在开这个模式
  • 第三下、第五下各跳一次D10、D11 依次变成 1
  • 同样的表放相对模式会变 8相对的 5 是再加五下,要到第八下
让计数器到点就跳(高速计数中断) · 绝对模式:设定值就是触发点 梯形图 绝对模式:设定值本身就是触发点

绝对模式:设定值本身就是触发点

同一张表,换个模式,触发点完全不同。图上第一段写 3,第二段写 5。最上面那句 MOV K1 SFD330,就是告诉它用绝对模式。给 X0 打脉冲:第一下、第二下、第三下,累计值到三,第一段跨过,D10 变成一。接着第四下、第五下,累计值到五,第二段跨过,D11 变成一。注意第二段写的是 5,它就在第五下触发。如果这是相对模式,第二个数会变成再加五下,要到第八下才触发。

5/6

断开就锁死,要 RST 复位

0:31

断开就锁死,必须 RST 复位重来

  • 两段各写 1 → 触发点 1、2第二段的触发点是上一段触发点加一
  • 断开过的表就不认了断开再合上,第二段该触发却一动不动
  • 先 RST 复位按 M1 用 RST HSC0 把高速计数清零
  • 再断开、再导通接通一轮,段表才重新装上
让计数器到点就跳(高速计数中断) · 断开就锁死,要 RST 复位 梯形图 断过就得先 RST 复位,再导通重来

断过就得先 RST 复位,再导通重来

把段数收成两段,第一段写 1、第二段也写 1。先打一下脉冲:累计值到一,第一段跨过,D10 变成一。这时候把 M0 断开、再合上。再打一下,第二段的触发点就在二上,可 D11 一直不动。断开过的表,它不认了。手册的规矩很硬:先按 M1 用 RST HSC0 复位,再断开、再导通一次,才能重来。重来之后再打一下,D10 变成二。

6/6

手册例一:负设定值要配往复

0:39

负设定值 = 往回走,得配往复运动

  • 例1 为什么缩小成 2 / 负 2手册用一万和负一万,缩小了好在屏幕上看得清
  • CNT_AB 才能往回走要演示负设定值,得换成 AB 相计数
  • 负 2 = 往回两格不是数到负二,而是在上一段基础上退两格
  • 必须配往复运动一路往前数,永远到不了第二段
让计数器到点就跳(高速计数中断) · 手册例一:负设定值要配往复 梯形图 负设定值 = 往回走,必须配往复运动

负设定值 = 往回走,必须配往复运动

手册的例一用的是四位数,为了屏幕上看清,我们缩小成 2 和负 2,道理一样。计数器换成 CNT_AB,它才能往回走。X1 低电平时打第一下、再打一下,累计值到二,第一段跨过,D10 变成一。把 X1 扳高,方向就反了,往回打第一下、再往回打一下,累计值从二退到零,第二段触发,D11 变成一。注意第二段的负 2 不是数到负二,而是在上一段基础上往回走两格。一路往前数是永远到不了第二段的。

想亲手试一下?

这门课的电路,已经给你摆好了。不用装软件,点开就能按按钮、看线圈亮。