第36课 · 数到毫秒:精确定时 STR

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

有些动作差几毫秒就出问题(高速取料、脉冲整形)。这节课讲精确定时器怎么用,并讲清一个反直觉的点:到点之后它是循环还是保持,取决于你的触点类型。

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

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

1/6

毫秒级的定时器

0:37

毫秒级的定时器

  • 跟普通定时器不同普通定时器写的是几个时基
  • 1ms 为单位写多少就是多少毫秒
  • 32 位最大数到二十一亿多
  • ★ 编号只取偶数ET0 到 ET24
数到毫秒:精确定时 STR · 毫秒级的定时器 梯形图 写一百,就是一百毫秒

写一百,就是一百毫秒

前面讲的定时器,写的是多少个时基:一百毫秒的时基,写十才是一秒。要按毫秒卡时间,就得换个定时器。精确定时器 ET 以毫秒为单位,写多少就是多少毫秒,中间不用再乘时基。它是三十二位的,最大能数到二十一亿多,够数二十多天。启动它用这条指令,助记符是 STR:第一格写定时器编号,第二格写定时值。编号只能写 ET,而且只取偶数,从零号一直排到二十四号。这一段用上升沿触点,按一下启动一轮。

2/6

读它要走双字传送

0:35

读它要走双字传送

  • 位和字两回事到点是位,数到几是字
  • 读法双字传送 DMOV
  • 不受扫描周期影响手册原文
  • ★ 双字占两个读零号也就占了一号
数到毫秒:精确定时 STR · 读它要走双字传送 梯形图 读计数值,要走双字传送

读计数值,要走双字传送

光知道到没到点还不够,现场常要问它现在数到几了。ET0 到点是一个位,只有通和断;已经数了多少毫秒是一个数,得用数据传送读出来。写法是双字传送 DMOV,把 ET0 送进数据寄存器。手册专门注明,这条读取拿到的是当前值,不受扫描周期影响。因为是三十二位,它要占两个连续的数据寄存器,读零号就同时占了一号。画面里读数条上的数字一路往上走,那就是它已经数过多少毫秒。

3/6

到点之后:保持还是重来

0:37

到点之后:保持还是重来

  • 两句看着矛盾保持,还是循环
  • 区别在触点上升沿,还是常开
  • ★ 一句话记住到点那一刻看条件还在不在
  • 画面这一版上升沿,所以停住
数到毫秒:精确定时 STR · 到点之后:保持还是重来 梯形图 到点那一刻,看条件还在不在

到点那一刻,看条件还在不在

手册里有两句话看着互相矛盾:一句说数到一百毫秒,ET0 置位,计数值保持一百不再变化;另一句说到点立即置位并清零重新开始,循环往复。区别在驱动这个框的触点。上升沿触点只在触发那一拍接通,等数到一百毫秒时它早就断开了,所以计数值停住不动。常开触点一直接通,到点那一拍条件还在,于是清零重来,一轮接一轮。一句话记住:到点那一刻,看条件还在不在。画面里用上升沿触点,所以数到一百就停住。

4/6

停表不是清零

0:40

停表不是清零

  • 清零用 RST计数和标志一起清掉
  • 停止用 STOP后面也写 ET 编号
  • ★ 停表不是清零当前值留着
  • ★ 同名两条按操作数区分
数到毫秒:精确定时 STR · 停表不是清零 梯形图 停表用 STOP,清零用 RST

停表用 STOP,清零用 RST

启动了,还能中途叫停。这一族第三条是停止精确定时。先说清零:复位 RST 后面跟 ET 编号,把计数值和到点标志一起清掉。再说停止,助记符是 STOP,后面也写 ET 编号。手册原文是,立即执行 STOP,停止精确定时,刷新计数值。注意它是停表,不是清零;计数停住,当前值留着。还要留个心:STOP 前面还有一条脉冲停止,两条同名。信捷按操作数区分:写 ET 是停精确定时,写脉冲口是停脉冲。

5/6

到点去跑一段程序

0:37

到点去跑一段程序

  • 到点产生中断标记跳去执行一段子程序
  • 标号怎么排三千加编号的一半
  • 中断里可以再启动手册专门写了
  • ★ 一个经典用法到点翻转输出就是振荡波形
数到毫秒:精确定时 STR · 到点去跑一段程序 梯形图 到点就跳进 I 三千那一段

到点就跳进 I 三千那一段

精确定时还有一手:到点的时候,它会产生一个中断标记,让程序跳去执行一段子程序。中断程序写在主程序结束之后,加一个中断标号。零号精确定时器对应 I 三千,二号对应 I 三千零一,公式是三千加编号的一半。子程序写完用中断返回。手册专门写了:允许在中断里面再次启动精确定时。于是有了经典用法:五百毫秒精确定时,到点就把输出翻转,翻转两次正好一个周期,一千毫秒。按下 X0 启动循环,松开就停。

6/6

开多久,灌多少

0:40

开多久,灌多少

  • 开多久灌多少这一台要三千毫秒
  • 同时开同时关阀门和定时器一起动
  • ★ 为什么不用普通定时器精度受扫描周期影响
  • 一族三条收官启动 读取 停止
数到毫秒:精确定时 STR · 开多久,灌多少 梯形图 阀开三秒,到点自己关

阀开三秒,到点自己关

手册给了一个灌装机的例子:阀门开多久,就灌多少。这一台要求是三千毫秒。按下启动按钮,阀门和精确定时器同时打开;定时时间一到,阀门和定时器同时关闭。为什么不干脆用普通定时器?普通定时器最小十分之一秒,精度也受扫描周期影响,所以手册专门推荐用精确定时来保证容量精度。画面里 X0 一按下,阀门打开、计时器开始往上数;等数到三千,阀门自己关掉。这一课就把这一族讲完了:启动、读取、停止,还有到点中断。

想亲手试一下?

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