📱 手机上看不到完整课程(数字人讲师需要电脑浏览器的 3D 支持)。下面是这节课的图文讲解 + 音频,内容完全一样,手机上也能完整学完。想体验完整课程,用电脑打开这一页即可。
仍然在手机上试试完整课程
同样是 CNT,数的东西不一样
0:39同样是 CNT,数的东西不一样
- 写法一样,数的东西不一样同样一句 CNT,普通计数器数条件通断,高速计数器数端子脉冲
- 普通计数器:数条件M0 挡三下,C0 数到三、线圈亮
- 高速计数器:数端子M1 挡三下、X0 一动不动,HSC0 一格没动
- 驱动条件只是启用开关通着它才认端子,光挡它没用
两种 CNT 对照:一个数条件,一个数端子
同样是 CNT,数的东西却不一样。第一条:M0 每通断一次,普通计数器 C0 就加一。头一下,C0 加一;再一下;第三下,C0 数到三,线圈亮起。第二条把计数器换成 HSC0。再把 M1 挡三下:又挡一下;还是三下,HSC0 一格都没动。因为高速计数器数的不是条件的通断,而是 X0 端子上的脉冲。M1 只是个启用开关,通着才认端子,光挡它没用。右下角 D0 是 HSC0 的累计值搬出来显示的。
编号不是随便配的:HSC2 只看 X3
0:40编号跟端子绑定:HSC2 只看 X3
- 编号跟端子绑定HSC0 看 X0/X1,HSC2 看 X3/X4,HSC4 看 X6/X7
- 规律:一半乘三编号的一半乘三,就是 A 相端子的号
- HSC2 数 X3在 X3 上打两下,D0 走到二
- 它不认别的端子换 X0 打一下,HSC2 一点反应也没有
HSC2 只认 X3:给 X0 打脉冲它不理
编号不是随便配的,它跟输入端子绑定。手册的分配表写着:HSC0 看 X0、X1,HSC2 看 X3、X4,HSC4 看 X6、X7。规律是编号的一半乘三,就是 A 相端子的号。图上用 HSC2,X3 就是它的 A 相。给 X3 来第一下,D0 走到一;再来第二下,D0 走到二。这时候换 X0 打第三下 —— HSC2 一点反应也没有,因为 X0 是 HSC0 的地盘。D0 还是二,它压根不认。
到值置 ON 并保持:断开也不清零
0:37到值置 ON、保持、断开不清零
- 到值就置 ONX0 数到三,线圈 HSC0 置 ON,Y0 跟着亮
- 不卡在设定值继续打,累计值继续涨
- 断开不清零M0 断开,线圈照样 ON,值停在三
- 合上接着累加从三接着走到四,不从零重来
到值置 ON:断开 M0 也不清零
数到设定值只是开始。CNT HSC0 K3:第一下,数到一;第二下,数到二;第三下,数到三,线圈 HSC0 立刻置 ON,右下角 Y0 也跟着亮 —— 它是拿 D0 跟三比出来的。第一件反直觉的事:它不卡在三上,你继续打它就继续涨。把 M0 断开,线圈照样 ON,累计值停在三,不清零 —— 普通计数器一断电就复位,它不。再把 M0 合上,从三接着走,到四,绝不像新的一样从零重来。
复位:RST HSC0 一条顶两条
0:37RST HSC0:一条指令清两样
- 只写编号不带 DRST HSC0,HSCD0 是同一寄存器的另一种叫法
- 数到四,还没亮先数到四,没到 K5 线圈不亮
- 一条指令清两样线圈复位 + 累计值双字清零
- 清完从零重数断开 M0 是清不掉的,必须 RST
RST HSC0:线圈和累计值一起清零
数上去之后怎么清回零?用 RST。写法是 RST HSC0,只写编号、不带 D,HSCD0 是同一寄存器的另一种叫法。先给 X0 打第一下,数到一;打第二下;打第三下;打第四下 —— D0 走到四,线圈没到 K5 所以还不亮。按一下 M1:它一次干两件事,线圈 HSC0 复位,累计值双字也清零,D0 跟着回到零。清完再打是从零重数。复位按钮一定接 RST,光断 M0 清不掉。
读和写:DMOV 是唯一的出口
0:37DMOV 读写:一进一出
- 不能直接用除 DMOV 外任何应用指令、比较指令都不行
- 先写:D20 进 HSC0DMOV D20 HSC0 把 D20 的数值塞进计数器
- 再读:HSC0 出 D0DMOV HSC0 D0 把累计值抄到 D0,才轮到比较触点
- 两端都是双字两个操作数都是 32 位,所以用 DMOV
一写一读:D20 进 HSC0,HSC0 出 D0
手册专门强调一句:它不能直接参与除 DMOV 以外的任何应用指令,比较也不行,必须先用读写搬进普通寄存器。第一条 DMOV D20 HSC0 是先写:把 D20 的数塞进计数器。第二条 DMOV HSC0 D0 是读:把累计值抄到 D0。读出来,才轮到 DLD>= 比较触点干活。把 D20 改成两百五,计数器就是两百五,读回 D0 也是两百五,Y0 亮;改成五十,Y0 灭。两头都是双字。
AB 相:B 相电平定方向
0:39CNT_AB:AB 相认正反转
- 多了 B 相X0 是 A 相脉冲,X1 是 B 相电平
- 电平常低就加X1 低电平,脉冲来一个加一
- 扳高就减X1 扳高,同样的脉冲往回退
- 编码器正反转这就是编码器认正反转的做法
AB 相:X1 低就加、X1 高就减
最后一种 AB 相。CNT_AB 不止用 X0,还搭上 X1:X0 是 A 相的脉冲,X1 是 B 相的电平,电平高低决定方向。X1 低时,每来一个脉冲加一:先打第一下,D0 走到一;再打第二下,D0 到二,Y0 亮起,表示到了。把 X1 扳高,方向就反了:往回第一下,D0 退到一;往回第二下,退到零,Y1 重新亮。同样是 X0 的脉冲,X1 一个电平就翻了方向。这就是编码器认正反转的做法。