plc与或逻辑指令处理的对象为二进制位信号。位逻辑指令扫描信号状态“1”和“0”位,并根据布尔逻辑对它们进行组合,所产生的结果(“1”或“0”)称为plc逻辑运算结果,存储在状态字的“RLO”中。
触点与线圈
用触点和线圈实现逻辑运算
在数字量控制系统中,变量仅有两种相反的工作状态,例如高电平和低电平、继电器线圈的通电和断电、触点的接通和断开,可以用逻辑代数中的1和0来表示它们,在波形图中,用高电平表示1状态,用低电平表示0状态。
“与”、“或”、“非”逻辑运算的输入输出关系如表1-6所示,等式的左边为输出量。用继电器电路或梯形图可以实现“与”、“或”、“非”逻辑运算(见图1-11)。用多个触点的串、并联电路可以实现复杂的逻辑运算
继电器的线圈通电时,其常开触点接通,常闭触点断开;线圈断电时,其常开触点断开,常闭触点闭合。梯形图中的位元件(例如PLC的输出点Q)的触点和线圈也有类似的关系
KM=(SB1+KM)·SB2FR
在继电器电路图和梯形图中,线圈的状态是输出量,触点的状态是输入量。上式左边的KM与图中的线圈相对应,右边的KM与KM的常开触点相对应,上划线表示逻辑“非”,B2与SB2的常闭触点相对应。上式中的加号表示逻辑“或”,乘号(小圆点,也可以改用*号)表示逻辑“与”
与普通算术运算“先乘除后加减”类似,逻辑运算的规则为先“与”后“或”。为了先作“或”运算(触点的并联),用括号将“或”运算式括起来,括号中的运算优先执行。
扫描技术
当PLC控制器投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间,PLC控制器的CPU以一定的扫描速度重复执行上述三个阶段。
输入采样阶段
在输入采样阶段,PLC控制器以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应得单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。
用户程序执行阶段
在用户程序执行阶段,PLC控制器总是按由上而下的顺序依次地扫描用户程序(梯形图)。在扫描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的控制线路,并按先左后右、先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后根据逻辑运算的结果,刷新该逻辑线圈在系统RAM存储区中对应位的状态;或者刷新该输出线圈在I/O映象区中对应位的状态;或者确定是否要执行该梯形图所规定的特殊功能指令。
即,在用户程序执行过程中,只有输入点在I/O映象区内的状态和数据不会发生变化,而其他输出点和软设备在I/O映象区或系统RAM存储区内的状态和数据都有可能发生变化,而且排在上面的梯形图,其程序执行结果会对排在下面的凡是用到这些线圈或数据的梯形图起作用;相反,排在下面的梯形图,其被刷新的逻辑线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用。
输出刷新阶段
当扫描用户程序结束后,PLC控制器就进入输出刷新阶段。在此期间,CPU按照I/O映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设。这时,才是PLC控制器的真正输出。
同样的若干条梯形图,其排列次序不同,执行的结果也不同。另外,采用扫描用户程序的运行结果与继电器控制装置的硬逻辑并行运行的结果有所区别。当然,如果扫描周期所占用的时间对整个运行来说可以忽略,那么二者之间就没有什么区别了。
一般来说,PLC控制器的扫描周期包括自诊断、通讯等,如下图所示,即一个扫描周期等于自诊断、通讯、输入采样、用户程序执行、输出刷新等所有时间的总和。