对二进制数(bit、位)进行逻辑操作,是PLC最简单的、也是最基本的功能。其所用的指令称为基本逻辑操作指令。所有的PLC都有这类指令。
这类指令可分为:读(输入类)与写(输出类)两种。
读指令是读操作数的逻辑值,并与已有的结果值进行逻辑运算,进而修改结果值。
写指令指的是把结果值写给操作数。
这里的“结果值”就是将要讨论的R寄存器的值,有的称为RLO(Result of Logic Oper-ation),即逻辑运算结果。西门子公司的S7-200称之为逻辑栈顶(The Top of the Logic Stack,TOS)。
1.基本指令要点
(1)LD指令,为装载指令。有的PLC用ST(起始)作为它的符号。
LD指令的作用是,把指定操作数(位)的值(0或1,分别代表断或通,工作或不工作……)送入结果寄存器R,并把结果寄存器的原有内容送入堆栈P(有的为第二个RLO,不是堆栈)。
LD指令的语句表符号格式为
指令地址LD操作位地址
梯形图符号为
这里a为操作数的地址,括号代表a的值。R为结果寄存器,P为堆栈。堆栈为先进后出的存储单元,一般长度为8位(bit),与PLC型别有关,CJ1机为16位。8位时,可存储8个二进制数,再续存时,最先存的数丢失。堆栈主要在逻辑块操作,或需多个输入条件时用到它。
LDNOT指令,它加一个NOT,表示把操作数的值取反,然后再送结果寄存器。其它的同LD指令。在梯形图上,它用常闭触点代表,在两短平行线的基础上,再加一小斜线。
有的PLC,LD及LDNOT指令还可加感叹号(!)及上或下箭头(↑↓),其含义前已介绍。加了这个感叹号、向上及向下箭头,使指令的功能大为增强,一个指令可起到多个指令的作用。
S7-200逻辑栈,除了栈顶,还有8位栈体,也可暂存8位(bit)。它的栈体相当于这里的栈,而栈顶则相当于这里的结果寄存器。
(2)AND指令,为与操作指令。有的PLC的符号为A或别的符号,但作用相同。
AND指令的作用是把操作位的值与R的值相与,然后再送入R中。这时,堆栈的内容无变化。
其语句表的符号为
指令地址AND操作位地址
梯形图符号为
为常开触点,代表串联。其功能为
这里a为操作数的地址,括号代表a的值。R为结果寄存器。
ANDNOT指令。它也是加一个NOT,表示把操作位的值取反,然后再与结果寄存器的值相与。其它的同AND指令。它在梯形图上为常闭触点。
有的PLCAND及ANDNOT指令也可加感叹号、上下箭头。含义同LD指令。
(3)OR指令,为或操作指令。有的PLC用O或别的符号表示。
OR指令的作用是把操作位的内容与R中的内容相或,然后再存入R中。这时,堆栈的内容无变化。
梯形图符号为
OR指令的语句表符号为
指令地址OR操作位地址
为常开触点,代表并联。
其功能为
这里用的符号同AND指令。
ORNOT指令,加一个NOT,代表先取反而后才或。它在梯形图上为常闭触点。
有的PLC,其OR、ORNOT指令也可加感叹号,上下箭头,含义同LD指令。
(4)AND-LD、OR-LD指令,为块与、块或指令,无操作数。有的PLC用别的符号。
其作用是把结果寄存器的内容与堆栈的内容作逻辑与,或逻辑或,然后再送结果寄存器。
其语句表符号为
指令地址AND-LD或指令地址OR-LD
它在梯形图上代表两组触点的串联或并联。
AND-LD功能为
OR-LD功能为
AND-LD、OR-LD指令用于触点组间的串联或并联,是很有用的指令。如图2-22所示,其对应的助记符指令也已列出。
(5)OUT指令,为写指令。语句表的符号为
指令地址OUT操作位地址
梯形图符号为输出线圈,可用圆圈或方块表示。如下图所示。
其功能为
图2-22 触点组间的串联或并联
这里a为操作数的地址。执行OUT指令后堆栈内容不变,R的内容也不变,只是把R的内容传给a。
OMRON公司的OUT指令还可加NOT。如下图所示。
其含义是把R先取反,然后再传给a。表示符号为在OUT的符号基础上,加一斜线。有的PLC,OUT及OUT NOT指令也可加感叹号(!),如CJ1机。含义同上。(6)S、R指令,置位、复位指令。其操作数为位地址,也是一种输出指令。
S为置位(SET),R为复位(RESET)。只要执行本指令时,结果寄存器R的内容为1,则执行。否则不执行,其操作数值不变。执行置位(SET)指令,其操作数置1。执行复位RESET)指令,其操作数置0。
如图2-23所示,若0.00 ON,0.01 OFF,则10.00置1。若0.01 ON,则10.00置0(因它在SET指令之后执行,可更改SET指令执行的结果)。若0.00及0.01 OFF,则10.00值不变。
把这两者复合在一起,为KEEP指令。类似于R_S触发器。有两个输入端,一为R端,另一为S端,分别对操作位置0(复位)或置1(置位)。
S、R指令可分开置于程序的不同位置,用起来较灵活。而KEEP指令则要依此执行这两个指令,先S后R。
图2-23 置位、复位指令使用
这3个指令助记符的符号为
指令地址 S 操作位地址
指令地址 R 操作位地址
指令地址 KEEP 操作位地址
这3个指令都是输出指令。使用前都要对结果寄存器R赋值。
S、R指令前各赋一次值,KEEP指令之前要赋两次值(要两次使用LD指令)。在梯形图上的表示为线圈,或方块。S、R仅一个人端,而KEEP要有两个人端。如图2-24所示。(www.xing528.com)
提示:图2-23与图2-24两个程序,表面上功能是相同的,但实际是有区别的。如果用10.00代替0.01,当0.OOON时,图2-23程序可使10.000N、OFF按扫描周期交替出现,而图2-24程序10.00永远不可能ON图2-23程序的这个特点,可用以实现“单按钮起、保、停”控制。
CJ1机有,SETA指令,其功能码为530。可对多个位操作。梯形图符号如下:
这里,D为字的地址;
N1为操作数的起始位;
N2为要置位的操作位个数,可用常数,也可用地址。
图2-25所示为使用SETA指令的例子。
图2-24 KEEP指令使用
图2-25 SETA指令使用例子
1—N1:第5位 2—N2:20位
当0.00ON,将使D100的第5位(N1=5)开始,直到DM101的第8位,共20(N2=20)位置1。
多个位复位的是,RSTA指令,其功能码为531。梯形图符号如下:
这里,D为操作位所在的字地址;
N1为操作位的起始位;
N2为要复位的操作位个数,可用常数,也可用地址。
图2-26所示为使用RSTA指令的例子。依此例,当00000 ON时,将使DM0100的第3位开始到DM0101的第6位,共20位置0。
图2-26 RSTA指令使用例子
1—N1:第3位2—N 2:20位
提示:SETA指令及RSTA指令不仅可实现多位操作,而且,可对DM的位也可进行逻辑操作。
(7)微分指令,DIFU为上沿微分,DIFD为下沿微分。
它的操作数也是位地址。当执行DIFU时,R的内容从OFF(0)变为ON(1),则操作数的内容为1(ON)一个扫描周期。
当执行DIFD时,情况与DIFU相反。R从ON变到OFF,操作数ON一个扫描周期。
有的PLC,在一个程序中,微分指令的使用次数是有限制的,如OMRONC系列P型机,最多只能使用48次。
其助记符指令为
指令地址 DIFU B
其梯形图指令为
这里B为输出位,它的功能码为013。在逻辑条件从OFF到ON时,它使输出位ON一个扫描周期,如图2-27所示。
其助记符指令为
指令地址 DIFD B
其梯形图指令为
图2-27 上沿微分指令示意图
图2-28 下沿微分指令示意图
这里B为输出位,它的功能码为014。在逻辑条件从ON到OFF时,它使输出位ON一个扫描周期,如图2-28所示。
有的PLC的微分指令不作为输出指令,而作为中间指令。它可加在一组输入指令之后,加上它,然后再送给输出指令,用起来也很方便。CJ1机就有此指令,如UP、DOWN指令。
UP指令梯形图符号如下:
它的功能号为521。执行它时,可对其输入作上沿微分。
DOWN指令梯形图符号如下:
它的功能号为522。执行它时,可对其输入作下沿微分。
此外,还有NOT指令,其梯形图符号如下:
它的功能号为520。执行它时,可对结果寄存器取反。
2.基本逻辑指令应用
有了基本逻辑处理指令,PLC也就有了“与、或、非”逻辑的处理功能。在理论上讲,这就足以完成所有控制与计算,但最常用的还是用于控制输出。
(1)等效控制输出
输出仅取决于控制输入现状态。这是用开关控制电器工作的特点,也是组合逻辑的特征。图2-29所示的就是这类输出。它把开关接输入点0.00,负载用灯接输出点10.00,然后运行图示程序。
图2-29所示用户程序分别用LD、IL表示。从图中记载的各周期I/O状态可知,在周期1~n之前,由于开关已合上,输入点0.00的值为1。经运行程序后,输出点10.00也变为1。进而输出点合上,输出电路通,灯亮。在周期n及以后,开关断开,则输入点0.00的值为0,输出点10.00也变为0,输出点断开,输出电路断,灯灭。可知,这里灯的工作惟一取决于开关的状态。
图2-29 等效控制输出实例
(2)长效控制输出
控制输出不完全取决于输入的现状态,还与输入的历史有关。输入对输出有长效作用。这是继电器控制电器工作的特点,也是时序逻辑的特征。如图2-30所示,这里用两个按钮控制接触器,再用接触器控制一盏灯。
该图用户程序分别用LD、IL表示。此程序已在本书第1章就说明过,在此不再赘述。这里,当SB1合、或SB2合都可产生长效输出。
图2-30 长效控制输出实例
长效输出的特点是存在输出对输入的反馈。
提示:也可以使用置位、复位指令实现长效输出,效果相同。
(3)短效控制输出
它的控制输出也不完全取决于输入的现状态。其输入对输出仅有短暂的作用,故称短效输出。如图2-31所示的梯形图程序,用开关控制一盏灯,但中间插入内部辅助继电器200.00。
图2-31 短效控制输出实例
从分析该图可知,用户程序分别用LD、IL表示。分析可知,当开关合上,10.00则产生一个周期的输出。而当开关断开,则什么输出也没有。
所以,在稳定状态下,10.00永远为0。但在过渡状态下,它可为1。像这样仅为一个周期的信号也称脉冲信号,或微分输出。用其去控制灯的工作当然没有意义。但这在内部逻辑处理时,它是很有用的。
图2-32 微分下降沿输出
这里是当0.00从OFF到ON时,10.00ON一个扫描周期,也称为微分上升沿输出。有时需要微分下降沿输出,图2-32所示,就可以实现这样的输出。只是,这里把0.00从常开改为常闭。同时增加条3,并在条1串入触点200.01。这样做的目的是,在PLC开始运行第一周期不产生脉冲。只有当0.00先ON,后OFF时,才产生微分下降沿的脉冲输出。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。