一、指令
谈及指令,我们很容易联想到命令,所谓军令如山,在古代军队中上级发布的命令,下级必须执行,不得违抗。如果说我们是将军,那么PLC就是一个下级,我们通过不同的指令指使PLC执行各种任务,而且它不得违抗,除非它罢工了。
一般一条指令是由操作码和操作数组成的,如图中的LD X0指的是“取X0”,这个LD就是操作码,我们通过操作码告诉PLC要做什么;X0就是操作数,我们通过操作数告诉PLC要操作的对象是谁。例如你母上大人叫你去打酱油,那么你就是一台PLC,“打”就是操作码,“酱油”就是操作数。
当然,不是所有的操作码都要有操作数,如图中END就是孤零零的一条没有操作数的操作指令,仅表示程序就此结束。你妈妈叫你一声,但没有叫你去干嘛,那你就要小心了,这可能代表她已经生气了,这是一条没有操作数的生气指令!
另外,图中的ADD D0 D1 D2算是一条稍微复杂的指令,意思是把D0的数加上D1的数,结果放到D2。以上的X0、D0等其实就是编程元件,也就是软元件,我们后面再细说。
在课程中,李老师还提到了FX2N的基本逻辑操作指令解读。不知大家是不是跟我一样,每一次买回来一些电子产品或其他东西,第一个看的往往是它的说明书,同样的,PLC也有它自己的说明书,其中就有编程手册。
我觉得“编程手册怎么看”这个问题,其实不用额外说明,因为我看了一下,手册本身内容就是相当详细的,例如下图中,可能涉及到一些名词我们现在看不懂,但随着学习的深入,我相信,这些问题都会迎刃而解了,你觉得呢?
上图就是我在手册上截取的图,就我目前学完第三章的水平而言,还是可以看懂大部分的,饭要一口一口吃,能看懂大部分我也已经满足了,毕竟接下来要学习的还有很多。
二、编程元件
所谓编程元件,即软元件,如果把PLC比拟成一个人,那么这些编程元件就是PLC的各种器官,它们各司其职,按部就班地完成PLC的各种功能。
那么,PLC的主要器官有哪些呢?
1输入继电器X和输出继电器Y
关于低压控制电路的各种继电器,其实我了解甚少,所以直接从继电控制系统出发去理解PLC的一些内容,对我而言并没有多大帮助。为了便于学习,我顺便去了解一些低压继电器和线圈的知识。然后我发现,只要懂得接触器的结构和工作原理,再来学习这个X和Y,理解起来会简单很多。
输入继电器X和输出继电器Y,就是PLC的输入口电路和输出口电路,模拟继电控制电路中的继电器和线圈。在第二章学习PLC结构的时候,我们知道了PLC有输入端口X和输出端口Y,外电路的电能不能通过输入端口进入PLC内部,就是由X决定的;同理,PLC内部的信号能不能从输出端口去到外电路,就是由Y所决定的。
X和Y类似于接触器,里面有隐形的线圈和常开常闭触点,如上图所示,当按钮SB1按下,PLC里面X0的线圈得电,此时X0的常开触点闭合,常闭触点断开,PLC里其他的元件如果与X0的常开触点连接,那么显然,该元件也会相继得电。假设在PLC里面,和X0常开触点连接的是Y0,那么Y0的线圈得电,此时Y0的常开触点闭合,常闭触点断开。
当然,上文提到,X和Y也只是类似于接触器,它们本身并不是接触器或继电器,而由电子电路和存储器组成的,虽然我还是很好奇这个X和Y具体长什么样,但是我囊中羞涩,买不起一台PLC拆来看看,所以……
在教材中还提到,在梯形图中是不允许出现输入继电器X的线圈,必须出现输出继电器的线圈,也就是说,梯形图中X不能以线圈的形式出现,而Y要与右母线相连作为输出就必须要以线圈的形式出现。这一点,我是重复学了第三章的全部内容才真正理解的。
还要注意的一点是,第二章提到,PLC2N的输入X和输出Y是按八进制编排的,所是没有X8、Y8这种说法。
2辅助继电器M和状态继电器S
辅助继电器M类似于继电控制系统的中间继电器,仅起到中间桥梁的作用。不同于输入X和输出Y的按八进制编排方式,M和S是按十进制编排的。
M按用途可分为通用辅助继电器、断电锁存辅助继电器和特殊辅助继电器,其中通用辅助继电器有M0~M499共500个点,总的来说,通用M和Y类似,只是M不能作为输出控制外电路而已。
断电锁存辅助继电器M500~M3071共2572个点,它的作用就是就是当与其相连的线路停电时,能保持断电前的状态,且持续一个扫描周期。
例如图中的M520,X0外部有信号输入,M520线圈得电,断电后,M520线圈还能保持一个扫描周期的状态,过后就失电。所以系统在断电到重新上电的这个时间,应该要小于扫描周期,M520所锁存的状态才能发挥作用。教材里还提到,关于断电锁存辅助继电器M500~M3071在实际应用中应加自锁环节,我觉得这部分的内容有点绕,等我之后对PLC更为熟练在回头看这部分内容。
特殊辅助继电器M8000~M8255共156点,所谓特殊,指的是这些M8000~M8255有着各自特定的功能,例如M8000,一旦PLC开机运行后,M8000就为高电平状态,当PLC没电停机后,N8000就是低电平状态。关于M8000~M8255的各自功能,我是不打算专门去记它们的,等到后续需要用时再顺便记一下就好了,毕竟我脑子比较笨。状态继电器S李老师说在后续课程中才会详细讲解,那我就拭目以待了。
3定时器T和计数器C
定时器T和计数器C都是字编程元件,也就是说,我们不能像X、Y、M、S那样简单的用0或1来表示这两种元件的状态,这两个家伙不得了,我们要用16位的数据(字)才能看清它们的真面目。定时器,顾名思义,就是用来设定时间的,当然,它不能设定时间让PLC什么时候爆炸。而计数器显然就是用来计数的,这两个元件也是后续详解,我在此也先放下它们。
另外,还有数据寄存器D和变址寄存器V和Z、组合位元件等,我老是记不住,这里就当我还没学会这部分内容,所以就不写它们了。不过这个位组合元件还是要说一下的。
位元件X、Y、M、S太瘦了,只能做一个位置,要么是0要么是1,而字元件如T、C、D、V、Z又太胖,要占16个位置,当我们想要8个位置的元件又该怎么办呢?这时候就要靠组合位元件了,所谓组合,就是把4位绑为一组,表示4位二进制数,那么我们想要8位的话就用两组4位的小组拼凑而成。
组合位元件表示为Kn+组件起始号,这里的n是表示组数,而起始号表示组件的最低编号,例如K2X0,表示2组的8位组合位元件,从X0开始到X7。
除了上述的这些编程元件,还有指针R/I和常数K、H也是编程元件,我对指针也是一知半解,在这里就不班门弄斧了。常数K、H就是数字,例如K25就是指十进制25这个数字,这个还是比较简单的。
今天所分享的内容,总体而言是有点难理解的,特别是某些编程元件,应该要到以后学编程的时候,才能明白。至此,我们下篇文章继续分享梯形图的相关内容,共勉。