📱 手机上看不到完整课程(数字人讲师需要电脑浏览器的 3D 支持)。下面是这节课的图文讲解 + 音频,内容完全一样,手机上也能完整学完。想体验完整课程,用电脑打开这一页即可。
仍然在手机上试试完整课程
本节要做什么
0:34一条指令,判断落在哪一段
- 专门用来分段ZCP 不比大小,是判断这个数落在哪一段
- 先写下限,再写上限ZCP 下限 上限 当前值 起始位 —— 四个操作数
- 从上到下依次是低于下限 / 落在区间内 / 高于上限
- 落在中间下限 50、上限 100、当前 70 → 中间那盏灯亮
一条 ZCP,判断落在哪一段
上一节我们用 CMP 比大小,这一节换一条专门用来分段的指令,叫 ZCP。写法是这样:ZCP,先写下限,再写上限,然后是当前的值,最后指定一个起始位。它也是一口气占三个连续的位,从上到下依次是:低于下限、落在区间内、高于上限。看这张图,下限五十、上限一百,当前值是七十,落在中间,所以第二个位亮,中间那盏灯亮了。现在把数值改小,看灯往哪边跑。
边界算哪一段 + 起点自己挑
0:37边界含进去,起点自己挑
- 都算区间内等于下限、等于上限,都算落在区间内
- 都带着等号手册图上两个不等号都带等号 —— 边界是含进去的
- 就差一个数四十九就掉到「低于下限」那一段去了
- 起始位可以自己挑换成从 M20 起,就占 M20 / M21 / M22
边界算哪一段,起点自己挑
先说一个现场最常问的问题:正好等于下限、或者正好等于上限,算哪一段?答案是都算区间内。手册的图上,下限和上限那两个不等号都带着等号,所以五十和一百这两个数都落在中间。图上现在给的是四十九,就差一个数,已经掉到低于下限那一段去了。另外,起始位跟上一节一样可以自己挑,这里换成从 M20 开始,占的就是 M20、M21、M22。现在把它改成五十,正好压在下限上,看它算哪一段。
上下限也能是寄存器
0:32上下限也能是寄存器
- 也可以是寄存器下限 D20、上限 D30 —— 四个操作数都能放寄存器
- 七十落在中间D20=50、D30=100 → 中间那盏灯亮
- 超出去了上限改成 60 → 同一个 70 就超上限了
- 改一个寄存器里的数就行分级标准不用改程序,触摸屏上就能调
上下限也能是寄存器
上下限不一定非得写成固定的数,它们也可以是寄存器。这一条里,下限用的是 D20,上限用的是 D30,当前值还是 D0。现在 D20 是五十、D30 是一百,七十落在中间,中间那盏灯亮。要是把上限改成六十,同样这个七十就超出去了,亮的换成最下面那盏。这一点在现场很有用:分级的标准不用改程序,改一个寄存器里的数就行,触摸屏上就能调。
坑:上下限填反了
0:37坑:上下限填反了会怎样
- 把上下限填倒了上限改小、下限改大 —— 程序一个字都没动
- 必须要小于上限手册原话:下限的值必须要小于上限
- 两盏灯一起亮了七十既低于下限又高于上限,中间那盏永远不亮
- 把下限改回四十改回四十 → 立刻正常,只剩高于上限那盏亮
坑:上下限填反了会怎样
这里有个坑,而且是最容易犯的那种。这条程序和上一节长得一模一样,只有两个参数不同:上限从一百改成了五十,下限从五十改成了一百,也就是把上下限填倒了。手册里对这一点写得很直接:下限的值必须要小于上限,反着填它不管。你看,七十这个数既低于下限、又高于上限,两盏灯一起亮了,而中间那盏永远不亮。现场碰到两个灯同时亮,第一件事就是去查参数表是不是填反了。把下限改回四十,它立刻就正常了。
正解:让程序自己报
0:34正解:填反了程序自己报
- 让程序自己说出来不用靠人眼盯,程序先发现
- 下限大于上限一条比较触点:填反了就直接点亮 Y7
- 报警灯不亮参数正常 → 报警灯不亮,分级照常工作
- 报警灯马上亮填反了 → 程序先说了,不用等人发现
正解:填反了程序自己报
填反了靠人眼看,终归不保险,正解是让程序自己说出来。在 ZCP 前面加一条比较触点:下限大于上限,也就是填反了,就直接点亮一盏报警灯 Y7。再看一遍:参数正常的时候,报警灯不亮,分级照常工作;一旦有人把下限填到比上限还大,报警灯马上亮,操作员还没看出灯乱,程序已经先说了。这里顺便用上了前面讲过的触点比较,一条比较触点、一句输出,就把一类现场事故变成了醒目的报警。
收尾:双字版本 + 预告
0:34双字版本 DZCP
- 各占两个字DZCP:下限 / 上限 / 当前值 都占两个字
- 超过上限五万D11=1 → 拼出 68899 > 50000,最下面那盏亮
- 把 D11 清成零只剩 3363,掉到下限以下,换成最上面那盏
- 下一节开始讲算术运算加减乘除,让 PLC 真的会算数
双字版本 DZCP
最后看一眼双字的版本。跟前面讲过的双字一样,DZCP 的下限、上限、当前值各占两个字,D10 实际吃的是 D10 和 D11 拼起来的一个三十二位数。图上现在 D11 是一,拼出来六万多,超过上限五万,最下面那盏灯亮了。把 D11 清成零,就只剩三千多,掉到下限一万以下,亮的换成最上面那盏。这就是 DZCP。下一节开始讲算术运算:加减乘除,让 PLC 真的会算数。