第8课 · 让参数断电以后还在(保持性)

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

配方丢了是现场事故。这节课讲清哪些寄存器断电还在、怎么让参数掉电不丢、以及第一次上电时怎么把值装回普通寄存器——顺带解释首扫脉冲 SM2 到底在干什么。

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

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

1/6

本节要做什么

0:33

断电以后还在

  • 上电装载程序每次上电都执行一遍 —— 会不会把改过的参数冲掉
  • 三个区D 是内存工作区、HD 靠电池、FD 在 FLASH
  • 留住要让改过的参数真正留下,得给装载加一道条件
让参数断电以后还在(保持性) · 本节要做什么 梯形图 参数表搬到 HD:掉电也不丢,定时器照样从表里读

参数表搬到 HD:掉电也不丢,定时器照样从表里读

上一节最后,我们把参数表搬进了 HD,说这样掉电就不丢。可程序里那句上电装载,是每次上电都要执行一遍的。操作工在面板上把上料延时从三秒改成六秒,断一次电、再送电,这个六秒还在不在?这一节就把保持这件事讲透:D、HD、FD 三个区各管什么,什么时候该用哪个,以及怎么让改过的参数真正留住。图上是上一节结尾那条程序,先看一眼。

2/6

三个区各管什么

0:36

三个区各管什么

  • 工作区D 在内存里 —— 断电、停机都清零,是干活的草稿纸
  • 靠电池HD 断电以后数还在 —— 指令与 D 完全一样
  • FLASHFD 不靠电池,写进去就留在芯片里
让参数断电以后还在(保持性) · 三个区各管什么 梯形图 把 HD 换回 D:指令一模一样,断电就空

把 HD 换回 D:指令一模一样,断电就空

先把三个区分清。D 是内存里的工作区,一断电、或者从运行切到停止,里面的数全归零,它就相当于干活的草稿纸。HD 是靠电池保持的,断电以后数还在。FD 又不一样,它是 FLASH 文件寄存器,不靠电池,写进去的东西即使电池没电也留着。读写指令上,HD 和 D 完全一样 —— 直接把程序里的 D100 换成 HD100 就行。图上这条程序就是上一节那条,只把 HD 换回了 D,指令一模一样。

3/6

坑一:装载没有条件

0:30

坑:光换 HD 还不够

  • 每次上电SM2 是每次上电的首扫脉冲 —— 不是只此一次
  • 刷回去操作工改的六秒,被程序写回三十
  • 真正的坑HD 保住了数,程序却把它改回来
让参数断电以后还在(保持性) · 坑一:装载没有条件 梯形图 坑:装载没条件 —— 每次上电都把 30 写回来

坑:装载没条件 —— 每次上电都把 30 写回来

那把 D 全换成 HD,是不是就万事大吉了?不是。看图上这两句:上电首扫脉冲 SM2 一到,就把 30 写进 HD100。注意,它是每次上电都执行,不是只此一次。操作工昨天把延时调成六秒,今天一早送电,程序又把 30 刷回去,人家白调了。HD 确实保住了数,可程序自己动手把它改了回来 —— 这才是保持这件事真正的坑。

4/6

正解:给装载加一道门

0:39

给装载加一道门

  • AND= HD1 K0装载多串一个条件触点:标志为零才装载
  • 标志HD1=0 表示这台设备还没初始化过
  • 跳过HD1 已是一,以后每次上电都不再装载
让参数断电以后还在(保持性) · 正解:给装载加一道门 梯形图 正解:装载串一个 AND= HD1 K0 才放行

正解:装载串一个 AND= HD1 K0 才放行

正解是给装载加一道门。图上第二行多串了一个条件触点:AND= HD1 K0。HD1 是我们自己划出来当标志的单元,为零表示这台设备还没初始化过。头一次上电,HD1 是零,装载照做,把 30 和 5 写进 HD100、HD102;装载完最后一句把标志置成一。以后每次上电,HD1 已是一,条件不成立,装载跳过 —— 操作工改的六秒就留住了。要把设备恢复成出厂状态,把 HD1 清回零再送电就行。

5/6

整张参数表搬进 HD

0:42

整张参数表搬进 HD

  • HD100装 30 管上料延时 —— 放保持区,掉电也在
  • TMR T0 HD100 K100定时器设定值照样从表里读,一字不改
  • 断一次电面板改的 60 还留着 —— 装载被标志挡住了
让参数断电以后还在(保持性) · 整张参数表搬进 HD 梯形图 整张参数表搬进 HD:定时器、计数器都从表里读

整张参数表搬进 HD:定时器、计数器都从表里读

把这道门装到整张表上。图上这段就是上一节那条表,只是全换成 HD 区:上电首扫、门开着才装载 —— HD100 装 30 管延时、HD102 装 5 管批数,最后把标志置一。定时器和计数器一个字都不用改:TMR T0 HD100 K100、CNT C0 HD102,设定值照样从表里读。差别在断电以后:面板上把 HD100 改成 60,断一次电再送电,装载被标志挡住,60 还在,延时就是六秒。

6/6

FD / 三个坑 + 预告

0:37

FD、三个坑 + 预告

  • 写只能用 FWRTMOV 往 FD 写是静默无效 —— 目标列里没有 FD
  • BMOV FD0 D10 K2把 FLASH 里的参数读回来
  • 下一节开始讲比较指令:把数值大小画成触点
让参数断电以后还在(保持性) · FD / 三个坑 + 预告 梯形图 FD 写只能用 FWRT:BMOV 读、FWRT 写

FD 写只能用 FWRT:BMOV 读、FWRT 写

最后说 FD。HD 靠电池,电池没电就没了;FD 在 FLASH 里,是永久存放。但它有个规矩:写只能用 FWRT,比如 FWRT D100 FD0 K2 把参数搬进 FLASH;改用 MOV 往 FD 里写,不报错、值也进不去 —— 目标列里没有 FD。读回来用 BMOV FD0 D10 K2。三个坑:装载要加门、HD 和 FD 别混、FD 只认 FWRT。下一节,我们讲怎么比大小。

想亲手试一下?

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