📱 手机上看不到完整课程(数字人讲师需要电脑浏览器的 3D 支持)。下面是这节课的图文讲解 + 音频,内容完全一样,手机上也能完整学完。想体验完整课程,用电脑打开这一页即可。
仍然在手机上试试完整课程
本节要做什么
0:33断电以后还在
- 上电装载程序每次上电都执行一遍 —— 会不会把改过的参数冲掉
- 三个区D 是内存工作区、HD 靠电池、FD 在 FLASH
- 留住要让改过的参数真正留下,得给装载加一道条件
参数表搬到 HD:掉电也不丢,定时器照样从表里读
上一节最后,我们把参数表搬进了 HD,说这样掉电就不丢。可程序里那句上电装载,是每次上电都要执行一遍的。操作工在面板上把上料延时从三秒改成六秒,断一次电、再送电,这个六秒还在不在?这一节就把保持这件事讲透:D、HD、FD 三个区各管什么,什么时候该用哪个,以及怎么让改过的参数真正留住。图上是上一节结尾那条程序,先看一眼。
三个区各管什么
0:36三个区各管什么
- 工作区D 在内存里 —— 断电、停机都清零,是干活的草稿纸
- 靠电池HD 断电以后数还在 —— 指令与 D 完全一样
- FLASHFD 不靠电池,写进去就留在芯片里
把 HD 换回 D:指令一模一样,断电就空
先把三个区分清。D 是内存里的工作区,一断电、或者从运行切到停止,里面的数全归零,它就相当于干活的草稿纸。HD 是靠电池保持的,断电以后数还在。FD 又不一样,它是 FLASH 文件寄存器,不靠电池,写进去的东西即使电池没电也留着。读写指令上,HD 和 D 完全一样 —— 直接把程序里的 D100 换成 HD100 就行。图上这条程序就是上一节那条,只把 HD 换回了 D,指令一模一样。
坑一:装载没有条件
0:30坑:光换 HD 还不够
- 每次上电SM2 是每次上电的首扫脉冲 —— 不是只此一次
- 刷回去操作工改的六秒,被程序写回三十
- 真正的坑HD 保住了数,程序却把它改回来
坑:装载没条件 —— 每次上电都把 30 写回来
那把 D 全换成 HD,是不是就万事大吉了?不是。看图上这两句:上电首扫脉冲 SM2 一到,就把 30 写进 HD100。注意,它是每次上电都执行,不是只此一次。操作工昨天把延时调成六秒,今天一早送电,程序又把 30 刷回去,人家白调了。HD 确实保住了数,可程序自己动手把它改了回来 —— 这才是保持这件事真正的坑。
正解:给装载加一道门
0:39给装载加一道门
- AND= HD1 K0装载多串一个条件触点:标志为零才装载
- 标志HD1=0 表示这台设备还没初始化过
- 跳过HD1 已是一,以后每次上电都不再装载
正解:装载串一个 AND= HD1 K0 才放行
正解是给装载加一道门。图上第二行多串了一个条件触点:AND= HD1 K0。HD1 是我们自己划出来当标志的单元,为零表示这台设备还没初始化过。头一次上电,HD1 是零,装载照做,把 30 和 5 写进 HD100、HD102;装载完最后一句把标志置成一。以后每次上电,HD1 已是一,条件不成立,装载跳过 —— 操作工改的六秒就留住了。要把设备恢复成出厂状态,把 HD1 清回零再送电就行。
整张参数表搬进 HD
0:42整张参数表搬进 HD
- HD100装 30 管上料延时 —— 放保持区,掉电也在
- TMR T0 HD100 K100定时器设定值照样从表里读,一字不改
- 断一次电面板改的 60 还留着 —— 装载被标志挡住了
整张参数表搬进 HD:定时器、计数器都从表里读
把这道门装到整张表上。图上这段就是上一节那条表,只是全换成 HD 区:上电首扫、门开着才装载 —— HD100 装 30 管延时、HD102 装 5 管批数,最后把标志置一。定时器和计数器一个字都不用改:TMR T0 HD100 K100、CNT C0 HD102,设定值照样从表里读。差别在断电以后:面板上把 HD100 改成 60,断一次电再送电,装载被标志挡住,60 还在,延时就是六秒。
FD / 三个坑 + 预告
0:37FD、三个坑 + 预告
- 写只能用 FWRTMOV 往 FD 写是静默无效 —— 目标列里没有 FD
- BMOV FD0 D10 K2把 FLASH 里的参数读回来
- 下一节开始讲比较指令:把数值大小画成触点
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。下一节,我们讲怎么比大小。