📱 手机上看不到完整课程(数字人讲师需要电脑浏览器的 3D 支持)。下面是这节课的图文讲解 + 音频,内容完全一样,手机上也能完整学完。想体验完整课程,用电脑打开这一页即可。
仍然在手机上试试完整课程
为什么要这么一块
0:36为什么要这么一块
- 要解决什么有些活得排队做
- BLOCK一段特殊的程序块
- ★ 顺序执行一条做完才轮到第二条
- 怎么围起来SBLOCK 开头,SBLOCKE 收尾
最小的一块:SBLOCK 起、SBLOCKE 收
前面几十课,程序都是一个扫描周期里从头跑到尾,每行都走一遍。可有些活是要排队的:第一段脉冲发完了,才能发第二段。信捷为此准备了顺序功能块,简称 BLOCK。它是一段特殊的程序块,里面的指令按同一条原则执行,也就是顺序执行:条件成立的先执行,一条做完了,才轮到第二条。手册说得很直白,这是它和一般流程最大的不同。画面里是最小的一个块,SBLOCK 开头,SBLOCKE 收尾。
一段 BLOCK 怎么写
0:34一段 BLOCK 怎么写
- 一行开头SBLOCK 加块号
- 一行收尾SBLOCKE 加同一个块号
- ★ 两个数最多写 100 个,同时只跑 8 个
- 块外照旧块外的程序不会被吃掉
块里两条传值,块外输出照旧
一个顺序功能块的写法很简单:一行开头、一行收尾。SBLOCK 后面跟块号,从一到一百;中间就是我们自己写的指令;最后用 SBLOCKE 加同一个块号收尾。块号要一一对应。数量上记住两个数:一个程序里最多能写一百个块,但同一时间最多只能跑八个。块头和块尾都只是标记,不是开关,块外面的程序照旧跑,不会被吃掉。画面里块里放两条传值,块尾后面那条输出照样点亮。
常开触发:一直循环
0:29常开触发:一直循环
- 常开/常闭条件通着就一直循环
- ★ 走完回头执行完最后一条立刻重来
- 所以会怎么样自加的数值不停地涨
- 多个块并排条件同时通就同步执行
条件通着,两条自加都在涨
触发条件用常开或者常闭线圈时,块会一直循环。手册的说法是:从块的最上面往下执行,执行完最后一条指令,立刻重新从头再来一遍,只要条件还通着,就一直转下去。所以块里写一条自加,D10 会不停地涨,它不是只跑一遍,而是被反复执行。手册还举了三块并排的例子:条件同时通着的时候,这几个块是同步执行的,谁也不等谁。
上升沿触发:只跑一遍
0:31上升沿触发:只跑一遍
- 换成上升沿每触发一次只走一趟
- ★ 不循环跑完就停住
- 数字怎么变一个脉冲各加一
- 怎么选一直转用常开,跑一遍用沿
一个上升沿,两个数各加一就停
把触发条件换成上升沿,性质就完全变了。手册的原话是:当触发条件由线圈的上升沿触发时,每触发一次,块就由上至下依次执行一次,不会循环执行。所以同样是两条自加,用上升沿驱动,来一个脉冲,两个数各加一,然后就停在那里不动了;再给一个脉冲,才又各加一。什么时候用哪种?要它一直转就用常开,只跑一遍就不再跑,就用上升沿。
条件断开不是立刻停
0:31条件断开不是立刻停
- ★ 反直觉条件断开不是立刻停
- 手册怎么说完成最后一次扫描再停
- 为什么手头这一遍必须做完
- 要真停怎么办得用专门的暂停指令
条件已关,块却还在跑
有一条稍微有点反直觉,一定要记住:触发条件断开,块不是立刻停。手册的原话是,条件断开时 BLOCK 并不会立即停止,而是完成最后一次扫描,把没执行的程序执行完毕以后才停。换句话说,断开条件只是一道不再启动的命令,手头这一遍必须做完。真要让块中途停下,得用专门的暂停指令。画面里脉冲还没发完就把条件关掉,块照样把它跑完。
多个块一起跑
0:30多个块一起跑
- 多个块条件成立的那个就执行
- 同时成立几个块同步跑
- 数量上限最多 100 个、同时 8 个
- 下一课进块里看怎么排队
两个块各管一条,同时往上数
最后说两个块的情况。手册讲得很清楚:存在多个 BLOCK 时,执行方式和一般程序一样,哪个条件成立哪个就执行,几个块就同步跑,谁也不等谁。所以流水线上两条互不相干的动作,可以各写一个块,各管各的。数量上再强调一遍:程序里最多能写一百个块,但同时最多只能运行八个。下一课我们进块里面看,看它到底怎么排队、怎么跳过某一级。