PLC编程实用指南(第3版)
上QQ阅读APP看书,第一时间看更新

2.2 组合逻辑编程

2.2.1 组合逻辑表达式与真值表

1.表达式

(1)有关约定

1)触点变量。触点变量就是反映触点状态的逻辑量。仅有两个取值,1与0。1代表通或ON;0代表断或OFF。

2)触点代数运算。触点代数是用指定运算反映触点间的连接。触点并联的运算是“或”,也叫加(+)或析取。对应梯形图指令就是“OR”。触点串联的运算是“与”,也叫乘(∗,有时乘号省略),或合取。对应梯形图指令就是“AND”。触点串联后的并联,则是乘后的和。并联后的串联,则是和后乘。为了明确运算顺序,可使用成对的括号,括号内的运算优先。

此外,还有“非”的运算,也叫求反。上述同名变量的常开、常闭触点间就是“非”的关系。对常开触点求反,即变为常闭触点;对常闭触点求反即变为常开触点;求两次反,又变为自身了。

对应PLC指令,如果指令后加“NOT”,则用变量的非。如“AND NOT X”,是对变量X求反后再“与”。再如“OR NOT X”,是对变量X求反后再“或”。有的PLC干脆这两个单词合并简化成一个词,但含义与此相同。

(2)表达式与电路(对PLC为组合逻辑程序)对应关系

有了上述约定,实际电路(对PLC为组合逻辑程序)与触点代数表达式之间就有了一一对应关系。

对触点电路,除了其中的桥式电路,其它的都可用上述约定的逻辑式子表达。如图2-3所示的梯形图程序,根据上述约定,其表达式为

WW1=XK1·XK2

978-7-111-56641-0-Chapter03-3.jpg

978-7-111-56641-0-Chapter03-4.jpg

图2-3 组合逻辑电路

这里,等式右边为逻辑表达式。左边为输出,是逻辑表达式运算的结果。

2.真值表

真值表是由行与列组成,用以记录输入变量与输出间的对应关系。它的“列”记录着变量的不同取值;“行”记录着输入变量不同取值时,输出的取值。表中1代表器件工作,常开触点ON,常闭触点OFF;0代表器件不工作,常闭触点ON,常开触点OFF。

如表2-1,就是反映A、B两个输入变量不同取值时,做不同逻辑运算后对应的输出的值。

2-1 A、B两触点不同逻辑运算的真值表

978-7-111-56641-0-Chapter03-5.jpg

2.2.2 组合逻辑分析

分析是对触点电路求解,以弄清该逻辑电路可能实现的功能。

分析的办法是:依照实际电路或PLC组合逻辑程序,按触点代数的约定,列出逻辑表达式;把输入变量的各种可能取值代入表达式,求出相应的输出值,并列写真值表,进而弄清该逻辑电路可能实现的功能。

图2-3a所示为刀架转位示意图,图2-3b所示为刀架位置显示程序。从梯形图知,如图2-3a所示位置,两个行程开关均压合上,则WW1ON;顺时针转120°,则2XK压上,1XK不压,则WW2ON;再顺转120°,则1XK压上,而2XK不压,WW3ON。再转120°又回到图示位置。

这样,用两个开关的被压合状况的组合,就可反映出刀架处于三个位置中的那一个。

而XK1、XK2可能的取值只能是11、01及10。运用上述表达式,对应的WW1、WW2及WW3的值进行运算,其结果分别为,100、010及001,见表2-2。

2-22-3的真值表3

978-7-111-56641-0-Chapter03-6.jpg

从表中可知,用WW1、WW2及WW3三个指示灯显示刀架的不同位置,是完全可行的。

2.2.3 组合逻辑综合

综合的方法是依据设计要求列出逻辑表达式;对表达式进行种种化简;从中求出最优的表达式;再按触点代数的约定,画出触点电路,或编写PLC程序。

逻辑化简的标准是对触点电路一般指总触点数最少;对数字电路首先是要求乘积项最少,因为它与用的元件数有关。对PLC而言,这些都与使用的指令数量有关,关系到程序是否简短的问题。

化简的方法很多,如代数法、几何法(卡诺图)、Q—M法等。也可用计算机辅助化简。有了化简后的逻辑表达式,进而编写对应程序,就是指令及地址的选用,是比较好处理的。

2.2.4 组合逻辑综合实例

1.三个开关表决逻辑

该3个开关分别用A、B、C表示。表决结果用灯L表示。每个开关也都有两个状态,即下扳(赞成)、上扳(不赞成)。下扳(通)用变量,即用A、B或C表示。上扳(断)用变量的非,即用A、B或C表示。

这3个变量各有两个取值,下扳的是两个及两个以上的有4种。把这4种组合使灯亮,即可实现所要求的控制了。对此分析,可用真值表表示,见表2-3。

2-3 表决控制真值表

978-7-111-56641-0-Chapter03-7.jpg

它的逻辑表达式应为

978-7-111-56641-0-Chapter03-8.jpg

经化简则为

978-7-111-56641-0-Chapter03-9.jpg

当然还应对这个表达式进行化简。不过由于使用PLC,触点多少问题不大,可直接依据此表达式画出的梯形图,如图2-4所示。图2-4a串联后并联。图2-4b为并联后串联。

这里仅用3个开关表决。如果多了,如几十、几百,就太复杂了。为此可用后面将要介绍的高级逻辑设计方法设计。

2.格雷码到二进制码译码

格雷码为单位码,不少绝对值计数的旋转编码器用它编码。但格雷码没有“权值”,无法用作大小比较。但它与二进制码有对应关系,其关系真值表见表2-4(5位)。以此关系,可把它译成二进制码。

978-7-111-56641-0-Chapter03-10.jpg

图2-4 三个开关表决电路

2-4 二进制码与格雷码对照真值表

978-7-111-56641-0-Chapter03-11.jpg

从表2-4可知,二进制码的本位的值为:格雷码的本位值与二进制码高一位值的异或,即

978-7-111-56641-0-Chapter03-12.jpg

式中 ei)——第i位二进制值;

gi)——第i位格雷码值;

ei+1)——第i+1位格雷码值。

而最高位两者相等。

图2-5即为此译码程序。该图g0(低位)~g4(高位)为格雷码,e0(低位)~e4(高位)二进制码。

图2-5程序设计的根据是表2-4。从表知,二进制码的本位的值为:“格雷码”的本位的值与二进制码的高一位的值的异或,即

ei)=[gi)xorei+1)]

式中 ei)——第i位二进制值;

gi)——第i位“格雷码”值;

ei+1)——第i+1位“格雷码”值;

xor——逻辑异或。

而最高位两者是相等的。

978-7-111-56641-0-Chapter03-13.jpg

图2-5 格雷码到二进制译码程序

提示:当今,不少PLC提供有这两种编码的转换指令,不必调用这里介绍的转换程序。